岳意娥 范志容 蘇芮琦
摘要:隨著汽車電子技術(shù)的發(fā)展,車上的電子系統(tǒng)越來(lái)越多,需要共享并相互傳遞大量的信息,傳統(tǒng)的布線已不能滿足要求,汽車總線技術(shù)成了解決這些的關(guān)鍵技術(shù)。整車網(wǎng)絡(luò)結(jié)構(gòu)越來(lái)越復(fù)雜,為了保證整車網(wǎng)絡(luò)的正常運(yùn)行,網(wǎng)關(guān)作為“橋梁”產(chǎn)生并大量應(yīng)用。本文介紹了網(wǎng)關(guān)的通信設(shè)計(jì),包含路由模式,信號(hào)路由,路由策略等,并在某車上進(jìn)行了應(yīng)用,最終通過(guò)仿真、測(cè)試驗(yàn)證了該網(wǎng)關(guān)通信設(shè)計(jì)的正確性。
關(guān)鍵詞:網(wǎng)關(guān);路由
隨著社會(huì)對(duì)汽車節(jié)能、環(huán)保、安全要求的日益嚴(yán)格以及人們對(duì)乘坐舒適性、駕駛便捷性要求的日益提升,電子化、信息化、網(wǎng)絡(luò)化和智能化成為汽車產(chǎn)品先進(jìn)性的重要體現(xiàn)。據(jù)統(tǒng)計(jì),汽車上70%的創(chuàng)新來(lái)源于汽車電子技術(shù)的應(yīng)用[1],現(xiàn)代汽車上傳統(tǒng)的電器部件逐步變?yōu)殡娮踊刂?,車上的電子系統(tǒng)越來(lái)越多,在這些電子設(shè)備中,需要共享并相互傳遞大量的信息,按照傳統(tǒng)的布線方式將導(dǎo)致車身限速龐大且復(fù)雜,安裝空間緊缺,運(yùn)行可靠性降低,故障維修難度增大,線速系統(tǒng)的成本高,因此汽車總線技術(shù)成為解決這些的關(guān)鍵技術(shù)。
為了滿足不同的系統(tǒng)需求,整車往往采用多種總線形式,如CAN、LIN、MOST、Flexray等。各類總線的傳輸速率不同,應(yīng)用場(chǎng)合也不同,如LIN總線傳輸速率通常小于20 Kh/s,主要用于電動(dòng)車門鎖,車窗和后視鏡等設(shè)備;CAN總線傳輸速率通常小于1 MKh/s,主要用于車身控制、舒適系統(tǒng);MOST總線傳輸速率高達(dá)500 Mh/s,主要用于多媒體設(shè)備、高速數(shù)據(jù)流傳輸?shù)母咝阅芫W(wǎng)絡(luò);FlexRay總線傳輸速率高達(dá)20 Mb/s,主要用于車輛底盤控制系統(tǒng)。
由于汽車電子的大量運(yùn)用,車輛上的控制器越來(lái)越多,交互信息的增加,網(wǎng)絡(luò)結(jié)構(gòu)也從單一網(wǎng)段逐步發(fā)展到復(fù)雜網(wǎng)段的形式;同時(shí)多總線形式的應(yīng)用,均導(dǎo)致了車載網(wǎng)關(guān)的產(chǎn)生。網(wǎng)關(guān)作為整車網(wǎng)絡(luò)的橋梁,是整車網(wǎng)絡(luò)的核心。本文介紹了網(wǎng)關(guān)的通信設(shè)計(jì),包含路由模式,信號(hào)路由,路由策略等,并在某乘用車上進(jìn)行了應(yīng)用,最終測(cè)試驗(yàn)證了該網(wǎng)關(guān)通信設(shè)計(jì)的正確性。
1 網(wǎng)關(guān)的通信設(shè)計(jì)方法
網(wǎng)關(guān)將報(bào)文分組從一個(gè)網(wǎng)段路由到另一網(wǎng)段的設(shè)備,是網(wǎng)絡(luò)互連設(shè)備的一種。對(duì)于采用多種總線形式的整車,網(wǎng)關(guān)還必須具備有從一個(gè)網(wǎng)絡(luò)協(xié)議到另一個(gè)協(xié)議轉(zhuǎn)換信息的能力。網(wǎng)關(guān)的每個(gè)網(wǎng)段接口均必須滿足該網(wǎng)段的所有網(wǎng)絡(luò)標(biāo)準(zhǔn)要求,包含通信,網(wǎng)絡(luò)管理,診斷等。
網(wǎng)關(guān)的通信設(shè)計(jì)包含網(wǎng)段接口、路由模式、發(fā)送方式、變更標(biāo)識(shí)符、路由策略、路由時(shí)間等,下面一一進(jìn)行闡述。
1.1網(wǎng)段接口
網(wǎng)關(guān)所具有的網(wǎng)段接口個(gè)數(shù),網(wǎng)絡(luò)接口的總線類型根據(jù)具體的車型的網(wǎng)絡(luò)拓?fù)錄Q定。如圖1拓?fù)涫疽鈭D中的網(wǎng)關(guān),具有4個(gè)網(wǎng)段接口,其中3個(gè)CAN接口,1個(gè)LIN接口。
1.2路由模式
路由模式有報(bào)文路由和信號(hào)路由兩種。
1.2.1報(bào)文路由
報(bào)文路由,如圖2所示,是指網(wǎng)關(guān)從源網(wǎng)段接收到需要路由的報(bào)文后,直接將其轉(zhuǎn)發(fā)到月標(biāo)網(wǎng)段,而不作任何更改。報(bào)文路由方式存在兩種情況:一種是采用相同的協(xié)議,相同的格式(如相同的ID,數(shù)據(jù)等),另一種采用不同的協(xié)議或者傳輸速率。
報(bào)文路由模式一般在網(wǎng)關(guān)的底層程序就可以實(shí)現(xiàn),無(wú)需上層應(yīng)用程序支持,因此可大幅降低網(wǎng)關(guān)的處理時(shí)間。對(duì)于實(shí)時(shí)性要求較高的信號(hào),或者整幀報(bào)文均需要轉(zhuǎn)發(fā),一般采用報(bào)文路由模式。
1.2.2信號(hào)路由
信號(hào)路由是指網(wǎng)關(guān)可以根據(jù)需要提取不同報(bào)文的信號(hào),重組成一個(gè)新的報(bào)文并轉(zhuǎn)發(fā)到目標(biāo)網(wǎng)段,而且網(wǎng)關(guān)能夠更改新報(bào)文的發(fā)送方式和發(fā)送周期。
信號(hào)路由模式可以提高報(bào)文數(shù)據(jù)場(chǎng)的利用率,降低目標(biāo)網(wǎng)段的網(wǎng)絡(luò)負(fù)載,但會(huì)增加網(wǎng)關(guān)的處理時(shí)間。對(duì)于實(shí)時(shí)性要求不高的信號(hào),或者兩個(gè)系統(tǒng)接口問(wèn)均無(wú)法更改的時(shí)候,一般采用信號(hào)路由模式。
信號(hào)路由存在以下幾種情況:
1)重新封裝(Repackage):一幀中的信號(hào)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)段的一個(gè)或者多個(gè)幀中,數(shù)據(jù)只是重新封裝,沒有調(diào)整,如圖3所示:
2)組裝(Assemhle):來(lái)自一個(gè)網(wǎng)段上的兩幀或多幀的信號(hào)(這些幀可能來(lái)自不同的控制器),重新組合成一幀發(fā)送到另一個(gè)網(wǎng)段。數(shù)據(jù)沒有調(diào)整,但是排列進(jìn)行了調(diào)整。如圖4所示。
3)組裝&重新封裝(Assemhle&Repackage;):組裝和重新封裝的結(jié)合,信號(hào)來(lái)自一個(gè)網(wǎng)段上不同幀,封裝到兩個(gè)或者更多幀中,并發(fā)送到另一個(gè)網(wǎng)段,如圖5所示:
4)其它信號(hào)路由方式:網(wǎng)關(guān)修改傳輸?shù)臄?shù)據(jù)(精度、范圍等),如圖6所示。或者利用現(xiàn)有的數(shù)據(jù)合成新的數(shù)據(jù),如接收輪速信號(hào)計(jì)算平均輪速。這種方式應(yīng)用較少,當(dāng)兩個(gè)系統(tǒng)之間的接口不能改變時(shí)采用。
1.3發(fā)送方式
1.3.1報(bào)文路由發(fā)送方式
報(bào)文路由的發(fā)送方式是事件傳輸。該傳輸模型允許網(wǎng)關(guān)從源網(wǎng)絡(luò)接收傳人的消息,并以最小的延遲傳輸?shù)搅硪粋€(gè)網(wǎng)段,在該網(wǎng)絡(luò)上的傳輸也是周期性的。
1.3.2信號(hào)路由發(fā)送方式
1)周期發(fā)送
該傳輸模型允許網(wǎng)關(guān)定期從源網(wǎng)絡(luò)接收傳人的消息,并重新封裝到另一網(wǎng)段上規(guī)定的周期報(bào)文。這種發(fā)送方式存在的風(fēng)險(xiǎn)就是,如果目標(biāo)報(bào)文在源報(bào)文到來(lái)前剛剛發(fā)出,那么該源信號(hào)的傳輸就會(huì)存在延時(shí)(目標(biāo)報(bào)文的周期)。
如果源信號(hào)是周期發(fā)送,信號(hào)路由方式采用周期發(fā)送。
2)事件發(fā)送
該傳輸模型允許網(wǎng)關(guān)接收源網(wǎng)段的事件報(bào)文,并立即轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)段上。該種發(fā)送方式需要設(shè)定一個(gè)轉(zhuǎn)發(fā)報(bào)文的最小時(shí)間間隔。如果很小時(shí)間段內(nèi)連續(xù)發(fā)生事件,轉(zhuǎn)發(fā)的報(bào)文必須延時(shí)或者推遲最小時(shí)間間隔再發(fā)送。
如果所有的源信號(hào)均是事件型,則信號(hào)路由采用事件發(fā)送。
3)周期事件
周期事件是周期發(fā)送和事件發(fā)送的結(jié)合,當(dāng)沒有事件發(fā)生時(shí),網(wǎng)關(guān)周期接收源報(bào)文,并重新封裝到另一網(wǎng)段規(guī)定的周期報(bào)文中。當(dāng)事件發(fā)生時(shí),該發(fā)送模式可以使得對(duì)事件進(jìn)行快速響應(yīng)。
如果源信號(hào)既有周期發(fā)送、也有事件發(fā)送,或者源信號(hào)的周期小于目標(biāo)報(bào)文的周期,則采用周期事件發(fā)送。
1.4變更標(biāo)識(shí)符
在網(wǎng)關(guān)轉(zhuǎn)發(fā)報(bào)文過(guò)程中,如果被轉(zhuǎn)發(fā)的報(bào)文ID與目標(biāo)網(wǎng)段的報(bào)文發(fā)生標(biāo)識(shí)符沖突,則需要變更標(biāo)識(shí)符。不同網(wǎng)段分配不同的標(biāo)識(shí)符可以避免此類事情發(fā)生。
另外,不同協(xié)議之間也需要進(jìn)行ID的變更。
1.5路由時(shí)間
路由時(shí)間指網(wǎng)關(guān)接收到路由對(duì)象到轉(zhuǎn)發(fā)到目標(biāo)網(wǎng)段的時(shí)間,用于約束網(wǎng)關(guān)的開發(fā)。
2 某整車網(wǎng)關(guān)的通信設(shè)計(jì)
某整車網(wǎng)絡(luò)控制器數(shù)量多,發(fā)動(dòng)機(jī)管理系統(tǒng)、變速箱控制器、車身控制器、儀表等;且信息交互量數(shù)據(jù)大,因此該乘用車采用雙網(wǎng)段的總線結(jié)構(gòu),網(wǎng)段之間使用一個(gè)網(wǎng)關(guān)來(lái)實(shí)現(xiàn)兩個(gè)子系統(tǒng)的信息交互,主要包括:發(fā)動(dòng)機(jī)轉(zhuǎn)速,發(fā)動(dòng)機(jī)冷卻液溫度,車速等。整車網(wǎng)絡(luò)拓?fù)涫疽鈭D如圖7所示。
整車網(wǎng)絡(luò)有兩個(gè)CAN網(wǎng)段,均采用ISO11898協(xié)議,通信速率均采用500kbit/s。因此該車載網(wǎng)關(guān)只需要進(jìn)行信號(hào)的轉(zhuǎn)發(fā),無(wú)需實(shí)現(xiàn)協(xié)議的匹配。
2.1網(wǎng)段接口
該車型的網(wǎng)關(guān)具有2路CAN接幾。
2.2路由設(shè)計(jì)
經(jīng)統(tǒng)計(jì),某乘用車上需要網(wǎng)關(guān)轉(zhuǎn)發(fā)的信號(hào)共有63個(gè)。根據(jù)各控制器對(duì)于信號(hào)的需求,對(duì)需要網(wǎng)關(guān)轉(zhuǎn)發(fā)信號(hào)的路由模式進(jìn)行設(shè)計(jì),最終將設(shè)計(jì)結(jié)果形成路由表,如表1所示。表2是某乘用車的部分信號(hào)路由表。
部分設(shè)計(jì)舉例如下:
1)車速信號(hào)是一鍵啟動(dòng)系統(tǒng)下電的關(guān)鍵信號(hào)之一,因此采用報(bào)文路由的形式。
2)所有給儀表的報(bào)警信號(hào),來(lái)自很多不同的控制器,每個(gè)信號(hào)長(zhǎng)度短,如果均采用報(bào)文路由的形式,將較大地增加整車網(wǎng)絡(luò)負(fù)載;同時(shí)這類信號(hào)的實(shí)時(shí)性要求不高,因此采用信號(hào)路由的形式。
3)因?yàn)樵撥囆椭挥袃蓚€(gè)網(wǎng)段,所以主要采取的是組裝形式的信號(hào)路由方式。
2.3路由策略
采用信號(hào)路由方式的信號(hào),網(wǎng)絡(luò)正常時(shí),網(wǎng)關(guān)轉(zhuǎn)發(fā)的信號(hào)均是來(lái)白源節(jié)點(diǎn)的真實(shí)值。但是當(dāng)網(wǎng)絡(luò)異常時(shí),會(huì)帶來(lái)新的問(wèn)題。
如表2中所示的信號(hào),EMS_EngCoolantTemp來(lái)白EMS的0x306報(bào)文,ESC_ESCAlarmSig來(lái)白ESC的0x328報(bào)文,網(wǎng)關(guān)在另一網(wǎng)段將這兩個(gè)信號(hào)重新組裝放在了同一個(gè)報(bào)文0x315中。當(dāng)ESC通信正常、EMS通信丟失時(shí),網(wǎng)關(guān)接收不到0x306報(bào)文時(shí),而網(wǎng)關(guān)在目標(biāo)網(wǎng)段報(bào)文仍會(huì)發(fā)出0x315報(bào)文。此時(shí)網(wǎng)關(guān)轉(zhuǎn)發(fā)的EMS_EngCoolantTemp的值并不是當(dāng)前的真實(shí)值。但是接收0x315報(bào)文的節(jié)點(diǎn)并不知道此時(shí)狀態(tài),用這個(gè)值進(jìn)行處理也許會(huì)帶來(lái)新的問(wèn)題。
由于接收節(jié)點(diǎn)對(duì)于信號(hào)丟失的處理方式不同(采用無(wú)效值,初始值或替代值等),故無(wú)法由網(wǎng)關(guān)直接采用某一種值進(jìn)行處理。因此在該車型中首次提出了節(jié)點(diǎn)監(jiān)測(cè)功能,并通過(guò)一個(gè)信號(hào)將節(jié)點(diǎn)的當(dāng)前通信狀態(tài)反饋出來(lái),該信號(hào)的定義如表3所示。當(dāng)EMS通信丟失時(shí),網(wǎng)關(guān)將LostToEMS置為1,接收方同時(shí)接收這個(gè)信號(hào),在進(jìn)行處理時(shí)結(jié)合這個(gè)信號(hào)進(jìn)行判斷以解決因信號(hào)路由帶來(lái)的問(wèn)題。
3 某整車網(wǎng)關(guān)的通信設(shè)計(jì)仿真
CANoe是德國(guó)Vector公司開發(fā)的分布式系統(tǒng)設(shè)計(jì)、仿真、測(cè)試、評(píng)估的強(qiáng)大工具,它能支持總線開發(fā)的整個(gè)過(guò)程,是本測(cè)試系統(tǒng)的核心。該工具提供了整個(gè)開發(fā)流程各階段的專業(yè)功能,包括通信協(xié)議數(shù)據(jù)庫(kù)的創(chuàng)建和修改、建模、仿真、功能測(cè)試、診斷和分析[2]。利用CANoe對(duì)網(wǎng)關(guān)通信設(shè)計(jì)結(jié)果進(jìn)行仿真,對(duì)網(wǎng)關(guān)通信設(shè)計(jì)進(jìn)行驗(yàn)證。
3.1仿真系統(tǒng)的構(gòu)建
利用CANne,根據(jù)整車通信網(wǎng)絡(luò)信號(hào)矩陣,編制相應(yīng)的數(shù)據(jù)庫(kù),以便用于測(cè)試。
在CANne環(huán)境下,添加數(shù)據(jù)庫(kù),將網(wǎng)絡(luò)上的節(jié)點(diǎn)自動(dòng)生成,如圖8所示。
3.2仿真方法
利用CAPL編程,當(dāng)其他節(jié)點(diǎn)發(fā)送報(bào)文/信號(hào)時(shí),網(wǎng)關(guān)接收,按照沒計(jì)進(jìn)行處理后發(fā)出。觀察結(jié)果判斷網(wǎng)關(guān)通信設(shè)計(jì)的正確性。
例如,O0x210報(bào)文采用報(bào)文路由的形式從P-CAN轉(zhuǎn)發(fā)到B-CANt。編制如下程序,運(yùn)行后觀察網(wǎng)關(guān)是否正確轉(zhuǎn)發(fā)報(bào)文。當(dāng)收到來(lái)自CAN2( P-CAN)的0x210報(bào)文,是否轉(zhuǎn)發(fā)到CAN1( B-CAN)上。
on message CAN2.0x210
{message CAN1.0x210 msg;
if(this.dir!= rx) return;
msg= this;
output(msg);}
3.3 仿真結(jié)果
利用CANne中CAPL編程,實(shí)現(xiàn)網(wǎng)關(guān)信號(hào)路由功能,驗(yàn)證了網(wǎng)關(guān)路由的正確性。
4 某整車網(wǎng)關(guān)的通信測(cè)試
在系統(tǒng)開發(fā)過(guò)程中,需要對(duì)網(wǎng)關(guān)通信進(jìn)行測(cè)試,驗(yàn)證網(wǎng)關(guān)通信設(shè)計(jì)以及實(shí)現(xiàn)的正確性。
根據(jù)網(wǎng)關(guān)的通信設(shè)計(jì),網(wǎng)關(guān)通信測(cè)試包含以下內(nèi)容:
1)路由模式的測(cè)試:測(cè)試報(bào)文路由和信號(hào)路由是否按照要求進(jìn)行;
2)信號(hào)路由正確性測(cè)試:信號(hào)值是否按照要求正確轉(zhuǎn)發(fā);
3)信號(hào)路由時(shí)間測(cè)試:信號(hào)路由時(shí)間是否滿足設(shè)計(jì)要求;
4)路由策略測(cè)試:網(wǎng)關(guān)是否按照要求進(jìn)行處理,包含節(jié)點(diǎn)監(jiān)測(cè)機(jī)制。
4.1 測(cè)試類型
測(cè)試共包含單元測(cè)試、臺(tái)架測(cè)試、實(shí)車測(cè)試。
單元測(cè)試:整個(gè)測(cè)試環(huán)境主要由網(wǎng)關(guān)、穩(wěn)壓電源和CANoe軟硬件模塊等幾部分組成,除了網(wǎng)關(guān),其他的節(jié)點(diǎn)均是FHCANoe工具虛擬而成。需要轉(zhuǎn)發(fā)的報(bào)文/信號(hào)均采用模擬。
臺(tái)架測(cè)試:通過(guò)搭建整車網(wǎng)絡(luò)臺(tái)架,將網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)際樣件均接人,對(duì)網(wǎng)關(guān)進(jìn)行測(cè)試。實(shí)車測(cè)試:裝配好的實(shí)車上,對(duì)網(wǎng)關(guān)進(jìn)行測(cè)試。
4.2測(cè)試方法
臺(tái)架測(cè)試和實(shí)車測(cè)試網(wǎng)關(guān)轉(zhuǎn)發(fā)的是來(lái)自其他節(jié)點(diǎn)的真實(shí)值。單元測(cè)試中則需要通過(guò)節(jié)點(diǎn)配置,增加一個(gè)交互式的節(jié)點(diǎn),將需要路由的報(bào)文添加到節(jié)點(diǎn)中,模擬信號(hào)路由,并為信號(hào)設(shè)置觸發(fā)方式,模擬信號(hào)變化。
1)路由模式
運(yùn)行后通過(guò)Trace窗口觀察網(wǎng)關(guān)的轉(zhuǎn)發(fā)情況,是否滿足路由模式的設(shè)計(jì)。
2)路由正確性測(cè)試
利用Craphic工具,將源信號(hào)和目標(biāo)信號(hào)調(diào)出,觀察網(wǎng)關(guān)路由的正確性。
3)信號(hào)路由時(shí)間測(cè)試
測(cè)試方法同信號(hào)路由正確性測(cè)試,在Craphic界面,將源信號(hào)和目標(biāo)信號(hào)調(diào)出,利用工具測(cè)量信號(hào)間的延時(shí)。
4)路由策略測(cè)試
模擬節(jié)點(diǎn)通信丟失,觀察網(wǎng)關(guān)是否按照設(shè)計(jì)的路由策略實(shí)現(xiàn)。
4.3測(cè)試結(jié)果
對(duì)網(wǎng)關(guān)的通信進(jìn)行了測(cè)試,以下列出部分單元測(cè)試結(jié)果。
信號(hào)值正確性:模擬“空調(diào)的環(huán)境溫度信號(hào)”發(fā)送,利用Craphlc,觀察所得目標(biāo)信號(hào)值跟隨源信號(hào)值變化,滿足設(shè)計(jì)要求。
利用Craphic中測(cè)量工具進(jìn)行測(cè)試,測(cè)得的結(jié)果是△t=8.7ms( <10ms),滿足設(shè)計(jì)要求。
5 結(jié)論
隨著汽車電子的大量運(yùn)用,車載網(wǎng)絡(luò)的復(fù)雜化,網(wǎng)關(guān)在汽車上應(yīng)用越來(lái)越多。網(wǎng)關(guān)作為整車網(wǎng)絡(luò)的橋梁,是整車網(wǎng)絡(luò)的核心。本文介紹了網(wǎng)關(guān)的通信設(shè)計(jì),包含路南模式,信號(hào)路由等,在某乘用車上進(jìn)行了應(yīng)用,并首次提出節(jié)點(diǎn)監(jiān)測(cè)機(jī)制,最終通過(guò)仿真以及測(cè)試驗(yàn)證了該網(wǎng)關(guān)通信設(shè)計(jì)的正確性。該車輛已量產(chǎn),從目前的實(shí)際情況也驗(yàn)證了網(wǎng)關(guān)通信設(shè)計(jì)的正確性,
參考文獻(xiàn):
[1]陳光前,汽車電子技術(shù)的發(fā)展及應(yīng)用,湖北汽車工業(yè)學(xué)院學(xué)報(bào),2010年6月,第24卷第2期
[2]神紅玉、宋錦剛、宋錦明,基于CANoe的高性能網(wǎng)關(guān)測(cè)試系統(tǒng)的構(gòu)建,工業(yè)控制計(jì)算機(jī),2010年,第23卷第8期