(南昌大學(xué) 信息工程學(xué)院,江西 南昌 330031)
汽車電子控制單元(Electronic Control Unit,ECU)簡稱電控單元,是用于實現(xiàn)分析數(shù)據(jù)、處理數(shù)據(jù)和發(fā)送數(shù)據(jù)等功能的控制裝置[1]。在新車型設(shè)計制造過程中,為保證ECU性能符合設(shè)計要求,需進行ECU性能測試。對ECU性能進行準確的測試,能夠提高生產(chǎn)效率及產(chǎn)品的可靠性和一致性[2]。
早期ECU性能的測試均需要工程師使用原始的測試設(shè)備進行精細的測量,按照ECU工作流程及其功能要求,逐步進行驗證與計算。由于每個功能的實現(xiàn)的影響因素多,原理復(fù)雜,難以在有限時間內(nèi)完成足夠多的測試用例,并且原始的測試方式由于人的主觀規(guī)避特性,難以捕捉到死鎖、資源沖突等錯誤[3]。自動測試系統(tǒng)[4](Automatic Test System,ATS)是將所有測試用例集成到測試系統(tǒng)里面,使用微控制器運行測試程序,自動完成復(fù)雜且數(shù)量龐大的測試用例數(shù)據(jù)集[5],能夠用于電子設(shè)備和非電子設(shè)備的自動性能檢測、功能檢測及故障檢測。
本文分析了車載ECU測試需求,探討并研究了車載總線自動化測試系統(tǒng)的架構(gòu),設(shè)計了基于WinForm框架的汽車網(wǎng)絡(luò)仿真ECU測試管理軟件系統(tǒng),解決了當前自動測試系統(tǒng)存在的一些問題。總體來說,將測試系統(tǒng)變?yōu)榭啥卧O(shè)計,可擴展且可移植的先進測試系統(tǒng),在汽車ECU模塊測試過程中,提高了工作效率。
本文測試系統(tǒng)的研究對象為車載CAN,從宏觀角度可以從網(wǎng)絡(luò)性能、功能和網(wǎng)絡(luò)故障3個方面進行測試。其中網(wǎng)絡(luò)性能測試體現(xiàn)的是健康狀態(tài)下的網(wǎng)絡(luò)通信能力,主要測試網(wǎng)絡(luò)在不同負載狀態(tài)下通信的誤碼率和通信速度等;功能測試即判斷通信狀態(tài)下的數(shù)據(jù)能否正常收發(fā);網(wǎng)絡(luò)故障測試也可以稱為診斷測試,主要對模塊的故障診斷能力進行測試,測試其能夠準確診斷故障、報告故障碼等[6]。依據(jù)CAN網(wǎng)絡(luò)協(xié)議的層次劃分,將網(wǎng)絡(luò)性能測試分為物理層、數(shù)據(jù)鏈路層、交互層、網(wǎng)管層和應(yīng)用層[7]。
在本文中設(shè)計了汽車ECU自動測試硬件系統(tǒng)和軟件系統(tǒng),其中硬件系統(tǒng)主要包含被測對象、工控機、CAN總線分析輔助檢測儀器和接線盒4個部分。系統(tǒng)框圖如圖1所示。

圖1 測試系統(tǒng)結(jié)構(gòu)框圖
在實際的設(shè)計中,為方便實現(xiàn)功能測試,設(shè)計并采用了一體化測試機柜和測試臺架。測試機柜是用于集成測量設(shè)備,包含工控機、總線分析儀、示波器和電源模塊等,機柜整體結(jié)構(gòu)從上至下為電源管理系統(tǒng)、測試電源系統(tǒng)、總線測試設(shè)備系統(tǒng)、示波器和工控機;測試臺架是用于安裝汽車內(nèi)部功能模塊,包括BCM、ABS和ESP等。
系統(tǒng)軟件部分主要是測試管理軟件的設(shè)計,編程采用的是商用編程語言C#,集成開發(fā)環(huán)境采用了Visual Studio 2015。測試管理軟件主要包含測試部分、文件操作和權(quán)限管理等模塊。其中測試部分調(diào)用Vector公司的CANoe軟件的相關(guān)程序集,為實現(xiàn)軟件模塊重用,使用標準的DLL程序集解析不同車型通信規(guī)范的DBC數(shù)據(jù)庫文件,DLL技術(shù)[8]的加入降低了開發(fā)成本并且易于升級和擴展,實現(xiàn)軟件的標準化接口設(shè)計。系統(tǒng)中設(shè)置3個操作權(quán)限:管理員、配置員和測試員,主要是允許或者禁止用戶對測試工程信息和測試執(zhí)行前后涉及到的所有信息進行查閱、修改的權(quán)限管理。
所采用的測試系統(tǒng)主要包含了總線測試設(shè)備、總線干擾設(shè)備、示波器、程控電源、雙極性電源、測試環(huán)境配置盒和工控機。硬件系統(tǒng)框圖如圖2所示。

圖2 系統(tǒng)硬件框圖
總線測試設(shè)備采用的是Vector公司的VN1640接口卡,它能夠通過USB2.0靈活高速訪問CAN網(wǎng)絡(luò),支持并行診斷,完成簡單的總線分析任務(wù)以及復(fù)雜的總線在線仿真、校準和診斷等高級功能。
總線干擾設(shè)備采用的是Vector公司的CANstressDR干擾儀,它在工作時直接串入CAN總線,在總線上產(chǎn)生干擾邏輯,驗證ECU以及CAN總線的抗干擾能力。
示波器采用了PicoScope5444B,其擁有高達200 MHz帶寬和1 GS/s的采樣率,具備友好的通信接口,體積小巧,方便集成。
TOE8815-32可編程電源主要用于對設(shè)備進行供電測試,能夠產(chǎn)生階躍電壓、突變電壓和脈沖電壓等,滿足ISO16750-2對供電電壓波形測試的需求。NL10V10C38雙極性電源具備±10 V雙極性電壓、±38 A雙極性電流。恒流模式下可獨立設(shè)置電壓上下限,實現(xiàn)地偏移與電源偏移測試[7]。
采用了測試環(huán)境配置盒,來調(diào)整實時的測試條件。該配置盒是由中國汽車技術(shù)研究中心專門針對汽車CAN、LIN總線的物理層測試與模塊本地事件IO資源分配定制的設(shè)備,滿足ECU單節(jié)點與系統(tǒng)集成測試需求[7]。通過USB2.0或CAN總線自動配置和搭建測試所涉及的硬件設(shè)備與測試電路,是實現(xiàn)ECU自動測試系統(tǒng)的關(guān)鍵,其電路原理圖表如圖3所示,上位機根據(jù)測試用例需要的測試環(huán)境下發(fā)命令改變電路狀態(tài),達到自動測試的目的。
時間等不起,造價出不起。只有一個辦法,自己動手。工程師劉家林、施工隊長李德銘和大家一起,研究出一個新的方案:原設(shè)計要求在路基2.5米以下用直徑1560毫米的鋼筋混凝土保護管穿越路基,改用直徑377毫米的鋼管代替混凝土管,可把管底深度由4.04米減少到2.88米,穿越長度由70米縮短到35米。但是,長距離穿越,稍有疏忽就會造成彎曲,即使縮短為30多米,仍有相當長的距離,如稍有彎曲就會損傷路基。因此,大家仍是提心吊膽,兢兢業(yè)業(yè),采取了非常嚴密的措施,并自己設(shè)計制造了一個24米長的頂推滑道,以避免管道穿彎,還選用D80推土機,挑選駕駛技術(shù)最熟練的推土機手,把頂推的位置固定死。

圖3 環(huán)境配置盒電路圖
為簡化測試操作流程,提高相關(guān)文件的利用率,方便相關(guān)參數(shù)的保存和查看、測試結(jié)果的查看,以及對比和增強測試報告的可讀性,設(shè)計了測試管理軟件。主要分為以下幾大模塊:賬號登錄、賬號管理、配置管理、測試管理和報告查看。軟件集成CANoe的網(wǎng)絡(luò)測試接口,使用嵌入式數(shù)據(jù)庫SQLite、XML技術(shù)和DLL技術(shù),并針對用戶技術(shù)資料保密需求劃分了用戶權(quán)限,分為三級:管理員、配置員、測試員。
① 賬號登錄模塊:規(guī)定用戶使用系統(tǒng)時必須輸入用戶名和密碼,且兩者都與系統(tǒng)已存的數(shù)據(jù)完全匹配,才能夠正常使用本系統(tǒng),達到保護數(shù)據(jù)安全的目的。
② 賬號管理模塊:可以在該界面修改用戶密碼和上傳用戶頭像照片。
③ 配置管理模塊:包含車型管理、任務(wù)管理和供應(yīng)商管理。車型管理有車型創(chuàng)建功能和車型配置功能,其中管理員具有所有權(quán)限,配置員只可操作車型配置功能。車型創(chuàng)建包括車型、配置、階段的創(chuàng)建;車型配置是上傳和導(dǎo)入車型相關(guān)配置文件的入口,例如上傳DBC文件、網(wǎng)絡(luò)拓撲圖、配置表以及用例表。任務(wù)管理部分規(guī)定只能由管理員或者配置員進行修改,該部分能夠創(chuàng)建任務(wù)、編輯用例,任務(wù)創(chuàng)建是創(chuàng)建已有的某個車型-配置-階段下模塊的單節(jié)點或集成測試任務(wù),并且編輯該車型管理中該車型-配置-階段下已經(jīng)配置好的用例表,根據(jù)測試需要做相關(guān)的修改后與當前測試任務(wù)綁定,保存到數(shù)據(jù)庫中的任務(wù)表中,配置管理界面如圖4所示。

圖4 配置管理
④ 測試管理模塊:允許所有用戶使用,是本測試系統(tǒng)的核心部分,負責調(diào)用CANoe軟件,打開并運行測試腳本,并在界面上展示測試進度及測試結(jié)果,并提供打印報告功能,界面如圖5所示。

圖5 測試管理
將XML和DLL技術(shù)相結(jié)合應(yīng)用到本文的自動測試系統(tǒng)中,提高了系統(tǒng)的可配置性和可移植性。
本測試系統(tǒng)軟件采用了Client/Server(C/S)模式,對數(shù)據(jù)庫的要求是具有較高的讀寫性能,比如能夠快速地處理數(shù)據(jù)和頻繁讀/寫磁盤文件。因此本系統(tǒng)的數(shù)據(jù)庫設(shè)計中采用SQLite+NHibernate的結(jié)構(gòu)。SQLite是一款輕量級關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有較高的讀寫速率;NHibernate框架能夠把數(shù)據(jù)庫中的表映射成面向?qū)ο笳Z言中類描述的對象。
使用SQLite Expert Professional工具查看和編輯數(shù)據(jù)庫,它是一款可視化SQL數(shù)據(jù)庫管理工具,創(chuàng)建如圖6所示的數(shù)據(jù)庫表。根據(jù)系統(tǒng)功能分析,創(chuàng)建了配置表模板表、DBC文件表、員工表、文件關(guān)聯(lián)表、操作日志表、報告表、模塊供應(yīng)商表和測試任務(wù)表。

圖6 系統(tǒng)數(shù)據(jù)庫表
配置表模板表是用來存儲各個車型的配置表信息,表中包括該車型所有電控單元的具體結(jié)構(gòu)的信息。DBC文件表用來存儲各車型的DBC數(shù)據(jù)庫信息,DBC文件是CAN總線的通信規(guī)范矩陣,用來解析CAN網(wǎng)絡(luò)上傳輸?shù)男盘枴T工表是用來保存主機廠員工信息和管理軟件登錄密碼。文件關(guān)聯(lián)表是將車型與該車型對應(yīng)的配置表與用例表關(guān)聯(lián)。操作日志表即是用來存儲用戶在管理軟件上所做的操作,包括對數(shù)據(jù)庫的增、刪、改,以及車型模塊測試信息等重要操作。報告表存儲測試任務(wù)完成后得到的解析成JSON串格式的報告,模塊供應(yīng)商記錄了要測試的模塊的供應(yīng)來源。測試任務(wù)表記錄系統(tǒng)中創(chuàng)建的任務(wù)信息,也包括該任務(wù)下測試模塊的用例表信息。
在數(shù)據(jù)預(yù)處理環(huán)節(jié),采用了JSON(JavaScript Object Notation)數(shù)據(jù)格式。JSON是一種輕量級的完全獨立于語言的數(shù)據(jù)交換格式,專門為嵌入式及輕量級系統(tǒng)應(yīng)用設(shè)計,具有良好可讀性和友好的數(shù)據(jù)接口。系統(tǒng)中大量使用了JSON格式,比如報告表中的測試結(jié)果和文件關(guān)聯(lián)表中的配置表信息和用例表信息。
下面以ECM電控單元的單節(jié)點測試為例,自動測試流程如圖7所示。按照流程,先后創(chuàng)建車型、管理員授權(quán)給配置員、配置文件、上傳DBC數(shù)據(jù)庫文件以及網(wǎng)絡(luò)拓撲圖和導(dǎo)入供應(yīng)商信息,最后根據(jù)該款車型的協(xié)議規(guī)范編寫配置表信息、用例表信息。本次測試車型的網(wǎng)絡(luò)拓撲圖如圖8所示。

圖7 測試流程圖

圖8 網(wǎng)絡(luò)拓撲圖
管理軟件系統(tǒng)操作依次為:① 添加要測試的ECM模塊;② 打開測試管理,啟動CANoe執(zhí)行指定路徑下的硬件自檢的測試腳本文件;③ 單擊ECU測試按鈕,調(diào)用CANoe執(zhí)行ECM的測試腳本文件,得到測試結(jié)果和測試報告。
最后將生成的測試結(jié)果(XML報告文件)按主機廠要求測試報告格式解析,得到最終的報告結(jié)果,圖9為隱性電壓差分測試時示波器截圖,CANoe監(jiān)控總線數(shù)據(jù)如圖10所示,圖11為某主機廠測試結(jié)果報告的部分數(shù)據(jù)。

圖9 隱性電壓差分測試示波器截圖

圖10 CANoe監(jiān)控總線數(shù)據(jù)

圖11 ECM測試部分報告
在本文的汽車ECU測試實驗中,自動測試系統(tǒng)與手動測試相比,線路更加清晰,需要更少的人工參與,測試執(zhí)行更加智能化,結(jié)果可讀性更好且花費的時間也更少,僅為手動測試的1/10,人工測試環(huán)境如圖12所示。
針對目前汽車ECU手工測試方式存在的問題,提出了汽車ECU自動測試系統(tǒng)的解決方案,構(gòu)架了包含工控機、CANoe和測試環(huán)境配置盒的硬件測試系統(tǒng),設(shè)計了數(shù)據(jù)庫、系統(tǒng)軟件界面及測試操作流程,實現(xiàn)了基于CAN網(wǎng)絡(luò)的ECU自動測試,完成對CANoe生成的XML格式的測試結(jié)果的解析及生成客戶定制格式的測試報告。經(jīng)實際開發(fā)及應(yīng)用,該自動測試系統(tǒng)的解決方案降低了測試工作量,縮短了ECU開發(fā)周期,節(jié)約了開發(fā)成本,具有很高的實際應(yīng)用價值。

圖12 人工測試ECM環(huán)境