很多人了解過CANFD,可能知道CANFD CRC段與傳統(tǒng)CAN CRC差距是CRC多項式不同,但實際CANFD CRC段與傳統(tǒng)CAN的差異遠(yuǎn)不止這些。接下來,我們細(xì)說下CANFD CRC段帶來的變化:
??不同數(shù)據(jù)段長度選擇不同的CRC多項式
傳統(tǒng)CAN采用的是15位的CRC校驗,由于CANFD支持更大的數(shù)據(jù)量,為提供通信可靠性,針對不同長度的CANFD報文,調(diào)整其CRC算法,詳見下表。
當(dāng)報文為傳統(tǒng)CAN時,仍采用原有的CRC多項式。
當(dāng)報文為CANFD且數(shù)據(jù)長度小于等于16字節(jié)時,調(diào)整為17位的CRC多項式。
當(dāng)報文為CANFD且數(shù)據(jù)長度大于16字節(jié)時,則調(diào)整為21位的CRC多項式。
??CRC計算時機(jī)不同
在傳統(tǒng)CAN中,位填充(連續(xù)5位相同位后填充一位相反位)是在CRC計算之后進(jìn)行。當(dāng)CAN控制器發(fā)送報文時,先對報文CRC計算后,再填入填充位發(fā)送;接收時,則對接收數(shù)據(jù)移除填充位后,再做CRC校驗。
在CANFD中,CRC計算時機(jī)調(diào)整為位填充后。也就是說,發(fā)送方發(fā)送時,先對報文進(jìn)行位填充后,再做CRC計算。這種方式增加了對填充位的CRC計算,降低了錯誤漏檢的概率。
??增加固定填充位和填充位計數(shù)
CANFD中,CRC域采用一種固定填充位的格式:在CRC段第一位及接下來的每四位增加一個固定填充位,填充位為上一位的反碼。 以下分別為CRC17和CRC21的固定填充位(FSB)位置。
除了固定填充位之外,CRC域的起始還包含了3位的填充位計數(shù),及1位填充位計數(shù)檢驗位,以進(jìn)一步提高通信可靠性。填充位計數(shù)在CRC段的位置如下圖紅框所示。
3位填充位計數(shù)表示的值為實際填充位計數(shù)對8取模的結(jié)果,采用格雷碼顯示。奇偶校驗位對填充位計數(shù)進(jì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控制器。
審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
112文章
16448瀏覽量
179471 -
CAN
+關(guān)注
關(guān)注
57文章
2770瀏覽量
464389 -
crc
+關(guān)注
關(guān)注
0文章
199瀏覽量
29576 -
CANFD
+關(guān)注
關(guān)注
0文章
59瀏覽量
5014
原文標(biāo)題:【Z站推薦】CANFD CRC段與傳統(tǒng)CAN差距有多大?
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論