亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2022-12-02 08:00:34潘文卿李國朋張魯兵
        內(nèi)燃機(jī)與配件 2022年19期
        關(guān)鍵詞:傳輸速率字節(jié)校驗(yàn)

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

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

        0 引言

        在CAN通訊過程中CAN控制器具備完整的錯誤檢測能力,其中包含:位錯誤檢測、格式錯誤檢測、填充錯誤檢測、應(yīng)答錯誤檢測和CRC錯誤檢測。作為一種重要的錯誤檢測手段,CRC錯誤檢測是接收節(jié)點(diǎn)判斷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ù),分布式實(shí)時控制,可靠的錯誤處理和檢測機(jī)制,很好的繼承了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)特點(diǎn)如圖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)識符擴(kuò)展位IDE位,當(dāng)IDE位為顯性位0的時候表示ID長度是11bits的標(biāo)準(zhǔn)幀,當(dāng)IDE位為隱形位1的時候表示ID長度是29bits的擴(kuò)展幀。

        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é)點(diǎn)在BRS位時將會切換到高速傳輸?shù)牟ㄌ芈?,其他接收?jié)點(diǎn)也必須轉(zhuǎn)換對應(yīng)的波特率。在CRC界定符的采樣點(diǎn),所有節(jié)點(diǎn)的波特率再切換回仲裁場的波特率;當(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)校驗(yàn)在傳統(tǒng)CAN的基礎(chǔ)上進(jìn)行了升級,如果數(shù)據(jù)段的長度大于16個字節(jié)時,CRC的長度為21bits,小于等于16個字節(jié)時,CRC的長度是17bits, CANFD對CRC算法做了改變。在校驗(yàn)和部分從第一位開始每4bits添加一個填充位加以分割,這個填充位的值是上一位的反碼。

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

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

        2 CRC介紹

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

        CRC檢驗(yàn)算法是基于一個多項(xiàng)式除法取余的結(jié)果,根據(jù)位數(shù)的需要和多項(xiàng)式的變化有數(shù)十種版本,該算法硬件實(shí)現(xiàn)簡單,位反轉(zhuǎn)偵錯能力較強(qiáng)及運(yù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位的校驗(yàn),CRC采用一種固定填充位的格式:在CRC段第一位及接下來的每四位增加一個固定填充位,填充位的值為上一位的反碼。

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

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

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

        表2 填充位計(jì)數(shù)

        3.2 CRC多項(xiàng)式

        傳統(tǒng)CAN采用的是15位的CRC多項(xiàng)式校驗(yàn),由于CANFD支持更大的數(shù)據(jù)量,為提高通訊可靠性,針對不同數(shù)據(jù)長度的CANFD報文,調(diào)整其CRC算法,詳見表3。當(dāng)報文為傳統(tǒng)CAN時,仍采用原有的CRC多項(xiàng)式校驗(yàn)。當(dāng)報文為CANFD且數(shù)據(jù)長度小于等于16字節(jié)時,調(diào)整為17位的CRC多項(xiàng)式校驗(yàn)。當(dāng)報文為CANFD且數(shù)據(jù)長度大于16字節(jié)時,則調(diào)整為21位的CRC多項(xiàng)式校驗(yàn)。根據(jù)CANFD報文的數(shù)據(jù)長度自動調(diào)整CRC多項(xiàng)式的算法,可以提高通訊數(shù)據(jù)安全校驗(yàn)的可靠性。

        表3 CRC多項(xiàng)式

        3.3 CRC計(jì)算

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

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

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

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

        CANFD的控制器CRC校驗(yàn)實(shí)現(xiàn)過程會相對復(fù)雜一些,在一個CAN總線網(wǎng)絡(luò)中,幀起始被檢測到后所有的節(jié)點(diǎn)開始使用三組多項(xiàng)式同步計(jì)算CRC序列,其中也包含發(fā)送節(jié)點(diǎn),由于CRC的計(jì)算受CAN幀類型和DLC長度影響,直到CAN幀的控制域以及DLC確認(rèn)后才選擇采用對應(yīng)的多項(xiàng)式生成CRC序列,最終生成的 CRC序列會填充在幀結(jié)構(gòu)中CRC字段,用于發(fā)送和接收節(jié)點(diǎn)進(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)確的校驗(yàn)機(jī)制來保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。所有基于CANFD協(xié)議的CRC校驗(yàn)機(jī)制相較于傳統(tǒng)CAN有相應(yīng)的升級以保證傳輸過程中數(shù)據(jù)的完整性和正確性,能有效防止物理層傳輸錯誤,CANFD因?yàn)閿?shù)據(jù)段是可以變速率并且數(shù)據(jù)段的長度也是可變的,所以CRC校驗(yàn)會更為復(fù)雜一些會根據(jù)數(shù)據(jù)長度的不同,更換CRC校驗(yàn)多項(xiàng)式,同時增加了填充域,采用格雷碼校驗(yàn)和奇偶校驗(yàn)的形式保證位填充的正確性,為數(shù)據(jù)傳輸?shù)臏?zhǔn)確性添加了雙重保險。CRC校驗(yàn)用戶在應(yīng)用場景下是看不到的,完整的有效的校驗(yàn)機(jī)制可以讓用戶界面不需要額外關(guān)注幀傳輸數(shù)據(jù)的正確性。

        猜你喜歡
        傳輸速率字節(jié)校驗(yàn)
        No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
        No.10 “字節(jié)跳動手機(jī)”要來了?
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        簡談MC7字節(jié)碼
        跨山通信中頻段選擇與傳輸速率的分析
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        數(shù)據(jù)傳輸速率
        CHIP新電腦(2016年9期)2016-09-21 10:31:09
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗(yàn)方法
        鍋爐安全閥在線校驗(yàn)不確定度評定
        视频一区视频二区亚洲免费观看| 国产精品一区二区久久不卡| 亚洲 都市 校园 激情 另类| 国模少妇无码一区二区三区| 熟女少妇av一区二区三区| 日本xxxx色视频在线观看| 国语自产偷拍精品视频偷| 九九精品无码专区免费| 婷婷丁香五月中文字幕| 久久狠色噜噜狠狠狠狠97| 蜜桃人妻午夜精品一区二区三区 | 亚洲男女内射在线播放| 五十路丰满中年熟女中出| 亚洲Va中文字幕久久无码一区| 日韩熟女精品一区二区三区视频| 亚洲国产精品高清一区| 国产av无码专区亚洲awww| 在线视频一区二区日韩国产| 男的和女的打扑克的视频| 免费无码专区毛片高潮喷水| av无码免费永久在线观看| 一本一道AⅤ无码中文字幕| 91九色极品探花内射| 亚洲精品乱码久久久久久中文字幕 | 国产午夜福利不卡在线观看视频| 好看午夜一鲁一鲁一鲁| 国产午夜福利在线观看中文字幕| 国产老熟妇精品观看| 欧美mv日韩mv国产网站| 亚洲色四在线视频观看| 欧美激情二区| 亚洲av成人一区二区三区不卡| 国产精品一区二区av麻豆日韩| 日本乱偷人妻中文字幕在线| 色爱无码A V 综合区| 81久久免费精品国产色夜| 国产三级在线观看完整版| 先锋影音av资源我色资源| 国产一区二区三区av香蕉| 精品黄色一区二区三区| 亚洲a无码综合a国产av中文|