網絡管理概述

網絡管理

1 前言

1.1 爲什麼要進行網絡管理?

隨着汽車電子電動化,智能化的迅猛發展,汽車系統存在多種ECU控制單元,並且多個ECU之間是協同工作的,即必須保證它們之間能夠正常的相互通信。目前主流的通信方式是CAN,Flexray,以及新興的車載以太網。

1.2 網絡管理的定義

1.2.1 企業標準中的定義

企業標準中描述網絡管理:網絡管理(NM:Network Management)是獨立於硬件之外的,只能在CAN上使用的協議。其主要的目的是協調網絡的正常運行和總線休眠之間的轉換。除了核心功能之外,還提供檢測當前節點的服務[1]。

1.2.2 AUTOSAR標準中的定義

網絡管理部分由通信管理器(簡稱ComM),通用網絡管理器接口(簡稱NmIf),總線相關的網絡管理器(簡稱NM,包括CanNM,LinNM,FrNM),總線相關的狀管理器(簡稱SM,包括CanSM,LinSM,FrSM)四個模塊構成。
其中總線相關的網絡管理模塊的定義同企業標準!

2 網絡管理的功能

網絡管理不僅具有實現普通的業務數據傳輸的功能,並且也可以通過網絡實現對各個ECU的控制,即發出指令實現ECU之間的協同休眠和喚醒。
通常 ECU 都存在幾種工作模式如下圖1所示:
在這裏插入圖片描述
圖1 ECU工作模式

3 網絡管理的過程

網絡管理本質就是一個狀態機(STD:State Transition Diagram)的管理。總體上分爲BusSleep、PreSleep、Network三個狀態。其中Network狀態又包含三個子狀態轉化,分別是Startup、Normal Operation、Ready Sleep等[1],具體轉化過程如下圖2所示:
在這裏插入圖片描述
圖2 網絡管理的狀態機轉換圖
網絡管理是保證汽車ECU能夠協同休眠和喚醒。但是一般不會讓所有的ECU都處於休眠狀態,此時會有極少數的處於working狀態,如BCM(車身電子系統)車門和車窗等防盜功能要一直開啓。一般ECU分爲兩種情況:主動喚醒和被動喚醒。
主動喚醒:類似硬件喚醒,某些特定的pin口(硬線信號)給低電壓就主動喚醒。例如TC277芯片EVR喚醒的引腳。此時ECU 作爲主喚醒節點,當檢測到主動喚醒源輸入信號時(如KL15,KL61等)主動喚醒自己,並通過發送NMFRAME 嘗試喚醒其他ECU。
被動喚醒:ECU 作爲從喚醒節點,自己不能主動喚醒自己,只能通過接收到其他 ECU 發來的NM FRAME來喚醒自己。理解爲:被其他控制器喚醒的ECU。

3.1 狀態釋義

3.1.1 PreSleep狀態

PreSleep狀態:此狀態是進入休眠狀態前的準備狀態,此狀態一般不發送網絡管理報文幀了,也不發送應用報文了,只是等待其他ECU一起睡眠,其實就是實現‘’協同‘’兩個字,也就是讓等一段時間讓車上所有ECU實現一起睡眠。之所以需要 ECU 協同睡眠,主要是因爲各個 ECU 處於協同工作狀態,比如VCU(整車控制器)和BMS(電池管理系統),有可能VCU不發報文了,會導致BMS報故障,如此就會出現誤報警狀態。

3.1.2 BusSleep狀態

BusSpleep狀態:這就是休眠狀態,此狀態下不發送網絡管理報文也不收發應用報文,一般該狀態處於低功耗的狀態,也就是上文提到的協同睡眠狀態。當然上電初始化時,也會默認進入該狀態[3]。

3.1.3 Network狀態

Network狀態:此狀態下 ECU 可以進行正常通信。既可以收發網絡管理報文幀也可以收發應用報文(包括診斷報文),意思就是喚醒狀態。注意此狀態下的三個子狀態都是可以進行CAN報文的正常收發的!

3.2 Network狀態的子狀態釋義

3.2.1 Startup狀態

表示開始發送網絡管理報文的狀態,可以進行CAN的通訊。由於進入網絡狀態時,爲保證所有節點都可以通訊,首先需要快速發送一些網絡管理報文,以儘快告知車上其他 ECU,保證所有ECU處於可以正常通訊的狀態。可以理解爲:通信前的準備狀態。

3.2.2 Ready Sleep狀態

從喚醒狀態進入休眠時,需要進行一些準備工作,比如有一些數據要存儲、比如電機控制器檢測到電機還沒停下來等等情況,因此此狀態就是用來做一些休眠前的準備工作,任何從喚醒到休眠的過程,都需要經過此狀態,也就是說睡眠前有些準備工作是必須要完成的。那麼此狀態下,其實還是能夠進行通信的,只有進入PreSleep狀態,纔會把相應的應用報文收發關閉,以及發送NM報文關閉。還有一點要聲明的是,一般網絡管理報文幀的接收不會關閉。(因爲進入休眠後需要處於可喚醒狀態。)可以理解爲:休眠前的準備狀態。Ready Sleep與PreSleep的區別就是:PreSleep狀態是不能進行通信,而Ready Sleep狀態是可以進行通信的!

3.2.3 Normal Operation狀態

在進入Startup狀態之後,即當所有ECU可以正常發送和接收報文時,如果需要通信,就會跳到正常工作狀態,正常工作狀態會按照正常的週期發送網絡管理報文,以及所有應用報文正常進行通信。可以理解爲:是真正的喚醒狀態,可以正常的通信。

4 網絡管理過程舉例說明

4.1 NM報文喚醒舉例

(1)第一步:主動喚醒的ECU如BCM(車身控制器)檢測到需要網絡時,此時會發送網絡管理報文。
(2)第二步:被動喚醒的ECU如TCU(自動變速箱控制單元)收到NM管理報文後,會給控制器供電,然後程序初始化,並進入BusSleep狀態(ECU上電都會默認進入此狀態,時間較短)
(3)第三步:接着TCU進入Startup狀態,發送第一幀NM報文,通知其他節點的ECU該正常工作了,然後發送正常的NM報文,這是正常的通信收發的報文
(4)第四步:在短暫進入Startup狀態之後,TCU會切換到Normal Operation狀態,此時就是該ECU可以正常通信了,正常的接收和發送CAN報文。

4.2 NM報文休眠舉例

(1)第一步:Normal Operation狀態下的ECU,不需要網絡通信了,比如鑰匙處於OFF檔,此時會關閉網絡管理報文。
(2)第二步:關閉網絡管理功能就是從Normal Operation狀態切換到Ready Sleep狀態,此時會保存下故障或者重要的數據比如SOC值,時間等,這些是爲下次啓動做準備,也是爲方便工程師做網絡診斷。
(3)第三步:第二步運行一段時間之後會進入到PreSleep狀態,此時會關閉網絡RX和TX功能。
(4)第四步:第三步運行一段時間之後,會進入BusSleep狀態,會讓控制器休眠。

5 參考資料

[1]參考網址:ComM(通信管理)和CanNm(Network Management)
[2]附件:AUTOSAR_SRS_NetworkManagement.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章