《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 如何實(shí)現(xiàn)CAN與CANFD的總線橋接,?

如何實(shí)現(xiàn)CAN與CANFD的總線橋接,?

2019-12-11
來(lái)源:致遠(yuǎn)電子
關(guān)鍵詞: CAN CANFD 總線橋接

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

  一、CANFD的來(lái)源

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

  相比于經(jīng)典CAN,CANFD有兩個(gè)顯著特點(diǎn):

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

  二是數(shù)據(jù)場(chǎng)長(zhǎng)度增加,,CAN FD對(duì)數(shù)據(jù)場(chǎng)的長(zhǎng)度做了擴(kuò)充,從CAN的8字節(jié)增加到CAN FD的64字節(jié),。

  圖1CANFD的提速與擴(kuò)容

  二,、兼容性問(wèn)題

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

  圖2CAN與CANFD的鏈路層對(duì)比

  雖然CANFD設(shè)計(jì)時(shí)考慮到向下兼容,但鏈路層的根本改變使我們不得不面臨以下問(wèn)題:經(jīng)典CAN節(jié)點(diǎn)發(fā)送的CAN幀能被CANFD節(jié)點(diǎn)識(shí)別,,但CANFD節(jié)點(diǎn)發(fā)送的CANFD幀不能被經(jīng)典CAN節(jié)點(diǎn)識(shí)別,,甚至被經(jīng)典CAN判定為錯(cuò)誤幀導(dǎo)致總線嚴(yán)重錯(cuò)誤。

  三、解決思路

  解決CANFD與經(jīng)典CAN兼容性的方法有兩種,,一是將所有經(jīng)典CAN節(jié)點(diǎn)全部升級(jí)為CANFD,,二是在經(jīng)典CAN網(wǎng)絡(luò)與CANFD網(wǎng)絡(luò)間加入合適的橋接器。顯然,,設(shè)備的更新?lián)Q代不能一蹴而就,,方法一必然帶來(lái)成本激增,因此方法二將是短期內(nèi)最優(yōu)解決方案,。

  CANFD網(wǎng)橋的設(shè)計(jì)思路是當(dāng)接收到CAN FD報(bào)文時(shí)采用直轉(zhuǎn),、合并、拆分三種方式實(shí)現(xiàn)傳統(tǒng)CAN的8字節(jié)長(zhǎng)度和CAN FD的64字節(jié)長(zhǎng)度的互相轉(zhuǎn)換,,無(wú)損還原原有數(shù)據(jù),。

  圖3CANFD橋接方法

  四、CANFD網(wǎng)橋

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

  圖4 工業(yè)級(jí)CANFD網(wǎng)橋CANFDBridge

  1、每通道獨(dú)立的控制器類(lèi)型設(shè)置,、CANFD標(biāo)準(zhǔn)設(shè)置

  每個(gè)通道都支持設(shè)置控制器類(lèi)型,,如圖5所示。當(dāng)選擇類(lèi)型為 CAN 時(shí),,只能收發(fā) CAN報(bào)文,。用戶可將接到 CAN 總線的端口控制器類(lèi)型設(shè)置為 CAN,可防止 CANFD 報(bào)文轉(zhuǎn)發(fā)到CAN 總線,。當(dāng)選擇類(lèi)型為 CANFD 時(shí),, CAN 報(bào)文和 CANFD 報(bào)文都可以收發(fā)。

  圖5控制器類(lèi)型

  每個(gè)通道支持設(shè)置 CANFD 協(xié)議標(biāo)準(zhǔn),,如圖6所示,。支持 ISO 標(biāo)準(zhǔn)和 Non-ISO 標(biāo)準(zhǔn),。

  圖6CANFD協(xié)議

  2,、幀類(lèi)型高級(jí)設(shè)置

  可設(shè)置 CAN轉(zhuǎn)CANFD或CAN,、CANFD轉(zhuǎn)CANFD或CAN,,當(dāng)在 CAN→CAN,、 CANFD→CANFD 時(shí)不改變幀數(shù)據(jù),。當(dāng)使用勾選“填充”功能后,,CAN 報(bào)文數(shù)據(jù)長(zhǎng)度等于 8 字節(jié)時(shí),,會(huì)用填充數(shù)據(jù)將 CANFD報(bào)文填充至設(shè)置的 CANFD 報(bào)文數(shù)據(jù)長(zhǎng)度,當(dāng) CAN 幀數(shù)據(jù)長(zhǎng)度為 0~7 時(shí)填充無(wú)效,, 轉(zhuǎn)換后的 CANFD 幀數(shù)據(jù)長(zhǎng)度與 CAN 幀數(shù)據(jù)長(zhǎng)度一樣,;

  圖7轉(zhuǎn)換設(shè)置

  3,、數(shù)據(jù)合并

  合并功能用于將多個(gè) CAN 報(bào)文合并后轉(zhuǎn)換為 CANFD 報(bào)文,。設(shè)置如圖8所示, 此設(shè)置使 CAN0 將 ID 為 0x01,、 0x02、 0x03 的三個(gè)數(shù)據(jù)長(zhǎng)度為8 的標(biāo)準(zhǔn) CAN 幀合并成 ID 為 0x123,,數(shù)據(jù)長(zhǎng)度為 24 的 CANFD 標(biāo)準(zhǔn)幀。

  圖8經(jīng)典CAN數(shù)據(jù)合并CANFD

  4、數(shù)據(jù)拆分

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

  圖9CANFD拆分為經(jīng)典CAN幀

  5、可靠性保證

  為保證數(shù)據(jù)幀轉(zhuǎn)換的可靠性,,CANFDBridge提供失敗回送設(shè)置,。設(shè)置使能后 CANFDBridge 轉(zhuǎn)發(fā)失敗時(shí),,會(huì)發(fā)送指定幀來(lái)告知發(fā)送方轉(zhuǎn)發(fā)失敗。示意圖如圖10所示,。

  圖10失敗回送機(jī)制

  CAN與CANFD的橋接依靠CANFDBridge靈活的配置實(shí)現(xiàn),,更多應(yīng)用細(xì)節(jié)請(qǐng)參閱相關(guān)產(chǎn)品手冊(cè)。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected]