當(dāng)原有的CAN通訊無法滿足硬件節(jié)點(diǎn)和傳輸速率的增加時(shí),很多工程師會(huì)使用CAN FD來替代,從而實(shí)現(xiàn)數(shù)據(jù)量傳輸?shù)奶崴?。那么CAN可以通過哪些方式快速升級(jí)到CAN FD呢?哪種方式更適合你?一起來看看。
CAN FD升級(jí)的意義
當(dāng)今社會(huì),汽車已經(jīng)成為了我們生活中不可缺少的一部分,人們希望汽車不僅僅是一種代步工具,更希望是生活及工作范圍的一種延伸。在汽車上就像坐在自己的辦公室和家里一樣,可以打電話、上網(wǎng)、娛樂、工作。因此,汽車制造商為了提高產(chǎn)品競爭力,將越來越多功能集成到了汽車上。ECU(電子控制單元)大量地增加使總線負(fù)載率急劇增大,傳統(tǒng)的CAN總線越來越顯得力不從心。因此,CAN FD(CAN with Flexible Data-Rate)協(xié)議誕生了。
它繼承了CAN總線的主要特性,提高了CAN總線的網(wǎng)絡(luò)通信帶寬,改善了錯(cuò)誤幀漏檢率,同時(shí)可以保持網(wǎng)絡(luò)系統(tǒng)大部分軟硬件特別是物理層不變。這種相似性使ECU供應(yīng)商不需要對(duì)ECU的軟件部分做大規(guī)模修改即可升級(jí)汽車通信網(wǎng)絡(luò)。
CAN FD與CAN的主要區(qū)別
圖1 CAN幀基本格式
圖2 CAN FD幀基本格式
如圖1、圖2所示分別是CAN幀和CAN FD幀的基本格式,區(qū)別主要分為兩大點(diǎn):
1.BRS(可變速率)
CAN FD的傳輸速率分為兩個(gè)頻段,從BRS位開始到CRC校驗(yàn)之前這一段是可變速率段,這一段的波特率可以進(jìn)行加速,理論最高可達(dá)到5Mbit/s,而其他位置則和CAN2.0一樣,最高速率可達(dá)到1Mbit/s。
2.數(shù)據(jù)場(chǎng)長度增加BRS
CAN FD對(duì)數(shù)據(jù)場(chǎng)的長度做了擴(kuò)充,從CAN的8字節(jié)增加到CAN FD的64字節(jié)。如圖3所示,當(dāng)DLC小于8字節(jié)時(shí)和CAN一樣是線性增長,當(dāng)大于8字節(jié)時(shí)是非線性增長。
圖3 DLC編碼方式
CAN FD的升級(jí)與CAN是否有沖突?
由于使用CAN FD網(wǎng)絡(luò)時(shí),需要ECU和CAN控制器、收發(fā)器均支持CAN FD通訊。所以當(dāng)CAN網(wǎng)絡(luò)中某些節(jié)點(diǎn)升級(jí)為CAN FD時(shí),車輛上CAN與CAN FD處于共存的情況,因?yàn)槠胀ǖ腃AN節(jié)點(diǎn)無法正常解析CAN FD報(bào)文,節(jié)點(diǎn)就會(huì)一直報(bào)錯(cuò),出現(xiàn)大量錯(cuò)誤報(bào)文,導(dǎo)致總線通訊異常。
圖4 CAN與CAN FD報(bào)文的波形對(duì)比
如圖4所示,可以看到CAN FD的傳輸速率是5Mbit/s,而CAN的傳輸速率為500Kbit/s,我們?cè)谄匠J褂蒙衔粰C(jī)軟件解析CAN報(bào)文的時(shí)候需要設(shè)置對(duì)應(yīng)的波特率,否則報(bào)文就無法解析。那么用一種簡單的方式來理解,對(duì)于CAN節(jié)點(diǎn)來說,它的波特率是500K,那么5M的波特率與它不匹配,所以不能被正常解析,該節(jié)點(diǎn)就會(huì)報(bào)錯(cuò),導(dǎo)致CAN FD報(bào)文一直無法正常發(fā)送,干擾總線的正常運(yùn)行。
CAN FD升級(jí)的解決方案
盡管CAN FD繼承了絕大部分傳統(tǒng)CAN的特性,但是從傳統(tǒng)CAN到CAN FD的升級(jí),我們?nèi)孕枰龊芏嗟墓ぷ鳌?
針對(duì)CAN FD升級(jí)的情況,一般有4種快速解決方案。
1.CANFDBridge- CAN/CANFD智能協(xié)議網(wǎng)橋
在原有的CAN網(wǎng)絡(luò)上通過CAN網(wǎng)橋與新的CAN FD節(jié)點(diǎn)進(jìn)行連接,將傳統(tǒng)的CAN總線網(wǎng)絡(luò)通過協(xié)議轉(zhuǎn)換與CAN FD網(wǎng)絡(luò)進(jìn)行融合,快速實(shí)現(xiàn)CAN設(shè)備的升級(jí)。工作原理如圖5所示,當(dāng)接收到CAN FD報(bào)文的時(shí)候,CAN網(wǎng)橋會(huì)采用直轉(zhuǎn)、合并、拆分三種方式實(shí)現(xiàn)傳統(tǒng)CAN的8字節(jié)長度和CAN FD的64字節(jié)長度的互相轉(zhuǎn)換,無損還原原有數(shù)據(jù)。
圖5 CANFDBridge界面
2.CANFDSM-100——串口轉(zhuǎn)CAN FD轉(zhuǎn)換模塊
如圖6所示,是ZLG致遠(yuǎn)電子研發(fā)的一款串口轉(zhuǎn)CAN(FD)模塊CANFDSM-100,內(nèi)置微處理器。該模塊支持透明轉(zhuǎn)換、透明帶標(biāo)識(shí)符轉(zhuǎn)換、格式轉(zhuǎn)換、Modbus轉(zhuǎn)換四種模式。同時(shí),該模塊集成1路CAN FD接口和1路UART接口。在CAN通訊方面,可以在40Kbps~1Mbps之間任意可編程;在CAN FD通訊方面,可以在1Mbps~5Mbps之間任意可編程。單個(gè)模塊就可以實(shí)現(xiàn)CAN和CAN FD的數(shù)據(jù)收發(fā)工作,快速實(shí)現(xiàn)CAN FD升級(jí),滿足工業(yè)級(jí)要求,支持在線固件升級(jí)等。
圖6 CANFDSM-100示意圖
3.USBCANFD系列接口卡
如圖7所示,是ZLG致遠(yuǎn)電子開發(fā)的高性能CANFD接口卡。集成1/2/8路CANFD接口,支持ISO標(biāo)準(zhǔn)CANFD與BoschCANFD標(biāo)準(zhǔn)。每個(gè)接口具備獨(dú)立的2500VDC電氣隔離保護(hù)電路,使接口卡避免由于地環(huán)流的損壞,增強(qiáng)系統(tǒng)在惡劣環(huán)境中使用的可靠性。
PC通過USB2.0端口連接USBCANFD接口卡,從而能與CAN/CANFD網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)收發(fā),構(gòu)成CAN/CANFD-bus控制節(jié)點(diǎn)。USBCANFD接口卡支持Win7/Win10等操作系統(tǒng),提供二次開發(fā)函數(shù)庫,用戶可以調(diào)用函數(shù)庫編寫軟件,是CAN/CANFD-bus產(chǎn)品開發(fā)、數(shù)據(jù)分析的強(qiáng)大工具。
圖7 USBCANFD-800U示意圖
4.高性能以太網(wǎng)轉(zhuǎn)CANFD設(shè)備
如圖8所示,CANFDNET系列產(chǎn)品是ZLG致遠(yuǎn)電子開發(fā)的高性能工業(yè)級(jí)以太網(wǎng)與CAN(FD)-bus的數(shù)據(jù)轉(zhuǎn)換設(shè)備,它內(nèi)部集成了2/4路CAN(FD)-bus接口、1路普通以太網(wǎng)接口,和1路車載雙線以太網(wǎng)滿足OPEN Alliance BroadR-Reach規(guī)范。CANFDNET系列產(chǎn)品可以工作在-40℃~85℃的溫度范圍內(nèi),CAN FD最高波特率為5Mbps,以太網(wǎng)具有TCP Server,TCP Client,UDP等多種工作模式,通過配置軟件用戶可以靈活的設(shè)定相關(guān)配置參數(shù),并自帶成熟穩(wěn)定的TCP/IP協(xié)議棧,用戶利用它可以輕松完成CAN(FD)網(wǎng)絡(luò)和以太網(wǎng)網(wǎng)絡(luò)的互連互通,進(jìn)一步拓展CAN-bus網(wǎng)絡(luò)的范圍。
圖8 CANFDNET示意圖
強(qiáng)大的上位機(jī)軟件
在硬件支持了CAN與CAN FD網(wǎng)絡(luò)后,就需要有強(qiáng)大的上位機(jī)軟件來為硬件賦能。ZLG ZCANPRO軟件為CANFD/CAN/LIN總線系統(tǒng)架構(gòu)、網(wǎng)絡(luò)設(shè)計(jì)、開發(fā)和測(cè)試工程師提供整個(gè)開發(fā)過程的全面支持。支持車載DBC協(xié)議解析與DBC發(fā)送,支持車載UDS診斷,符合ISO15765規(guī)范,支持CANopen、J1939、DeviceNet協(xié)議解析,支持記錄報(bào)文回放功能,并且能加載DBC文件進(jìn)行變量的曲線分析。用戶可通過編輯測(cè)試流程,加載DBC文件,進(jìn)行發(fā)送、等待、校驗(yàn)、校驗(yàn)響應(yīng)等動(dòng)作,實(shí)現(xiàn)對(duì)被測(cè)設(shè)備的自動(dòng)化測(cè)試。
高效、豐富、易用、免費(fèi)等特性為工程師創(chuàng)造了更多可能,大大降低成本,提升開發(fā)效率。
總結(jié)
對(duì)于CANFD的升級(jí),如果不是全部節(jié)點(diǎn)都進(jìn)行升級(jí),那么為了避免與CAN總線的沖突,相對(duì)來說,使用CAN/CANFD網(wǎng)橋,串口轉(zhuǎn)CANFD轉(zhuǎn)換模塊與USB/以太網(wǎng)轉(zhuǎn)CANFD接口卡等作為轉(zhuǎn)換來完成是更好的方法。工程師可以不用在意如何完成CAN與CAN FD報(bào)文之間的轉(zhuǎn)換,可以將工作重心放到產(chǎn)品功能的實(shí)現(xiàn)上,這樣對(duì)于產(chǎn)品的快速更迭,搶占市場(chǎng)會(huì)更加有幫助。