皇甫仁杰(泛亞汽車(chē)技術(shù)中心,上?!?01201)
局部網(wǎng)絡(luò)在AUTOSAR架構(gòu)中的應(yīng)用及優(yōu)化
皇甫仁杰
(泛亞汽車(chē)技術(shù)中心,上海201201)
通過(guò)對(duì)局部網(wǎng)絡(luò)的研究,提出了一種基于AUTOSAR實(shí)現(xiàn)局部網(wǎng)絡(luò)的設(shè)計(jì)方法。通過(guò)對(duì)軟件架構(gòu)及策略的優(yōu)化,使PN及AUTOSAR能更好地應(yīng)用在整車(chē)網(wǎng)絡(luò)場(chǎng)景中。
AUTOSAR;軟件架構(gòu);局部網(wǎng)絡(luò)
近幾年來(lái),汽車(chē)的節(jié)能減排問(wèn)題備受關(guān)注,大部分OEM廠商紛紛在各個(gè)領(lǐng)域進(jìn)行設(shè)計(jì)優(yōu)化,其中網(wǎng)絡(luò)管理的設(shè)計(jì)優(yōu)化 (采用局部網(wǎng)絡(luò))就是一個(gè)有效的措施。因?yàn)?,市?chǎng)上大部分車(chē)輛在點(diǎn)火開(kāi)關(guān)打到OFF擋之后,仍有一部分功能需要使用,例如:車(chē)輛防盜、電子駐車(chē)功能等。但是現(xiàn)如今普遍的設(shè)計(jì)方法是整個(gè)網(wǎng)絡(luò)采用同睡同醒,所以導(dǎo)致整車(chē)OFF之后,很多沒(méi)必要繼續(xù)工作的模塊依舊被喚醒著。為了降低電量消耗,避免蓄電池電量消耗過(guò)多導(dǎo)致汽車(chē)無(wú)法起動(dòng),整車(chē)網(wǎng)絡(luò)采用局部網(wǎng)絡(luò),即進(jìn)入OFF后,大部分不需要工作的模塊進(jìn)入低功耗模式。
比如IGN OFF后,并且?guī)酌胫笳?chē)網(wǎng)絡(luò)都處于休眠,這個(gè)時(shí)候按下電子制動(dòng),儀表上需要顯示,就需要電子制動(dòng)模塊喚醒IPC,基于同睡同醒的網(wǎng)絡(luò)架構(gòu)就會(huì)喚醒整個(gè)網(wǎng)段,造成浪費(fèi)。假如EPB開(kāi)關(guān)是接在一些架構(gòu)類電子模塊,需要進(jìn)行跨網(wǎng)段喚醒的話,就會(huì)喚醒2個(gè)網(wǎng)段,造成更多電能損耗。所以針對(duì)這個(gè)問(wèn)題,AUTOSAR及各大主機(jī)廠都已經(jīng)開(kāi)始制定新的網(wǎng)絡(luò)管理方案-局部網(wǎng)絡(luò) (Partial Network,簡(jiǎn)稱PN)管理,以實(shí)現(xiàn)分組睡眠和喚醒。
AUTOSAR是AUTomotive Open System Architecture(汽車(chē)開(kāi)放系統(tǒng)架構(gòu))的簡(jiǎn)稱,是AUTOSAR組織為汽車(chē)工業(yè)開(kāi)發(fā)的一個(gè)開(kāi)放的、標(biāo)準(zhǔn)化的軟件架構(gòu)標(biāo)準(zhǔn)。
AUTOSAR主要的標(biāo)準(zhǔn)分為3部分:①獨(dú)立于硬件的分層軟件架構(gòu);②標(biāo)準(zhǔn)的系統(tǒng)設(shè)計(jì)及開(kāi)發(fā)流程 (包括開(kāi)發(fā)流程的標(biāo)準(zhǔn)化及工具鏈的標(biāo)準(zhǔn)化);③標(biāo)準(zhǔn)化的應(yīng)用接口。
本文涉及的開(kāi)發(fā)主要是基于AUTOSAR的分層軟件架構(gòu),如圖1所示。
圖1 AUTOSAR軟件架構(gòu)示例[1]
AUTOSAR分層軟件架構(gòu)即是實(shí)現(xiàn)基礎(chǔ)軟件與應(yīng)用軟件的分離,使基礎(chǔ)軟件與APP都能相對(duì)獨(dú)立,可移植性好,模塊化降低成本。
這其中被標(biāo)準(zhǔn)化的基礎(chǔ)軟件主要為4個(gè)層次:服務(wù)層 (Services Layer)、ECU抽象層 (ECU Abstraction Layer)、微控制器抽象層 (Microcontroller AbstractionLayer)和RTE(Runtime Environment)。
局部網(wǎng)絡(luò) (Partial Network)顧名思義是將整車(chē)網(wǎng)絡(luò)分割成幾個(gè)小的局部網(wǎng)絡(luò),類似于因特網(wǎng)與局域網(wǎng)的關(guān)系,但是需要注意的是整車(chē)局部網(wǎng)絡(luò)的分割是基于不同的feature點(diǎn)的,一個(gè)模塊可以從屬于多個(gè)局部網(wǎng)絡(luò)。
PN組劃分示例見(jiàn)圖2。門(mén)鎖功能相關(guān)的模塊分為一個(gè)PN組;車(chē)輛OFF下IPC顯示相關(guān)功能分為一個(gè)PN組。
圖2 PN組劃分示例
3.1整車(chē)網(wǎng)絡(luò)架構(gòu)
基于整車(chē)電氣架構(gòu),假如分了多路CAN,則需要實(shí)現(xiàn)局部網(wǎng)絡(luò)的網(wǎng)段基于AUTOSAR實(shí)現(xiàn) (一般車(chē)身CAN較容易實(shí)現(xiàn),動(dòng)力或者底盤(pán)CAN基于成熟性考慮,切換到AUTOSAR的進(jìn)程較慢)。網(wǎng)絡(luò)架構(gòu)圖示例見(jiàn)圖3。
圖3 網(wǎng)絡(luò)架構(gòu)圖示例
車(chē)身舒適性CAN是AUTOSAR CAN,而PT CAN和CH CAN是傳統(tǒng)的同睡同醒的主從式網(wǎng)絡(luò)。
3.2局部網(wǎng)絡(luò)劃分
局部網(wǎng)絡(luò)一般只在整車(chē)電源模式為OFF時(shí)實(shí)現(xiàn),在其它電源模式下,AUTOSAR子網(wǎng)的節(jié)點(diǎn)將進(jìn)入強(qiáng)制喚醒狀態(tài),當(dāng)檢測(cè)到電源模式切換到OFF模式后,節(jié)點(diǎn)再進(jìn)入局部網(wǎng)絡(luò)狀態(tài)。ECU請(qǐng)求PN喚醒、睡眠都必須通過(guò)網(wǎng)絡(luò)管理報(bào)文來(lái)實(shí)現(xiàn)。
并且,根據(jù)功能點(diǎn)劃分局部網(wǎng)絡(luò)越細(xì),需要喚醒的模塊就越精確,不需要被喚醒的模塊就會(huì)越少,降低能耗就越可觀。但是,PN組劃分過(guò)多,會(huì)導(dǎo)致整車(chē)功能繁雜性提升,這里就需要設(shè)計(jì)人員掌握比較好的一個(gè)平衡點(diǎn)。PN分組示例見(jiàn)表1。
表1PN分組示例
從表1中看出,整個(gè)網(wǎng)絡(luò)在電源非OFF下需要同時(shí)喚醒,所以所有ECU都劃分為PN1,從PN2開(kāi)始根據(jù)功能劃分,某個(gè)功能需要幾個(gè)模塊被喚醒,就劃分哪幾個(gè)為一組。
3.3支持局部網(wǎng)絡(luò)的軟硬件要求[2]
局部網(wǎng)絡(luò)需要CAN transceiver帶濾波功能,并且底層協(xié)議棧 (通常采用vector的Autosar協(xié)議棧)支持PN。
硬件可以采用NXP的收發(fā)器TJA1145,除了傳統(tǒng)收發(fā)器的TX、RX引腳,該收發(fā)器可通過(guò)SPI與CAN控制器相連。通過(guò)SPI,MCU可控制CAN收發(fā)器的模式轉(zhuǎn)換以及設(shè)置收發(fā)器的報(bào)文濾波,實(shí)現(xiàn)特定報(bào)文喚醒的功能。硬件連接示意見(jiàn)圖4。
圖4 硬件連接示意圖
同時(shí)收發(fā)器需要設(shè)置相應(yīng)掩碼:①報(bào)文地址場(chǎng)(Frame ID),值為XXX-XXX;②報(bào)文數(shù)據(jù)場(chǎng)字節(jié)長(zhǎng)度 (DLC),值為XX;③報(bào)文數(shù)據(jù)場(chǎng) (AUTOSAR已定義默認(rèn)格式)。
設(shè)計(jì)人員可以根據(jù)PN分組情況在user data自定義控制每個(gè)PN組的位。這樣就實(shí)現(xiàn)了特定的網(wǎng)絡(luò)管理報(bào)文才能喚醒相應(yīng)的一個(gè)分組內(nèi)的模塊。
在整車(chē)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)完成后,子節(jié)點(diǎn)也完成相應(yīng)的硬件選型。接下來(lái)的設(shè)計(jì)就是如何更好地設(shè)計(jì)各模塊的上層軟件與底層軟件間的軟件架構(gòu),使其更適應(yīng)于復(fù)雜的應(yīng)用場(chǎng)景。
4.1系統(tǒng)方案設(shè)計(jì)
局部網(wǎng)絡(luò)是將一個(gè)網(wǎng)段分成了多個(gè)PN組,單獨(dú)一個(gè)PN組又等同于一個(gè)獨(dú)立的網(wǎng)絡(luò),各個(gè)PN之間會(huì)有復(fù)雜的仲裁管理,在軟件上單獨(dú)為其做一個(gè)獨(dú)立的模塊用于管理網(wǎng)絡(luò)。
4.2軟件實(shí)現(xiàn)
針對(duì)于每個(gè)功能點(diǎn)進(jìn)行編號(hào),用于軟件區(qū)分不同的APP請(qǐng)求,如圖5中的APP_Function ID,通過(guò)RTE將Request發(fā)送至PN_Manager,在做好仲裁管理后再調(diào)用底層協(xié)議棧請(qǐng)求網(wǎng)絡(luò)。
圖5 軟件架構(gòu)示意圖
針對(duì)復(fù)雜的應(yīng)用場(chǎng)景,可以將APP的網(wǎng)絡(luò)請(qǐng)求分成以下2種。
1)事件性的PN請(qǐng)求APP_FunctionID請(qǐng)求事件性的PN,該事件性請(qǐng)求發(fā)生之后,如果APP_FunctionID不再有新的事件性申請(qǐng),則PN_Manager自動(dòng)等待一段時(shí)間后自動(dòng)釋放該網(wǎng)段的PN。
2)永久性的PN請(qǐng)求APP_FunctionID如果向PN_Manager申請(qǐng)永久性的PN請(qǐng)求接口,那么意味著APP_FunctionID必須配對(duì)有一個(gè)釋放接口,如果APP_FunctionID不申請(qǐng)釋放接口的話,那么該P(yáng)N會(huì)一直被設(shè)置為激活狀態(tài)。而一旦APP_FunctionID被釋放之后,PN_Manager將立即釋放PN而不做任何超時(shí)等待。所以永久性的PN接口意味著一旦被請(qǐng)求,PN將永久性激活。
基于上述2種方式,就能較好地適用于復(fù)雜的應(yīng)用場(chǎng)景。然后做好軟件的時(shí)序設(shè)計(jì),就可以實(shí)現(xiàn)不同PN分組休眠和喚醒,并達(dá)到比較好的系統(tǒng)強(qiáng)壯性。
在前期開(kāi)發(fā)階段我們使用CANoe進(jìn)行模擬仿真,如圖6所示。
圖6 CANoe模擬仿真
前期簡(jiǎn)單的邏輯都可以通過(guò)CANoe內(nèi)置的編程工具來(lái)實(shí)現(xiàn),以達(dá)到快速仿真的目的,并且通過(guò)圖3制作簡(jiǎn)單的面板觀察總線情況。
開(kāi)發(fā)后期,可以直接用真實(shí)節(jié)點(diǎn)構(gòu)建網(wǎng)絡(luò)環(huán)境來(lái)測(cè)試,如圖7所示,設(shè)備:SPY3、bench、BCM、GW。
圖7 臺(tái)架測(cè)試驗(yàn)證
雙跳開(kāi)關(guān)喚醒BCM時(shí)的一個(gè)應(yīng)用場(chǎng)景:在網(wǎng)絡(luò)管理報(bào)文發(fā)出后,BCM喚醒了網(wǎng)關(guān) (需GW轉(zhuǎn)發(fā)至ONSTAR),BCM發(fā)送定義好的621網(wǎng)絡(luò)管理報(bào)文,喚醒相應(yīng)的PN組,網(wǎng)關(guān)節(jié)點(diǎn)回復(fù)定義好的627報(bào)文 (空的數(shù)據(jù)幀)。
本文通過(guò)對(duì)整車(chē)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)以及子節(jié)點(diǎn)軟硬件設(shè)計(jì)方法的介紹,提供了一種能較好地實(shí)現(xiàn)局部網(wǎng)絡(luò)的方案。鑒于節(jié)能減排的壓力,能夠廣泛適用于汽車(chē)網(wǎng)絡(luò)的開(kāi)發(fā),提供一種 “智能喚醒”的解決方案。該設(shè)計(jì)方法已經(jīng)運(yùn)用在2015款全新英朗車(chē)型上。
[1]heinecke H.automotive open system architecture-andustrywide intiative to manage the complexity of emerging automotive E/Earchitecture[J].SAE paper 2004-21-0042.
[2]AUTOSAR官方網(wǎng)站.http://www.autosar.org[OL].
(編輯心翔)
Application of Localized Network in AUTOSAR Architecture and Its Optimization
HUANGFU Ren-jie
(Pan Asia Technical Automotive Center,Shanghai 201201,China)
A design method to realize localized network based on AUTOSAR is proposed here.The PN and AUTOSAR can be applied better in whole vehicle network through the optimization of software architecture and strategy.
AUTOSAR;software architecture;localized network
U463.6
A
1003-8639(2016)02-0052-03
2015-11-13;
2015-11-27