日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網

  • 公眾號
    • 汽車測試網

    • 在線課堂

    • 電車測試

首頁 > 汽車技術 > 正文

從ECU和CPU視角理解AutoSar網絡管理

2021-03-16 00:59:30·  來源:汽車電子與軟件  作者:南聯(lián)紅  
 
1 KL15和KL30節(jié)點概念解釋點火開關位置:OFF,ACC,ON,START四種狀態(tài)KL30節(jié)點:控制器由蓄電池常供電,在點火開關OFF時仍然能運行軟件和維持CAN通信。如圖,在Hard
1  KL15和KL30節(jié)點概念解釋

點火開關位置:OFF,ACC,ON,START四種狀態(tài)

從ECU和CPU視角理解AutoSar網絡管理

KL30節(jié)點:控制器由蓄電池常供電,在點火開關OFF時仍然能運行軟件和維持CAN通信。

如圖,在Hardware Wakeup信號OFF時,CPU能感知到該變化,但是3.3V,5V供電不受影響。CPU可以根據(jù)電源和網絡管理狀態(tài)機條件決定何時發(fā)送命令切斷SBC的3.3V,5V供電輸出,從而停止CPU工作,也關閉掉CAN通信。對CPU而言進入Shutdown或OFF狀態(tài)。對ECU系統(tǒng)(SBC+CPU)而言,進入Sleep狀態(tài),SBC屬于Sleep狀態(tài)。此時蓄電池常接ECU,電能都消耗在SBC上。之后,一旦檢測到Hardware或有效的CAN信號,激活SBC從Sleep進入Standby狀態(tài),3.3V供電輸出,CPU上電程序運行。軟件再發(fā)送命令使SBC進入Normal狀態(tài),打開5.0V供電,CAN通信正常。

從ECU和CPU視角理解AutoSar網絡管理1

KL15節(jié)點:控制器由KL15線供電,即只能在鑰匙置于“ACC”或者“ON”檔時運行軟件和維持CAN通信。對于正在運行的CPU軟件,無論它處在什么狀態(tài),只要Hardware OFF,SBC供電立即切斷,3.3V,5.0V立即消失,程序立即停止運行,ECU系統(tǒng)進入OFF模式,不存在Sleep模式。該狀態(tài)下SBC也不消耗電能,ECU系統(tǒng)的電能消失是0,比較KL30節(jié)點的Sleep模式最節(jié)省電能。

從ECU和CPU視角理解AutoSar網絡管理2

比較而言:

KL15節(jié)點:軟件沒有下電流程,隨時可能終止運行,沒有時間進入Afterrun模式和做Eeprom最終存儲。WakeUp信號的消失后ECU直接進入OFF模式,不存在Sleep模式,不耗費電能。

KL30節(jié)點:軟件有完整的下電流程,軟件根據(jù)WakeUp信號的消失可以控制自己按步驟進入Afterrun模式,存儲數(shù)據(jù)到Eeprom,設置SBC進入Sleep模式。ECU進入Sleep模式只有SBC在耗電。

說明,KL30節(jié)點也存在OFF模式,當蓄電池嚴重匱電使SBC進入OFF模式,或者任何操作導致Batt-12V斷開的情況。但較少發(fā)生這種情況。

2  AutoSar ECU狀態(tài)

在理解AutoSar網絡管理前,先分析一下AutoSar的ECU狀態(tài)。

STARTUP:CPU上電后首先運行的部分,從Boot開始。

UP:程序正常運行的狀態(tài),Boot和App程序里都有。

SLEEP:目的是節(jié)省電能,該狀態(tài)下ECU仍然供電但是軟件不正常運行,ECU可以根據(jù)條件被喚醒。CPU減少供電,比如降低主頻工作處于Polling或Halt模式,CPU內的RAM內容維持,這樣重新喚醒后ECU可以從前回狀態(tài)繼續(xù)運行。

SHTDOWN:CPU通過程序控制主動關閉對自己的供電,相比較SLEEP模式,能耗更低。

OFF:當ECU供電消失時進入OFF,從任何狀態(tài)都可進入。當蓄電池重新供電,會觸發(fā)ECU power-on喚醒事件,但是ECU是否要進入正常模式,還要看有沒有其他硬線喚醒源或者CAN喚醒信號是否有效。

其實,上述KL30節(jié)點的SLEEP狀態(tài)包含了這里的SLEEP和SHTDOWN兩個狀態(tài),且通常是SHTDOWN狀態(tài)。因為不用給CPU供電,能耗更低。

從ECU和CPU視角理解AutoSar網絡管理3

AutoSar規(guī)范里Shutdown之后可以進入Sleep狀態(tài),不過上面的狀態(tài)圖里卻沒有這條路徑。理解起來這個Sleep和上圖的Sleep不一樣。此處的Sleep狀態(tài),應該CPU也停止供電,對于KL30節(jié)點僅是SBC供電。

從ECU和CPU視角理解AutoSar網絡管理4

如下7.4,Shutdown之后ECU應該能夠被重新喚醒。

從ECU和CPU視角理解AutoSar網絡管理5

如下4.1, Shutdown要使用外部硬件,也就是給SBC發(fā)送命令關閉CPU供電。

從ECU和CPU視角理解AutoSar網絡管理6

3  AutoSar網絡管理狀態(tài)機

綜上分析,可知AutoSar網絡管理只針對KL30節(jié)點。狀態(tài)機中的Power和Sleep狀態(tài)是針對ECU,而非CPU對說的。但是,軟件是在CPU里運行,CPU只有供電才能運行軟件。所以,有必要弄清楚這些狀態(tài)的真實意義:

從ECU和CPU視角理解AutoSar網絡管理7

1. 第一次蓄電池KL30供電時,觸發(fā)Power-on喚醒事件,CPU得電軟件運行,首先進入Bus-Sleep模式。這時,要分兩種情況:

a.如果有其它有效喚醒信號:硬線ACC,ON或CAN報文,則繼續(xù)進入Network-Mode,ECU正常運行

b.如果沒有其它有效喚醒信號,CPU運行一段時間就要給SBC發(fā)送命令關閉自己供電并設置SBC的喚醒模式,然后程序停止運行。對外表現(xiàn)是ECU的耗電由剛喚醒的SBC+CPU變成僅SBC供電,維持低功耗。

2. 蓄電池KL30維持常電,喚醒事件來臨,SBC被喚醒,CPU得電,程序重新運行。對ECU來講是從Bus-Sleep開始,但是對CPU來講,是從PowerOn狀態(tài)開始的,它首先要做CanNm_Init(),然后進入Bus-Sleep模式。緊接著進入Network-Mode,ECU正常運行。

3.蓄電池KL30維持常電,喚醒事件消失,NM-Timeout Timer超時后,從Network Mode進入Prepare Bus-Sleep Mode,接著Wait-Bus Sleep Timer超時后,從Prepare Bus-Sleep Mode進入Bus-Sleep Mode。這里的Bus-Sleep Mode實際上就是CPU給SBC發(fā)送命令關閉自己供電并設置SBC的喚醒模式,然后程序停止運行。

4  兩個視角理解AutoSar網絡管理

1. ECU視角

從ECU和CPU視角理解AutoSar網絡管理8

2. CPU視角

1. Wait-Bus Sleep Timer超時后就關閉CPU供電,狀態(tài)機直接進入CPU-Power OFF,宏觀上就是ECU的Bus-Sleep狀態(tài)。

2. ECU可能被任意喚醒(比如,沒有指定幀喚醒功能的SBC芯片,可以被任意CAN報文喚醒),喚醒之后立即打開CPU供電,初始化程序,進入Bus-Sleep狀態(tài),因為喚醒時間是個持續(xù)的過程,不是觸發(fā)一下就完了,CPU可以繼續(xù)讀喚醒信號判斷其有效性。如果有效,進入Nomal-NM狀態(tài),否則就停留在Bus-Sleep狀態(tài)。在Bus-Sleep狀態(tài)下,只要收到任意CAN報文就復位Wait-Bus Sleep Timer,直到網絡上沒有任何CAN報文,Wait-Bus Sleep Timer超時后關閉CPU供電。

3. CPU Power-OFF后程序停止,因此無法判定蓄電池是否發(fā)生Power OFF事件。即不能判定ECU視角的Power-ON或Power-OFF

從ECU和CPU視角理解AutoSar網絡管理9


————————————————
版權聲明:
本文為CSDN博主「南工問天」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。 
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25