很多人了解過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ù)量,為提供通信可靠性,針對(duì)不同長度的CANFD報(bào)文,調(diào)整其CRC算法,詳見下表。

當(dāng)報(bào)文為傳統(tǒng)CAN時(shí),仍采用原有的CRC多項(xiàng)式。
當(dāng)報(bào)文為CANFD且數(shù)據(jù)長度小于等于16字節(jié)時(shí),調(diào)整為17位的CRC多項(xiàng)式。
當(dāng)報(bào)文為CANFD且數(shù)據(jù)長度大于16字節(jié)時(shí),則調(diào)整為21位的CRC多項(xiàng)式。
CRC計(jì)算時(shí)機(jī)不同
在傳統(tǒng)CAN中,位填充(連續(xù)5位相同位后填充一位相反位)是在CRC計(jì)算之后進(jìn)行。當(dāng)CAN控制器發(fā)送報(bào)文時(shí),先對(duì)報(bào)文CRC計(jì)算后,再填入填充位發(fā)送;接收時(shí),則對(duì)接收數(shù)據(jù)移除填充位后,再做CRC校驗(yàn)。
在CANFD中,CRC計(jì)算時(shí)機(jī)調(diào)整為位填充后。也就是說,發(fā)送方發(fā)送時(shí),先對(duì)報(bào)文進(jìn)行位填充后,再做CRC計(jì)算。這種方式增加了對(duì)填充位的CRC計(jì)算,降低了錯(cuò)誤漏檢的概率。
增加固定填充位和填充位計(jì)數(shù)
CANFD中,CRC域采用一種固定填充位的格式:在CRC段第一位及接下來的每四位增加一個(gè)固定填充位,填充位為上一位的反碼。 以下分別為CRC17和CRC21的固定填充位(FSB)位置。


除了固定填充位之外,CRC域的起始還包含了3位的填充位計(jì)數(shù),及1位填充位計(jì)數(shù)檢驗(yàn)位,以進(jìn)一步提高通信可靠性。填充位計(jì)數(shù)在CRC段的位置如下圖紅框所示。

3位填充位計(jì)數(shù)表示的值為實(shí)際填充位計(jì)數(shù)對(duì)8取模的結(jié)果,采用格雷碼顯示。奇偶校驗(yàn)位對(duì)填充位計(jì)數(shù)進(jìn)行奇偶校驗(yàn)。詳見下表。

需要注意的是,non-ISO CANFD協(xié)議標(biāo)準(zhǔn),無固定填充位FSB及填充位計(jì)數(shù)。若使用USBCANFD-200U時(shí),遇到通訊的CANFD控制器為non-ISO標(biāo)準(zhǔn),可以在打開通道時(shí),選擇CANFD標(biāo)準(zhǔn)為non-ISO,以兼容non-ISO標(biāo)準(zhǔn)CANFD控制器。
審核編輯:湯梓紅
-
CAN
+關(guān)注
關(guān)注
59文章
3066瀏覽量
472740 -
crc
+關(guān)注
關(guān)注
0文章
205瀏覽量
30833 -
CANFD
+關(guān)注
關(guān)注
0文章
105瀏覽量
5899
發(fā)布評(píng)論請(qǐng)先 登錄
細(xì)說下與傳統(tǒng)CAN相比CANFD CRC段帶來的變化
求助,關(guān)于M467系列CANFD的BSP例程疑問
TC275D系列的芯片支持標(biāo)準(zhǔn)CANFD能配置成非標(biāo)準(zhǔn)CANFD的嗎?
rk3588 canfd發(fā)送部分?jǐn)?shù)據(jù)失敗的問題
CRC校驗(yàn)方法通過CAN總線通信來實(shí)現(xiàn)
如何快速實(shí)現(xiàn)設(shè)備CANFD升級(jí)?
CANFD節(jié)點(diǎn)如何與經(jīng)典CAN總線正常通信呢?
哪些STM32有CANFD
CRC算法原理和CRC編碼的實(shí)現(xiàn)方式與使用Verilog對(duì)CRC編碼進(jìn)行描述
CRC校驗(yàn) 、STM32中CRC計(jì)算單元、 CRC應(yīng)用
【Z站推薦】CANFD CRC段與傳統(tǒng)CAN差距有多大?
基于Tricore的CANFD入門工程
CAN與CANFD的區(qū)別 CAN與CANFD如何轉(zhuǎn)換
一幀CANFD報(bào)文由多少個(gè)位組成?
詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法
細(xì)說CANFD CRC段帶來的變化
評(píng)論