何 默,費毅杰,孫 競
(泛亞汽車技術中心有限公司,上海 201206)
隨著消費者對車輛的可靠性、安全性、舒適性的要求日益提高,汽車電控系統變得越來越復雜,電子控制單元(ECU)的故障診斷復雜度也相應加大。圖1是一種典型的汽車CAN總線拓撲結構。

圖1 典型汽車CAN總線拓撲
汽車ECU的日益復雜,使汽車ECU診斷測試變得越來越重要。汽車ECU診斷測試是車載網絡處于診斷拓展模式后,檢測汽車ECU與電子元件性能好壞的一種重要測試[1]。因此,構建高效的汽車CAN總線自動化診斷測試平臺在ECU的開發驗證過程中是非常重要的。
目前汽車行業內通用的一款診斷協議ISO14229[2-4],它定義了通用診斷服務UDS (UnifiedDiagnosisSpecification)[5-7],將各種基于不同總線網絡的診斷服務進行了統一規定,從而使得在不同物理介質下,車輛的相關診斷服務的開發和應用變得更為便捷,目前已經成為汽車電子領域的通用診斷標準[8]。
ISO 14229協議統一了應用層的診斷服務,該協議規定診斷服務報文的首字節是服務標識符SID(Service Identifier),不同SID號對應不同類型的診斷服務,由于GM的開發需求只要求ECU實現12種診斷服務,因此,此測試平臺只針對要求的12種診斷服務進行開發。
本文開發的測試系統基于美國Intrepid Control Systems公司開發的neoVI FIRE2工具,研究和設計了基于ISO 14229協議的自動化診斷測試平臺,該平臺通過與測試臺架上的ECU通信,由上位機發送各種UDS診斷命令,采集ECU的反饋,最后判斷ECU的狀態。測試完成后,最終生成本次測試報告,記錄測試狀態。
測試平臺的構建以滿足GM規范定義的ECU診斷測試的所有需求為主要目標[9]。測試平臺應包括整車所有ECU的CAN ID,且具有良好的拓展性。為了提高測試效率,滿足ECU開發過程中產生的大量回歸測試的要求,測試平臺旨在實現自動化測試。
測試系統整體框架包括3部分:上位機仿真和測試單元;CAN網絡和底層待測ECU模塊。測試系統整體框架如圖2所示。

圖2 測試系統整體框架
測試平臺的硬件由美國Intrepid Control Systems公司開發的neoVI FIRE2硬件設備為核心,其他主要有工業計算機、可編程電源、信號通斷轉接盒等工具設備。
本測試臺架主要測試內容為電控單元能否正確反饋ISO 14229協議下的各種診斷命令,并測試在各種壓力工況下ECU反饋的穩定性。
選擇以Intrepidcs公司開發的VehicleSpy為軟件平臺實現ECU的診斷與通信測試。上位機軟件整體分為:參數配置界面、UDS診斷服務測試界面、DID List測試界面。
參數配置界面同時作為歡迎界面,用于選擇測試平臺,診斷ID類型 (功能尋址/物理尋址)及測試ECU,如果在測試模塊的下拉菜單中無法找到目標CAN ID,可以在Customer CAN ID中手工設置診斷ID。
UDS診斷服務測試界面,此界面包括了所有架構定義的診斷服務,實現一鍵自動化測試,也可以對每個診斷服務進行個性化定義測試,測試完成后,點擊save按鈕,自動生成當前界面的測試報告。
DIDList測試界面測試了所有模塊常用的一些DID命令,可以通過DID ALL開關實現所有DID命令的一鍵化測試,也可以在DID List中選擇需要發送的診斷單獨發送。診斷自動測試系統示意圖如圖3所示。

圖3 診斷自動測試系統示意圖
測試程序開發工具主要基于Spy軟件。該軟件集成了腳本編程環境FunctionBlock和人機交互界面設計GraphicalPanels等多項工具。FunctionBlock可以實現診斷命令的順序控制、條件響應、邏輯運算等編輯操作,最后實現診斷的自動化測試。
在設計自動化診斷測試上位機軟件時,同時設計了針對診斷過程中否定響應的處理機制。根據GM的需求定義,涉及的否定響應有7種,分別提示不同的診斷失敗的原因。目前自動化診斷測試平臺只測試12種診斷服務 (Service),一些服務還有多個子功能 (Sub-Function),診斷服務測試中診斷命令發送流程如圖4所示。
根據對圖4的分析可知,診斷服務測試界面測試流程可以分為兩個階段。
根據請求類型的區別,分為功能尋址和物理尋址兩種。如果發送的CANid≠$10DBFEF1,則為點到點請求,屬于物理尋址;如果CANid=$10DBFEF1,則為功能性請求,屬于功能尋址。

圖4 自動化診斷測試流程
測試順序按照ISO14229定義的診斷服務分類以及網絡安全定義的要求,各診斷服務的測試按照一定的順序進行。
本測試系統以Intrepidcs spy為開發環境,設計并開發出了基于ISO14229協議的自動化診斷測試平臺。
在保證CAN總線報文傳輸的實時性的前提下,一般要求CAN總線負載不大于70%。總線負載分析是系統級測試的一項重要內容。可以用CAN總線干擾儀將總線負載加至70%左右,觀察在極端壓力下模塊對診斷的反饋情況。圖5是自動化測試平臺實例圖。
自動化測試平臺通過OBD接口轉換后連接到測試系統上進行調試與使用。ECU的自動診斷測試結果如圖6所示。

圖5 自動化測試平臺實例圖

圖6 ECU自動診斷測試結果
本文通過構建并應用CAN總線測試平臺,90%以上的測試用例實現了自動化測試。通過該測試平臺,平均每個電控單元的一輪測試時間約為2~3h,節省了大量的測試時間,大幅度提高了測試效率,可在新車型項目開發過程中,以較短時間完成大量的測試工作,保證了ECU的交付狀態,為整車各電控系統的高效運行奠定了堅實的基礎,更有力地保證了新車型項目的順利開發。