?

基于UDS 協議的刷寫效率提升

2023-11-29 11:26濰柴動力股份有限公司薛雷王喜龍劉棟柴廣卿婁毅杰杜飛嬌
數字技術與應用 2023年11期
關鍵詞:流控固件字節

濰柴動力股份有限公司 薛雷 王喜龍 劉棟 柴廣卿 婁毅杰 杜飛嬌

本文以一款具備OTA 功能的車載終端為例,針對刷寫時間長的問題,從刷寫流程開展分析,對刷寫過程耗時分項統計,分析刷寫速度的影響因素與改進方式。經驗證,改進后的設備可以有效減少刷寫時間,提高刷寫效率。

控制器刷寫是發動機下線和后市場服務常用的功能?;贑AN 的控制器刷寫是當前商用車控制器程序升級的主要方式[1]。隨著控制器功能的不斷增加,控制器固件程序越來越大,導致刷寫時間也越來越長。太長的刷寫時間,會對刷寫穩定性、效率產生不良影響。特別是在OTA 技術的應用下,減少刷寫時長是產品應用亟須解決的問題。

1 基于UDS 協議的刷寫流程

基于UDS 協議的刷寫流程中,應用層遵循ISO15765-3、ISO14229 協議要求,網絡層遵循ISO15765-2 協議要求[2]。刷寫過程核心服務有:0x10-診斷會話管理、0x27-安全訪問、0x31-例程控制、0x34-請求下載、0x36-數據傳輸、0x37-傳輸退出,具體刷寫流程如圖1 所示。

圖1 控制器刷寫流程圖Fig.1 Controller swiping flow chart

刷寫過程可分為兩個階段,第一階段主要完成控制器的狀態切換,并通過安全訪問子服務中確保只有獲得授權的用戶才能對控制器進行刷寫,提升系統安全性;第二階段為刷寫的具體實現,一般按照整區擦除,分塊寫入的方式進行。首先,控制器按照功能分區執行整區擦除。然后執行下載和寫入,在此過程中,控制器校驗下載的起始地址、地址范圍等信息,校驗通過后啟動傳輸數據,在數據傳輸刷寫完畢后,控制器對刷寫的新數據進行校驗,以保證數據的完整性和正確性[3]。

2 刷寫耗時分析

某款終端產品,在產品應用中測試控制器刷寫過程,完整流程總耗時5 分56 秒。耗時分布如表1 所示。

表1 刷寫過程耗時統計Tab.1 Time consumption statistics of brush writing process

由表1 可見,在刷寫過程中控制器擦除和數據傳輸為主要過程。其中控制器擦除速度與刷寫流程無關,主要由控制器本身所決定,在本文中不做分析。

在編號6 的數據傳輸過程中,對控制器的數據接收及寫入所需時間同樣不做分析,僅考慮其在多包傳輸過程中的流控參數??刂破髦С值膫鬏攨等鐖D2 所示。

圖2 控制器的流控參數Fig.2 Flow control parameters of controller

在數據傳輸過程中,傳輸耗時由N_As、N_Br、N_Ar、N_Cs 組成。為簡化分析,將網絡層傳輸過程以及應用層的交互步驟整理為四個過程:流控幀的接收、續幀間隔、控制器應答以及OTA 設備多包傳輸間的間隔。步驟描述如圖3 所示。

圖3 數據傳輸序列圖Fig.3 Data transmission sequence diagram

基于上述步驟的分項耗時統計數據如表2 所示。

表2 數據傳輸過程耗時明細Tab.2 Time consuming details of data transmission process

在上述步驟中,續幀傳輸為主要的數據傳輸過程,流控應答為網聯傳輸層的傳輸控制,控制器應答為應用層應答確認。由于CAN2.0 協議的數據域只有8 字節,所以傳輸需要較多的發送次數。為降低刷寫時長,可以從減少執行次數和降低單次執行時間方面分析優化方案。

從減少執行次數方面考慮,請求下載階段的報文交互如圖4 所示,可以看出控制器支持最大傳輸塊的長度為0xFFF 字節(4095 字節),當前實際執行的傳輸塊大小為0xFF 字節(255 字節),傳輸過程有效負載有提升空間。

圖4 請求下載服務控制器應答Fig.4 Response of request to download service controller

另外,控制器中的數據分區存儲,在數據文件中一般都存在無效的填充區數據,從控制器固件本身分析,減少控制器固件中無效數據,同樣可以減少執行次數,縮短刷寫時間。

從降低單次執行方面:多包數據的發送間隔較大,主要為OTA 軟件程序調度周期的影響,該部分的耗時占比較大,存在優化的空間。

3 控制器刷寫優化

在0x36 服務的數據傳輸過程中,增加每次多包傳輸的數據塊大小,即數據塊大小由0xFF 字節(255 字節)增加為0xFFF 字節(4095 字節)。

剔除控制器固件中的無效填充區域,減小需傳輸數據文件的大小。例如,當前控制器的Data0 分區大小為2MB,范圍為0x09100000 ~0x09300000,對固件數據進行分析,去掉無效填充區后,數據可減小為1.86MB,即只包含范圍為0x09100000 ~0x092DC3FF 的數據。

優化程序執行主要措施為優化OTA 設備程序中的定時器粒度,調整中斷任務管理等。

綜合執行以上措施后,刷寫過程時間降低到2 分48秒。優化后的刷寫過程耗時如表3 所示。

表3 優化后刷寫過程耗時統計Tab.3 Time consumption statistics of brush writing process after optimization

4 結語

本文針對控制器刷寫耗時,從刷寫過程詳細分析,結合控制器協議參數,分析關鍵步驟的優化方案,通過調整傳輸參數、減少填充區數據、優化OTA 設備軟件程序三種措施,有效降低了控制器刷寫時間,提高了刷寫效率。

猜你喜歡
流控固件字節
流控分會第七屆委員會特種流控專業第一次工作會議暨2021特種流控學術研討會于線上成功召流控分會流控分會
No.8 字節跳動將推出獨立出口電商APP
中國機械工程學會流體傳動與控制分會智能流控專業委員第二次工作會議
空中交通管制流控信息數據交互實踐
No.10 “字節跳動手機”要來了?
簡談MC7字節碼
基于固件的遠程身份認證
微流控超快混合器及生物大分子折疊動力學應用研究進展
提取ROM固件中的APP
一種通過USB接口的可靠固件升級技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合