都說(shuō)CANFD是兼容CAN的,實(shí)際上這句話有個(gè)大前提,那就是CAN控制器是完全遵循ISO11898-1規(guī)范的。為什么這么說(shuō),接下來(lái)聽(tīng)君娓娓道來(lái)…
我們先看下CAN的幀結(jié)構(gòu):
CAN幀結(jié)構(gòu)
從上圖可以看出,標(biāo)準(zhǔn)幀中有個(gè)r0位,這個(gè)位實(shí)際上是個(gè)保留位,ISO11898-1中規(guī)定:發(fā)送方發(fā)送r0位固定為顯性,接收方則不對(duì)該位顯隱性做判斷。同樣,擴(kuò)展幀除r0位還有個(gè)r1位,也是保留位,其規(guī)定與r0位一致。由于ISO11898-1對(duì)保留位的規(guī)定,導(dǎo)致部分老舊的CAN控制器在發(fā)送保留位時(shí),未遵循ISO規(guī)范要求,將r0或r1位發(fā)送為隱性,而不是顯性,接收方也能正常接收CAN報(bào)文。那么CAN控制器發(fā)送標(biāo)準(zhǔn)幀r0或擴(kuò)展幀r1為隱性,在CANFD中會(huì)導(dǎo)致什么問(wèn)題呢?這個(gè)就要從CANFD幀結(jié)構(gòu)說(shuō)起了。
CANFD幀結(jié)構(gòu)
如上圖所示中箭頭方向,在CANFD幀中,原來(lái)的CAN標(biāo)準(zhǔn)幀中的r0為此時(shí)變?yōu)榱薊DL位(CANFD位),CAN擴(kuò)展幀中的r1位也同樣變?yōu)镋DL位。EDL位規(guī)定,EDL為隱性時(shí)為CANFD幀,顯性為CAN幀。
CAN標(biāo)準(zhǔn)幀r0位和擴(kuò)展幀r1位發(fā)送隱性位帶來(lái)的問(wèn)題那么問(wèn)題就來(lái)了,那些未完全符合ISO11898-1規(guī)范的CAN控制器,他們發(fā)送CAN幀時(shí)R0位為隱性,此時(shí)若總線上存在CANFD節(jié)點(diǎn)時(shí),就會(huì)被CANFD控制器識(shí)別為CANFD幀,但是實(shí)際上他發(fā)送又是CAN幀,這種情況下就導(dǎo)致CANFD控制器接收異常而發(fā)送錯(cuò)誤幀。這種情況下,對(duì)于不完全遵循ISO11898-1規(guī)范的CAN控制器來(lái)說(shuō),CANFD就不兼容CAN了。
最后,我們?cè)偻ㄟ^(guò)上面這張圖總結(jié)下:未符合ISO11898-1規(guī)范的CAN控制器,因其發(fā)送報(bào)文時(shí),標(biāo)準(zhǔn)幀r0位或擴(kuò)展幀r1位為隱性,在CANFD網(wǎng)絡(luò)中,會(huì)被CANFD控制器的接收方判別為CANFD幀,從而導(dǎo)致總線錯(cuò)誤。
解決方法
若總線存在此CAN控制器時(shí),我們可以將CANFD控制器設(shè)置為CAN控制器以兼容該CAN節(jié)點(diǎn)。
若使用USBCANFD-200U系列CANFD卡,遇到不規(guī)范的CAN控制器時(shí),我們可以通過(guò)ZCANPRO設(shè)置控制器類(lèi)型為CAN,就可以解決這個(gè)問(wèn)題。
原文標(biāo)題:【Z站推薦】CANFD真的完全兼容CAN?
文章出處:【微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
CAN
+關(guān)注
關(guān)注
57文章
2769瀏覽量
464377 -
CAN控制器
+關(guān)注
關(guān)注
3文章
74瀏覽量
15102 -
CANFD
+關(guān)注
關(guān)注
0文章
59瀏覽量
5014
原文標(biāo)題:【Z站推薦】CANFD真的完全兼容CAN?
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
CAN/CANFD?總線干擾儀TESTBASE-BDI
![<b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b>?總線干擾儀TESTBASE-BDI](https://file1.elecfans.com/web3/M00/03/D5/wKgZPGdszDuAd9_oAABhbiYsSsg400.png)
如何選擇CAN總線控制器
一款實(shí)現(xiàn)PLC擴(kuò)展CANFD的好工具 — PXB-6020D協(xié)議轉(zhuǎn)換器
![一款實(shí)現(xiàn)PLC擴(kuò)展<b class='flag-5'>CANFD</b>的好工具 — PXB-6020D協(xié)議轉(zhuǎn)換<b class='flag-5'>器</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
CAN/CANFD卡接口函數(shù)使用說(shuō)明
CAN總線控制器的工作原理
CAN總線控制器是什么意思
![](https://file1.elecfans.com/web2/M00/05/E9/wKgaombWYRuADTnVAAeYRVxabc8621.jpg)
國(guó)產(chǎn)控制器廠家 整車(chē)控制器 以太網(wǎng)控制器 CAN控制器 國(guó)產(chǎn)化替代
![](https://file1.elecfans.com/web2/M00/05/75/wKgaombP37GAUQ6xAAmYuqOKRig366.jpg)
車(chē)載智能控制器 工程機(jī)械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國(guó)產(chǎn)化替代
【龍芯2K0300蜂鳥(niǎo)板試用】CAN接口驅(qū)動(dòng)板設(shè)計(jì)、CANFD測(cè)試、CAN C++程序驅(qū)動(dòng)測(cè)試
![](https://file1.elecfans.com/web2/M00/EE/3C/wKgaomZqtZyAU9VMAAHe9U_zjLI026.png)
移動(dòng)機(jī)械控制器 車(chē)載智能控制器 CAN總線控制器
CAN收發(fā)器與CAN控制器的區(qū)別
詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法
![詳解TSMaster <b class='flag-5'>CAN</b> 與 <b class='flag-5'>CANFD</b> 的 CRC E2E 校驗(yàn)方法](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
CYT2B75 SK Rev03無(wú)法正常發(fā)送CANFD數(shù)據(jù),為什么?
汽車(chē)測(cè)試系統(tǒng)如何實(shí)現(xiàn)CANFD到EtherCAT的協(xié)議轉(zhuǎn)換
![汽車(chē)測(cè)試系統(tǒng)如何實(shí)現(xiàn)<b class='flag-5'>CANFD</b>到EtherCAT的協(xié)議轉(zhuǎn)換](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評(píng)論