王邵龍,谷原野,劉德利,孫運璽
(一汽轎車股份有限公司,吉林 長春 130000)
隨著汽車電子電氣技術(shù)的快速發(fā)展,車載電子控制單元數(shù)量日益增多,對控制器軟件的更新需求也越來越多。Bootloader是在主程序運行前的一段小程序,主要完成應(yīng)用數(shù)據(jù)下載和更新任務(wù)[1],是底層硬件與上層應(yīng)用軟件之間的交互接口,與用戶應(yīng)用程序完全獨立[2],由于其刷寫速度快、車載接口方便的特點,得到了大家的普遍使用。
目前,控制單元Bootloader刷新流程的設(shè)置主要基于ISO 14229和ISO 15765標(biāo)準(zhǔn),在此基礎(chǔ)上,各主機廠根據(jù)不同情況略有不同。針對控制單元Bootloader刷新測試,目前采用的軟硬件工具主要有Vector公司的CANcaseXL /CANoe、Softing公司的EDICusb / DTS(Diagnostic Tool Set)工具集等;但以上工具都不是針對Bootloader測試開發(fā),所以設(shè)置繁瑣、價格昂貴。本文提出了一種基于Kvaser Leaf Light v2設(shè)備的車載控制單元Bootloader測試系統(tǒng)(以下簡稱測試系統(tǒng)),能夠?qū)崿F(xiàn)控制單元Bootloader刷新流程中的預(yù)刷新、刷新程序、刷新后處理的自動化測試,并自動判斷測試結(jié)果。
Kvaser Leaf Light v2是瑞典Kvaser公司推出的用于CAN總線的單通道高速USB接口,具有價格低廉、方便攜帶等特點。
測試系統(tǒng)主要由PC機、Kvaser Leaf Light v2總線通信設(shè)備、被測ECU組成。其中,PC機通過USB接口連接Kvaser Leaf Light v2總線通信設(shè)備,Kvaser Leaf Light v2設(shè)備通過DB9接頭連接網(wǎng)關(guān)Diag_CAN,再由網(wǎng)關(guān)連接相應(yīng)總線上的被測ECU,具體連接情況如圖1所示。實際應(yīng)用中,也可以通過OBD接口連接。
圖1 測試系統(tǒng)硬件連接圖
圖2為測試軟件初始界面——測試界面。本系統(tǒng)網(wǎng)絡(luò)層遵循ISO 15765-2[3]標(biāo)準(zhǔn),應(yīng)用層遵循ISO 15765-3[4]標(biāo)準(zhǔn),診斷服務(wù)參考ISO 14229[5]標(biāo)準(zhǔn)。測試系統(tǒng)的人機接口分為測試界面和配置界面兩部分。軟件運行后的初始界面為測試界面,在此界面中主要包括4個方面的內(nèi)容。
1)裝載內(nèi)容窗體 顯示裝載的下載文件的內(nèi)容,可加載*.hex,*.s19,*.bin,*.mot等多種格式的flash文件。
2)配置窗體 用于配置下載過程中的參數(shù),包括安全算法MASK值、裝載文件個數(shù)、連續(xù)刷寫次數(shù)、連續(xù)刷寫間隔、診斷口波特率、ECU類型、文件分段個數(shù)、文件分段大小、文件分段使能、刷寫失敗后可繼續(xù)發(fā)送、暫停下載后可繼續(xù)下載、直接進(jìn)入編程會話下載、配置管理按鈕、確認(rèn)按鈕等。
圖2 測試軟件初始界面——測試界面
3)操作窗體 包括裝載文件按鈕、下載按鈕、暫停下載按鈕、繼續(xù)下載按鈕、清除顯示按鈕、存儲Trace按鈕、停止顯示按鈕等。
4)運行信息窗體 主要顯示外部下載工具的初始化信息、下載過程中的數(shù)據(jù)信息、下載結(jié)果狀態(tài)信息等。
通過測試界面的配置管理按鈕,可以打開配置界面,如圖3所示。
圖3 測試軟件配置界面
在整個下載過程中,需要首先通過此界面制作或?qū)胂螺d時所用的配置文件。此界面主要包括三大窗體的內(nèi)容。
1)命令及參數(shù)設(shè)置框 用來編輯下載所需的配置文件及配置某些下載參數(shù),包括基礎(chǔ)參數(shù)如數(shù)據(jù)下載延時(STmin)、P2CAN_ECUmax、P2NCAN_ECUmax以及被測控制器的請求響應(yīng)ID等。
2)命令操作 ①加入命令:把目前命令框中顯示的具體數(shù)值按照命令列表窗口中所需的內(nèi)容加入到命令列表中,形成一條下載命令。②刪除命令:刪除最近加入的一條命令。③導(dǎo)入配置:導(dǎo)入已經(jīng)生成的命令列表配置文件,文件格式為*.TXT文件,并在命令列表窗口中完全顯示。④存儲配置:將當(dāng)前命令集存儲為*.TXT文件。⑤確認(rèn):將當(dāng)前命令集讀入系統(tǒng)內(nèi)存,做好下載準(zhǔn)備。⑥退出:退出圖3所示的配置管理界面,命令列表窗口中的命令集不會被讀入內(nèi)存。
3)命令列表窗體 在此窗體中,通過修改、刪除、插入動作,實現(xiàn)對命令的修正。
測試系統(tǒng)具體測試執(zhí)行流程如圖4所示。打開程序后,通過加載已生成的命令列表配置文件或新建命令列表配置文件,如圖3所示;按照Bootloader測試需求加入對應(yīng)的命令條目,生成測試所需的命令列表。
圖4 測試執(zhí)行流程圖
確認(rèn)命令列表后,在軟件的測試頁面-配置窗體中,選擇正確的下載參數(shù);在操作窗體中,進(jìn)行文件裝載后,點擊下載按鈕,進(jìn)行測試,軟件對測試數(shù)據(jù)進(jìn)行處理和分析,并生成測試結(jié)果,結(jié)果反饋到運行信息窗體中,圖5和圖6分別表現(xiàn)了正在下載和下載成功時軟件的運行情況。
圖5 測試軟件運行中
圖6 測試結(jié)果反饋
結(jié)合圖5、圖6中TPMS Bootloader測試執(zhí)行效果,闡述執(zhí)行過程如下。
1)加載TXT格式的下載命令列表至測試系統(tǒng)中。
2)選擇正確的測試參數(shù),并加載需要被下載到控制器中的Flash文件。
3)點擊下載按鈕,測試系統(tǒng)(上位機)自動發(fā)送診斷命令,并持續(xù)保持檢測控制器的診斷響應(yīng)與命令列表中的預(yù)設(shè)值是否一致。如完全一致,繼續(xù)執(zhí)行命令列表中的后續(xù)命令;如不一致,測試結(jié)果為下載失敗,并立即終止測試。
4)命令列表持續(xù)發(fā)送完畢并檢測無誤后,測試終止,并提示下載成功。
5)測試完成之后,不論下載成功或失敗,點擊存儲Trace,系統(tǒng)自動保存下載過程Trace,包含了測試每一步驟的診斷請求和響應(yīng)。
本文闡述了測試系統(tǒng)的硬件和軟件設(shè)計方案,及其應(yīng)用于控制器Bootloader功能測試的效果,能夠有效發(fā)現(xiàn)控制器在Bootloader功能中存在的問題,保證了控制器的開發(fā)品質(zhì)和不同控制器在Bootloader功能上的一致性。
本測試系統(tǒng)的人機界面友好,軟件設(shè)計通用化,可加載多種格式的flash文件,對于不同車型平臺、不同控制器,只需要更改控制器的掩碼即可,可大大縮短由于測試軟件參數(shù)配置而耗費的周期和成本,并能夠在試制車輛需要進(jìn)行軟件更新時,方便地使用OBD接口進(jìn)行更新,避免了零部件拆裝帶來的麻煩。
[1] 蔡營,王永峰,范志容,等.基于CAPL的CAN控制器Bootloader上位機系統(tǒng)設(shè)計[J].汽車電器, 2017(3):68-72.
[2] 王青萍.嵌入式系統(tǒng)啟動軟件Bootloader 的設(shè)計[J].現(xiàn)代電子技術(shù),2008(10) : 70- 72.
[3] ISO 15765-2,Road vehicles-Diagnostics on Controller Area Networks(CAN)-Part2: Network layer services[S].
[4] ISO 15765-3,Road vehicles-Diagnostics on Controller Area Networks(CAN)-Part 3: Implementation of unified diagnostic services(UDS on CAN)[S].
[5] ISO 14229,Road vehicles-Unified diagnostic services(UDS)-Specification and Requirement[S].