節點喚醒方式
本地喚醒:喚醒源來源于自身模塊,比如常說的KL15,控制器由KL15線供電,即只能在鑰匙置于“ACC”或者“ON”檔時運行軟件和維持CAN通信
對于正在運行的CPU軟件,無論它處在什么狀態,只要Hardware OFF,PMIC供電立即切斷,3.3V,5.0V立即消失,程序立即停止運行,ECU系統進入OFF模式,不存在Sleep模式。該狀態下PMIC也不消耗電能,ECU系統的電能消失是0,比較KL30節點的Sleep模式最節省電能。
KL15節點沒有下電流程,隨時可能終止運行,沒有時間進入AfterRun模式和做Eeprom最終存儲。WakeUp信號的消失后ECU直接進入OFF模式,不存在Sleep模式,不耗費電能。
KL30節點有完整的下電流程,軟件根據WakeUp信號的消失可以控制自己按步驟進入AfterRun模式,存儲數據到flash,設置PMIC進入Sleep模式。ECU進入Sleep模式只有PMIC在耗電。AutoSar網絡管理只針對KL30節點。(參考BSWM和ECUM的上下電流程)

遠程喚醒:喚醒源來源于自身ECU節點所在的網絡報文
網絡喚醒是以網絡管理報文為基礎來協同整個網絡“同睡同醒”,CanNM采用分布式的直接網絡管理方式來發送自身節點所需的網絡管理請求及自身網絡管理狀態,并接受來自網絡上其他ECU節點的網絡管理請求與狀態。"同睡同醒"機制的目的是確保所有節點在睡眠和喚醒操作上保持同步。當一個節點準備進入睡眠模式時,它會通過網絡發送一個特殊的同步消息,通知其他節點它即將進入睡眠狀態。其他節點接收到該消息后,會做出相應的響應,以確保整個系統在同一時間進入睡眠狀態。同樣地,當一個節點準備喚醒時,它會發送一個喚醒消息來通知其他節點。其他節點接收到喚醒消息后,會做出相應的響應,以確保整個系統在同一時間喚醒。
該狀態機的狀態類型可分為“三大三小”。
“三大”指的是Bus Sleep Mode、Network Mode、Prepare Bus-Sleep Mode;
“三小”則值得是Network Mode下的三個子狀態:Repeat Message State、Normal Operation Mode、Ready Sleep Mode。

一旦進入Network Mode,計時器T_NM_Timeout就會啟動,只要成功接收到來自總線上的NM報文或者成功發送至總線NM報文,都會將該計時器T_NM_Timeout重置。一旦T_NM_TIMEROUT 超時,那么就會離開該狀態轉而進入Prepare Bus-Sleep狀態。
報文發送與接受狀態
“Bus-Sleep”階段,只接收NM報文喚醒,不發送任何報文;
“Pre-Bus-Sleep”階段,同樣僅允許接收NM報文,對于早已在發送Buffer中的APP報文應發送完畢后立刻停止APP報文;
“Network Mode”模式下,除了在Ready Sleep階段不允許發送NM報文之外,其余階段APP報文與NM報文正常收發;

CanNM報文周期性的向MCU發送,如果一旦一段時間沒有收到,MCU就通過SPI向TJA115的寄存器寫數據,要進入sleep模式,之后TJA1145在向PMIC拉低.

下圖以TJA1043簡單說明can報文如何使MCU進入到休眠喚醒狀態:



S1:MCU滿足休眠條件時,通過發送SPI相應指令讓TJA1145進入Sleep狀態;

例如下面的用法:







簡單的指令代碼實現就是下圖:

S2:TJA1145進入到Sleep狀態后,INH引腳就會拉低,控制5V或者3V關閉電源輸出,間接導致MCU整個系統處理掉電狀態,此時TJA1145始終處于供電狀態(由于BAT始終有電),整個ECU成功進入到休眠狀態;
S3:TJA1145雖然處于Sleep狀態,屬于極低功耗狀態,同步也檢測著網絡是否存在有效喚醒源;
S4:當TJA1145發現有效喚醒源之后,就會自動從Sleep狀態切換成Standby狀態,在Standby狀態下INH引腳拉高,此時5V與3V便會正常輸出,從而MCU被正常供電,程序開啟正常運行;
————————————————? ? ? ?
本文來源于網絡,原文鏈接:https://blog.csdn.net/xiandang8023/article/details/139030190
End
「汽車電子嵌入式在CSDN上同步推出AUTOSAR精進之路專欄,本專欄每個模塊完全按實際項目中開發及維護過程來詳細介紹。模塊核心概念介紹、實際需求描述、實際工程配置、特殊需求介紹及背后原理、實際工程使用經驗總結。目的是讓讀者看完每一個章節后能理解原理后根據需求完成一個模塊的配置或者解決一個問題。」
點擊文章最后左下角的閱讀原文可以獲取更多信息
或者復制如下鏈接到瀏覽器獲取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
2.為便于技術交流,創建了汽車電子嵌入式技術交流群,可盡情探討AP,CP,DDS,SOME/IP等前沿熱點話題,后臺回復“加群”即可加入;
注:本文引用了一些第三方工具和文檔,若有侵權,請聯系作者刪除!
推薦閱讀
汽車電子嵌入式精彩文章匯總第一期:20210530-20230703
汽車電子嵌入式精彩文章匯總第2期
TC3xx芯片GTM模塊-CMU,CCM,TBU詳解
TC3xx芯片GTM模塊-TOM詳解
AUTOSAR架構下PWM模塊配置實踐
TC3xx芯片GTM模塊-TIM詳解
AUTOSAR架構下ICU模塊配置實踐
TC3xx芯片電源管理系統PMS詳解
TC3xx DMA模塊詳解
TC3xx芯片SMU模塊詳解
如何監控TC3xx芯片PFlash的ECC錯誤
TC3xx芯片RAM的錯誤檢測
TC3xx芯片的總線內存保護
AUTOSAR架構下MCAL Modules軟件分區問題分析
AUTOSAR架構下內部看門狗復位檢測
嵌入式基礎:環形緩沖區ring buffer
編譯鏈接專題第1篇-make和makefile介紹
編譯鏈接專題第2篇-初識makefile結構
編譯鏈接專題第3篇-初識makefile中的偽目標
編譯鏈接專題第4篇-變量和變量的不同賦值方式
編譯鏈接專題第5篇-預定義變量的使用
編譯鏈接專題第6篇-變量的高級主題(上)
編譯鏈接專題第7篇-變量的高級主題(下)
編譯鏈接專題第8篇-條件判斷語句
End
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,都是我最大的動力!
汽車電子嵌入式
微信掃描二維碼,關注我的公眾號