趙穎慧 白楊 趙聰聰
(1.中國第一汽車股份有限公司 智能網聯開發院,長春 130013;2.一汽大眾汽車有限公司成都分公司 技術開發部,長春 130012;3.吉林農業大學 工程技術學院,長春 130118)
主題詞:汽車電子 測試 診斷 CAN總線
TFT Thin Film Transistor(薄膜晶體管)
UART Universal Asynchronous Receiver/Transmitter(通用異步收發傳輸器)
RFI Radio Frequency Interference(射頻干擾)
ESD Electro-Static discharge(靜電釋放)
UDS Unified Diagnostic Services(統一診斷服務)
汽車電子產品的廣泛應用,極大程度地提高了乘坐舒適性、駕駛安全性和環保性能,但也使得汽車電子系統更加復雜[1]。目前,汽車電子產品的測試和驗證工具多從國外測試設備廠商進行采購,國內比較常見的汽車電子測試設備包括CANcase系列CAN總線測試工具,Vtsystem系列硬件(I/O)測試工具及CANdela系列汽車診斷工具。這些測試工具雖然技術成熟、功能強大、運行可靠,但價格昂貴,比如一個CANcase售價約12萬元人民幣,且應用專業性強,對操作者要求高、培訓難度大,一定程度上限制了其應用范圍。因此,急需開發一款面向國內市場的低成本汽車電子測試工具。針對這一問題,本文基于CAN總線通訊模塊和統一診斷服務協議,利用嵌入式控制系統開發了一種能夠對汽車電子產品進行快速測試和診斷的工具。應用此工具可以快速方便的讀取儀表等車載控制單元的軟件版本、零件號等信息。
系統工作原理如圖1所示:用戶通過測試工具的人機交互界面對被測設備發布測試、控制、診斷等指令。設備根據具體產品選擇相應指令和動作,操作被測設備實現相關功能,并將反饋信息通過人機界面顯示給用戶。用戶還可以通過電腦對測試工具進行維護和升級。

圖1 系統工作原理
系統硬件主要實現與用戶交互、與被測設備通訊及系統升級的功能。為達到簡單方便的用戶操作體驗,人機交互模塊采用五向開關、編碼旋鈕與薄膜晶體管(Thin Film Transistor,TFT)顯示屏相結合的實現方式,菜單深度不超過3級。由于汽車電子設備之間利用CAN接口進行通訊,故硬件需要預留CAN通訊模塊。利用通用的UART通訊方式進行系統升級。
系統硬件采用模塊化設計,主要包括CAN通訊模塊、UART通訊模塊、主控制核心板、電源模塊、LED顯示模塊、人機交互模塊及I/O模塊,結構如圖2所示。

圖2 硬件結構框圖
(1)主控制核心板
主控制核心板使用NXP公司最新開發的Cortex-M3內核控制芯片LPC1788,工作主頻120 MHz。LPC1788集成了LED圖像控制器,支持TFT顯示器,可以實現低成本、高質量的圖像應用。同時,該控制器提供了雙通道CAN控制器和五個UART小數波特率發生器,能夠滿足系統硬件需求[2]。
(2)CAN通訊模塊
對于汽車電子設備的測試診斷而言,如何實現測試工具與被測對象之間的通信至關重要,也是檢測設備開發的核心[3]。本文所開發的測試工具利用CAN模塊與被測設備進行數據交互。CAN通訊模塊采用符合汽車網絡協議規定的收發電路,并配有靜電釋放保護措施,具有高性能和高可靠性,能夠支撐各種控制器及各類傳感器之間的數據通信和信息共享[4]。基于CAN通訊模塊的硬件電路如圖3所示。

圖3 CAN通訊模塊硬件電路[5]
該硬件設計符合ISO 11898-2:2016(Road vehicles—Controller area network(CAN)—Part 2:Highspeed medium access unit)[6],最高速率達到 1 Mbps。具有以下特點:
●抗環境瞬間干擾,具有總線保護能力;
●斜率控制,降低射頻干擾(RFI);
●熱保護以及電源和地短路保護;
●未上電的節點對總線無影響;
●低電流待機模式。
(3)通用串行通訊模塊
為了使所開發的測試工具適應汽車電子產品的升級換代,需要對測試工具的軟件進行升級,本文利用串行通訊模塊實現這一功能。利用串行總線將測試工具與電腦連接,實現軟件版本的在線升級維護。測試工具的UART模塊框圖如圖4所示。

圖4UART模塊框圖
(4)LED及人機交互模塊
為了顯示被測設備的相關信息,利用人機交互模塊建立用戶與被測試設備之間的友好連接。顯示部分利用控制芯片自帶的LED驅動接口,同時配合4.3寸真彩TFT顯示屏。顯示模塊框圖如圖5所示。

圖5 顯示模塊框圖
(5)I/O模塊
所開發的測試工具應對較寬范圍內的模擬數字輸出量及整個工作電壓范圍內的數字輸入量具備檢測功能。根據實際情況,可配置主控制芯片I/O端口,并做出相應的輸入、輸出響應,實現開關量的控制。
(6)可擴展性設計
系統采用模塊化的柔性設計以適用不同的應用要求。預留了車載系統另一種常用的通訊接口:LIN接口[7]。
本測試工具系統以嵌入式實時操作系統-uCOSII和嵌入式圖形用戶接口-uCGUI作為軟件平臺的核心,應用軟件采用3層結構設計,即驅動層、交互層和應用層。系統軟件結構如圖6所示。

圖6 系統軟件結構框架
(1)驅動層
驅動層主要負責系統底層硬件的驅動和配置,為上層軟件和具體硬件外設搭建連接通道。驅動層采用標準驅動庫CMSIS技術。CMSIS能夠方便實現與處理器和外設之間的軟件接口,從而簡化軟件的重用、實現標準化并降低成本。
(2)交互層
交互層在應用層和硬件驅動層之間形成一個緩沖和控制通道,為應用層和硬件驅動層提供信號轉換、控制流緩沖等工作。
(3)應用層
應用層為最頂層軟件,實現系統的人機交互功能和測試/診斷功能。
a.人機交互應用軟件
為達到使用簡潔、方便的目的,同時保證系統菜單組織的結構合理,人機交互應用的系統菜單采用兩級管理方式。菜單顯示過程的軟件流程如圖7所示。

圖7 菜單顯示過程軟件流程圖
b.測試/診斷功能模塊軟件
測試/診斷功能是測試工具開發的核心工作,其實現依據是被測設備的測試/診斷需求文檔和UDS協議。
通過人機交互接口向被測設備下達相應的測試/診斷指令,根據測試/診斷需求文檔解析用戶輸入的交互指令,將相應指令轉換為CAN報文并發送給被測設備;同時接收被測設備反饋的CAN報文,根據UDS協議解析接收報文,并將狀態反饋給用戶,相關流程如圖8所示。

圖8 人機交互流程
某被測設備的測試/診斷需求文檔如表1所示,規定通過Input Output Control指令控制所有LED燈。當人機交互接口下達打開所有LED燈指令后,測試/診斷模塊通過CAN總線發送0x2F 0x0A 0x00 0x03 0xFF數據。當測試/診斷模塊接收到被測模塊發送0x6F 0x0A 0x00 0x03 0x00時,人機交互界面告知用戶操作成功[8]。

表1 需求文檔
本文所開發的測試工具已成功應用于某系列車型多個產品的測試/診斷。應用測試單元和測試項目如表2所示,圖9為某車型儀表在暗室中做光學測試。

表2 測試工具應用

圖9 暗室中光學測試
綜上,本文從汽車電子產品的測試特點出發,開發了基于CAN總線通訊的測試/診斷工具。該測試工具不依賴電腦,成本低、操作過程簡單,且具有較強的可擴展性。同時,該設備具有定制性的特點,能夠根據被測設備的測試/診斷需求文檔定制屬于被測設備特定的測試/診斷工具,從而實現被測設備測試/診斷需求文檔中定義的所有UDS協議診斷功能。