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

CANFD 協議在程序刷寫中的研究與應用

2021-12-30 08:46:02潘文卿劉興義王飛飛宋炳雨穆大蕓
汽車電器 2021年12期

潘文卿,劉興義,王飛飛,宋炳雨,穆大蕓

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

在汽車領域,因為功能越來越多,越來越復雜,負載率越來越高,傳統CAN總線難以滿足當前需求,又不可能直接放棄傳統CAN總線技術,為了解決負載率問題還要兼容傳統的CAN總線,CANFD應運而生。2011年BOSCH首次發布了CANFD(CAN with Flexible Data rate)方案,在滿足CAN總線特性的基礎上升級了波特率和數據長度的兩大特性,在數據段傳輸時既可以提升速率又可以增加數據長度,最大可以一次傳輸64字節,大大節省了數據傳輸的時間,CANFD同時還繼承了傳統CAN的主要特性,采用雙線串行通信協議,非破壞性仲裁技術,分布式實時控制,可靠的錯誤處理和檢測機制。

1 CANFD簡介

1.1 CANFD與CAN

對比傳統的CAN[1]如圖1所示。

1)CANFD不支持遠程幀,所以原來RTR位用RRS替代,并且始終為顯性位“0”。

2)為了區分CANFD與CAN,增加了FDF(FD Format)位,0表示傳統CAN,1表示CANFD。

3)CANFD最顯著的特征就是數據段可以提升傳輸速率,在CANFD仲裁場增加BRS(Bit Rate Switch)位,1表示進行速率切換,0表示不進行速率切換。

圖1 CANFD幀格式

4)CANFD最大可傳輸64字節的數據,所以原來4個字節的DLC(Data Length Code)需要重新編碼,既支持傳統的CAN,也要支持最大64個字節的CANFD,具體編碼方式見表1。

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

6)ESI(Error State Indicator)錯誤知識狀態位,0表示CANFD節點處于主動報錯狀態,1表示CANFD節點處于被動報錯狀態[2]。

1.2 CANFD的波特率和采樣點的配置

傳統CAN僅有一套預分頻方式,CANFD確定仲裁段預分頻因子和數據段預分頻因子有兩種方式[3]:①兩套獨立的預分頻配置方式,仲裁段預分頻因子不等于數據段預分頻因子。②一套共享的預分頻配置方式,仲裁段預分頻因子等于數據段預分頻因子。

表1 CAN&CANFD DLC編碼表

在研究和應用中發現如果采用第1種兩套獨立的預分頻配置方式,采樣會有誤差,所以選用第2種配置方式。根據實際應用中基于單片機時鐘配置,仲裁段和數據段設置相同的分頻因子。同時考慮仲裁段和數據段的波特率都會在1Mb/s以上,為保證信號采集的準確性,采樣點的配置需要大于80%以上。

2 CANFD數據傳輸理論計算

分析基于擴展幀格式的傳統CAN和CANFD報文的傳輸時間理論上均以有效位計算,不考慮填充位。傳統CAN通信,按照最大波特率1Mb/s,傳輸1bit的時間是1μs,報文數據長度是8字節,一幀不計算數據填充位的報文長度是128bits,傳輸一幀報文的時間是128μs。

根據實際應用中CANFD報文的仲裁段按照1Mb/s波特率配置,其中BRS速率切換指示位是數據段波特率加速過渡階段,BRS階段前半段為仲裁段,會采用仲裁段的波特率,后半段采用數據段的波特率,所以計算BRS的整體脈寬則是分別取兩種波特率脈寬的一半,進行累加,CRC界定符同理[4]。仲裁段按照圖1的幀格式計算傳輸時間為45μs,數據段按照不同的波特率和不同數據長度,傳輸時間見表2。

數據段按照2Mb/s波特率配置,傳輸一幀報文的時間按照兩種波特率的配置方式計算,仲裁段是1μs/bit,數據段0.5μs/bit,按照傳輸數據的長度,如果是最大64字節數據,一幀報文仲裁段45bits,數據段543bits,傳輸一幀64字節數據的CANFD報文的時間是仲裁段45μs,數據段271.5μs,傳輸一幀數據是64字節的CANFD報文不考慮填充位的理論時間是45μs+271.5μs=316.5μs;如果是8字節數據,一幀報文仲裁段45bits,數據段91bits,傳輸一幀8字節數據的CANFD報文的時間是45μs+45.5μs=90.5μs。

表2 數據段不同配置對應報文時間

對比分析同樣是一幀8字節數據的報文,傳統CAN采用1Mb/s波特率,需要128μs;通過CANFD協議,仲裁段采用1Mb/s,數據段采用2Mb/s傳輸,需要90.5μs。整條報文的傳輸時間相較于傳統CAN并未提升50%,僅僅提升了(128-90.5)/128=29.3%左右,原因主要有兩點:①CANFD的數據長度加長了,傳統CAN是128bits,CANFD是136bits;②數據傳輸時間提升是在數據段的91bits,仲裁段的45bits依然是按照1Mb/s的波特率,1μs/bit的時間傳輸。

CANFD在刷寫中的理論計算如下。

如果要傳輸2048個字節的數據,按照傳統的UDS刷寫協議[6],采用傳統CAN-1Mb/s的波特率傳輸,需要295條報文,理論計算用時295*128μs=37760μs。

采用CANFD協議,仲裁段1Mb/s,數據段2Mb/s,第一種情況:數據長度8字節,理論計算用時295*90.5μs=26697.5μs。第二種情況:最大數據長度是64字節,需要32條64字節報文,1條48字節報文,2條8字節報文;理論計算用時,32*316.5μs+252.5μs+2*90.5μs=10561.5μs。表3為CANFD數據傳輸中速率提升。

表3 CANFD數據傳輸中速率提升

通過理論計算分析可以得出,在傳輸2048個字節時,CANFD協議如果僅僅是提升數據段的波特率到2Mb/s,字節長度不變的情況下,相較于傳統CAN速率會提升29.3%,這與前面分析的傳輸一幀報文的速率提升一致,當數據長度最大到64字節時,同樣是傳輸2048字節的數據,數據段波特率為2Mb/s,相較于傳統CAN,速率會提升72%。

3 CANFD在刷寫中的實際應用

CANFD最大可支持的長度是64字節,標準的UDS刷寫協議[6]是針對8字節的傳統CAN,所以如果要用CANFD協議刷寫,需要修改傳統的數據傳輸協議,同時兼容8字節,最大64字節的數據長度。

3.1 傳統ISO 15765-2協議的升級

相較于傳統的ISO 15765-2協議,在CANFD協議刷寫的過程中,需要通過數據長度來決定單幀的字節長度究竟是使用哪個字節來表示,如表4所示,如果CANFD協議傳輸的數據長度大于8,則通過Byte1來表示有效字節長度,如果是等于8的數據長度,依然使用傳統的Byte0的Bit3-0表示有效字節長度[5]。

表4 ISO 15765-2升級

3.2 CANFD協議在刷寫中的實際應用

圖2是傳統CAN采用1Mb/s波特率刷寫一段完整的程序數據的報文記錄,用時209.199s-17.941s=191.258s。

圖2 傳統CAN-1Mb/s刷寫時間

同一段程序數據采用CANFD協議,仲裁段1Mb/s,數據段2Mb/s的波特率,最大是8字節的數據長度進行刷寫,用時229.188s-66.000s=163.188s,如圖3所示。

綜合實際測試結果,數據段不同波特率和不同最大數據長度的情況下,同一段程序數據的刷寫所用的時間和傳統CAN波特率是1Mb/s的刷寫時間及速率提升見表5。

圖3 CANFD-1Mb/s-2Mb/s-8字節

表5 不同波特率不同數據長度下刷寫情況

圖4 CANFD-1Mb/s-2Mb/s擦除等待

圖5 CAN-1Mb/s擦除等待

在實際刷寫應用中,CANFD在提升數據段波特率和數據長度的情況下,提升速率與理論計算傳輸2048個字節的傳輸提升速率有偏差,主要是因為,在傳統的刷寫流程[6]中有寫入等待,擦除等待,數據一致性校驗等待,在線監測等時間優化是微小的,如圖4和圖5,分別截取了CANFD和傳統CAN協議刷寫過程擦除同一塊Block時的擦除等待時間,可以通過時間戳看出,CANFD協議在刷寫過程中的擦除等待時間如圖4所示:72.380s-53.948s=18.432s,擦除同一塊區域,傳統CAN協議等待時間如圖5所示,57.840s-38.455s=19.385s。CANFD協議與傳統CAN協議在擦除同一塊區域的時間僅僅差了19.385s-18.432s=0.953s,這個差距主要是因為CANFD協議數據段提升了速率,發送報文的時間短的優勢。刷寫的過程中是按照單片機的Block塊進行擦除寫入的,在擦寫時會根據Block塊的大小有不同的等待時間,在這些不可優化的流程上,CANFD是沒有優勢的,所以CANFD的優勢在刷寫流程中主要體現在數據傳輸過程中。

4 結論

本文介紹了CANFD協議相較于傳統CAN的升級,以及分析了CANFD協議在數據段不同波特率,不同數據長度情況下一幀報文的傳輸時間的不同,比較了CANFD協議傳輸一幀8字節的報文和傳統CAN傳輸一幀報文所用時間的差異和速率提升,CANFD在傳輸數據時波特率提升主要體現在數據段,仲裁段的波特率最大是1Mb/s。通過理論計算分析了傳輸同一塊2048個字節的數據,CANFD協議在不同數據段波特率和數據長度下的用時和相較于傳統CAN的速率提升。實際應用中,基于CANFD協議刷寫功能的開發,在傳統ISO 15765-2不滿足數據長度的地方做了升級。刷寫一段完整的程序數據,不同波特率和數據長度時分別做了時間戳的記錄,分析計算不同情況下的用時,并針對理論計算的速度提升率和實際應用中速度的提升率差異作了分析。通過研究分析,CANFD協議在實際刷寫過程中優勢主要體現在數據傳輸階段,在擦除和寫入過程中的等待時間無法優化。

主站蜘蛛池模板: 91美女视频在线观看| 一级做a爰片久久毛片毛片| 国产成人免费视频精品一区二区| 久久久久久国产精品mv| 蜜臀AV在线播放| 国产特一级毛片| 成人国产精品视频频| 成人综合网址| 国产精品视频白浆免费视频| 无码国产伊人| 中文国产成人久久精品小说| 99热这里都是国产精品| 91伊人国产| 一区二区三区四区精品视频| 污网站免费在线观看| 日本人又色又爽的视频| 国产噜噜在线视频观看| 久久久受www免费人成| 玖玖免费视频在线观看| 亚洲国产精品无码久久一线| 中文字幕在线欧美| 成人在线视频一区| 爽爽影院十八禁在线观看| 免费毛片全部不收费的| 国产日本欧美亚洲精品视| 国产99热| 97久久免费视频| 久久这里只有精品免费| 浮力影院国产第一页| 国产丝袜无码一区二区视频| 欧美日韩中文国产| 精品久久久久久久久久久| 日本欧美中文字幕精品亚洲| a级高清毛片| 久久成人免费| 青青青国产视频| 99这里精品| 欧美日韩免费| 国产理论最新国产精品视频| 亚洲美女一级毛片| 91精品国产一区自在线拍| 91人妻日韩人妻无码专区精品| 国产成人精品一区二区| 精品伊人久久久久7777人| 欧美亚洲日韩不卡在线在线观看| 国产本道久久一区二区三区| 亚洲AV无码乱码在线观看代蜜桃 | 再看日本中文字幕在线观看| 91在线丝袜| 成人综合在线观看| 亚洲精品无码人妻无码| 欧美人与牲动交a欧美精品| 久久久久国产精品嫩草影院| 午夜毛片免费看| 久久女人网| 久久婷婷五月综合色一区二区| 亚洲成网777777国产精品| 伊人AV天堂| 91精选国产大片| 国产在线观看一区精品| 一区二区偷拍美女撒尿视频| 国产成人高清在线精品| 亚洲国产精品日韩专区AV| 亚洲一区二区在线无码| 国产97色在线| 亚洲最新在线| 日韩精品亚洲一区中文字幕| 国产在线无码av完整版在线观看| 一级毛片a女人刺激视频免费| 啪啪啪亚洲无码| 欧美专区在线观看| 内射人妻无码色AV天堂| 国产美女精品人人做人人爽| 2021精品国产自在现线看| 国产好痛疼轻点好爽的视频| 久久福利片| 亚洲成年网站在线观看| 久久综合亚洲色一区二区三区| 尤物视频一区| 国产第四页| 毛片三级在线观看| 综合色区亚洲熟妇在线|