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