王敏
【摘 要】車載電控單元的測試是保證其質(zhì)量及整車質(zhì)量的重要手段,而傳統(tǒng)意義上理解的測試過于片面,本文從開發(fā)流程的角度,闡述了不同開發(fā)階段涉及的所有測試活動。了解各項測試活動的意義、內(nèi)容及方法,對于合理制定測試方案和計劃、有效執(zhí)行測試意義重大。
【關(guān)鍵詞】車載電控單元;開發(fā)流程;測試活動
【Abstract】Test of Electronic Control Unit is an important means to ensure its quality and vehicle quality,but the traditionally ECU test is too one-sided.This paper describes all the testing activities involved in various stages of development according to the development process.It is very meaningful to understand the significance,content and methods of testing activities for developing a reasonable test program and executing the test effectively.
【Key words】ECU;Development Process;Testing Activities
0 引言
隨著汽車電子控制單元(Electronic Control Unit,以下簡稱ECU)的發(fā)展,ECU的質(zhì)量對整車質(zhì)量的影響越來越大,ECU的測試作為其開發(fā)過程中必不可少的一部分,對保證其質(zhì)量是至關(guān)重要的。傳統(tǒng)意義上理解的ECU測試可能僅僅是對應(yīng)用功能的測試,但實際上,ECU的開發(fā)過程中包含了各種不同側(cè)重點的測試活動,正是這些測試活動組合在一起才能真正有效保證其質(zhì)量。本文以實際工作經(jīng)驗為基礎(chǔ),闡述了各項測試活動的測試內(nèi)容、測試意義及測試實施要點,對入行不久的ECU開發(fā)測試工程師或其相關(guān)的產(chǎn)品設(shè)計發(fā)布工程師均具有一定的借鑒意義。
1 測試流程
ECU的測試流程與開發(fā)流程是息息相關(guān)的,不同的開發(fā)階段,測試活動有所偏重,具體如圖1所示。需要說明的是,軟件開發(fā)基礎(chǔ)階段即ECU基本功能實現(xiàn),協(xié)議層較為穩(wěn)定;軟件開發(fā)完備階段即ECU全部功能實現(xiàn),且基本功能已通過測試驗證。同一階段的測試活動一般沒有嚴(yán)格的先后順序,可以同時進行。
2 測試活動詳述
2.1 代碼測試
代碼測試作為最初級的測試活動,旨在保證代碼質(zhì)量,其包括三個環(huán)節(jié),每一個環(huán)節(jié)都可在專業(yè)的測試工具下搭建測試環(huán)境進行測試活動。
一是代碼審查,可使用DAC工具,通過創(chuàng)建項目、配置項目、選擇規(guī)則/度量標(biāo)準(zhǔn)、執(zhí)行檢查等操作生成測試結(jié)果,然后對生成的結(jié)果進行分析整理,形成測試報告。其主要作用是參考MISRA-C等規(guī)則檢查代碼的編程規(guī)范。
二是靜態(tài)分析,可使用Goanna工具,在安裝了Goanna的集成開發(fā)環(huán)境中創(chuàng)建項目,運行Goanna生成測試結(jié)果,然后對生成的結(jié)果進行分析整理,形成測試報告。其主要作用是檢測代碼的運行時錯誤,如數(shù)組/指針越界、死循環(huán)、死代碼等。
三是動態(tài)單元測試,測試之前需要根據(jù)需求分析文檔、軟件詳細(xì)設(shè)計文檔等設(shè)計相應(yīng)的測試用例,然后可使用Tessy工具,創(chuàng)建測試項目、指定測試環(huán)境和添加源文件、編輯測試接口、輸入測試用例、執(zhí)行測試生成測試結(jié)果,然后對生成的結(jié)果進行分析整理,形成測試報告。其主要作用是通過實際運行被測程序,檢查運行結(jié)果與預(yù)期結(jié)果的差異,并分析運行效率和健壯性等性能。
雖然專業(yè)的測試工具有其不可替代的優(yōu)勢,特別是Tessy這種專門用于嵌入式軟件動態(tài)測試的工具,但考慮到開發(fā)成本問題,代碼測試也可以通過手動代碼審查及在原有開發(fā)環(huán)境中編寫測試腳本進行動態(tài)測試來代替。當(dāng)然,這種測試方式對代碼測試人員的專業(yè)素質(zhì)有著更高的要求。
2.2 總線協(xié)議測試
總線協(xié)議測試包括總線性能測試和診斷協(xié)議測試兩個部分??偩€和診斷是大多數(shù)ECU必不可少的功能,具備較強的的通用性。
總線性能測試主要以總線所遵循的標(biāo)準(zhǔn)(如CAN總線基于ISO 11898)、及被測ECU的通訊矩陣等為依據(jù)制定測試規(guī)范,測試內(nèi)容[1]包括物理層、數(shù)據(jù)鏈路層、交互層、網(wǎng)絡(luò)管理、網(wǎng)絡(luò)錯誤處理等,其一般測試環(huán)境配置如圖2所示,其中總線監(jiān)測/模擬系統(tǒng)如Vector的CANoe,總線干擾儀如CANstress,總線示波器如CANscope等。由于Vector的工具彼此適配良好且具備強大的開發(fā)功能,我們可以通過編寫測試腳本實現(xiàn)總線性能的自動化測試。
診斷協(xié)議測試主要以總線所遵循的診斷標(biāo)準(zhǔn)(如CAN總線基于ISO 14229/ISO 15765)、及被測ECU的診斷參數(shù)列表為依據(jù)制定測試規(guī)范,測試內(nèi)容包括被測ECU的診斷參數(shù)列表上定義的所有診斷服務(wù)。該測試也可利用特定的測試工具進行自動化測試,如利用Vector的CANdela生成診斷數(shù)據(jù)庫文件,利用CANdiva進行診斷規(guī)范的自動化測試等。
2.3 系統(tǒng)功能測試
系統(tǒng)功能測試是最基本的測試活動,其著眼于ECU的應(yīng)用功能,一般可分為臺架測試和實車測試兩個部分。無論是臺架測試還是實車測試,都需要根據(jù)功能需求規(guī)范等需求文檔進行需求分析并編寫測試用例,臺架測試應(yīng)盡可能多的覆蓋所有測試用例,而實車測試一般難以覆蓋所有的測試用例,如故障情況、極限條件情況、整車供電變化情況等。除此之外,ECU的開發(fā)一般與整車開發(fā)同步,而開發(fā)階段的實車測試資源有限,這也是實車測試的局限。
正因為實車測試的局限性,為避免測試疏漏,臺架測試環(huán)境應(yīng)盡量模擬實車環(huán)境。傳統(tǒng)臺架測試環(huán)境一般包括電源、被測ECU、實際/模擬的I/O口、總線監(jiān)測/模擬工具及其他測試測量工具等,這對于ECU開發(fā)初期的功能測試是必不可少的,它便于分析問題原因,便于優(yōu)化測試用例及測試方法。但當(dāng)ECU的開發(fā)趨于穩(wěn)定,開發(fā)周期越來越短,基于傳統(tǒng)臺架測試環(huán)境的功能測試就顯得有些笨拙,我們需要更加智能便捷的自動化測試。典型的自動化測試系統(tǒng)如HIL等[2],它將傳統(tǒng)臺架測試所需的各個部分集成在一起,并帶有測試開發(fā)環(huán)境,通過編寫測試腳本,可以實現(xiàn)大多數(shù)測試用例(通常是已經(jīng)過臺架測試優(yōu)化的)的自動化測試。圖3展示了一個HIL系統(tǒng)的測試機柜及其開發(fā)環(huán)境編寫的測試界面。除了專業(yè)的自動化測試系統(tǒng),我們也可以利用常用總線工具(如CANoe、Vehicle Spy)的開發(fā)功能,甚至結(jié)合方便調(diào)用各類硬件接口的開發(fā)環(huán)境(如LabVIEW)實現(xiàn)半自動化測試,如此既提升了測試效率也兼顧了測試成本。
然而,無論臺架測試環(huán)境多么仿真實車環(huán)境,實車測試仍是必不可少的。實際的測試活動中,實車測試往往能發(fā)現(xiàn)許多令人難以想像的問題甚至是設(shè)計缺限。對于一般的汽車電子零部件供應(yīng)商,實車測試常常到主機廠DRE驗收測試才進行,但對于主機廠自主開發(fā)的ECU,實車測試的進行就相對要便利得多。
2.4 性能參數(shù)測試
各ECU的性能參數(shù)千差萬別,如音視頻導(dǎo)航系統(tǒng)的音頻、視頻、GPS相關(guān)性能指標(biāo),BCM/PEPS系統(tǒng)的射頻、低頻通信指標(biāo),也有如同最大工作電流、休眠電流等通用的性能參數(shù)。性能參數(shù)是否達標(biāo)既依賴于ECU開發(fā)初期的硬件選型,也依賴于軟件實現(xiàn)。因此,我們不能僅僅依靠硬件供應(yīng)商提供的性能參數(shù)報告,而需要在軟件集成達到一定成熟度時,進行整體的性能參數(shù)測試。當(dāng)然,很多性能參數(shù)的測試對測試環(huán)境及測式設(shè)備要求較高,ECU的開發(fā)商可以根據(jù)自身的測試資源選擇自己進行測試或到專業(yè)的實驗室完成測試。
2.5 可靠性測試
可靠性測試是一個比較寬泛的概念,這里主要指軟件的可靠性測試,對于硬件的可靠性測試,則主要在環(huán)境試驗中體現(xiàn),下一節(jié)將會具體闡述。
軟件可靠性測試有壓力測試、交互測試、破壞測試、隨機測試等測試方式。壓力測試通常以最基本的功能為基礎(chǔ),通過制造極端條件(如總線負(fù)載率達100%)或大量重復(fù)操作(如反復(fù)點火)等來驗證ECU在壓力狀態(tài)下功能是否正常。交互測試可分為內(nèi)部交互與外部交互,內(nèi)部交互主要考慮ECU各功能模塊之間的影響,外部交互則考慮被測ECU與車上其他ECU之間的影響。破壞測試即故意制造錯誤條件,以驗證ECU在錯誤狀態(tài)下的保護機制,并且能否從錯誤中恢復(fù)。隨機測試,顧名思義就是進行隨機操作,在沒有被預(yù)先設(shè)定的測試規(guī)范所框住的情況下,隨機測試常常會有意想不到的收獲。
事實上,可靠性測試可以認(rèn)為是系統(tǒng)功能測試的有效補充,很多ECU的開發(fā)甚至不會嚴(yán)格區(qū)分這兩者,只是在測試的不同階段,執(zhí)行上會有所偏重。在ECU開發(fā)初期,一般主要進行基本的系統(tǒng)功能測試,當(dāng)系統(tǒng)功能趨于穩(wěn)定的時候,會日漸加重可靠性測試的執(zhí)行度??煽啃詼y試的執(zhí)行過程中,壓力測試、交互測試、破壞測試可通過自動化測試達到較高的執(zhí)行效率和執(zhí)行覆蓋度,隨機測試則一般通過手動測試進行。
2.6 環(huán)境試驗及電磁兼容試驗
環(huán)境試驗[3]即考察ECU在不斷經(jīng)受自身及外界氣候環(huán)境、機械環(huán)境影響的情況下,是否仍能在一定壽命時間內(nèi)保持正常工作。它可以被認(rèn)為是一種基于硬件性能的可靠性測試。環(huán)境試驗的具體項目包括電氣試驗、機械試驗、溫度試驗、濕度試驗、鹽霧腐蝕試驗、耐工業(yè)試劑試驗、外殼防護試驗、可靠性耐久試驗等,不同的ECU所需試驗的項目及試驗要求都不盡相同。按開發(fā)階段劃分,環(huán)境試驗可分為設(shè)計驗證(Design Validation,DV)和產(chǎn)品驗證(Product Validation,PV)兩個部分。設(shè)計驗證需要進行所有項目的試驗,試驗樣品所用的材料、尺寸等必須符合量產(chǎn)狀態(tài),試驗結(jié)果將作為設(shè)計凍結(jié)的依據(jù),使ECU進入小批量生產(chǎn)階段;而產(chǎn)品驗證可以只選取部分在設(shè)計驗證試驗期間出現(xiàn)失效或者認(rèn)為風(fēng)險較高或者生產(chǎn)工藝對試驗結(jié)果有影響的試驗項目,但試驗樣品必須是從正式生產(chǎn)線制造出來的,試驗結(jié)果將決定ECU能否正式進入批量生產(chǎn)階段。
很多時候我們需要在特定的環(huán)境試驗箱中進行耐久試驗,試驗過程的監(jiān)控首先應(yīng)考慮ECU所有的硬件模塊及I/O口,以防設(shè)計失效未檢測到;其次試驗監(jiān)控數(shù)據(jù)特別是異常結(jié)果應(yīng)注意保存,它是分析失效原因,改進硬件設(shè)計的的重要依據(jù);再者,應(yīng)盡量使監(jiān)控流程易于執(zhí)行,滿足長時間周期性監(jiān)控的要求。在實際的ECU開發(fā)過程中,我們應(yīng)該根據(jù)環(huán)境試驗相關(guān)標(biāo)準(zhǔn)(如ISO 16750、IEC 60068等),結(jié)合ECU自身特性,確定試驗項目和試驗計劃,并制定及實施試驗監(jiān)控方案。從功能性和經(jīng)濟性考慮,以LabVIEW等作為上位機,結(jié)合低成本的總線功具及適應(yīng)ECU I/O口的負(fù)載板的環(huán)境試驗監(jiān)控系統(tǒng)有較高的實用性。圖4列舉了一個基于LabVIEW開發(fā)的環(huán)境試驗監(jiān)控系統(tǒng)的上位機實例。
電磁兼容試驗即測試ECU在其電磁環(huán)境中能否正常工作且不對該環(huán)境中任何事物造成不能承受的電磁騷擾,它包括電磁騷擾發(fā)射試驗和抗擾度試驗兩個部分。同性能參數(shù)測試類似,電磁兼容試驗對試驗場地及試驗設(shè)備有較高要求,一般ECU供應(yīng)商會選擇委托專業(yè)實驗室進行。另外,環(huán)境試驗和電磁兼容試驗均以測試ECU硬件為主要目的,對軟件完備性沒有嚴(yán)苛要求,通常在軟件開發(fā)初期,軟件實現(xiàn)基本功能,能滿足試驗監(jiān)控需求即可。
2.7 生產(chǎn)下線檢測
ECU從工廠生產(chǎn)線下線后,需要經(jīng)過測試以驗證其生產(chǎn)合格,同時還需要將ECU的生產(chǎn)信息,如序列號、生產(chǎn)日期等寫入ECU內(nèi)部。生產(chǎn)下線檢測方式[4]與環(huán)境試驗監(jiān)控方式類似,這里不再贅述。需要補充的是,生產(chǎn)下線檢測所用軟件一般是較為完備的正式軟件(具備診斷功能),除了應(yīng)用功能檢測外,還可以利用其故障診斷功能進行自查;其次,由于生產(chǎn)下線檢測一般是由沒有專業(yè)背景的工人來操作,檢測系統(tǒng)需要更加簡明易行;再者,每個ECU都應(yīng)保留其檢測報告,便于后續(xù)問題追溯。
2.8 整車裝車測試
整車裝車測試是指ECU到達主機廠并裝配到實車上后的功能測試,該項測試一般會以點檢的形式,選取少數(shù)基本功能進行驗證。除此以外,還需要通過診斷儀對ECU的零件號、軟/硬件版本號、故障碼等信息進行確認(rèn),有的還需記錄ECU與實車的綁定關(guān)系、寫入實車配置信息等,這些也可以算作裝車測試的一部分。整車裝車測試應(yīng)充分適應(yīng)主機廠總裝生產(chǎn)線的環(huán)境和裝配流程。
3 總結(jié)
本文幾乎涵蓋了ECU開發(fā)過程中所涉及的所有測試活動,各項測試活動的目的雖然不盡相同,但測試方法卻可互相借鑒。我們?nèi)裟苤湟饬x、明其方法,在開發(fā)立項之初,充分評估各項測試活動所需資源,制定合理的測試方案及測試計劃并有效實施,對于保證ECU質(zhì)量及整車質(zhì)量必是大有所益。
【參考文獻】
[1]QJGAC1523.053-2016,低速CAN ECU總線測試方法[S].廣州:廣州汽車集團股份有限公司,2016.
[2]黃勝龍.汽車發(fā)動機ECU的自動化HIL仿真測試平臺的研究與實現(xiàn)[D].吉林:吉林大學(xué),2013.
[3]QJGAC 1523.028-2014,電子電氣零部件環(huán)境適應(yīng)性及可靠性通用試驗規(guī)范[S].廣州:廣州汽車集團股份有限公司,2014.
[4]翟琰,魏振春,韓江洪,衛(wèi)星.基于腳本語言建模的汽車ECU測試系統(tǒng)設(shè)計[J].計算機工程,2012,38(15):260-263.
[責(zé)任編輯:湯靜]