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幀信息的完整性和正確性并向總線確認應(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的局限性。可以很好的解決當前整車智能化帶來的數(shù)據(jù)量急劇上升導致總線負載率過高,傳輸不穩(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標志位來標識報文的起始。幀起始由1個顯性位構(gòu)成,標識著報文的開始,并在總線上起著同步作用。

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

3)CANFD與CAN有著相同過的標識符擴展位IDE位,當IDE位為顯性位0的時候表示ID長度是11bits的標準幀,當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時表示進行速率切換,發(fā)送節(jié)點在BRS位時將會切換到高速傳輸?shù)牟ㄌ芈剩渌邮展?jié)點也必須轉(zhuǎn)換對應(yīng)的波特率。在CRC界定符的采樣點,所有節(jié)點的波特率再切換回仲裁場的波特率;當BRS位為顯性0時表示不進行速率切換。

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ǔ)上進行了升級,如果數(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é)點都可以確認當前的傳輸節(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)生一個錯誤標記(接收節(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ù)進行多項式計算,并將得到的結(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ù)檢驗位,以此四個位的加入來進一步提高通訊可靠性。填充位計數(shù)在CRC段的位置如圖5紅框所示。

3位填充位計數(shù)表示的值為實際填充位計數(shù)對8取模的結(jié)果,采用格雷碼顯示。奇偶校驗位對填充位計數(shù)進行奇偶校驗,即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。當報文為傳統(tǒng)CAN時,仍采用原有的CRC多項式校驗。當報文為CANFD且數(shù)據(jù)長度小于等于16字節(jié)時,調(diào)整為17位的CRC多項式校驗。當報文為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計算之后進行填充。當CAN控制器發(fā)送報文時,先對報文進行CRC計算,然后再按照填充位原則填入填充位發(fā)送;在接收節(jié)點接收報文時,則對接收數(shù)據(jù)先根據(jù)位填充的原則移除填充位后,再做CRC校驗。

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

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

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

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

4 結(jié)論

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

主站蜘蛛池模板: av一区二区三区高清久久| 亚洲精品成人7777在线观看| 天堂在线视频精品| 国产福利拍拍拍| 天堂av高清一区二区三区| 国产日本欧美在线观看| jizz国产在线| 超碰精品无码一区二区| 狠狠色丁香婷婷| 欧美亚洲国产精品第一页| 色综合天天娱乐综合网| 欧美第一页在线| 国产精品永久不卡免费视频| 丰满少妇αⅴ无码区| 青青青伊人色综合久久| 91精品视频在线播放| 97精品伊人久久大香线蕉| 超级碰免费视频91| 国产迷奸在线看| 71pao成人国产永久免费视频| 97se亚洲综合不卡 | 欧美三级不卡在线观看视频| 亚洲国产欧洲精品路线久久| 国产欧美精品一区aⅴ影院| 久久免费观看视频| 国产欧美中文字幕| 九九这里只有精品视频| 国产精品自在在线午夜区app| 国产欧美精品一区aⅴ影院| 亚洲欧美人成电影在线观看| 国产高清在线观看| 国产成人综合亚洲欧洲色就色| 日韩高清在线观看不卡一区二区| 欧美日韩午夜| 精品国产自在在线在线观看| 四虎永久免费地址| 亚洲91精品视频| 手机成人午夜在线视频| 亚洲激情区| 久久综合色天堂av| av性天堂网| 国产女人18水真多毛片18精品 | 欧美五月婷婷| 青青青伊人色综合久久| 亚洲av片在线免费观看| 97无码免费人妻超级碰碰碰| 久久6免费视频| 国产真实乱子伦精品视手机观看 | 97精品久久久大香线焦| 人人妻人人澡人人爽欧美一区| 波多野结衣的av一区二区三区| 亚洲乱码视频| av在线手机播放| 欧美日韩另类国产| 99热这里只有精品免费| 国产一区二区精品福利| 国产青青操| 中文无码精品A∨在线观看不卡| 99re经典视频在线| 精品视频一区二区三区在线播 | 黄色网页在线播放| 一区二区三区国产精品视频| 日本精品αv中文字幕| 日韩AV手机在线观看蜜芽| 99热这里只有精品在线播放| 日韩欧美高清视频| 亚洲中文字幕精品| 国产精品第三页在线看| 国产精品免费久久久久影院无码| 精品国产福利在线| 91青青草视频在线观看的| 午夜精品久久久久久久无码软件| 亚洲欧洲美色一区二区三区| 色综合国产| 国产一线在线| 中日韩欧亚无码视频| 亚洲六月丁香六月婷婷蜜芽| 天天爽免费视频| 国产精品19p| 国产精品女人呻吟在线观看| 欧美乱妇高清无乱码免费| 97se亚洲综合在线|