AUTOSAR網絡管理
汽車行業的網絡管理一般有兩種,一種是AutoSar另一種是OSEK,為啥汽車要網絡管理,其實是為了降低車輛電池消耗,當車輛不工作時所有總線上的ECU通訊模塊或整個ECU處于低功耗狀態。網絡管理一般用在電池供電的ECU,比如車上CAN上的ECU。為了避免通訊錯誤,需要網絡管理來協調網絡上所有ECU同時進入低功耗模式。OSEK和AUTOSAR網絡管理本質上一樣,只是實現算法不一樣,后者比前者算法跟簡單。下一篇再寫OSEK。補充下汽車上的can網絡一般有三種報文,網絡管理報文的id是4開頭的,就是用來協調各個ecu進入休眠和喚醒用的。診斷報文的id是7開頭的,比如按照UDS協議讀取某個ecu現在存的故障碼之類的。應用報文是攜帶一些比如車門車窗狀態車速油耗等等車輛信息供各個零部件知道車的一個狀態。
AutoSar網絡管理總結下來就兩點:
1) 每個網絡節點如果想保持總線通信,就會一直發送周期性的NM(網絡管理)消息;如果它不再需要保持總線通信,它就不再發送NM消息。
2) 如果總線通信已經被釋放,并且在配置的一段時間內沒有發送或者接收到NM消息,則執行到Bus-Sleep模式的狀態轉移。
AutoSar網絡管理總共包含下面5種狀態。
1、Bus Sleep Mode : 睡眠模式,該模式下禁止報文的收發。除了網絡管理報文可以接收到。ecu一上電就處于該模式。如果ECU接收到NM報文或本地喚醒事件(如車輛上電),則NM狀態由Bus Sleep Mode遷移到Repeat Message State;
2、Repeat Message State:喚醒過渡模式,該模式連接了休眠喚醒兩種狀態,保證了網絡最小活動時間,同時提供網絡快恢復功能。在該模式下一般ECU是周期比較快比如20毫秒的發10幀網絡管理報文后,如果持續接收到了別的ecu發來的網絡管理報文或者有本地喚醒源比如車輛上電,則切到Normal Operation State。如果沒有則切到Ready Sleep State。
3、Normal Operation State:正常工作模式,該模式下網絡處于穩定收發報文狀態,能正常收發所有報文。該模式下一般網絡管理報文是500ms發一次,如果沒收到其他ecu發網絡管理報文了或者沒有本地喚醒源了比如車輛上電,則切到Ready Sleep State。
4、Ready Sleep State: 網絡預睡眠狀態,待整車協商完成后,進入睡眠模式。該狀態下,ecu不發送網絡管理報文了但可以接收到所有類型的報文。可隨時恢復到正常工作模式。在該狀態下當接收到本地喚醒事件后,NM遷移到Normal Operation State。如果不再接收到網絡管理報文且此時沒有診斷在執行就會切到Prepare Bus Sleep Mode。
5、Prepare Bus Sleep Mode: 準備睡眠模式,該模式下禁止報文的收發,只接收網絡管理報文,具有快速恢復報文收發的能力。如果接收到本地喚醒事件或者接收到NM報文,則NM遷移到Repeat Message State。如果未接收到本地喚醒事件,且未接收到NM報文,則NM會在TIMER_WAIT_BUS_SLEEP超時后進入Bus Sleep Mode
備注: 在Normal Operation State中或者在Ready Sleep State中,當接收到Repeat Message的請求報文后,網絡管理的狀態會遷移到Repeat Message State;一般是為了快速喚醒別的ECU才會有節點發這種報文。

浙公網安備 33010602011771號