吳 昊 李一鳴 付成偉 韓 煒
(吉林大學(xué) 物理學(xué)院)
發(fā)動(dòng)機(jī)電子控制單元(ECU)是以單片機(jī)為主要核心部件的嵌入式系統(tǒng),是對(duì)汽車發(fā)動(dòng)機(jī)各部分進(jìn)行精確控制的系統(tǒng)。發(fā)動(dòng)機(jī)電子控制單元功能的診斷測(cè)試是發(fā)動(dòng)機(jī)電控單元開(kāi)發(fā)階段的核心工作內(nèi)容,是保證電控單元可靠性與穩(wěn)定性的基礎(chǔ)[1]。因此,發(fā)動(dòng)機(jī)電控單元功能測(cè)試的可靠性和測(cè)試過(guò)程的效率直接影響著發(fā)動(dòng)機(jī)電子控制單元的開(kāi)發(fā)周期及應(yīng)用。
本文根據(jù)工程開(kāi)發(fā)測(cè)試需要,設(shè)計(jì)了一套完整的發(fā)動(dòng)機(jī)ECU自動(dòng)測(cè)試系統(tǒng)。該測(cè)試技術(shù)具有測(cè)試數(shù)據(jù)的自動(dòng)保存和分析功能,并能按照預(yù)先設(shè)置的測(cè)試標(biāo)準(zhǔn)進(jìn)行故障診斷和顯示報(bào)警。該系統(tǒng)采用SCPI(可編程儀器標(biāo)準(zhǔn)命令集)實(shí)現(xiàn)各儀器設(shè)備的自動(dòng)控制和數(shù)據(jù)傳輸,對(duì)發(fā)動(dòng)機(jī)ECU上所有接收的傳感器信號(hào)進(jìn)行模擬,以檢測(cè)ECU接收和處理信號(hào)的準(zhǔn)確性。需要模擬的傳感器信號(hào)包括模擬量信號(hào)、開(kāi)關(guān)量信號(hào)、PWM量信號(hào)、正弦波量信號(hào)、低端驅(qū)動(dòng)信號(hào)、點(diǎn)火線圈信號(hào)、噴油執(zhí)行器信號(hào),并通過(guò)上位機(jī)對(duì)所測(cè)信號(hào)的數(shù)據(jù)進(jìn)行處理與分析。
該發(fā)動(dòng)機(jī)ECU自動(dòng)測(cè)試系統(tǒng)以Agilent(安捷倫)測(cè)控設(shè)備為硬件主體,以某汽車六缸發(fā)動(dòng)機(jī)ECU為測(cè)試樣本,其硬件結(jié)構(gòu)如圖1所示。
根據(jù)需要測(cè)試信號(hào)的種類,硬件部分主體構(gòu)建了兩類測(cè)試單元,即輸入信號(hào)測(cè)試單元和輸出負(fù)載驅(qū)動(dòng)測(cè)試單元。在通信部分,上位機(jī)與測(cè)控設(shè)備的通信采用局域網(wǎng) (LAN),網(wǎng)絡(luò)協(xié)議采用TCP/IP協(xié)議,硬件各部分分別用網(wǎng)線和CAN線連接,ECU與上位機(jī)的通信采用USB-CAN通信。
表1 測(cè)試系統(tǒng)所用Aglient設(shè)備功能
該測(cè)試系統(tǒng)所用Aglient設(shè)備型號(hào)及功能見(jiàn)表1。
輸入信號(hào)測(cè)試單元即通過(guò)測(cè)控設(shè)備模擬車輛上傳感器信號(hào)并發(fā)送至ECU,使其進(jìn)行數(shù)據(jù)處理并傳送到上位機(jī)。根據(jù)不同傳感器信號(hào)量型,采用不同的測(cè)控模塊向ECU發(fā)送信號(hào)。該測(cè)試系統(tǒng)根據(jù)ECU的測(cè)試需求將輸入信號(hào)測(cè)試單元分為模擬量信號(hào)測(cè)試、開(kāi)關(guān)量信號(hào)測(cè)試、PWM量信號(hào)測(cè)試和正弦波量信號(hào)測(cè)試等4個(gè)部分。
模擬量信號(hào)測(cè)試電路需要數(shù)模轉(zhuǎn)換模塊(34592A)和開(kāi)關(guān)矩陣(34932A)配合向 ECU發(fā)送模擬量信號(hào),該測(cè)試系統(tǒng)對(duì)模擬量(AD)信號(hào)的電子節(jié)氣門位置傳感器信號(hào)、燃油軌壓傳感器信號(hào)等18路傳感器信號(hào)進(jìn)行模擬,模擬量信號(hào)的主要特點(diǎn)為緩變直流電壓信號(hào),其幅值范圍為0~5 V,具有5 mA的電流負(fù)載能力。如圖2所示,18路模擬量信號(hào)由34592A的D/A模塊供給,上位機(jī)向34592A發(fā)送SCPI指令使其工作,并通過(guò)SCPI指令對(duì)34932A矩陣開(kāi)關(guān)切換實(shí)現(xiàn)18路模擬信號(hào)量的輸入。因?yàn)槟M量信號(hào)經(jīng)過(guò)長(zhǎng)距離信號(hào)線傳輸后,可能在ECU接收端存在信號(hào)的衰弱和振蕩干擾,所以將34932A接出的信號(hào)線統(tǒng)一接入所設(shè)計(jì)的集成線路板卡上,以減少信號(hào)間的相互干擾,并在ECU接收端加入濾波電路和上拉電阻以保證信號(hào)的穩(wěn)定和不失真。
開(kāi)關(guān)量信號(hào)測(cè)試電路的連接方式與模擬量的基本相同,需要電源模塊(N6700B)和開(kāi)關(guān)矩陣模塊(34932A)配合向ECU發(fā)送高低電平的開(kāi)關(guān)量模擬信號(hào)。該測(cè)試系統(tǒng)對(duì)輔助制動(dòng)開(kāi)關(guān)、空擋開(kāi)關(guān)、空調(diào)開(kāi)關(guān)等17路開(kāi)關(guān)量信號(hào)進(jìn)行模擬,由N6700B供電,上位機(jī)使用SCPI指令對(duì)34932A每個(gè)矩陣開(kāi)關(guān)進(jìn)行定義,對(duì)應(yīng)連接到發(fā)動(dòng)機(jī)待測(cè)引腳,構(gòu)成測(cè)試電路。
PWM量信號(hào)和正弦波量信號(hào)測(cè)試連接方式與模擬量和開(kāi)關(guān)量的連接方式基本相同,測(cè)試電路需要通過(guò)信號(hào)發(fā)生器模塊(33220A)和開(kāi)關(guān)矩陣模塊(34592A)配合向ECU發(fā)送PWM量信號(hào)和正弦波量信號(hào)。該測(cè)試系統(tǒng)對(duì)3路PWM量信號(hào)和2路SIN量信號(hào)進(jìn)行信號(hào)模擬。PWM量信號(hào)包含廢氣旁通閥傳感器信號(hào)、氧傳感器的加熱控制傳感器信號(hào)、電子節(jié)氣門的電機(jī)驅(qū)動(dòng)端信號(hào);正弦波量信號(hào)包含曲軸傳感器中的霍爾傳感器信號(hào)和電磁傳感器信號(hào),通過(guò)USB-CAN將數(shù)據(jù)傳送到上位機(jī)。上位機(jī)發(fā)送SCPI指令使33220A的輸出端產(chǎn)生PWM波形和正弦波波形,并按照PWM量信號(hào)和正弦波量信號(hào)的需求協(xié)議定義34592A的公共端各矩陣開(kāi)關(guān)的意義,對(duì)應(yīng)連接到ECU各待測(cè)引腳,構(gòu)成PWM量和正弦波量的測(cè)試電路。
輸出負(fù)載驅(qū)動(dòng)測(cè)試單元通過(guò)測(cè)控設(shè)備發(fā)送指令給ECU,ECU發(fā)送驅(qū)動(dòng)信號(hào)給汽車發(fā)動(dòng)機(jī)各執(zhí)行單元,并對(duì)ECU的數(shù)據(jù)采集和信號(hào)處理能力進(jìn)行測(cè)試。該測(cè)試系統(tǒng)將間接測(cè)試單元分為噴油執(zhí)行器測(cè)試、點(diǎn)火線圈測(cè)試、低端驅(qū)動(dòng)測(cè)試等3個(gè)部分。
噴油執(zhí)行器測(cè)試需要電源模塊、車用繼電器以及實(shí)際的發(fā)動(dòng)機(jī)噴油嘴。噴油執(zhí)行器信號(hào)的測(cè)試是指噴油執(zhí)行器在接收到噴油指令后,從開(kāi)始執(zhí)行噴油到一次噴油結(jié)束時(shí)流經(jīng)噴油執(zhí)行器2個(gè)引腳間的電流變化,其幅值在10 A以下,噴油嘴的噴油頻率因汽車工況不同而各異。噴油執(zhí)行器波形信號(hào)的測(cè)試包括噴油波形上升時(shí)間 (即加在噴油執(zhí)行器兩端的電壓上沖時(shí)間)、電壓上沖峰值、噴油持續(xù)時(shí)間(噴油維持在一個(gè)穩(wěn)定值的時(shí)間)、整體噴油時(shí)間等幾部分。該測(cè)試系統(tǒng)利用34938A切換不同氣缸的噴油信號(hào)。引腳通過(guò)MSO6014配合有源電流鉗來(lái)獲取噴油波形,實(shí)現(xiàn)自動(dòng)測(cè)試,并由繼電器和開(kāi)關(guān)矩陣模塊(34938A)負(fù)責(zé)控制噴油執(zhí)行器的關(guān)斷與導(dǎo)通,ECU連接到繼電器高壓工作電路端采集噴油嘴的電流。電流鉗連接到點(diǎn)火線圈外部,連接示波器監(jiān)測(cè)噴油嘴波形(正常時(shí)六缸噴油時(shí)刻不重疊,即可采集到每一路的噴油執(zhí)行器波形)。噴油執(zhí)行器信號(hào)電路設(shè)計(jì)見(jiàn)圖3。
點(diǎn)火線圈電流測(cè)試電路與噴油執(zhí)行器電流的測(cè)試電路設(shè)計(jì)基本相同,僅在負(fù)載端將噴油執(zhí)行器改為點(diǎn)火線圈,連接方式完全相同。
低端驅(qū)動(dòng)信號(hào)測(cè)試的電路連接由測(cè)控設(shè)備的電源模塊提供驅(qū)動(dòng)電壓,ECU在發(fā)出執(zhí)行低端驅(qū)動(dòng)指令后,將測(cè)控設(shè)備的數(shù)字I/O模塊管腳分別定義為各低端驅(qū)動(dòng)信號(hào),負(fù)載(本設(shè)計(jì)采用繼電器作為負(fù)載)特定引腳被拉低,這時(shí)外部負(fù)載開(kāi)始工作,測(cè)量負(fù)載兩端電位差,并將測(cè)量結(jié)果反饋給測(cè)試系統(tǒng)。
該測(cè)試系統(tǒng)將輸入信號(hào)測(cè)試單元所有的外部電路,以及輸出負(fù)載驅(qū)動(dòng)測(cè)試單元所用的噴油執(zhí)行器連接端、點(diǎn)火線圈連接端、車用繼電器全部集成到一個(gè)電路板上,通過(guò)電子產(chǎn)品開(kāi)發(fā)系統(tǒng)軟件(Altium Designer)對(duì)電路進(jìn)行設(shè)計(jì),最終制成如圖4所示的集成電路板卡,可將信號(hào)之間的干擾降到最低。此方案節(jié)省了測(cè)試系統(tǒng)硬件設(shè)備的擺放空間,并且便于組裝和檢修,提高了測(cè)試效率。
該發(fā)動(dòng)機(jī)ECU測(cè)試系統(tǒng)開(kāi)發(fā)平臺(tái)采用可視化集成編程系統(tǒng) (Visual C++6.0)和夢(mèng)想編織者(Dreamwaver)兩款軟件聯(lián)合編寫?;赩isual C++6.0的應(yīng)用程序框架 MFC (Microsoft Foundation Class Library),使用 Visual C++6.0自帶的控件Microsoft Web作為與Dreamwaver連接的紐帶,共同完成測(cè)試系統(tǒng)開(kāi)發(fā)平臺(tái)。
設(shè)計(jì)選用Dreamwaver制作上位機(jī)操作界面,它能非常容易地制作出跨越平臺(tái)限制且充滿動(dòng)感的可視化界面,其采用JavaScript腳本語(yǔ)言進(jìn)行編程,比圖形化編輯語(yǔ)言(Labview)更易讀寫和操作,軟件系統(tǒng)后期的可維護(hù)性更高;Visual C++6.0用來(lái)編寫測(cè)試系統(tǒng)的底層部分,負(fù)責(zé)發(fā)送和接收SCPI指令,接收ECU發(fā)送的CAN數(shù)據(jù),并通過(guò)接口函數(shù)(HTML語(yǔ)言)向Dreamwaver的界面及時(shí)返回?cái)?shù)據(jù),保證上位機(jī)實(shí)時(shí)檢測(cè)到各測(cè)控設(shè)備及ECU的工作情況。
該測(cè)試系統(tǒng)需要建立一套發(fā)動(dòng)機(jī)ECU測(cè)試數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)包含上位機(jī)向測(cè)控設(shè)備發(fā)送的SCPI指令和ECU標(biāo)準(zhǔn)返回值兩部分。由于SCPI指令系統(tǒng)龐大,為了便于調(diào)用,減少測(cè)試時(shí)間,將SCPI指令統(tǒng)一存入數(shù)據(jù)庫(kù);為判斷測(cè)試的ECU是否符合行車標(biāo)準(zhǔn),必須對(duì)ECU標(biāo)準(zhǔn)處理數(shù)據(jù)和測(cè)試中的ECU返回?cái)?shù)據(jù)進(jìn)行對(duì)比。數(shù)據(jù)庫(kù)采用XML文件的存儲(chǔ)方式。XML是一種元數(shù)據(jù)語(yǔ)言,它提供了一種描述數(shù)據(jù)的格式[2]。相比Access、Oracle和SQL Server等數(shù)據(jù)庫(kù),XML具有更強(qiáng)的數(shù)據(jù)存儲(chǔ)和分析能力以及極為嚴(yán)謹(jǐn)?shù)母袷?,便于?shù)據(jù)的索引和查找。
測(cè)試時(shí),首先由上位機(jī)向測(cè)控設(shè)備發(fā)送SCPI控制指令,測(cè)控設(shè)備接收到SCPI控制指令后向測(cè)試單元ECU發(fā)送模擬信號(hào),ECU采集到測(cè)試信號(hào)后向上位機(jī)發(fā)送CAN數(shù)據(jù),由上位機(jī)對(duì)CAN數(shù)據(jù)進(jìn)行處理和分析。主程序流程如圖5所示。
啟動(dòng)上位機(jī)軟件后,需要通過(guò)TCP/IP協(xié)議向測(cè)控設(shè)備發(fā)送信號(hào),以確定各測(cè)控設(shè)備是否處于工作狀態(tài),以便進(jìn)行下一步的測(cè)試。將儲(chǔ)存在XML數(shù)據(jù)庫(kù)里的測(cè)試信號(hào)指令調(diào)出,顯示在上位機(jī)界面,并通過(guò)TCP/IP發(fā)送到相應(yīng)的測(cè)控設(shè)備,測(cè)控設(shè)備會(huì)根據(jù)SCPI指令進(jìn)行相應(yīng)的動(dòng)作。為避免連續(xù)發(fā)送指令,導(dǎo)致測(cè)控設(shè)備接收數(shù)據(jù)時(shí)指令丟失,程序在傳輸相鄰的2個(gè)SCPI指令之間會(huì)進(jìn)行100 ms的延時(shí)。SCIP指令發(fā)送完畢后,上位機(jī)軟件將XML數(shù)據(jù)庫(kù)里的正確數(shù)值與CAN返回的數(shù)據(jù)進(jìn)行對(duì)比處理,檢測(cè)出的錯(cuò)誤信號(hào)顯示在上位機(jī)界面并與正確的數(shù)值一起保存,至此測(cè)試結(jié)束。
該測(cè)試系統(tǒng)的核心程序包括SCPI指令和接口函數(shù),SCPI指令控制相應(yīng)的測(cè)控設(shè)備;接口函數(shù)作為Visual C++6.0與Dreamwaver的連接橋梁進(jìn)行數(shù)據(jù)傳遞。
a.SCPI指令用于控制測(cè)控設(shè)備的運(yùn)行。以開(kāi)關(guān)量信號(hào)(SW)中的輔助信號(hào)的測(cè)試為例,使開(kāi)關(guān)矩陣動(dòng)作的SCPI指令如下:
VOLT2.400000E+1,(@1,2,3,4);:CURR3.000000E+0,(@1,2,3,4);:CURR:PROT:STAT1,(@1,2,3,4);:OUTP ON,(@1,2,3,4)//控制N6700B的四個(gè)電源模塊輸出24 V直流電壓,保護(hù)電流為3 A;
VOLT0.000000E+1,(@1,2,3,4);:CURR3.000000E+0,(@1,2,3,4);:CURR:PROT:STAT1,(@1,2,3,4);:OUTP ON,(@1,2,3,4)//控制N6700B的四個(gè)電源模塊輸出0 V直流電壓,保護(hù)電流為3 A;
ROUT:OPEN (@2001)//34932A的第二模塊的第一路雙擲開(kāi)關(guān)動(dòng)作斷開(kāi)。
b. 接口函數(shù)負(fù)責(zé)連接Dreamwaver和Visual C++兩款軟件,通過(guò)接口函數(shù)將ECU返回的數(shù)據(jù)從Visual C++傳送到 Dreamwaver,Dreamwaver負(fù)責(zé)數(shù)據(jù)處理和顯示,具體程序如下。
Visual C++: //實(shí)現(xiàn)接口的傳輸
{
CString iArg1=pDispParams->rgvarg[1].bstrVal;
CString iArg2=pDispParams->rgvarg[0].bstrVal;
CString sss=pDlg->scpi2(iArg1,iArg2);
BSTR bstr=sss.AllocSysString();
VariantInit(pVarResult);
V_VT(pVarResult)=VT_BSTR;
V_BSTR(pVarResult)=bstr;
}
Dreamwaver:functionSCPISendtwo (str1,str2)//定義接口函數(shù)
{
if(bIsCustomBrowser)
{//接收Visual C++的返回值
return window.external.CB_SCPISendtwo(str1,str2);
}
}
通過(guò)上述程序?qū)CPI指令由Visual C++環(huán)境上傳到Dreamwaver軟件中,實(shí)現(xiàn)兩款編程軟件的數(shù)據(jù)傳輸。兩款編程軟件的結(jié)合構(gòu)成自動(dòng)測(cè)試系統(tǒng)的軟件部分,其優(yōu)勢(shì)在于接口函數(shù)建立后,所有編程操作均可在Dreamwaver上進(jìn)行,Dreamwaver可根據(jù)測(cè)試需要實(shí)時(shí)改進(jìn)源代碼,縮短自動(dòng)測(cè)試系統(tǒng)的開(kāi)發(fā)時(shí)間。Dreamwaver測(cè)試界面如圖6所示。
由于測(cè)試系統(tǒng)需要在4種工況(25 km/h、50 km/h、75 km/h、100 km/h)下對(duì)55個(gè)傳感器信號(hào)進(jìn)行測(cè)試,所以數(shù)據(jù)量龐大,為此該試驗(yàn)在車速為50km/h的工況下,針對(duì)模擬量信號(hào)中的電子節(jié)氣門傳感器的返回?cái)?shù)據(jù)以及一號(hào)噴油嘴傳感器的返回?cái)?shù)據(jù)進(jìn)行分析。
在一個(gè)測(cè)試周期中測(cè)得的電子節(jié)氣門傳感器返回值如圖7所示,測(cè)試系統(tǒng)標(biāo)定的標(biāo)準(zhǔn)值為500,上、下限誤差極限為0.1。從圖7可看出,電子節(jié)氣門返回值全部大于標(biāo)準(zhǔn)值,但低于上限誤差極限,其中最小值為537,最大值為548。根據(jù)相對(duì)誤差計(jì)算公式(1)可計(jì)算出最小值的相對(duì)誤差為0.074,最大值的相對(duì)誤差為0.096,均在誤差允許范圍內(nèi),說(shuō)明該電子節(jié)氣門傳感器部分的測(cè)試全部符合測(cè)試標(biāo)準(zhǔn)。
式中,er(x*)為相對(duì)誤差;x*為標(biāo)準(zhǔn)值;x 為實(shí)際值。
在噴油執(zhí)行器的測(cè)試數(shù)據(jù)處理過(guò)程中,不僅需要對(duì)返回?cái)?shù)據(jù)進(jìn)行對(duì)比,還要對(duì)其電流波形進(jìn)行檢測(cè),以保證能檢測(cè)到電流動(dòng)態(tài)變化的過(guò)程。在1個(gè)測(cè)試周期中測(cè)得的噴油執(zhí)行器傳感器的返回值如圖8所示,測(cè)試系統(tǒng)標(biāo)定噴油執(zhí)行器的標(biāo)準(zhǔn)值為7.8,上、下限誤差極限為0.1。從圖8可看出,返回值在標(biāo)準(zhǔn)值的上、下限范圍內(nèi)浮動(dòng)。比較噴油執(zhí)行器的檢測(cè)標(biāo)準(zhǔn)值與返回值可知,返回?cái)?shù)據(jù)的最大值為7.96,最小值為7.63,根據(jù)式(1)計(jì)算得最大值相對(duì)誤差約為0.02,最小值相對(duì)誤差約為0.02,均小于允許誤差,說(shuō)明噴油執(zhí)行器返回?cái)?shù)據(jù)部分的測(cè)試全部符合測(cè)試標(biāo)準(zhǔn)。
由上位機(jī)采集的電流波形和示波器直接采集的電流波形分別如圖9和圖10所示,通過(guò)對(duì)比兩波型可看出,上位機(jī)采集的電流波形幅值及周期內(nèi)的振蕩頻率與示波器實(shí)際測(cè)量的波形基本相同,故可認(rèn)為發(fā)動(dòng)機(jī)ECU噴油執(zhí)行器符合測(cè)試要求。
所設(shè)計(jì)的測(cè)試系統(tǒng)將發(fā)動(dòng)機(jī)控制器繁雜的多信號(hào)檢測(cè)集成到一個(gè)自動(dòng)測(cè)試系統(tǒng)中,大大縮短了對(duì)ECU檢測(cè)的時(shí)間,并且可以進(jìn)行多次循環(huán)的耐久性試驗(yàn),便于查出ECU不同情況下存在的問(wèn)題,提高了ECU的測(cè)試效率。該測(cè)試系統(tǒng)可將檢測(cè)結(jié)果顯示在上位機(jī)上,實(shí)現(xiàn)了對(duì)動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè),能夠?qū)⑵嘐CU的性能較全面地提供給檢測(cè)人員,從而為汽車發(fā)動(dòng)機(jī)ECU的開(kāi)發(fā)提供技術(shù)支持。
1 劉洋,付成偉,等.SCPI與數(shù)據(jù)庫(kù)結(jié)合在ECU自動(dòng)測(cè)試系統(tǒng)中的應(yīng)用,2012(15):103~105.
2 代維,黨延忠.XML技術(shù)在辦公信息系統(tǒng)中的應(yīng)用,計(jì)算機(jī)應(yīng)用研究,2004(1):145~147.
3 范眾.基于虛擬儀器技術(shù)的汽車發(fā)動(dòng)機(jī)檢測(cè)分析儀的研究與開(kāi)發(fā).北京:北京理工大學(xué)出版社,2007.
4 韓偉,麻友良,等.汽油發(fā)動(dòng)機(jī)ECU性能檢測(cè)系統(tǒng),儀表技術(shù)與傳感器,2009(6):54~57.
5 譚晶星,陰曉峰,等.基于CAN總線的ECU監(jiān)測(cè)系統(tǒng),測(cè)控技術(shù),2013(7):94~99.
(責(zé)任編輯 文 楫)