博客專欄

        EEPW首頁 > 博客 > CAN與CAN FD通信之間存在的問題

        CAN與CAN FD通信之間存在的問題

        發布人:美男子玩編程 時間:2022-10-18 來源:工程師 發布文章

        因為受制于產品的穩定性考驗,改造成本等問題,沒法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成為ISO CAN FD。


        也就是說目前市場上大部分都還是在用傳統的CAN2.0,有一小部分用非ISO標準的CAN FD,一部分用ISO標準的CAN FD。


        這樣會遇到一個問題:傳統CAN與CAN FD共存的網絡中,如何解決彼此通訊?

        將可能存在的問題分成了4類。


        1


        通訊速率和數據長度不同的問題

        這個問題里面,又分成如下幾種情況:

        • 傳統CAN節點以1Mbit/s 傳輸數據到 CAN FD;

        • CAN FD設備以8Mbit/s傳輸數據到傳統CAN;

        • 傳統CAN節點向 CAN FD節點傳輸8字節的數據;

        • CAN FD節點向傳統CAN 節點傳輸64字節的數據。


        第1種情況和第3種情況是可以直接通過的,因為CAN FD天然向下兼容CAN2.0。


        CAN FD節點向傳統CAN 節點傳輸64字節的數據,需要采用可編程CAN FD路由器。預先編程并下載到路由器,CAN FD數據通過路由器后可以按照預先設置的程序將數據做拆包等處理再轉成8字節轉發出去給傳統CAN設備。


        2


        非ISO CAN FD與ISO CAN FD設備的通訊問題

        非ISO CAN FD與 ISO CAN FD的共同點在于:傳輸速率一致,數據長度一致。區別在于:后者引入了一個3位的填充位計數器以及額外的校驗位,另外,CRC計算值也不同。


        所以兩者是不兼容的,因此CiA建議所有的CAN FD應用需注明ISO CAN FD或non-ISO CAN FD。


        2012年底到2015年中之前有很多廠家已經開發了CAN FD產品,但是那個是非ISO標準的CAN FD產品,并且已經有少部分產品已經在市場流通。而這些非ISO產品的供應商也沒法完全收回或者銷毀原有產品,所以這些供應商仍然需要解決這個問題。


        3


        多設備切換的通訊問題

        未來的CAN網絡,較長時間內都會存在著傳統CAN與CAN FD并存的情況。


        那么在一個共存網絡中,就需要解決某幾個設備之間交叉通訊的問題、多個切換的問題、以及一個設備需要同時與CAN FD節點和傳統CAN節點通訊的切換問題。


        如下圖所示,一個網絡中只有EMS與ABS是用CAN FD的,如果是EMS和ABS通信,這個時候只要對CAN FD之間的數據1:1轉發即可。但是如果是EMS或者ABS與其他ECU通信,那么這時就需要將CAN FD數據切換為傳統CAN再轉發。


        圖片

        否則可能會遇到以下兩種問題:

        1、使用CAN FD網絡時,需要ECU和CAN控制器、收發器均支持CAN FD通訊。當CAN網絡中某些節點升級為CAN FD時,車輛上CAN與CAN FD處于共存的情況,因為普通的CAN節點無法正常解析CAN FD報文,節點就會一直報錯,出現大量錯誤報文,導致總線通訊異常。

        2、假設CAN FD的數據傳輸速率是5Mbit/s,而CAN的傳輸速率為500Kbit/s,平常使用上位機軟件解析CAN報文的時候需要設置對應的波特率,否則報文無法解析。可能會遇到波特率不匹配,不能被正常解析,節點報錯,導致CAN FD報文無法正常發送,干擾總線的正常運行。


        當然也是有一些解決辦法的,如下:


        1、CAN節點忽略CAN FD報文

        支持CAN2.0的ECU忽略CAN FD報文不對其進行識別,這樣雖然無法對CAN FD報文進行解析處理,但是也不會將其識別為錯誤幀,總線可以保證正常通訊。


        因為CAN FD是向下兼容CAN的,保證CAN FD節點可以正常接收所有類型的CAN報文,CAN節點無法接收解析CAN FD報文,該解決方案僅可作為臨時使用。


        2、全部節點升級為CAN FD

        將所有網絡上所有的節點都替換成CAN FD,由于CAN FD可以向下兼容CAN,此時的網絡既可以進行CAN報文收發也可以進行CAN FD報文收發。


        但是由于整體網絡全部更新替換,成本較高,所以使用率很低。


        3、利用CAN網橋進行CAN FD與CAN的轉換

        在原有的CAN網絡上通過CAN網橋與新的CAN FD節點進行連接,將傳統的CAN總線網絡通過協議轉換與CAN FD網絡進行融合,快速實現CAN設備的升級。


        當接收到CAN FD報文的時候,CAN網橋會采用直轉、合并、拆分三種方式實現傳統CAN的8字節長度和CAN FD的64字節長度的互相轉換,無損還原原有數據。


        4


        測試平臺共用的問題

        CAN FD節點在進行環境測試、疲勞測試、壽命測試等的情況下,只需要測試設備本身的性能,而與通訊速率/字節數無關,因此,這幾類測試可以沿用傳統CAN設備的測試平臺。


        而CAN FD通訊性能的測試、兼容性測試等涉及到通訊機制本身,因此這類測試需要用新的CAN FD測試工具。


        一個完整的測試需要同時滿足以上所有測試條件,因此存在兩種測試平臺的交互。



        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: CAN

        技術專區

        關閉
        主站蜘蛛池模板: 子长县| 乐平市| 顺平县| 临清市| 北宁市| 通榆县| 江门市| 娄烦县| 界首市| 绿春县| 乌兰浩特市| 库尔勒市| 惠州市| 长顺县| 石嘴山市| 敦化市| 巴林左旗| 浦江县| 浮梁县| 安岳县| 许昌市| 安仁县| 偃师市| 亳州市| 林甸县| 庄浪县| 富顺县| 高安市| 高雄市| 保靖县| 兴隆县| 晋宁县| 准格尔旗| 三穗县| 杭州市| 仪陇县| 襄汾县| 沙坪坝区| 黄龙县| 马公市| 图木舒克市|