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