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協議在實際刷寫過程中優勢主要體現在數據傳輸階段,在擦除和寫入過程中的等待時間無法優化。

主站蜘蛛池模板: 97se综合| 国内精品一区二区在线观看| 欧美.成人.综合在线| 免费看a毛片| 国产精品无码一区二区桃花视频| 亚洲成人播放| 亚洲区视频在线观看| 日韩一区二区三免费高清| 国产成人亚洲欧美激情| 国产香蕉一区二区在线网站| 欧美一级专区免费大片| 99热亚洲精品6码| 国产美女自慰在线观看| 国产亚洲精| 日本国产精品| 伊人久久婷婷| 国产精品第一区在线观看| 中美日韩在线网免费毛片视频 | 97综合久久| 在线亚洲精品自拍| 91偷拍一区| 欧洲欧美人成免费全部视频| 国产精品区视频中文字幕| 97视频免费在线观看| 国产欧美在线观看精品一区污| 国产精品性| 91精品国产一区自在线拍| 美臀人妻中出中文字幕在线| 在线视频亚洲色图| 综合社区亚洲熟妇p| 久久中文字幕2021精品| 欧美区日韩区| 亚洲免费福利视频| 欧美色视频在线| 国产成人精品一区二区| 亚洲av综合网| 国产精品夜夜嗨视频免费视频| 国产视频入口| 精品国产一二三区| 99成人在线观看| 国产亚洲高清视频| 91无码国产视频| 成年人视频一区二区| 在线欧美日韩| 亚洲免费播放| 国产美女主播一级成人毛片| 欧美性天天| 91精品专区| 国产精品视频第一专区| 欧美黄网站免费观看| 自拍亚洲欧美精品| www.精品国产| 四虎免费视频网站| 午夜毛片免费看| 国产色婷婷| 色吊丝av中文字幕| 美女国产在线| 伊人久久婷婷| 天堂va亚洲va欧美va国产 | 亚洲日韩AV无码一区二区三区人| 欧美啪啪一区| 人禽伦免费交视频网页播放| 欧美成人精品一区二区| 在线观看国产精品一区| 99在线观看国产| 在线免费亚洲无码视频| 国产精品无码作爱| 高清国产va日韩亚洲免费午夜电影| 午夜视频日本| 国产极品嫩模在线观看91| 国产欧美在线观看一区| 久久精品国产亚洲AV忘忧草18| 毛片国产精品完整版| 亚洲精品在线91| 日韩精品高清自在线| 欧美中文字幕在线二区| 欧美激情,国产精品| 岛国精品一区免费视频在线观看| 97久久精品人人| 久久综合国产乱子免费| 黄色网址手机国内免费在线观看| 五月婷婷丁香综合|