朱東南
(1.江蘇聯(lián)合職業(yè)技術(shù)學(xué)院南京分院,南京 210019;2.南京高等職業(yè)技術(shù)學(xué)校,南京 210019)
汽車(chē)網(wǎng)關(guān)控制器作為不同網(wǎng)絡(luò)間信息傳遞的樞紐,可以接收來(lái)自不同CAN(Controller Area Network)總線(xiàn)和LIN(Local Interconnect Network)總線(xiàn)的信號(hào),能實(shí)現(xiàn)不同網(wǎng)絡(luò)之間數(shù)據(jù)、信號(hào)直接路由功能,也可以完成將接收信號(hào)加工處理后再轉(zhuǎn)發(fā)的任務(wù)[1]。網(wǎng)關(guān)控制器還具備一些應(yīng)用功能,如能夠?qū)崿F(xiàn)多路模擬信號(hào)和多路數(shù)字信號(hào)的采集,并根據(jù)某些條件實(shí)現(xiàn)外部高端輸出控制。
系統(tǒng)設(shè)計(jì)思想:本網(wǎng)關(guān)控制系統(tǒng)具有5路數(shù)字信號(hào)輸入,5路模擬信號(hào)輸入,5路高端驅(qū)動(dòng)輸出,3路高速CAN總線(xiàn)和2路LIN總線(xiàn)組成。其中CAN1為動(dòng)力CAN總線(xiàn),波特率為500Kbps,CAN2為車(chē)身CAN總線(xiàn),波特率為250Kbps,CAN3為診斷CAN總線(xiàn),波特率為500Kbps,LIN1的波特率為19200bps,LIN2的波特率為19200bps。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,其主要有以下功能組成:
1)網(wǎng)絡(luò)報(bào)文和信號(hào)路由;
2)采集硬線(xiàn)信號(hào)并轉(zhuǎn)發(fā)到總線(xiàn)上;
3)軟件在線(xiàn)刷新;
圖1 系統(tǒng)總體結(jié)構(gòu)
4)支持診斷功能及數(shù)據(jù)管理;
5)高端輸出控制。
本系統(tǒng)采用汽車(chē)級(jí)飛思卡爾32位MPC5604微控制器作為中央處理芯片,MPC56XX系列微控制器采用了先進(jìn)的交叉連接模塊,該模塊簡(jiǎn)化了原來(lái)的系統(tǒng)架構(gòu),片上存儲(chǔ)器以及輸入輸出外設(shè)資源,而其有高速的e200z0處理核、eDMA模塊、外部總線(xiàn)控制器、豐富的外圍模塊(FLEXCAN、SCI、DSPI、I2C、ADC等),使其功能和性能更加強(qiáng)大,由于其擁有6路CAN控制模塊,所以在汽車(chē)網(wǎng)絡(luò)總線(xiàn)設(shè)計(jì)方面應(yīng)用的很廣泛[2,3]。本系統(tǒng)主要元器件選型如表1所示。
系統(tǒng)電源電路如圖2所示,其中KL30為電瓶正極12V的電壓輸入,KL31為電瓶的負(fù)極GND。電源芯片采用為英飛凌TLE4278G芯片,輸出VDD為5V電壓,該芯片自帶外部看門(mén)狗,需要MCU定時(shí)喂狗操作,否則芯片輸出復(fù)位信號(hào),使MCU進(jìn)行復(fù)位操作[4]。
CAN總線(xiàn)收發(fā)器電路設(shè)計(jì)如圖3所示,采用的芯片為NXP的TJA1042T,該芯片為高速CAN收發(fā)器芯片,最高可支持1Mbit/s速度,且具有更強(qiáng)的EMC(electromagnetic compatibility)和ESD(electrostatic discharge)性能[5]。
LIN總線(xiàn)收發(fā)器電路如圖4所示,采用的芯片為NXP的TJA1020T,最高可支持20Kbit/s速度,且具有很低的EME(electromagnetic emission)性能指標(biāo)和很強(qiáng)的EMI(electromagnetic interference)性能以及很強(qiáng)的抗干擾能力[6]。
高端驅(qū)動(dòng)控制電路如圖5所示,本系統(tǒng)采用的芯片為英飛凌的TLE7234,該芯片具有4路高端驅(qū)動(dòng)控制、2路低端驅(qū)動(dòng)控制、還有2路可配置的高低端控制,其與MCU間通訊方式為SPI通訊,且通過(guò)SPI通訊可讀出每路的故障診斷信息,本系統(tǒng)設(shè)計(jì)為5路高端驅(qū)動(dòng)輸出。
OSEK(open systems and the corresponding interfaces for automotive electronics)是一款被廣泛用于汽車(chē)電子領(lǐng)域的操作系統(tǒng),其穩(wěn)定高效的特點(diǎn),給汽車(chē)電子領(lǐng)域的軟件開(kāi)發(fā)設(shè)計(jì)工作帶來(lái)了很大便捷。其又是一種汽車(chē)電子類(lèi)開(kāi)放系統(tǒng),有對(duì)應(yīng)的接口標(biāo)準(zhǔn)。該系統(tǒng)由四個(gè)部分組成,包括:實(shí)時(shí)的操作系統(tǒng)(OSEK OS)、通信子系統(tǒng)(OSEK COM)、網(wǎng)絡(luò)管理系統(tǒng)(OSEK NM)和OSEK實(shí)現(xiàn)語(yǔ)言(OIL)。
圖2 系統(tǒng)電源電路
圖3 CAN總線(xiàn)收發(fā)器電路
OSEK規(guī)范為實(shí)現(xiàn)其制定的初衷并滿(mǎn)足汽車(chē)控制領(lǐng)域?qū)ο到y(tǒng)安全性和節(jié)省有限資源的特殊要求,制定了系統(tǒng)而全面的操作系統(tǒng)規(guī)范。其特點(diǎn)主要有以下七個(gè)方面。
由于越來(lái)越多的微處理器被應(yīng)用到汽車(chē)控制領(lǐng)域,如汽車(chē)剎車(chē)的防抱死系統(tǒng)、動(dòng)力設(shè)備的安全控制等。這些系統(tǒng)直接關(guān)系著人的生命安全,即出現(xiàn)絲毫的差錯(cuò)也會(huì)導(dǎo)致危及生命安全的嚴(yán)重后果,因此要求操作系統(tǒng)具有嚴(yán)格的實(shí)時(shí)性。OSEK操作系統(tǒng)通過(guò)靜態(tài)的系統(tǒng)配置、占先式調(diào)度策略、提供警報(bào)機(jī)制和優(yōu)化系統(tǒng)運(yùn)行機(jī)制以提高中斷響應(yīng)速度等手段來(lái)滿(mǎn)足用戶(hù)的實(shí)時(shí)需求。
OSEK規(guī)范[7]詳細(xì)規(guī)定了操作系統(tǒng)運(yùn)行的各種機(jī)制,并在這些機(jī)制基礎(chǔ)上制定了標(biāo)準(zhǔn)的應(yīng)用程序編程接口,使那些獨(dú)立編寫(xiě)的代碼能夠很容易地整合起來(lái),增強(qiáng)了應(yīng)用程序的可移植性。
為了適用于廣泛的目標(biāo)處理器,支持運(yùn)行在廣泛硬件基礎(chǔ)上的實(shí)時(shí)程序,OSEK操作系統(tǒng)具備高度模塊化和可靈活配置的特性[8,9]。
本網(wǎng)關(guān)軟件系統(tǒng)是基于OSEK標(biāo)準(zhǔn)的實(shí)時(shí)操作系統(tǒng),其實(shí)時(shí)性、可移植性、高效性極大地提高了項(xiàng)目開(kāi)發(fā)的效率。網(wǎng)關(guān)軟件系統(tǒng)包含了滿(mǎn)足OSEK標(biāo)準(zhǔn)的操作系統(tǒng)、CAN/LIN通訊模塊、網(wǎng)關(guān)的休眠喚醒模塊、應(yīng)用功能模塊、診斷和刷新模塊。
網(wǎng)關(guān)總體軟件架構(gòu)如圖6所示,本系統(tǒng)采用Mentor Graphics公司的Volcano通訊基礎(chǔ)軟件,實(shí)現(xiàn)CAN/LIN總線(xiàn)通訊及診斷刷新功能[10]。網(wǎng)關(guān)OS系統(tǒng)周期性的調(diào)用5ms、10ms、50ms的任務(wù),實(shí)現(xiàn)整個(gè)軟件系統(tǒng)功能。軟件底層的驅(qū)動(dòng)模塊包含CAN/LIN的COM模塊、DSPI通訊模塊、EEPROM的驅(qū)動(dòng)模塊(EED)、高低端驅(qū)動(dòng)模塊(HLSD)、模擬信號(hào)采集模塊(ADC)、數(shù)字信號(hào)采集模塊(DIO)。為了應(yīng)用層能夠方便的調(diào)用底層驅(qū)動(dòng)模塊,軟件設(shè)計(jì)時(shí),根據(jù)每個(gè)驅(qū)動(dòng)模塊,相應(yīng)的設(shè)計(jì)了接口層模塊,如EED模塊的接口層模塊為EEH模塊、ADC模塊的接口層模塊為ADH模塊。
圖6 總體軟件架構(gòu)
關(guān)于網(wǎng)關(guān)休眠喚醒策略狀態(tài)轉(zhuǎn)換如圖7所示,網(wǎng)關(guān)根據(jù)硬線(xiàn)喚醒信號(hào)和CAN總線(xiàn)網(wǎng)絡(luò)喚醒信號(hào)來(lái)決定網(wǎng)關(guān)的休眠和喚醒。根據(jù)網(wǎng)關(guān)的休眠喚醒狀態(tài),進(jìn)而管理CAN、LIN總線(xiàn)的通信狀態(tài)和各路高端驅(qū)動(dòng)的控制狀態(tài)。
圖7 網(wǎng)關(guān)休眠喚醒狀態(tài)轉(zhuǎn)換圖
隨著電子控制單元在汽車(chē)中的應(yīng)用越來(lái)越來(lái)廣泛,在各汽車(chē)電子控制系統(tǒng)中,都需要帶有故障自診斷功能,即汽車(chē)故障自診斷系統(tǒng),該功能包括故障檢測(cè)、故障碼記錄、強(qiáng)制輸入輸出功能、軟件刷新功能等[11,12]。本網(wǎng)關(guān)系統(tǒng)本身具有自診斷功能,外部Tester可以通過(guò)CAN3總線(xiàn)對(duì)網(wǎng)關(guān)進(jìn)行故障診斷及軟件刷新。同時(shí)通過(guò)CAN1/CAN2總線(xiàn)接入網(wǎng)關(guān)系統(tǒng)的其他ECU單元,也可以通過(guò)網(wǎng)關(guān)實(shí)現(xiàn)故障診斷及軟件刷新功能,診斷測(cè)試框架如圖8所示。本網(wǎng)關(guān)控制系統(tǒng)采用的是基于CAN總線(xiàn)的統(tǒng)一診斷服務(wù)(UDS),網(wǎng)關(guān)診斷功能的實(shí)現(xiàn)符合ISO 15765、ISO14229等國(guó)際診斷標(biāo)準(zhǔn)。
圖8 診斷測(cè)試框架
網(wǎng)關(guān)通訊測(cè)試數(shù)據(jù)如圖9所示,通過(guò)軟件集成,編譯、調(diào)試,最后在硬件平臺(tái)上測(cè)試,達(dá)到了初始設(shè)計(jì)目的,能夠?qū)崿F(xiàn)不同總線(xiàn)上信號(hào)路由功能、采集硬線(xiàn)信號(hào)并轉(zhuǎn)成網(wǎng)絡(luò)信號(hào)功能、故障診斷功能、在線(xiàn)刷新功能等。并通過(guò)專(zhuān)業(yè)的總線(xiàn)測(cè)試工具,測(cè)試了CAN/LIN通訊,網(wǎng)關(guān)接收CAN1上EM(發(fā)動(dòng)機(jī)管理單元)節(jié)點(diǎn)信號(hào),再將其路由到CAN2網(wǎng)絡(luò)上,CAN2上對(duì)應(yīng)的信號(hào)為EnSpdHSC3(值為1378)。本系統(tǒng)可以成功的實(shí)現(xiàn)信號(hào)報(bào)文的路由轉(zhuǎn)發(fā)功能。
圖9 通訊測(cè)試數(shù)據(jù)
目前國(guó)內(nèi)自主品牌汽車(chē)廠(chǎng)商在引進(jìn)國(guó)外成熟平臺(tái)后進(jìn)行二次設(shè)計(jì)開(kāi)發(fā)時(shí),需要融入自身的設(shè)計(jì)理念,如增加一些功能(ECU網(wǎng)絡(luò)節(jié)點(diǎn)),此時(shí)就需要網(wǎng)關(guān)作為網(wǎng)絡(luò)橋梁實(shí)現(xiàn)新增節(jié)點(diǎn)與原網(wǎng)絡(luò)間的信號(hào)路由功能。本網(wǎng)關(guān)系統(tǒng)硬件設(shè)計(jì)采用主流的汽車(chē)級(jí)芯片和應(yīng)用成熟的電路;軟件設(shè)計(jì)是基于OSEK的軟件架構(gòu),可以很好的解決新增網(wǎng)絡(luò)節(jié)點(diǎn)與原網(wǎng)絡(luò)間的網(wǎng)絡(luò)通訊問(wèn)題,縮短整車(chē)開(kāi)發(fā)時(shí)間,避免所有網(wǎng)絡(luò)重新規(guī)劃設(shè)計(jì),降低開(kāi)發(fā)成本。通過(guò)實(shí)車(chē)的功能驗(yàn)證,本系統(tǒng)已經(jīng)具有商業(yè)化的價(jià)值。
[1]唐凱.基于MPC5668G多功能車(chē)載網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2013.
[2]司建玉,吳光強(qiáng).基于32位微控制器MPC5604的雙離合器自動(dòng)變速器控制系統(tǒng)[J].汽車(chē)技術(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總線(xiàn)的汽車(chē)車(chē)燈控制系統(tǒng)研究[D].北京:中國(guó)農(nóng)業(yè)大學(xué),2006.
[5]丁茜.深海傳感器搭載平臺(tái)CAN總線(xiàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].青島:中國(guó)海洋大學(xué),2013.
[6]陳舒.電動(dòng)汽車(chē)LIN總線(xiàn)車(chē)身網(wǎng)絡(luò)高層協(xié)議研究[D].杭州:浙江大學(xué),2005.
[7]OSEK/VDX Group.OSEK/VDX operating system[EB/OL].(2004-07-05).http://www.osek-vdx.org.
[8]張寶民,孫曉民.基于OSEK規(guī)范的嵌入式實(shí)時(shí)操作系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(04):32-35.
[9]李銀國(guó),葉家盛,蔣建春.OSEK/VDX OS服務(wù)調(diào)用的規(guī)范一致性檢測(cè)方法[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,22(06):786-790.
[10]王亮.基于CAN/LIN總線(xiàn)的汽車(chē)車(chē)身控制模塊設(shè)計(jì)[D].長(zhǎng)沙:湖南大學(xué),2011.
[11]吳廣.汽車(chē)故障診斷系統(tǒng)研究[D].長(zhǎng)春:吉林大學(xué),2009.
[12]陳艷.汽車(chē)故障系統(tǒng)中實(shí)時(shí)顯示及ECU模塊的關(guān)鍵技術(shù)研究[D].成都:成都理工大學(xué),2013.