新聞中心

EEPW首頁 > 設計應用 > 如何實現CAN與CANFD的總線橋接?

如何實現CAN與CANFD的總線橋接?

作者: 時間:2019-12-13 來源:電子產品世界 收藏

摘要:CANFD節(jié)點如何與經典CAN總線正常通信呢?本文為您介紹CANFD與經典CAN快速融合的思路與方法。

本文引用地址:http://www.butianyuan.cn/article/201912/408173.htm

一、CANFD的來源

隨著汽車電子行業(yè)的快速發(fā)展,越來越多的安全輔助ECU、影音娛樂ECU加入到車身總線中,這就對CAN總線數據傳送速率提出了更高的要求?;谑袌鲂枨?,更高傳輸速率,更多數據載荷的CANFD應運而生。

相比于經典CAN,CANFD有兩個顯著特點:

一是可變速率,CAN FD的傳輸速率分為兩個頻段,從BRS位開始到CRC校驗之前這一段是可變速率段,這一段的波特率可以進行加速,理論最高可達到5Mbit/s,而其他位置則和CAN2.0一樣,最高速率可達到1Mbit/s;

二是數據場長度增加,CAN FD對數據場的長度做了擴充,從CAN的8字節(jié)增加到CAN FD的64字節(jié)。

image.png

圖1 CANFD的提速與擴容

二、兼容性問題

從經典CAN升級到CANFD需要更換哪些硬件呢?硬件更換包括兩部分:其一,CAN收發(fā)器,通信速率需要從滿足1Mbit/s提升到滿足5Mbit/s;其二,CAN控制器,鏈路層協議需完全按照CANFD設計,對于CAN控制包含在微控制器內的節(jié)點,則需要更換MCU。

image.png

圖2 CAN與CANFD的鏈路層對比

雖然CANFD設計時考慮到向下兼容,但鏈路層的根本改變使我們不得不面臨以下問題:經典CAN節(jié)點發(fā)送的CAN幀能被CANFD節(jié)點識別,但CANFD節(jié)點發(fā)送的CANFD幀不能被經典CAN節(jié)點識別,甚至被經典CAN判定為錯誤幀導致總線嚴重錯誤。

三、 解決思路

解決CANFD與經典CAN兼容性的方法有兩種,一是將所有經典CAN節(jié)點全部升級為CANFD,二是在經典CAN網絡與CANFD網絡間加入合適的橋接器。顯然,設備的更新換代不能一蹴而就,方法一必然帶來成本激增,因此方法二將是短期內最優(yōu)解決方案。

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

image.png

圖3 CANFD橋接方法

四、 CANFD網橋

CANFDBridge 作為 CAN(FD)智能網橋,支持ISO標準CANFD與Bosch CANFD標準,支持 CAN 轉 CAN、CAN 轉CANFD、CANFD轉 CAN、CANFD轉CANFD 等報文默認轉換處理。除此之外,還提供幀映射、合并和拆分等特殊轉換處理。用戶可自由設定 CAN(FD)報文的轉發(fā)映射、組包拆包等規(guī)則,滿足自身應用需求。

image.png

圖4 工業(yè)級CANFD網橋CANFDBridge

1、每通道獨立的控制器類型設置、CANFD標準設置

每個通道都支持設置控制器類型,如圖5所示。當選擇類型為 CAN 時,只能收發(fā) CAN報文。用戶可將接到 CAN 總線的端口控制器類型設置為 CAN,可防止 CANFD 報文轉發(fā)到CAN 總線。當選擇類型為 CANFD 時, CAN 報文和 CANFD 報文都可以收發(fā)。

image.png

圖5 控制器類型

每個通道支持設置 CANFD 協議標準,如圖6所示。支持 ISO 標準和 Non-ISO 標準。

image.png

圖6 CANFD協議

2、幀類型高級設置

可設置 CAN轉CANFD或CAN、CANFD轉CANFD或CAN,當在 CAN→CAN、 CANFD→CANFD 時不改變幀數據。當使用勾選“填充”功能后,CAN 報文數據長度等于 8 字節(jié)時,會用填充數據將 CANFD報文填充至設置的 CANFD 報文數據長度,當 CAN 幀數據長度為 0~7 時填充無效, 轉換后的 CANFD 幀數據長度與 CAN 幀數據長度一樣;

image.png

圖7 轉換設置

3、數據合并

合并功能用于將多個 CAN 報文合并后轉換為 CANFD 報文。設置如圖8所示, 此設置使 CAN0 將 ID 為 0x01、 0x02、 0x03 的三個數據長度為8 的標準 CAN 幀合并成 ID 為 0x123,數據長度為 24 的 CANFD 標準幀。

image.png

圖8 經典CAN數據合并CANFD

4、數據拆分

拆分功能用于將 CANFD 報文拆分成多個 CAN 報文發(fā)送,設備最多支持設置 64 條拆分規(guī)則, 每條規(guī)則指定待拆分 CANFD 的幀 ID、幀類型及幀長度。如圖9所示設置,此設置將 ID 為 0xF1,長度為 64 字節(jié)的 CANFD 標準幀拆分為 8個數據長度為 8 字節(jié)的 CAN 標準幀, ID 分別為 0x00~0x07。

image.png

圖9 CANFD拆分為經典CAN幀

5、可靠性保證

為保證數據幀轉換的可靠性,CANFDBridge提供失敗回送設置。設置使能后 CANFDBridge 轉發(fā)失敗時,會發(fā)送指定幀來告知發(fā)送方轉發(fā)失敗。示意圖如圖10所示。

image.png

圖10 失敗回送機制

CAN與CANFD的橋接依靠CANFDBridge靈活的配置實現,更多應用細節(jié)請參閱相關產品手冊。



關鍵詞:

評論


相關推薦

技術專區(qū)

關閉