朱東南
(1.江蘇聯(lián)合職業(yè)技術(shù)學院南京分院,南京 210019;2.南京高等職業(yè)技術(shù)學校,南京 210019)
汽車網(wǎng)關(guān)控制器作為不同網(wǎng)絡間信息傳遞的樞紐,可以接收來自不同CAN(Controller Area Network)總線和LIN(Local Interconnect Network)總線的信號,能實現(xiàn)不同網(wǎng)絡之間數(shù)據(jù)、信號直接路由功能,也可以完成將接收信號加工處理后再轉(zhuǎn)發(fā)的任務[1]。網(wǎng)關(guān)控制器還具備一些應用功能,如能夠?qū)崿F(xiàn)多路模擬信號和多路數(shù)字信號的采集,并根據(jù)某些條件實現(xiàn)外部高端輸出控制。
系統(tǒng)設(shè)計思想:本網(wǎng)關(guān)控制系統(tǒng)具有5路數(shù)字信號輸入,5路模擬信號輸入,5路高端驅(qū)動輸出,3路高速CAN總線和2路LIN總線組成。其中CAN1為動力CAN總線,波特率為500Kbps,CAN2為車身CAN總線,波特率為250Kbps,CAN3為診斷CAN總線,波特率為500Kbps,LIN1的波特率為19200bps,LIN2的波特率為19200bps。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,其主要有以下功能組成:
1)網(wǎng)絡報文和信號路由;
2)采集硬線信號并轉(zhuǎn)發(fā)到總線上;
3)軟件在線刷新;

圖1 系統(tǒng)總體結(jié)構(gòu)
4)支持診斷功能及數(shù)據(jù)管理;
5)高端輸出控制。
本系統(tǒng)采用汽車級飛思卡爾32位MPC5604微控制器作為中央處理芯片,MPC56XX系列微控制器采用了先進的交叉連接模塊,該模塊簡化了原來的系統(tǒng)架構(gòu),片上存儲器以及輸入輸出外設(shè)資源,而其有高速的e200z0處理核、eDMA模塊、外部總線控制器、豐富的外圍模塊(FLEXCAN、SCI、DSPI、I2C、ADC等),使其功能和性能更加強大,由于其擁有6路CAN控制模塊,所以在汽車網(wǎng)絡總線設(shè)計方面應用的很廣泛[2,3]。本系統(tǒng)主要元器件選型如表1所示。
系統(tǒng)電源電路如圖2所示,其中KL30為電瓶正極12V的電壓輸入,KL31為電瓶的負極GND。電源芯片采用為英飛凌TLE4278G芯片,輸出VDD為5V電壓,該芯片自帶外部看門狗,需要MCU定時喂狗操作,否則芯片輸出復位信號,使MCU進行復位操作[4]。
CAN總線收發(fā)器電路設(shè)計如圖3所示,采用的芯片為NXP的TJA1042T,該芯片為高速CAN收發(fā)器芯片,最高可支持1Mbit/s速度,且具有更強的EMC(electromagnetic compatibility)和ESD(electrostatic discharge)性能[5]。
LIN總線收發(fā)器電路如圖4所示,采用的芯片為NXP的TJA1020T,最高可支持20Kbit/s速度,且具有很低的EME(electromagnetic emission)性能指標和很強的EMI(electromagnetic interference)性能以及很強的抗干擾能力[6]。
高端驅(qū)動控制電路如圖5所示,本系統(tǒng)采用的芯片為英飛凌的TLE7234,該芯片具有4路高端驅(qū)動控制、2路低端驅(qū)動控制、還有2路可配置的高低端控制,其與MCU間通訊方式為SPI通訊,且通過SPI通訊可讀出每路的故障診斷信息,本系統(tǒng)設(shè)計為5路高端驅(qū)動輸出。
OSEK(open systems and the corresponding interfaces for automotive electronics)是一款被廣泛用于汽車電子領(lǐng)域的操作系統(tǒng),其穩(wěn)定高效的特點,給汽車電子領(lǐng)域的軟件開發(fā)設(shè)計工作帶來了很大便捷。其又是一種汽車電子類開放系統(tǒng),有對應的接口標準。該系統(tǒng)由四個部分組成,包括:實時的操作系統(tǒng)(OSEK OS)、通信子系統(tǒng)(OSEK COM)、網(wǎng)絡管理系統(tǒng)(OSEK NM)和OSEK實現(xiàn)語言(OIL)。

圖2 系統(tǒng)電源電路

圖3 CAN總線收發(fā)器電路


OSEK規(guī)范為實現(xiàn)其制定的初衷并滿足汽車控制領(lǐng)域?qū)ο到y(tǒng)安全性和節(jié)省有限資源的特殊要求,制定了系統(tǒng)而全面的操作系統(tǒng)規(guī)范。其特點主要有以下七個方面。
由于越來越多的微處理器被應用到汽車控制領(lǐng)域,如汽車剎車的防抱死系統(tǒng)、動力設(shè)備的安全控制等。這些系統(tǒng)直接關(guān)系著人的生命安全,即出現(xiàn)絲毫的差錯也會導致危及生命安全的嚴重后果,因此要求操作系統(tǒng)具有嚴格的實時性。OSEK操作系統(tǒng)通過靜態(tài)的系統(tǒng)配置、占先式調(diào)度策略、提供警報機制和優(yōu)化系統(tǒng)運行機制以提高中斷響應速度等手段來滿足用戶的實時需求。
OSEK規(guī)范[7]詳細規(guī)定了操作系統(tǒng)運行的各種機制,并在這些機制基礎(chǔ)上制定了標準的應用程序編程接口,使那些獨立編寫的代碼能夠很容易地整合起來,增強了應用程序的可移植性。
為了適用于廣泛的目標處理器,支持運行在廣泛硬件基礎(chǔ)上的實時程序,OSEK操作系統(tǒng)具備高度模塊化和可靈活配置的特性[8,9]。
本網(wǎng)關(guān)軟件系統(tǒng)是基于OSEK標準的實時操作系統(tǒng),其實時性、可移植性、高效性極大地提高了項目開發(fā)的效率。網(wǎng)關(guān)軟件系統(tǒng)包含了滿足OSEK標準的操作系統(tǒng)、CAN/LIN通訊模塊、網(wǎng)關(guān)的休眠喚醒模塊、應用功能模塊、診斷和刷新模塊。
網(wǎng)關(guān)總體軟件架構(gòu)如圖6所示,本系統(tǒng)采用Mentor Graphics公司的Volcano通訊基礎(chǔ)軟件,實現(xiàn)CAN/LIN總線通訊及診斷刷新功能[10]。網(wǎng)關(guān)OS系統(tǒng)周期性的調(diào)用5ms、10ms、50ms的任務,實現(xiàn)整個軟件系統(tǒng)功能。軟件底層的驅(qū)動模塊包含CAN/LIN的COM模塊、DSPI通訊模塊、EEPROM的驅(qū)動模塊(EED)、高低端驅(qū)動模塊(HLSD)、模擬信號采集模塊(ADC)、數(shù)字信號采集模塊(DIO)。為了應用層能夠方便的調(diào)用底層驅(qū)動模塊,軟件設(shè)計時,根據(jù)每個驅(qū)動模塊,相應的設(shè)計了接口層模塊,如EED模塊的接口層模塊為EEH模塊、ADC模塊的接口層模塊為ADH模塊。

圖6 總體軟件架構(gòu)
關(guān)于網(wǎng)關(guān)休眠喚醒策略狀態(tài)轉(zhuǎn)換如圖7所示,網(wǎng)關(guān)根據(jù)硬線喚醒信號和CAN總線網(wǎng)絡喚醒信號來決定網(wǎng)關(guān)的休眠和喚醒。根據(jù)網(wǎng)關(guān)的休眠喚醒狀態(tài),進而管理CAN、LIN總線的通信狀態(tài)和各路高端驅(qū)動的控制狀態(tài)。

圖7 網(wǎng)關(guān)休眠喚醒狀態(tài)轉(zhuǎn)換圖
隨著電子控制單元在汽車中的應用越來越來廣泛,在各汽車電子控制系統(tǒng)中,都需要帶有故障自診斷功能,即汽車故障自診斷系統(tǒng),該功能包括故障檢測、故障碼記錄、強制輸入輸出功能、軟件刷新功能等[11,12]。本網(wǎng)關(guān)系統(tǒng)本身具有自診斷功能,外部Tester可以通過CAN3總線對網(wǎng)關(guān)進行故障診斷及軟件刷新。同時通過CAN1/CAN2總線接入網(wǎng)關(guān)系統(tǒng)的其他ECU單元,也可以通過網(wǎng)關(guān)實現(xiàn)故障診斷及軟件刷新功能,診斷測試框架如圖8所示。本網(wǎng)關(guān)控制系統(tǒng)采用的是基于CAN總線的統(tǒng)一診斷服務(UDS),網(wǎng)關(guān)診斷功能的實現(xiàn)符合ISO 15765、ISO14229等國際診斷標準。

圖8 診斷測試框架
網(wǎng)關(guān)通訊測試數(shù)據(jù)如圖9所示,通過軟件集成,編譯、調(diào)試,最后在硬件平臺上測試,達到了初始設(shè)計目的,能夠?qū)崿F(xiàn)不同總線上信號路由功能、采集硬線信號并轉(zhuǎn)成網(wǎng)絡信號功能、故障診斷功能、在線刷新功能等。并通過專業(yè)的總線測試工具,測試了CAN/LIN通訊,網(wǎng)關(guān)接收CAN1上EM(發(fā)動機管理單元)節(jié)點信號,再將其路由到CAN2網(wǎng)絡上,CAN2上對應的信號為EnSpdHSC3(值為1378)。本系統(tǒng)可以成功的實現(xiàn)信號報文的路由轉(zhuǎn)發(fā)功能。

圖9 通訊測試數(shù)據(jù)
目前國內(nèi)自主品牌汽車廠商在引進國外成熟平臺后進行二次設(shè)計開發(fā)時,需要融入自身的設(shè)計理念,如增加一些功能(ECU網(wǎng)絡節(jié)點),此時就需要網(wǎng)關(guān)作為網(wǎng)絡橋梁實現(xiàn)新增節(jié)點與原網(wǎng)絡間的信號路由功能。本網(wǎng)關(guān)系統(tǒng)硬件設(shè)計采用主流的汽車級芯片和應用成熟的電路;軟件設(shè)計是基于OSEK的軟件架構(gòu),可以很好的解決新增網(wǎng)絡節(jié)點與原網(wǎng)絡間的網(wǎng)絡通訊問題,縮短整車開發(fā)時間,避免所有網(wǎng)絡重新規(guī)劃設(shè)計,降低開發(fā)成本。通過實車的功能驗證,本系統(tǒng)已經(jīng)具有商業(yè)化的價值。
[1]唐凱.基于MPC5668G多功能車載網(wǎng)關(guān)的設(shè)計與實現(xiàn)[D].杭州:浙江大學,2013.
[2]司建玉,吳光強.基于32位微控制器MPC5604的雙離合器自動變速器控制系統(tǒng)[J].汽車技術(shù),2012,438(3):13-17.
[3]Freescale Semiconductor.MPC5604B/C Microcontroller Reference Manual[EB/OL].(2012-05-15).http://www.freescale.com.
[4]鄧英英.基于LIN總線的汽車車燈控制系統(tǒng)研究[D].北京:中國農(nóng)業(yè)大學,2006.
[5]丁茜.深海傳感器搭載平臺CAN總線系統(tǒng)的設(shè)計與實現(xiàn)[D].青島:中國海洋大學,2013.
[6]陳舒.電動汽車LIN總線車身網(wǎng)絡高層協(xié)議研究[D].杭州:浙江大學,2005.
[7]OSEK/VDX Group.OSEK/VDX operating system[EB/OL].(2004-07-05).http://www.osek-vdx.org.
[8]張寶民,孫曉民.基于OSEK規(guī)范的嵌入式實時操作系統(tǒng)研究[J].計算機應用研究,2004,21(04):32-35.
[9]李銀國,葉家盛,蔣建春.OSEK/VDX OS服務調(diào)用的規(guī)范一致性檢測方法[J].重慶郵電大學學報(自然科學版),2010,22(06):786-790.
[10]王亮.基于CAN/LIN總線的汽車車身控制模塊設(shè)計[D].長沙:湖南大學,2011.
[11]吳廣.汽車故障診斷系統(tǒng)研究[D].長春:吉林大學,2009.
[12]陳艷.汽車故障系統(tǒng)中實時顯示及ECU模塊的關(guān)鍵技術(shù)研究[D].成都:成都理工大學,2013.