隨著汽車工業(yè)的快速發(fā)展,汽車逐漸走向智能化,功能也越來越豐富,例如特斯拉、比亞迪、理想汽車為代表,在車載導航、駐車雷達、胎壓監(jiān)測、倒車影像、無鑰匙啟動、定速巡航、自動泊車、高級輔助駕駛系統(tǒng)、自動駕駛、域控制器、智能網(wǎng)關等都有新的特點。
為了提高競爭力,汽車制造商將越來越多的功能集成到汽車之中,我們的汽車就會變得交互性好、界面友好、智能化高級,這些功能的加入,增加了ECU(電子控制單元)的增加,進而使得總線負載急劇增加,傳統(tǒng)的CAN總線(500K)每個數(shù)據(jù)幀最多攜帶8個字節(jié)數(shù)據(jù)的瓶頸逐步凸顯,顯得力不從心。
為了解決這一瓶頸,Bosch曾發(fā)布過新一代的汽車網(wǎng)絡通信技術CAN FD,它不僅繼承了高速CAN的主要特征,而且提高了CAN總線的通信效率,改善了錯誤幀漏檢率,同時,還可以保持CAN-BUS系統(tǒng)不變,ECU廠家不需要大規(guī)模的改動就可以實現(xiàn)網(wǎng)絡通信升級。
為此,速銳得整理了如下筆記,與公司內部開發(fā)、客戶開發(fā)、數(shù)據(jù)采集、應用開發(fā)提供一些基礎的幫助,我們就CAN FD的特點、難點,先做初步的學習與共同交流,后續(xù)我們會推出硬件設計及接口相關的,包括一些適用性代碼等等。
1、CAN FD總線具備可變波特率,數(shù)據(jù)段最高可以達到15MBPS,傳統(tǒng)標準CAN只有500K(最大1M),一個數(shù)據(jù)幀可以使用兩種波特率進行傳輸,兩種波特率有各自獨立的為時間設置寄存器,這對硬件和解析都有要求,需要2個不同的寄存器,相互不干擾,CAN FD外設時鐘頻率為60MHz,硬件設計和軟件代碼需要謹慎,無論是仲裁段還是數(shù)據(jù)段,他們同步跳轉寬度與緩沖段的值相同;
2、最大可以達到64字節(jié),17位/21位 CRC算法,CANFD控制器需要根據(jù)數(shù)據(jù)長度不同選擇不同的算法,數(shù)據(jù)越長,CRC算法越多;
3、CAN FD 有新的數(shù)據(jù)字節(jié)填充規(guī)則,采用差分信號傳輸數(shù)據(jù),通信可靠性高,但是容易出現(xiàn)數(shù)據(jù)出錯導致數(shù)據(jù)為被錯誤解析;
4、數(shù)據(jù)傳輸速率可以達到微秒級,與標準CAN不兼容,為此,芯片需要更換,解析方式也不同;
5、解析復雜,在CAN FD網(wǎng)絡中,CAN和CAN FD可以同時存在,容易出現(xiàn)發(fā)送數(shù)據(jù)幀錯誤,導致整個CAN FD 網(wǎng)絡通信癱瘓,或者報故障碼。無論是標準幀還是擴展幀,只有確定是CAN幀還是CAN FD幀,才能知道當前的報文格式解析;
6、標準高速CAN升級到CAN FD需要做的工作:
a、雖然CAN FD繼承了CAN的特性,但是也有一些工作要做:硬件需要支持CAN FD功能,從CAN芯片、晶振、寄存器、CAN收發(fā)器均需要學習控制器的學習方法,便于開發(fā)CAN FD應用,實現(xiàn)CAN FD跨平臺的編程接口,實現(xiàn)CAN FD通信功能;
b、在開發(fā)過程中通常需要對網(wǎng)絡進行調試和監(jiān)測,推薦使用USBCANFD,將該接口卡的CAN FD接口連至CAN FD網(wǎng)絡中,USB接口連接PC,開發(fā)者便可以輕松通過上位機監(jiān)測CAN FD總線上的數(shù)據(jù),同時,出于測試目的,還可以通過PC上位機向總線中發(fā)送數(shù)據(jù);
c、如果傳統(tǒng)CAN網(wǎng)絡的部分節(jié)點需要升級到CAN FD,那么由于幀格式不同,CAN FD節(jié)點可以正常收發(fā)CAN節(jié)點報文,但是傳統(tǒng)CAN節(jié)點不能收發(fā)CAN FD報文,會產(chǎn)生錯誤幀;
d、目前有速銳得的方案可以在原有網(wǎng)絡拓撲不變的情況下,實現(xiàn)CAN與CAN FD的兼容,如硬件速銳得硬件設計顯示:
(1)傳統(tǒng)CAN使用具有CAN FD Shield模式的收發(fā)器,當收到CAN FD幀時,收發(fā)器會過濾改報文,以防止發(fā)送錯誤幀;
(2)使用CAN轉CAN FD網(wǎng)關/網(wǎng)橋設備(例如EST558S-FD),將CAN FD報文按照用戶設定的規(guī)則轉換成傳統(tǒng)的CAN報文。