周升輝,王春生,吳光耀,李 偉
多類型控制器同步刷寫方法
周升輝,王春生,吳光耀*,李 偉
(比亞迪汽車工業有限公司 產品規劃及汽車新技術研究院,廣東 深圳 518118)
新能源車輛有控制器多、程序更新速度快的特點,為了解決整車廠下線車輛的控制器及時更新程序的問題,文章闡述了一種基于C++開發上位機的方法,通過增加上位機通道選擇窗口的方法,使用同一上位機打開不同的窗口和選擇不同通道的設置,可同步刷寫多類型的控制器,而且可實現更換硬件后自動識別再次自動刷寫、監控刷寫數據、自動復位控制器重新刷寫等功能,大大降低了整車廠為下線車輛升級控制器的時間成本和人力成本。
控制器,同步刷寫;上位機;新能源汽車;C++
近年來,隨著新能源車輛的市場占有率逐步升高,互聯網技術和無人駕駛技術的浪潮風起云涌,在一定程度上促進了汽車電子技術的發展[1]。同時,人們對于汽車的各種高端功能、駕駛安全性以及舒適性的要求也越來越高,為了適應這種需求,車輛上的控制器呈現遞增的趨勢[2]。對于整車廠而言,與配置和功能密切相關的控制器程序的更新也需要提高刷寫效率來適應新能源車輛下線井噴式的增長。軟件的升級在新能源車輛開發及量產過程當中是不可避免的,通過軟件升級可快速滿足配置、功能的升級或問題的修復,此方法是最有效最快速的適應方法。
對于整車廠而言,在車輛下線生產環節,升級即將生產安裝控制器的軟件版本來適配下線車輛成為整車廠工作中的一個重要環節。文章提出了一種基于C++ 刷寫上位機開發的方法,通過增加上位機通道選擇窗口的方法,使用同一上位機打開不同的窗口和選擇不同通道的設置,不但可以同步刷寫多套控制器,而且還可實現多類型控制器的同步刷寫;同時可實現更換硬件后自動識別,然后再次自動刷寫、監控刷寫數據、如刷寫失敗后自動復位控制器重新刷寫等功能,大大降低了整車廠為下線車輛升級控制器的時間成本和人力成本。
車輛上的控制器刷寫途徑多種多樣,包括使用INCA刷寫、VDCI刷寫、VDS刷寫等多種途徑。但是找到一種操作簡單、成本低廉、多類型控制器同步刷寫,自動化監測刷寫異常,自動化重新刷寫,并且能夠實現快速刷寫的途徑,是本文介紹的重點[3-5]。
本上位機是基于C++語言開發的,首先增加通道窗口選擇項的設置,打開不同的上位機刷寫窗口,通道設置為不同的編號,每個通道編號又對應不同的刷寫控制器,在上位機中加載控制器相對應的刷寫文件則可以實現對多類型控制器的同步刷寫。
控制器局域網(Controller Area Network, CAN)總線是目前汽車上最為常見的通信方式,是一種有效支持分布式控制盒實時控制的串行通信網絡。其采用多主工作方式,網絡上的每個節點都能參與收發數據,具有突出的可靠性、實時性和靈活性[6-7]。
統一診斷服務(Unified Diagnostic Services, UDS)是國際標準化組織為實現車輛電子系統故障診斷服務制定的統一的國際標準。
BootLoader為引導加載程序,是在系統運行之前執行的一段程序。通過這段程序可以初始化硬件設備,建立內存空間的映射表,從而建立適當的系統軟硬件環境,為最終調用操作系統內核做好準備。
如圖1所示,在刷寫過程中,上位機先讀取控制器的可刷寫S19文件,放入緩存中,調用刷寫設備的USBCANFD設備的驅動接口,實現對S19內容數據的發送[8];同時可以使用驅動接口,實現CAN數據的接收和發送,按照企業標準和行業標準的CAN刷寫規范,與控制器中BootLoader程序進行交互,可實現對Flash的擦除和重新刷寫[9-11]。

圖1 多控制器同步刷寫實現原理圖
(1)驅動接口的調用,實現標準CAN數據的接收和發送;
(2)USBCANFD設備類型的默認設置;默認設置為USBCANFD-200U類型,用戶不必再做選擇,即插即用;
(3)S19文件的加載;文件版本信息、生成日期、數據區代碼區開始地址和結束地址讀取等;
(4)USBCANFD設備的自動初始化和打開,在點擊讀取信息按鈕后,上位機自動對設備進行初始化打開,用戶不需要再單獨設置;如果設備打開失敗,失敗的提示信息會在對話框內顯示;如若成功,則繼續進行下一步操作[12];
(5)UDS協議的交互;包括對汽車整車控制器(Vehicle Control Unit, VCU)的安全訪問、數據的擦除刷寫、數據校驗等流程;每一步流程的執行結果都會在信息提示框進行顯示;
(6)刷寫的百分比進度提示[13];
(7)刷寫完成后自動識別新硬件控制器的數據,與刷寫數據對比確定是否要重新刷寫,如需重新刷寫,則無需再次加載程序文件,自動再次刷寫,大大提高刷寫效率;
(8)每個上位機單獨通過控制一個刷寫設備,可實現多類型硬件控制器的同步刷寫[14];
(9)刷寫過程中,自動檢測刷寫數據,發現本控制器的刷寫數據異常或者刷寫失敗時,自動復位本控制器,從而實現再次繼續刷寫[15];
(10)上位機支持多個刷寫界面同時打開,支持多種控制器的同步刷寫,在生產線緊張的工程中,可大大節省人力,提高刷寫效率,提高供貨速度[16-17]。
在設備連接方面,如圖2所示,所有的控制器都有一個穩壓電源進行集中供電。由于連接的控制器較多,在選擇穩壓電源時,一定要選擇功率較大的穩壓電源,否則在同步刷寫時容易造成電壓拉低,導致刷寫失敗,從而造成刷寫效率的降低。各控制器與刷寫設備的連接是通過CAN線連接,CAN線一定要選擇防干擾功能的雙絞線;刷寫設備與電腦的連接采用USB線連接。在打開的刷寫上位機通道設置窗口中,一定要選擇與刷寫的控制器相對應的窗口,這樣該刷寫上位機就可實現對該控制器刷寫的單獨控制。

圖2 多類型控制器同步刷寫裝置連接示意圖
圖3為上位機實現多類型控制器同步刷寫的具體方案。

圖3 多類型控制器同步刷寫實現步驟
(1)在PC端安裝USB驅動程序;
(2)上位機加載刷寫設備的二次開發庫;
(3)上位機調用刷寫設備的二次開發庫的二次開發接口;
(4)通過驅動接口,上位機實現對標準CAN數據的正常接收和發送;
(5)上位機根據行業標準要求,實現對控制器的安全訪問、通訊控制、握手服務、數據的擦除和刷寫等流程的控制;
(6)S19文件刷寫完成之后,上位機按照CRC32_IEEE802.3校驗算法對數據進行校驗,校驗通過即完成刷寫流程。
目前傳統的控制器刷寫方案有INCA刷寫以及VDCI刷寫,如表1所示,與本方案開發的上位機對比,本方案不但體現出開發簡單,開發周期短的特點,而且相比于商業刷寫設備,成本大幅度降低;同時本方案的刷寫設備便于攜帶,安裝簡單,體積小,大大提高了便攜性。
如表2所示,用傳統刷寫工具與多路刷寫上位機工具對比,多路刷寫上位機對比之前的傳統刷寫方式速度平均單個VCU刷寫速度提升7.14倍左右。
表1 各刷寫方案對比
USBCANFD設備方案(本案)INCA刷寫方案VDCI刷寫方案 開發難度開發簡單,開發周期短開發難度一般;開發周期短開發難度簡單;開發周期一般 成本低高中 便捷性和刷寫效率安裝簡單,傻瓜式安裝;操作簡便;多控制器同步刷寫總耗時3 min左右安裝復雜,且需要授權文件;刷寫流程復雜,需要流程培訓才能上手,刷寫總耗時3 min左右安裝復雜度一般,但是設備體積有點大,調試人員在攜帶時不方便;刷寫總耗時4 min左右
表2 各刷寫方案對比
傳統刷寫方式多路上位機的刷寫方式 單VCU的時間180 s左右22.5 s左右(8個平均時間) 其他環境準備和切換時間對比每次刷寫都需重復點擊加載,單個平均耗時20 s左右s19加載:只用第一次加載一次即可,接插件插拔時間:單個平均耗時5 s左右(接插件插入3 s,拔出2 s) 綜合平均單個刷寫耗時200 s左右28 s左右
假如以當天的刷寫任務在4 000 PCS(最大刷寫量)為例,對比計算所需人力如圖4所示。

圖4 人力資源投入對比
按照每日刷寫4 000個控制器計算,傳統刷寫方案需要222.2 h,多路刷寫上位機所需工時為31 h;傳統刷寫方案所需人力為27.8人,而多路刷寫上位機僅需4人。
基于C++對USBCANFD設備開發的多路同步刷寫上位機,設備穩定,設備價格比較低廉。不但可以同步刷寫多路控制器,而且可使通過上位機的配置,實現多類型控制器不同軟件的同步刷寫。在更換完成硬件后,無需再次添加刷寫文件,可自動讀取控制器從而實現自動再次刷寫。上位機可自動檢測刷寫數據,當由于某種原因導致刷寫失敗后,上位機可復位控制器然后自動再次刷寫。
對于整車廠而言,多路刷寫上位機的開發使用,在新能源滿負荷生產的今天,可大大降低支持產線工人的勞動強度。以同步刷寫8個控制器為例,提高刷寫效率7倍以上,所需人力只是原來的七分之一,而且大大降低了工人的勞動強度,提升了工人工作的舒適度,同時釋放了大部分工程師的人力,可以在芯片保供、策略開發等環節中投入更大的精力,極大地緩解了人力資源壓力。
[1] 李嬌嬌,張宏偉,陳金干.基于LabVIEW的新能源汽車控制器刷寫軟件設計[J].軟件工程:2020,23(2):16- 17.
[2] 張宏,李陽春,李洪雷.基于控制器刷寫效率的軟件開發方法[J].汽車實用技術,2016,26(5):125-126.
[3] 錢亞容,申廣俊,武姍,等.多控制器刷寫方法、裝置、設備及可讀存儲介質:CN202110988315.1[P].2021- 12-07.
[4] 方維才,劉會凱,沈忱.一種車輛多控制器刷寫設備:CN202011594232.6[P].2021-04-23.
[5] 陳強,囤金軍,梁滿志,等.新能源客車多控制器程序自動批量刷寫系統及方法:CN201811339826.5[P]. 2019-03-15.
[6] 陳程杰.基于CAN總線的ECU在線刷新和遠程服務系統的開發[D].天津:天津大學,2017.
[7] 馮海明,王波,張健,等.基于CAN總線的車載VCU在線程序升級設計[J].客車技術與研究,2019,41(1):26- 28.
[8] 喻尚,楊艷.基于車聯網的控制器遠程診斷與刷寫[J].汽車實用技術,2016,43(9):183-185.
[9] 吳進軍,方繼根,王西峰,等.基于CAN總線的新能源汽車 ECU控制器程序刷寫系統設計[J].機電產品開發與創新,2018,31(2):1-3,7.
[10] 張海濤.CAN總線在新能源汽車電機控制器程序升級中的應用[J].上海汽車,2018,13(6):38-42.
[11] 張寧.基于LabVIEW的LED光電熱測試系統的設計與實現[D].濟南:山東大學,2018.
[12] 丁群燕,曾鑫,鄭振.基于RCP平臺的新能源汽車整車控制器軟件開發及應用[J].機電工程技術,2019,48 (5):117-119.
[13] 逯玉蘭.基于LabVIEW的電能質量分析與監測系統[J].計算機應用與軟件,2019,36(7):55-58.
[14] 王詠寧,李自清.基于LabVIEW的超聲波測速系統[J].軟件工程,2017,20(6):35-37.
[15] 王琦.基于CAN總線的Bootloader研究與實現[D].南京:南京郵電大學,2016.
[16] 楊勝兵,薛冰,萬宏偉,等.基于LabVIEW的車輛ECU在線編程系統設計[J].自動化與儀表,2017,32(5):62-65.
[17] 陳春明.純電動汽車整車控制器軟件系統設計[D].天津:天津大學,2017.
[18] 聶幸福,孟晨興.基于UDS的BootLoader上位機實現[J].汽車工業研究,2018,31(7):26-29.
Synchronous Flash Multi-type Controller Method
ZHOU Shenghui, WANG Chunsheng, WU Guangyao*, LI Wei
( Product Planning and New Technology Research Institute, BYD Auto Stry Company Limited,Shenzhen 518118, China )
New energy vehicles have the characteristics of many controllers and fast program update speed. In order to solve the problem of timely updating the program of the controller of the off-line vehicle of the vehicle manufacturer, this paper expounded a method of developing host computers based on C++. By the method of increasing channel selection window of the host computer, using the same host computer to open different windows and select different channel settings, multi-type controllers can be flashed synchronously, and the functions of automatic recognition and automatic flashing again, monitoring and flashing data, and automatic reset controller re-flashing can be realized after replacing the hardware, which greatly reduced the time cost and labor cost of the vehicle manufacturer to upgrade the controller for the off-line vehicle.
Controller; Synchronous flash; Host computer;New energy vehicles;C++
U467
A
1671-7988(2022)21-59-05
U467
A
1671-7988(2022)21-59-05
10.16638/j.cnki.1671-7988.2022.021.011
周升輝(1982—),男,碩士,工程師,研究方向為新能源整車控制器軟件開發、標定匹配及軟件集成測試,E-mail:zhou.shenghui@byd.com。
吳光耀(1984—),男,碩士,工程師,研究方向為新能源整車控制器軟件開發、標定匹配及軟件集成測試,E-mail:guangyao610@126.com。