呂霞付,張爽,王乾永,沈斌斌
(重慶郵電大學(xué)自動化學(xué)院,重慶 400065)
隨著時代的進(jìn)步,在發(fā)動機(jī)控制工作方面,ECU愈加凸顯出它的核心作用。同時,ECU的價格昂貴且技術(shù)要求越來越高,ECU的測試技術(shù)因此變得越來越重要[1]。以往的人工檢測方法不僅效率低,也存在準(zhǔn)確性差的問題,有時還會導(dǎo)致ECU的損壞。因此,如何提高汽車發(fā)動機(jī)ECU的測試技術(shù)和故障診斷水平則變得至關(guān)重要[2]。
本文作者首先給出了汽車發(fā)動機(jī)ECU診斷檢測系統(tǒng)的總體方案,然后詳細(xì)介紹了汽車發(fā)動機(jī)ECU診斷檢測系統(tǒng)的硬件設(shè)計以及上位機(jī)的設(shè)計。硬件設(shè)計主要是對發(fā)動機(jī)ECU診斷檢測設(shè)備的設(shè)計,主要以STM32F405VGT6為主控芯片,外加相應(yīng)的功能模塊。軟件部分主要是在RS232工控機(jī)上用C#編寫的一款測試軟件。通過Kline線把檢測設(shè)備與檢測軟件連接起來,從而實(shí)現(xiàn)對ECU狀況的檢測。
該系統(tǒng)的設(shè)計關(guān)鍵點(diǎn)主要在于如何實(shí)現(xiàn)對各類輸入信號的模擬以及怎樣對ECU的輸出信號進(jìn)行采集。因此,需要綜合考慮ECU的硬件測試需求,并對ECU的信號進(jìn)行研究。最終,將需要檢測的ECU信號分為了兩類:數(shù)字信號和模擬信號[3]。系統(tǒng)的整體結(jié)構(gòu)主要由三層組成:上位機(jī)軟件、汽車發(fā)動機(jī)ECU診斷檢測設(shè)備以及待測ECU。上位機(jī)部分為RS232工控機(jī),在工控機(jī)上安裝一款具有檢測功能的測試軟件,這樣更加方便展示檢測的過程以及最終的結(jié)果。發(fā)動機(jī)ECU診斷檢測設(shè)備是以STM32F405VGT6為主控芯片,功能模塊包括數(shù)字量測試模塊、模擬量測試模塊、CAN通信模塊、RS232模塊、電源模塊等[4]。待測ECU通過A線束、K線束與汽車發(fā)動機(jī)ECU診斷檢測設(shè)備連接,汽車發(fā)動機(jī)ECU診斷檢測設(shè)備通過RS232通信接口和RS232轉(zhuǎn)Kline模塊與工控機(jī)進(jìn)行連接。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
在此系統(tǒng)的設(shè)計中,待測ECU與發(fā)動機(jī)ECU診斷檢測設(shè)備之間的通信采用的是CAN通信。系統(tǒng)中采用的CAN通信模塊是ISO4050,其工作電壓為3.3 V[5]。CAN收發(fā)器的電路設(shè)計如圖2所示。
圖2 CAN總線收發(fā)器
TL718轉(zhuǎn)換器主要針對于解決汽車通信問題,用于連接硬件設(shè)備和上位機(jī)。TL718轉(zhuǎn)換器在協(xié)議方面做了擴(kuò)充,可跟現(xiàn)在的極大部分汽車的各種控制模塊進(jìn)行診斷通信[6]。此系統(tǒng)中主要通過將主控板的K線接入OBDⅡ接口,再采用TL718轉(zhuǎn)換器接入上位機(jī),通過在工控機(jī)上對測試軟件進(jìn)行操作就可以實(shí)現(xiàn)對待測ECU的精準(zhǔn)檢測。
在對硬件部分進(jìn)行設(shè)計時,首先對主芯片進(jìn)行選擇,文中選擇的是STM32F405VGT6,然后對其最小系統(tǒng)進(jìn)行設(shè)計,再按照對信號的分類情況對檢測模塊進(jìn)行模塊化,接著設(shè)計相關(guān)的外圍模塊電路,如CAN通信模塊、RS232轉(zhuǎn)Kline模塊和RS232通信接口。圖3為硬件系統(tǒng)結(jié)構(gòu)。
圖3 硬件設(shè)計結(jié)構(gòu)圖
本文作者主要是針對ECU的數(shù)字量信號和模擬量信號進(jìn)行模擬設(shè)計,其中數(shù)字量信號主要包括低怠速開關(guān)信號、排氣制動開關(guān)信號、主剎車開關(guān)信號、T50啟動開關(guān)信號、診斷請求開關(guān)信號、T15開關(guān)信號和油中有水信號等,模擬量信號主要包括加速踏板信號、軌壓傳感器信號、機(jī)油壓力和溫度傳感器信號、冷卻水溫度傳感器信號等[7]。另外,模擬量信號中有一類信號是對溫度信號進(jìn)行模擬的,如燃油溫度信號、冷卻水溫度信號等。具體的電路設(shè)計見下面的介紹。
以低怠速開關(guān)信號為例,圖4為低怠速開關(guān)信號的電路設(shè)計。該電路的設(shè)計原理為繼電器原理[8]。利用繼電器的開關(guān)來控制信號,當(dāng)繼電器接通時,K5開關(guān)將和5腳接通,否則會接6腳。同樣的,排氣制動開關(guān)信號等也是根據(jù)這個原理設(shè)計的。
圖4 低怠速開關(guān)信號電路
以加速踏板信號為例,圖5為加速踏板信號的電路設(shè)計部分。首先在TIM2CH4一端輸入脈沖信號,然后通過濾波電路、跟隨電路、放大電路后得到加速踏板的模擬量信號[9]。軌壓傳感器信號等的設(shè)計原理同理。
圖5 加速踏板電路
以進(jìn)氣溫度傳感器信號為例,圖6為進(jìn)氣溫度的電路設(shè)計部分。此系統(tǒng)采用74HC4051八路電阻芯片來進(jìn)行溫度的模擬[10]。不同的電阻值表示不同的溫度值,因此電阻值的改變可以模擬溫度值的變化。冷卻水溫度等信號的電路設(shè)計同理。
圖6 進(jìn)氣溫度電路
此系統(tǒng)的上位機(jī)軟件是在RS232工控機(jī)上用C#開發(fā)的一款測試軟件,可以實(shí)現(xiàn)對檢測過程的展示過程和對數(shù)據(jù)的存儲。圖7所示為上位機(jī)的程序流程圖,可以看出此系統(tǒng)首先對通信進(jìn)行測試,其中包括CAN線和Kline線的檢測,當(dāng)測試通過之后開始進(jìn)行模擬量的測試,若測試未通過則軟件界面會顯示failed;在對模擬量測試后若是測試通過則開始對數(shù)字量進(jìn)行檢測,若測試未通過則軟件界面顯示failed;在數(shù)字量測試通過后整個系統(tǒng)的測試結(jié)束,若數(shù)字量測試通過則整個系統(tǒng)的檢測結(jié)果為通過,否則軟件界面顯示failed。
圖7 上位機(jī)測試流程
圖8所示為整體系統(tǒng)的實(shí)物圖,可以看出:待測的ECU通過A端子線束和K端子線束和汽車發(fā)動機(jī)ECU診斷檢測設(shè)備進(jìn)行連接,汽車發(fā)動機(jī)ECU診斷檢測設(shè)備與LED連接,并且通過RS232通信接口和Kline轉(zhuǎn)232模塊與工控機(jī)連接。為該系統(tǒng)設(shè)計了一個特殊的箱子,將發(fā)動機(jī)ECU診斷檢測設(shè)備和工控機(jī)合理地放置在箱子內(nèi),同時,該箱子可以放置線束等,可以實(shí)現(xiàn)便捷攜帶。
圖8 系統(tǒng)的整體實(shí)物
在對檢測結(jié)果進(jìn)行驗證時,首先用此檢測系統(tǒng)對待測的ECU進(jìn)行檢測,ECU硬件測試系統(tǒng)的測試過程如圖9所示,該系統(tǒng)會依次對各個模塊進(jìn)行檢測并給出具體的檢測結(jié)果,最終的檢測結(jié)果界面如圖10所示,系統(tǒng)會給出failed和pass兩種結(jié)果。然后再對每個ECU進(jìn)行人工復(fù)檢,再將兩次的檢測結(jié)果進(jìn)行對比。大量的測試證明:此系統(tǒng)可以很好地實(shí)現(xiàn)對ECU的診斷檢測。因此可以證明該汽車發(fā)動機(jī)診斷檢測系統(tǒng)的工作性能良好,系統(tǒng)的整體設(shè)計較為合理,結(jié)果可靠。
圖9 系統(tǒng)的測試過程
圖10 系統(tǒng)的測試結(jié)果
此系統(tǒng)已經(jīng)實(shí)際應(yīng)用于ECU生產(chǎn)測試中。試驗和使用表明:該汽車發(fā)動機(jī)ECU診斷檢測系統(tǒng)能夠有效地完成對ECU的工作性能和可使用性的評價,試驗結(jié)果準(zhǔn)確可靠,可以很好地應(yīng)用于ECU的生產(chǎn)過程,降低測試人員工作強(qiáng)度的同時又增加了測試結(jié)果的準(zhǔn)確性。