最近學習can匯流排autosar網路管理,最近做一些總結。本文基於派森君的內容。autosar和osek都是汽車電子軟體的標準。osek/vdx是基於ecu開發的作業系統,autosar是基於整體汽車電子開發的功能標準。autosar中規定的作業系統標準就是基於osek,通訊和網路管理雖然和osek有區別,但是有繼承性。
osek 是德國的汽車電子類開放系統和對應介面標準(open systems and the corresponding inte***ces for automotive electronics)
vdx 是汽車分布式執行標準(vehicle distributed executive)
2.1 共同點2.2 不同點2.2.1 喚醒幀型別不一樣網路喚醒後,osek要求節點發出的第一幀必須是alive型別,不能是ring, limphome等。autosar只要求是網路管理幀就行,條件寬鬆。
2.2.2 休眠的同步演算法不一樣
osek網路管理使用令牌環機制,令牌從網路位址低的節點傳到網路位址高的節點,如果沒有更高的節點,就傳給最低位址節點。令牌環根據ecu的網路位址建立。每個ecu都會接受網路管理訊息,只有和目的位址相同的乙個節點才會得到令牌。
3.1 喚醒後建立邏輯環過程
3.2 同步休眠過程
autosar基於分布式策略,每個節點根據通訊系統中傳送或者接收到的nm訊息來執行自給自足的網路活動。nm訊息通過廣播傳送,所有網路中的所有節點都可以接收到。接收到nm訊息表示傳送這個nm訊息的節點傾向保持網路工作模式(network mode)。如果有節點準備好進入匯流排睡眠模式 (bus sleep mode),它就停止傳送nm訊息,但是只要它還能夠接收到從其他節點發來的nm訊息,它就延遲到匯流排睡眠模式的變遷。最終,在一定的時限內,由於不再接收到nm訊息,每個節點都啟動到匯流排睡眠模式的變遷。如果網路中的任何節點需要匯流排通訊,它可以通過傳送nm訊息使網路從來匯流排睡眠模式中喚醒。概括如下:
osek同步休眠時刻是所有節點都傳送ring請求休眠幀,且收到其它節點的ring確認休眠幀。而autosar的同步休眠時刻是所有節點都停發nm幀,且不能收到其它節點的nm幀。比較而言,autosar要簡單一些。
osek令牌環中有乙個節點異常,其它節點就要重新建立環才能維持正常網路狀態,策略比較複雜。而autosar網路管理中,乙個節點異常時不影響其它節點的網路狀態。比較而言,autosar要簡單一些。
5.1 網路管理報文
首先要明確一點,nm報文就是can報文。nm報文符合can報文的格式,由幀起始、仲裁場、控制場、資料場、crc場、應答場、幀結尾組成。
一般廠家在設計的時候會規定好nm報文的id範圍。
舉個例子:規定識別符號在0x500到0x5ff範圍為nm報文。當在canoe中抓取到此id範圍內的報文,那就是nm報文。
nm報文的重點在於資料場8位元組裡的內容:
這裡填的是ecu的位址,或者叫ecu的id;
此報文的id=乙個基礎值+ecu的id,例如廠家規定基礎值為0x500,那麼此報文的id=0x500+0x8=0x508;
這裡要注意區分報文的id和ecu id的概念,很容易混淆;
這裡關注下bit0和bit4:
bit0:當此位置1時強制進入rms(下面會講到);
bit4:告訴其他節點自身是怎麼被喚醒的。
置0:被動喚醒、遠端喚醒,比如被其他節點傳送的nm報文喚醒;
置1:主動喚醒、本地喚醒,比如給ecu上電;
byte2-byte7裡的user data資料由使用者自行定義。
5.2 can nm狀態介紹
autosar網路管理有三種狀態:
網路模式(network mode):
bsm-睡眠模式
nm-網路模式
pbm-預睡眠模式
rms-重複報文模式
nos-正常操作狀態
rss-準備睡眠模式
tips:dut在rss狀態的時候,如果收到本地喚醒(如kl15),會走nm11進入rms狀態;那如果收到遠端喚醒報文呢?
autosar網路管理 AUTOSAR網路管理
做汽車ecu的,可能永遠也繞不過autosar網路管理,今天就來簡單的總結一下autosar網路管理機制。對於汽車ecu是否要在點火鑰匙點火後工作,對於各大主機廠ecus可分為兩個類別,那麼什麼是網路管理 nm 呢?目的是使網路中的ecu節點有序的睡眠和喚醒。在沒有通訊需求的時候睡眠,在需要通訊的時...
AutoSar和OSEK網路管理比較
共同點 1.都屬於直接網路管理。2.網路管理的目的都是協調各節點同步進入休眠及喚醒 主要是休眠 3.都依靠特定的網路管理can報文,每個節點的網路管理id都不一樣。4.喚醒方法相同,第乙個喚醒的節點傳送網路管理幀即同時喚醒其它節點。不同點 1.喚醒幀型別不一樣 網路喚醒後,osek要求節點發出的第一...
osek和autosar網路管理的區別和共同點
共同點 1.都屬於直接網路管理 以下都是以直接網路管理為例,autosar可以不是直接網路管理 2.網路管理的目的都是協調各節點同步進入休眠及喚醒 主要是休眠 3.都依靠特定的網路管理can報文,每個節點的網路管理id都不一樣。4.喚醒方法相同,第乙個喚醒的節點傳送網路管理幀即同時喚醒其它節點。不同...