很多人了解過CANFD,可能知道CANFD CRC段與傳統(tǒng)CAN CRC差距是CRC多項(xiàng)式不同,但實(shí)際CANFD CRC段與傳統(tǒng)CAN的差異遠(yuǎn)不止這些。接下來,我們細(xì)說下CANFD CRC段帶來的變化:
不同數(shù)據(jù)段長度選擇不同的CRC多項(xiàng)式
傳統(tǒng)CAN采用的是15位的CRC校驗(yàn),由于CANFD支持更大的數(shù)據(jù)量,為提供通信可靠性,針對不同長度的CANFD報文,調(diào)整其CRC算法,詳見下表。
當(dāng)報文為傳統(tǒng)CAN時,仍采用原有的CRC多項(xiàng)式。
當(dāng)報文為CANFD且數(shù)據(jù)長度小于等于16字節(jié)時,調(diào)整為17位的CRC多項(xiàng)式。
當(dāng)報文為CANFD且數(shù)據(jù)長度大于16字節(jié)時,則調(diào)整為21位的CRC多項(xiàng)式。
?CRC計算時機(jī)不同
在傳統(tǒng)CAN中,位填充(連續(xù)5位相同位后填充一位相反位)是在CRC計算之后進(jìn)行。當(dāng)CAN控制器發(fā)送報文時,先對報文CRC計算后,再填入填充位發(fā)送;接收時,則對接收數(shù)據(jù)移除填充位后,再做CRC校驗(yàn)。
在CANFD中,CRC計算時機(jī)調(diào)整為位填充后。也就是說,發(fā)送方發(fā)送時,先對報文進(jìn)行位填充后,再做CRC計算。這種方式增加了對填充位的CRC計算,降低了錯誤漏檢的概率。
增加固定填充位和填充位計數(shù)
CANFD中,CRC域采用一種固定填充位的格式:在CRC段第一位及接下來的每四位增加一個固定填充位,填充位為上一位的反碼。以下分別為CRC17和CRC21的固定填充位(FSB)位置。
除了固定填充位之外,CRC域的起始還包含了3位的填充位計數(shù),及1位填充位計數(shù)檢驗(yàn)位,以進(jìn)一步提高通信可靠性。填充位計數(shù)在CRC段的位置如下圖紅框所示。
3位填充位計數(shù)表示的值為實(shí)際填充位計數(shù)對8取模的結(jié)果,采用格雷碼顯示。奇偶校驗(yàn)位對填充位計數(shù)進(jìn)行奇偶校驗(yàn)。詳見下表。需要注意的是,non-ISO CANFD協(xié)議標(biāo)準(zhǔn),無固定填充位FSB及填充位計數(shù)。若使用USBCANFD-200U時,遇到通訊的CANFD控制器為non-ISO標(biāo)準(zhǔn),可以在打開通道時,選擇CANFD標(biāo)準(zhǔn)為non-ISO,以兼容non-ISO標(biāo)準(zhǔn)CANFD控制器。
【版權(quán)聲明】本文為ZLG開發(fā)者社區(qū)用戶原創(chuàng)內(nèi)容,未經(jīng)授權(quán)不得轉(zhuǎn)載。
-
CAN
+關(guān)注
關(guān)注
57文章
2919瀏覽量
467732
發(fā)布評論請先 登錄
汽車網(wǎng)絡(luò)升級攻略:CAN-CAN FD-車載以太網(wǎng)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(3)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(1)

CANFD協(xié)議轉(zhuǎn)換器:搭建通訊橋梁

車載通信方案為何選擇CAN/CANFD?
工程師在產(chǎn)品選型的時究竟是選CAN還是CANFD接口卡呢?

如何使用ZPS-CANFD觀察CAN數(shù)據(jù)鏈路層的工作過程

CAN/CANFD?總線干擾儀TESTBASE-BDI

rk3588 canfd發(fā)送部分?jǐn)?shù)據(jù)失敗的問題
CAN FD與傳統(tǒng)CAN的區(qū)別是什么

CAN/CANFD卡接口函數(shù)使用說明
【龍芯2K0300蜂鳥板試用】CAN接口驅(qū)動板設(shè)計、CANFD測試、CAN C++程序驅(qū)動測試
CAN主站轉(zhuǎn)Profinet從站協(xié)議網(wǎng)關(guān)(JM-PN-CAN)

評論