CAN總線局部網(wǎng)絡(luò)管理機(jī)制及實(shí)現(xiàn)
近年來,汽車的節(jié)能問題備受關(guān)注,消減不必要的能源損耗是一種非常有效的方法。當(dāng)前,大多數(shù)車輛在點(diǎn)火鑰匙打到OFF檔之后,部分功能仍需要使用,例如:車輛防盜、電子駐車功能等。為了降低電量消耗,避免蓄電池電量消耗過多導(dǎo)致汽車無法啟動(dòng),需要KL30節(jié)點(diǎn)在OFF檔之后能進(jìn)入低功耗狀態(tài),關(guān)閉大部分不需要的功能,盡可能減少電量消耗。對(duì)于分布式功能網(wǎng)絡(luò),由于連接到總線上的節(jié)點(diǎn)需要協(xié)同工作,所以各節(jié)點(diǎn)遵循同樣的協(xié)議以實(shí)現(xiàn)同步睡眠及喚醒。
當(dāng)前,大多數(shù)的車輛都是遵循OSEK或者AUTOSAR網(wǎng)絡(luò)管理協(xié)議,來實(shí)現(xiàn)節(jié)點(diǎn)休眠喚醒功能的。由于目前車輛的電子電氣系統(tǒng)越來越復(fù)雜,KL30節(jié)點(diǎn)也越來越多,當(dāng)前的網(wǎng)絡(luò)管理協(xié)議也逐漸呈現(xiàn)出一些弊端。例如:IG OFF時(shí),當(dāng)某個(gè)功能需要總線上的一個(gè)節(jié)點(diǎn)與另一個(gè)節(jié)點(diǎn)進(jìn)行通信時(shí)需要把該網(wǎng)段上的所有節(jié)點(diǎn)喚醒,如果跨網(wǎng)段,還需要喚醒兩個(gè)網(wǎng)段上的所有節(jié)點(diǎn),不相關(guān)的節(jié)點(diǎn)都進(jìn)入非低功耗狀態(tài),這樣就造成不必要的電量消耗。又例如:為了保證車輛安全,在點(diǎn)火鑰匙打到OFF檔后,部分節(jié)點(diǎn)還需要通信一段時(shí)間,通常為幾分鐘到幾十分鐘,此時(shí),由于部分節(jié)點(diǎn)的通信需求,網(wǎng)段上的所有節(jié)點(diǎn)都不能進(jìn)入低功耗狀態(tài),極大地消耗蓄電池電量。
為了解決這個(gè)問題,歐洲一些汽車廠商已經(jīng)開始制定新的網(wǎng)絡(luò)管理方案-局部網(wǎng)絡(luò)(Partial Network,簡(jiǎn)稱PN)管理,以實(shí)現(xiàn)分組睡眠和喚醒。
局部網(wǎng)絡(luò)管理概念
與傳統(tǒng)網(wǎng)絡(luò)管理同睡同醒的邏輯不同,局部網(wǎng)絡(luò)管理根據(jù)不同的電子電氣EE功能(feature)在整個(gè)網(wǎng)絡(luò)內(nèi)劃分出多個(gè)虛擬的局部網(wǎng)絡(luò),各個(gè)局部網(wǎng)絡(luò)間可以實(shí)現(xiàn)單獨(dú)的休眠喚醒功能,互不影響。如圖1所示,根據(jù)EE功能(feature),網(wǎng)絡(luò)上的若干節(jié)點(diǎn)被劃分為2個(gè)PN組,PN1組為車門解鎖相關(guān) feature,PN2組為Radio相關(guān)feature。在點(diǎn)火鑰匙處于OFF檔且所有節(jié)點(diǎn)處于睡眠狀態(tài)后,PEPS需要對(duì)車門解鎖,此時(shí)PEPS只需喚醒與解鎖功能相關(guān)的BCM和IC,其他與該功能不相關(guān)的節(jié)點(diǎn)仍然處于睡眠狀態(tài)。
圖1 局部網(wǎng)絡(luò)示例
1)喚醒邏輯:節(jié)點(diǎn)只有收到所屬PN組內(nèi)的特定報(bào)文(通常是網(wǎng)絡(luò)管理報(bào)文),才被喚醒。PEPS發(fā)送的NM報(bào)文只能將IC和BCM喚醒,而Radio和Tuner仍處于睡眠狀態(tài);
2)睡眠邏輯:節(jié)點(diǎn)所屬的PN組內(nèi)的所有節(jié)點(diǎn)均滿足該P(yáng)N的睡眠條件后,該P(yáng)N組內(nèi)的節(jié)點(diǎn)實(shí)現(xiàn)協(xié)同睡眠。其他PN組的節(jié)點(diǎn)通信不受影響。
因此,根據(jù)功能來劃分局部網(wǎng)絡(luò)的方式,可以在一個(gè)功能激活的時(shí)候,僅使相關(guān)節(jié)點(diǎn)被喚醒并進(jìn)行通信,而其他的節(jié)點(diǎn)仍然可以保持睡眠狀態(tài),這樣就極大程度上減少了電量消耗。PN組的劃分非常靈活,不僅可以對(duì)同一網(wǎng)段上的節(jié)點(diǎn)進(jìn)行分組,還可以將跨網(wǎng)段的節(jié)點(diǎn)劃分到同一PN組內(nèi),除此之外,一個(gè)節(jié)點(diǎn)可以屬于一個(gè)或多個(gè)PN。
局部網(wǎng)絡(luò)管理實(shí)現(xiàn)
相對(duì)于傳統(tǒng)的CAN通信硬件和軟件實(shí)現(xiàn),局部網(wǎng)絡(luò)管理需要實(shí)現(xiàn)以下幾個(gè)部分:
硬件實(shí)現(xiàn)
在CAN總線中報(bào)文是以廣播形式發(fā)送的,當(dāng)節(jié)點(diǎn)處于休眠狀態(tài)時(shí),大部分收發(fā)器檢測(cè)到總線中的報(bào)文時(shí)會(huì)喚醒節(jié)點(diǎn)。這就會(huì)使網(wǎng)絡(luò)管理的局部網(wǎng)絡(luò)功能失效。
為實(shí)現(xiàn)部分節(jié)點(diǎn)喚醒的功能,需要特殊的收發(fā)器支持。特殊收發(fā)器具有報(bào)文濾波功能,只在收到特定報(bào)文之后才能被喚醒。NXP已經(jīng)率先推出支持局部網(wǎng)絡(luò)管理的收發(fā)器TJA1145和UJA1168。TJA1145是一種高速CAN收發(fā)器,而UJA1168是集成5V/100mA微處理器供電的CAN系統(tǒng)基礎(chǔ)芯片。
除了傳統(tǒng)收發(fā)器的TX、RX引腳,NXP的兩款支持PN的收發(fā)器均通過SPI與CAN控制器相連。通過SPI,MCU可控制CAN收發(fā)器的模式轉(zhuǎn)換以及設(shè)置收發(fā)器的報(bào)文濾波,實(shí)現(xiàn)特定報(bào)文喚醒的功能。連接方式參見圖2。
圖2 支持PN的收發(fā)器連接實(shí)例圖
軟件實(shí)現(xiàn)
除了需要支持硬件濾波的收發(fā)器外,在軟件部分,還需要遵循一套支持PN的網(wǎng)絡(luò)管理協(xié)議來配合應(yīng)用程序?qū)崿F(xiàn)分組協(xié)同睡眠和喚醒。AUTOSAR組織已經(jīng)推出支持PN的網(wǎng)絡(luò)管理協(xié)議AUTOSARR3.2.1,該協(xié)議主要通過特定的網(wǎng)絡(luò)管理報(bào)文來實(shí)現(xiàn)分組睡眠。
AUTOSAR 3.2.1中定義的CAN網(wǎng)絡(luò)管理報(bào)文格式如圖3所示。Byte 0表示源節(jié)點(diǎn)地址,Byte 1為固定格式ControlBit Vector.不同的bit有特殊的含義,如圖3所示,該字節(jié)的bit 6(Partial Network Bit)就表明該報(bào)文是否與PN相關(guān)。NM報(bào)文中其余字節(jié)為User data,可根據(jù)用戶需求自定義。OEM可根據(jù)EE功能定義,指定User data中的不同的位來表示不同的PN組是否需要保持喚醒。例如,將Byte 2的bit 0設(shè)定為PN1組的喚醒指示位時(shí),如節(jié)點(diǎn)欲保持PN1組喚醒,則需將其置為1;如不需要保持PN1組喚醒,則將其位置為0或停發(fā)網(wǎng)絡(luò)管理報(bào)文。當(dāng)網(wǎng)絡(luò)上同屬于PN1的所有節(jié)點(diǎn)都沒有保持喚醒的要求時(shí),PN1組按照睡眠邏輯協(xié)同進(jìn)入睡眠。
圖3 默認(rèn)網(wǎng)絡(luò)管理報(bào)文格式定義
圖4 Control Bit Vector格式定義
每個(gè)節(jié)點(diǎn)只關(guān)心自己所處的PN組的狀態(tài),在節(jié)點(diǎn)發(fā)送的網(wǎng)絡(luò)管理報(bào)文加入所屬PN的信息(User data),就可以實(shí)現(xiàn)不同PN分組休眠和喚醒。
結(jié)論
本文介紹了局部網(wǎng)絡(luò)(PN)管理的概念及優(yōu)勢(shì),并闡述了其在CAN總線上的硬件及軟件實(shí)現(xiàn)。可以看到,隨著汽車EE功能越來越復(fù)雜,局部網(wǎng)絡(luò)管理的分組睡眠和喚醒的機(jī)制是一種有效的節(jié)省電量的方法。
- 上一篇:上海新增三處P+R停車場(chǎng) 共計(jì)835個(gè)泊位 2014/8/7
- 下一篇:在汽車應(yīng)用中實(shí)現(xiàn)電容式接近感應(yīng) 2020/4/10