黃磊 何亞楠
摘 要:文章介紹了一種自主設計開發的TCU自動測試工具。主要介紹了基于C#的上位機軟件的設計開發,包括頁面、類庫、測試項目和變量信息的設計編程,Kvaser CAN通訊庫的使用,XCP協議的實現,A2L文件解讀,Excel報告生成等。另外還介紹了CAN-extender的硬件接口和軟件腳本開發,測試負載箱電路原理和改裝方法。通過以上項目的研究工作,可以設計出一種自動測試TCU的試驗臺,大大提高量產TCU測試驗收的工作效率。關鍵詞:TCU自動測試;C#軟件編程;XCP協議;CAN-extender腳本;負載箱控制中圖分類號:U466? 文獻標識碼:B? 文章編號:1671-7988(2020)02-91-03
Abstract: This paper introduces an automatic testing tool for TCU, which is designed and developed independently. The paper mainly introduces the design and development of PC software based on C#, including the design and programming of user interface, class libraries, test items and variable information, the use of Kvaser CAN communication library, the implementation of XCP protocol, A2L file interpretation, Excel report generation, etc. In addition, the hardware interface and software script development of CAN-extender are introduced, and the circuit principle and modification method of the load box. Through the research work of the above projects, we can design a test-bed for automatic testing TCU, which greatly improves the efficiency of TCU test.Keywords: TCU automatic test; C# software programming; XCP protocol; CAN-extender script; Load box controlCLC NO.: U466? Document Code: B ?Article ID: 1671-7988(2020)02-91-03
前言
TCU生產過程中,需要對成品TCU電路板進行完整的測試驗證,便于生產驗收和質量控制。傳統測試過程需要連好相關測試負載后人工操作,撥動控制開關,使用VISION標定工具更改軟件標定,觀察指示燈、儀表和測量變量,之后再手動填寫測試報告,不僅效率低下,而且測試人員需要對測試項目和標定變量有較深的了解。
為了解決以上問題,本課題設計了一種自動化的TCU測試工具,通過Windows操作系統下自主開發的應用程序TestTool,與TCU和測試負載箱進行信息交互,實現TCU的一鍵式測試驗證,并生成測試報告。
1 總體方案
總體自動測試方案由PC機及自主開發的TestTool軟件,通過Kvaser工具,使用CAN總線和CAN-extender通訊,XCP協議和待測TCU通訊;CAN-extender將CAN指令轉換為電氣信號到繼電器控制負載箱工作;同時TestTool軟件和待測TCU通過XCP協議進行相關標定測量,負載箱和TCU在測試工具的控制下共同完成測量,并將測試結果反饋給TestTool,由TestTool生成測試報告。
2 設計完成過程
此方案主要包括PC機軟件工具TestTool的設計開發,CAN-extender腳本編寫實現,負載箱改裝,其中PC機軟件工具開發是方案成功的關鍵。
2.1 PC工具TestTool設計
此工具采用Visual Studio 2012平臺,C#語言編寫,主要包括用戶界面,測試項管理類,與TCU通訊的XCP類和方法,與CAN-extender通訊類,生成報告Report類, A2L文件識別,Kvaser API調用等部分。
2.1.1 用戶界面設計
因為此工具用于一鍵式測試,用戶界面追求簡單,快捷的風格,方便測試人員快速操作和得到測試結果。
實際的設計用戶界面如圖1所示:標題表明測試工具用途,測試人員填寫必要的測試信息,導入A2L用于應對TCU軟件升級后內部變量的地址變更,點擊開始測試后測試程序運行,提示窗口顯示測試過程中的提示信息,測試結果窗口顯示各個測試項目和結果,進度條表示測試進程,測試完成后就可以點擊生成報告按鈕生成鎖定的excel測試報告,或者點擊重新測試按鈕重新開始測試。整個測試過程必順序有序執行。
2.1.2 測試列表類設計
對TCU測試而言,包含測試人員,測試件號,測試時間,測試軟件版本,測試結果等屬性,還包括電源測試,電磁閥測試,低邊高邊輸入輸出等測試項,這些測試項又需要調用變量信息得到變量地址長度,調用XCP協議與TCU通訊,通過CAN-extender控制測試臺工作,才能完成測試。TCU測試包含如下表1的測試項目。
單測試項,如低邊輸出測試的流程如下:1)使能TCU內部低邊輸出標定量—>2)使能待測管腳的低邊輸出—>3)測量使能狀態外部電路電壓—>4)關閉待測管腳的低邊輸出—>5)測量關閉狀態外部電路電壓—>6)關閉TCU內部標定—>7)記錄兩種狀態下的電壓并判斷是否合理。
軟件采用面向對象程序編寫,把上述TCU測試過程自動化抽象化就得到了軟件頂層測試列表類的設計。測試列表類再調用其他類共同完成測試,得到測試結果。下圖2是軟件的類設計圖。
2.1.3 XCP協議類設計
XCP是2003年ASAM(德國自動控制和監測系統標準化協會)對汽車標定協議CCP2.1進行擴充,制定的XCP協議。XCP協議可以集成在多種傳輸層上。
本文介紹的自動測試工具正是應用了XCP-on-CAN協議,采用輪詢方式與TCU通信獲取數據,實現了部分XCP協議定義的連接、密鑰獲取、地址定位、上傳、下載、保持連接、斷開連接等基本命令。XCP類調用Kvaser API將XCP命令轉換為CAN總線報文與TCU通信。
2.1.4 CAN轉IO設計
CAN轉IO部分功能是上位機程序調用Kvaser API與CAN-extender通信,發送CAN報文給CAN-extender命令,讀取CAN-extender采集到的數據。上位機實現讀和寫的方法,在不同的測試條件下和CAN-extender腳本程序配合,控制CAN-extender管腳工作。
2.1.5 變量信息類設計
根據ASAP標準,使用XCP等標定協議進行標定測量工作需要明確ECU內部變量的地址,長度,變量類型,變量范圍等詳細信息。A2L文件是ASAP標準規定的ECU內部數據單元描述的規范文件,標定系統所需的ECU 內部數據單元信息全部記錄在其中,包括設備參數信息、接口數據信息和ECU 參數信息。
為應對TCU軟件升級引起的內部變量地址變更,變量信息類設計了A2L文件解讀的接口,在測量之前加載與TCU軟件對應的A2L文件,更新自動測量軟件的變量信息表與TCU軟件一致。
2.2 CAN-extender及腳本設計
CAN-extender是VECTOR公司應用與CAN總線的可編程輸入/輸出設備。它可以把數字量、模擬量信號轉換為CAN報文在總線上傳輸。
本文的自動測試方案使用了CAN-extender的8路數字輸出和8路模擬量輸入用于臺架自動控制和回讀反饋電壓。根據自編的腳本配置程序轉換為CAN報文傳輸給Kvaser,上位機軟件調用Kvaser API 控制CAN-extender工作。
使用VECTOR的Gin工具來編寫CAN-extender配置腳本,根據實際需要配置接收報文用于控制8路數字輸出,發送報文用于反饋8路模擬量值,總線頻率250kbps。
2.3 負載箱設計及改裝
根據TCU硬件資源設計的測試負載箱包含供電、高低邊數字輸入輸出、霍爾傳感器、VR傳感器、PWM輸入、電壓模擬輸入、電磁閥等外部設備。
如圖3所示,是測試負載箱的低邊輸出的電路,左邊OUT_LSD_1~8連接到TCU相關管腳,每路輸出從左到右依次連接電流表、電阻、分路開關、總開關,最后接到外部電源。設計初衷是在TCU內部使能和非使能低邊輸出情況下撥動開關,觀察電流表電流,驗證TCU硬件電路。這種傳統的測試方法既需要標定軟件對TCU內部參數進行使能,又需要手動操作和記錄測試結果,測試過程效率低下,容易受到人為影響。
現對負載箱進行改造,以第一路低邊輸出為例,保持圖3中分路開關閉合,改總開關為繼電器使其受CAN-extender輸出控制,并將A點B點接入CAN-extender的模擬量輸入端口,這樣當自動測試開始時上位機測試工具控制繼電器閉合,并與TCU通信,在使能和非使能狀態下通過CAN-extender讀取A、B兩點之間的電壓,自動判斷電路狀態并記錄。同樣根據不同的測試流程改裝其他電路,使負載箱滿足自動測試需要。
3 驗證
傳統測試方案熟練的測試人員單人單件TCU測試完成需要20分鐘,采用此方案5分鐘即可完成測試,工作效率提高效果非常明顯。而且對于每次測試,工具都生成不可更改的測試報告,方便產品管理和壞件追蹤。實際中此方案已經應用到TCU的生產驗證環節,效果良好,對壞件檢索快速,故障定位準確,一定程度上消除了TCU測試驗證工作對于自動變速箱的生產要求和市場供應的不良影響,提高了產業鏈的生產效率。
4 結論
本文立足實際需求,將標定、測試、觀察記錄過程使用IT技術結合起來,實現了自動化解決方案,節約了成本,提高了效率。
隨著變速箱產品自動化,智能化程度越來越高,電子設備的應用也將更加廣泛,TCU產品的市場需求會越來越大,生產節奏將越來越快。如何快速驗證產品質量,保證產品的可靠性已經成為一個現實問題。單靠人力已經無法滿足要求,引入定制化、自動化的一攬子測試驗證解決方案勢在必行。本文的方案提供了一種車輛自動化電子設備測試驗證的典型范例。
參考文獻
[1] 馬亮.基于ASAP2標準的A2L文件生成與解析技術實現[D].武漢:武漢理工大學,2015.
[2] ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0[Z].
[3] ASAM_XCP_Part3-Transport-Layer-Specification_XCPonCAN_ V1 -1-0[Z].
[4] ASAM_XCP_Part4-Interface-Specification_V1-1-0[Z].
[5] 林卉,劉波峰,沈芳等.基于XCP協議的汽車標定系統通信研究與設計[J].計算機系統應用,2011,20(5):92-95,86.
[6] 肖亞迪,肖兵.基于XCP協議的ECU標定系統開發[J].計算機測量與控制,2015,23(2):600-603.
[7] Karli Watson,Christian Nagel等著.C#入門經典齊立波譯.[M]清華大學出版社.2006年5月第3版.