999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CANFD協(xié)議與CAN協(xié)議CRC校驗差異化研究

2022-12-02 08:00:34潘文卿李國朋張魯兵
內(nèi)燃機與配件 2022年19期

潘文卿,李國朋,張魯兵,鞠 敏

(濰柴動力股份有限公司,山東 濰坊 261061)

0 引言

在CAN通訊過程中CAN控制器具備完整的錯誤檢測能力,其中包含:位錯誤檢測、格式錯誤檢測、填充錯誤檢測、應(yīng)答錯誤檢測和CRC錯誤檢測。作為一種重要的錯誤檢測手段,CRC錯誤檢測是接收節(jié)點判斷CAN幀信息的完整性和正確性并向總線確認(rèn)應(yīng)答的依據(jù)。

1 CANFD與CAN

2011年BOSCH首次發(fā)布了CANFD(CAN with Flexible Data rate)方案,在滿足CAN總線特性的基礎(chǔ)上升級了波特率和數(shù)據(jù)長度的兩大特性,在數(shù)據(jù)段傳輸時即可以提升速率又可以增加數(shù)據(jù)長度,最大可以一次傳輸64個字節(jié)的數(shù)據(jù),同時還可以提升數(shù)據(jù)段的傳輸速率,最大可以提升到5Mbps,如此一來,CANFD可以大大提升數(shù)據(jù)加載量和傳輸速率。同時CANFD還繼承了傳統(tǒng)CAN的主要特性,采用雙線串行通訊協(xié)議,非破壞性仲裁技術(shù),分布式實時控制,可靠的錯誤處理和檢測機制,很好的繼承了CAN的特性并優(yōu)化了CAN總線最大只能傳輸8個字節(jié)數(shù)據(jù),傳輸速率最大只能到1Mbps的局限性。可以很好的解決當(dāng)前整車智能化帶來的數(shù)據(jù)量急劇上升導(dǎo)致總線負(fù)載率過高,傳輸不穩(wěn)定的問題。CANFD可以理解成CAN協(xié)議的升級版,只是將協(xié)議升級,物理層未作改變。CANFD可以向下兼容傳統(tǒng)CAN,由傳統(tǒng)CAN轉(zhuǎn)移到CANFD比較方便。

1.1 CANFD幀結(jié)構(gòu)

對比傳統(tǒng)CAN[1]協(xié)議,CAN與CANFD主要區(qū)別:傳輸速率有提升,數(shù)據(jù)長度有提升,幀格式不同。CAN協(xié)議最大傳輸速率是1Mbps,CANFD協(xié)議的仲裁段的最大傳輸速率也是1Mbps,只是數(shù)據(jù)段的最大傳輸速率提升到了5Mbps,為了更加穩(wěn)定的提升速率,CANFD協(xié)議的仲裁段和數(shù)據(jù)段的的傳輸速率一般保持1:1或者是1:2或者是1:4的提升數(shù)據(jù)段的速率,不然在傳輸過程中速率提升的太快會影響數(shù)據(jù)采集的有效性,造成大量錯誤幀。

CANFD協(xié)議的幀結(jié)構(gòu)特點如圖1所示:

1)CAN與CANFD使用相同的SOF標(biāo)志位來標(biāo)識報文的起始。幀起始由1個顯性位構(gòu)成,標(biāo)識著報文的開始,并在總線上起著同步作用。

2)CANFD協(xié)議不支持遠(yuǎn)程幀,所以原來RTR遠(yuǎn)程傳輸請求位用SRR遠(yuǎn)程請求替換位替代,并且始終為顯性位’0’。

3)CANFD與CAN有著相同過的標(biāo)識符擴展位IDE位,當(dāng)IDE位為顯性位0的時候表示ID長度是11bits的標(biāo)準(zhǔn)幀,當(dāng)IDE位為隱形位1的時候表示ID長度是29bits的擴展幀。

4)為了區(qū)分CANFD與CAN,CANFD幀結(jié)構(gòu)中增加了FDF(FD Format)位,為0表示傳統(tǒng)CAN協(xié)議;為1表示CANFD協(xié)議。

5)CANFD最顯著的特征就是數(shù)據(jù)段可以提升傳輸速率,在CANFD仲裁場增加BRS(Bit Rate Switch)位速率轉(zhuǎn)換開關(guān)位,為隱形位1時表示進(jìn)行速率切換,發(fā)送節(jié)點在BRS位時將會切換到高速傳輸?shù)牟ㄌ芈剩渌邮展?jié)點也必須轉(zhuǎn)換對應(yīng)的波特率。在CRC界定符的采樣點,所有節(jié)點的波特率再切換回仲裁場的波特率;當(dāng)BRS位為顯性0時表示不進(jìn)行速率切換。

6)CANFD最大可傳輸64字節(jié)的數(shù)據(jù),所以原來4個字節(jié)的DLC(Data Length Code)需要重新編碼即支持傳統(tǒng)CAN的0到8個字節(jié),也要支持最大64個字節(jié)的CANFD,數(shù)據(jù)長度可以從0到8,12,16,20,24,32,48,64字節(jié)中選擇,具體編碼方式如表1所示,CANFD的長度只能是表中顯示的長度,不隨意指定數(shù)據(jù)長度,例如30個字節(jié)是不支持的。

表1 CAN&CANFD DLC編碼表

7)CRC(Cyclic Redundancy Check)校驗在傳統(tǒng)CAN的基礎(chǔ)上進(jìn)行了升級,如果數(shù)據(jù)段的長度大于16個字節(jié)時,CRC的長度為21bits,小于等于16個字節(jié)時,CRC的長度是17bits, CANFD對CRC算法做了改變。在校驗和部分從第一位開始每4bits添加一個填充位加以分割,這個填充位的值是上一位的反碼。

8)ESI(Error State Indicator)錯誤知識狀態(tài)位,為顯性位0時表示CANFD節(jié)點處于主動報錯狀態(tài),為隱性位1時表示CANFD節(jié)點處于被動報錯狀態(tài)[2]。通過ESI位,所有節(jié)點都可以確認(rèn)當(dāng)前的傳輸節(jié)點的錯誤狀態(tài)。而在傳統(tǒng)CAN幀中,無法得知其傳輸節(jié)點的錯誤狀態(tài)。

9)EOF(End of Frame)幀結(jié)束,7個隱性位。如果某一位編號下出現(xiàn)一個顯性電平:[第1-6位]發(fā)送器或接收器檢測到一個幀結(jié)構(gòu)錯誤。此時接收器丟棄該幀,同時產(chǎn)生一個錯誤標(biāo)記(接收節(jié)點CAN控制器處于錯誤主動狀態(tài),則產(chǎn)生顯性錯誤幀;如果處于錯誤被動狀態(tài),則產(chǎn)生隱性錯誤幀)。如果是顯性錯誤幀,則發(fā)送器重新發(fā)送該幀。[第7位]該位對于接收器有效,但對于發(fā)送器無效。如果此位出現(xiàn)顯性錯誤幀,則接收器已經(jīng)把報文接收成功,而發(fā)送器又重新發(fā)送,則該幀就被接收器接收兩次,這時就需要由高層協(xié)議來處理。

2 CRC介紹

CRC即冗余校驗碼(Cyclic Redundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯功能,對數(shù)據(jù)進(jìn)行多項式計算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行同樣的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。

CRC檢驗算法是基于一個多項式除法取余的結(jié)果,根據(jù)位數(shù)的需要和多項式的變化有數(shù)十種版本,該算法硬件實現(xiàn)簡單,位反轉(zhuǎn)偵錯能力較強及運算量適中,被廣泛應(yīng)用與數(shù)字網(wǎng)絡(luò)傳輸及數(shù)據(jù)存儲領(lǐng)域。

3 CANFD與CAN的CRC差異化研究

3.1 CRC幀結(jié)構(gòu)

一個傳統(tǒng)CAN幀結(jié)構(gòu)中,CRC域放置在數(shù)據(jù)結(jié)束后應(yīng)答檢測之前,如圖2所示。對于CANFD也是同樣的位置,該信息對于用戶應(yīng)用界面來說是不可見的,可通過CANscope總線分析儀解碼窗口或者示波器從總線波形上得到對應(yīng)的CRC數(shù)據(jù)展示。

CANFD幀結(jié)構(gòu)中,CRC域在同樣的位置,并且CRC的長度隨著數(shù)據(jù)域的長度變化分為17位和21位的校驗,CRC采用一種固定填充位的格式:在CRC段第一位及接下來的每四位增加一個固定填充位,填充位的值為上一位的反碼。

如圖3和圖4分別展示CRC17和CRC21的固定填充位FSB位置。

除了固定填充位之外和CRC計算位外,CRC域的起始還包含了3位的填充位計數(shù),及1位填充位計數(shù)檢驗位,以此四個位的加入來進(jìn)一步提高通訊可靠性。填充位計數(shù)在CRC段的位置如圖5紅框所示。

3位填充位計數(shù)表示的值為實際填充位計數(shù)對8取模的結(jié)果,采用格雷碼顯示。奇偶校驗位對填充位計數(shù)進(jìn)行奇偶校驗,即1的個數(shù)是奇數(shù)時,奇偶校驗位的值位1,反之為0。詳見表2。

表2 填充位計數(shù)

3.2 CRC多項式

傳統(tǒng)CAN采用的是15位的CRC多項式校驗,由于CANFD支持更大的數(shù)據(jù)量,為提高通訊可靠性,針對不同數(shù)據(jù)長度的CANFD報文,調(diào)整其CRC算法,詳見表3。當(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多項式校驗。根據(jù)CANFD報文的數(shù)據(jù)長度自動調(diào)整CRC多項式的算法,可以提高通訊數(shù)據(jù)安全校驗的可靠性。

表3 CRC多項式

3.3 CRC計算

在傳統(tǒng)CAN中,連續(xù)5位相同位后會填充一位相反位,并且在CRC計算之后進(jìn)行填充。當(dāng)CAN控制器發(fā)送報文時,先對報文進(jìn)行CRC計算,然后再按照填充位原則填入填充位發(fā)送;在接收節(jié)點接收報文時,則對接收數(shù)據(jù)先根據(jù)位填充的原則移除填充位后,再做CRC校驗。

在CANFD中,CRC計算的時機調(diào)整為位填充后,位填充原則同樣為連續(xù)5個相同會后填充一個相反位,發(fā)送節(jié)點發(fā)送報文時,先對報文按照位填充原則進(jìn)行位的填充,再做CRC計算。這種方式增加了對填充位的CRC計算,提高了位校驗可靠性,降低了錯誤漏檢的概率。

CANFD對CRC算法進(jìn)行了改進(jìn),CRC對填充位也加入了計算。在CRC域的校驗和部分為避免連續(xù)相同位超過6個,就確定在第一位以及以后每4位添加一個填充位加以分隔,這個填充位的值是上一位的反碼,作為格式檢查,如果填充位不是上一位的反碼,就作錯誤處理。

CAN幀基于CRC多項式的安全校驗是發(fā)送節(jié)點根據(jù)發(fā)送的位計算校驗值,并在CAN幀結(jié)構(gòu)CRC字段中提供該結(jié)果。接收節(jié)點使用相同的多項式來計算總線上所見位的校驗值,將自我計算的校驗值與接收的校驗值進(jìn)行比較,如果匹配,則認(rèn)為被正確接收,接收節(jié)點在ACK時隙中發(fā)送顯性狀態(tài),從而覆蓋發(fā)送器的隱形狀態(tài)。在不匹配的情況下,接收節(jié)點在ACK定界符之后發(fā)送錯誤幀。

CANFD的控制器CRC校驗實現(xiàn)過程會相對復(fù)雜一些,在一個CAN總線網(wǎng)絡(luò)中,幀起始被檢測到后所有的節(jié)點開始使用三組多項式同步計算CRC序列,其中也包含發(fā)送節(jié)點,由于CRC的計算受CAN幀類型和DLC長度影響,直到CAN幀的控制域以及DLC確認(rèn)后才選擇采用對應(yīng)的多項式生成CRC序列,最終生成的 CRC序列會填充在幀結(jié)構(gòu)中CRC字段,用于發(fā)送和接收節(jié)點進(jìn)行比較判定該報文是否被正確完整發(fā)送和接收。

4 結(jié)論

CANFD協(xié)議相較于傳統(tǒng)CAN有更高的傳輸速率,有更大的數(shù)據(jù)帶寬,CANFD協(xié)議在仲裁場和數(shù)據(jù)場進(jìn)行切換,在數(shù)據(jù)段增加數(shù)據(jù)長度,在傳輸?shù)倪^程中需要更高效更準(zhǔn)確的校驗機制來保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。所有基于CANFD協(xié)議的CRC校驗機制相較于傳統(tǒng)CAN有相應(yīng)的升級以保證傳輸過程中數(shù)據(jù)的完整性和正確性,能有效防止物理層傳輸錯誤,CANFD因為數(shù)據(jù)段是可以變速率并且數(shù)據(jù)段的長度也是可變的,所以CRC校驗會更為復(fù)雜一些會根據(jù)數(shù)據(jù)長度的不同,更換CRC校驗多項式,同時增加了填充域,采用格雷碼校驗和奇偶校驗的形式保證位填充的正確性,為數(shù)據(jù)傳輸?shù)臏?zhǔn)確性添加了雙重保險。CRC校驗用戶在應(yīng)用場景下是看不到的,完整的有效的校驗機制可以讓用戶界面不需要額外關(guān)注幀傳輸數(shù)據(jù)的正確性。

主站蜘蛛池模板: 色天天综合| 午夜限制老子影院888| 色噜噜在线观看| 中国成人在线视频| 99在线视频免费观看| 在线视频亚洲欧美| 国产理论一区| 国产成人亚洲精品无码电影| 无码专区在线观看| 一级毛片不卡片免费观看| 在线欧美国产| 国禁国产you女视频网站| 日韩亚洲综合在线| 亚洲天堂网视频| 国产超碰在线观看| 老司国产精品视频91| 精品第一国产综合精品Aⅴ| 在线观看视频99| 欧美α片免费观看| 国产高颜值露脸在线观看| 五月婷婷亚洲综合| 手机在线免费不卡一区二| 啪啪免费视频一区二区| 欧美不卡视频在线观看| 欧美日本二区| 青青久视频| 麻豆国产精品| 人妻无码一区二区视频| 国产日韩欧美精品区性色| 日韩欧美中文在线| 91视频日本| 综合久久五月天| 九色在线观看视频| AV不卡在线永久免费观看| 性网站在线观看| www.亚洲国产| 妇女自拍偷自拍亚洲精品| 成·人免费午夜无码视频在线观看 | 99热这里只有精品免费国产| 男女猛烈无遮挡午夜视频| 久久精品日日躁夜夜躁欧美| 亚洲狼网站狼狼鲁亚洲下载| 亚洲色图欧美视频| 2020亚洲精品无码| 激情综合婷婷丁香五月尤物| 五月天综合网亚洲综合天堂网| 亚洲精品卡2卡3卡4卡5卡区| 国产成+人+综合+亚洲欧美| 欧美综合区自拍亚洲综合天堂| 自拍亚洲欧美精品| 亚洲欧美日韩久久精品| 国产毛片基地| 欧美一区日韩一区中文字幕页| 国产精品私拍在线爆乳| 好吊色国产欧美日韩免费观看| jizz在线免费播放| 婷婷亚洲视频| 亚洲精品无码在线播放网站| 尤物午夜福利视频| 一区二区欧美日韩高清免费| 99久久国产自偷自偷免费一区| 激情综合激情| 亚洲一区色| 97视频在线观看免费视频| 亚洲高清中文字幕| 91久久青青草原精品国产| 精品久久久久无码| 亚洲精品无码专区在线观看| 色悠久久久久久久综合网伊人| 88av在线| 欧美无遮挡国产欧美另类| 台湾AV国片精品女同性| 久草热视频在线| 老司机久久精品视频| 伦精品一区二区三区视频| 亚洲国产在一区二区三区| 亚洲中文字幕在线一区播放| 99re这里只有国产中文精品国产精品 | 欧美一级在线看| 这里只有精品在线| 国产成人无码AV在线播放动漫| 国产麻豆精品在线观看|