前言
最近遇到一個特殊需求:在ECU系統(tǒng)休眠后需要通過網絡管理報文和診斷報文喚醒網絡,但是應用報文不能喚醒網絡。通常情況下,在ECU系統(tǒng)休眠后,AUTOSAR架構中只能配置通過網絡管理報文喚醒網絡或者所有報文都能喚醒網絡,沒有單獨的診斷報文喚醒網絡的配置。那在AUTOSAR架構下如何來實現(xiàn)這個功能了?
本文先詳細介紹這個需求在AUTOSAR架構下遇到的問題,然后再給出一個具體的解決辦法。
Note: 使用Vector的工具,以及TJA1043的CAN收發(fā)器。
正文
1.面臨的問題
1.1 TJA1043的INH腳喚醒事件
ECU系統(tǒng)休眠后TJA1043的INH腳處于floating高阻態(tài),系統(tǒng)休眠后通過硬件外部電路下拉到低電平狀態(tài)/Low-level,ECU系統(tǒng)休眠前把TJA1043的INH腳配置為喚醒腳,系統(tǒng)休眠后如果收到任意的CAN報文,TJA1043的INH腳會被拉高,產生CAN收發(fā)器的硬件喚醒事件(Low-Level to High-Level)。如果ECU系統(tǒng)是斷電系統(tǒng),那么INH腳應該接在SBC上,因為SBC是常電狀態(tài),檢測到INH的喚醒事件后就會給ECU-MCU供電,MCU冷啟動。如果是ECU系統(tǒng)是常電系統(tǒng),INH腳應該接到MCU的一個中斷喚醒腳上,檢測到INH的喚醒事件后,中斷喚醒MCU,MCU中的軟件可以選擇繼續(xù)跑,也可以通過軟件Reset后重新熱啟動。
參考文章:關于CanTrcv模塊的幾點思考
總之,無論是斷電系統(tǒng)還是常電系統(tǒng),在ECU系統(tǒng)休眠后,任意的CAN報文都能喚醒ECU。
1.2 EcuM配置網絡喚醒
實現(xiàn)網絡喚醒,需要在EcuM模塊中配置喚醒源,同時配置喚醒源檢測。
開啟EcuM的網絡喚醒源校驗Validation后需要User實現(xiàn)三個Callout函數(shù)函數(shù):
1) EcuM_StartWakeupSources(EcuM_WakeupSourceType);
2) EcuM_StopWakeupSources(EcuM_WakeupSourceType);
3) EcuM_CheckValidation(EcuM_WakeupSourceType);
參考文章:AUTOSAR架構下關于CanNm的幾點思考
1.3 CanIf配置喚醒報文過濾
CanIf中可以配置Wakeup Check Valition,有兩種配置可選:
1)所有報文可以通過校驗
2)只有NM報文可以通過校驗
1.4ComM網絡喚醒
EcuM調用CanIf接口校驗網絡喚醒源成功后,EcuM就會調用ComM_EcuM_WakeUpIndication請求通信,ComM在CommunicationAlllowed后就會調轉到Full Com狀態(tài)開啟網絡。
參考文章:AUTOSAR網絡通信問題分析
1.5診斷報文喚醒面臨的問題
我們的需求是:在ECU系統(tǒng)休眠后需要通過網絡管理報文和診斷報文喚醒網絡,但是應用報文不能喚醒網絡。
但是從上文中我們可以得知:
1)如果CanIf配置為所有報文可以校驗通過,那么應用報文也會通過校驗,從而喚醒網絡。
2)如果CanIf配置為只有NM報文可以通過校驗,那么診斷報文也就不能通過校驗, 從而診斷報文不能喚醒網絡。
3)只要ECU被喚醒后,因為程序已經跑起來了,理論上肯定可以讓診斷報文來喚醒網絡的,但是在AUTOSAR架構下沒有提供這個配置,代碼框架已經被限制,要實現(xiàn)這個功能就不知道在哪里實現(xiàn)。
也就是說,在AUTOSAR架構下按通常配置是無法實現(xiàn)ECU系統(tǒng)休眠后需要通過網絡管理報文和診斷報文喚醒網絡,但是應用報文不能喚醒網絡的。
2.解決的辦法
如果能想辦法在EcuM調用CanIf_CheckValication的時候能讓診斷報文通過校驗(NM報文也通過校驗,應用報文不能通過校驗)就能解決這個問題。
審核編輯 :李倩
-
收發(fā)器
+關注
關注
10文章
3594瀏覽量
107277 -
AUTOSAR
+關注
關注
10文章
370瀏覽量
22377 -
ecu
+關注
關注
14文章
912瀏覽量
55414
原文標題:ECU系統(tǒng)休眠后通過診斷報文喚醒ECU且喚醒網絡
文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
CAN總線指定幀喚醒的硬件實現(xiàn)方式
電動汽車的ECU進入休眠后,目前有3種喚醒模式,CAN總線和AC電壓的喚醒設計原理是什么?
CANoe:網絡和ECU開發(fā)、測試和分析的專業(yè)工具
汽車ECU的低功耗高性能實現(xiàn)
CH582M freeRTOS如何實現(xiàn)休眠? 休眠后如何喚醒?
如何通過外部事件快速喚醒MCU
網絡關閉但ECU沒有休眠前如何進行網絡喚醒呢?
簡化ECU中具有選擇性喚醒功能的隔離式CAN設計

ECU故障診斷工具 如何選擇合適的ECU
以太網休眠喚醒利器—OPEN Alliance TC10

評論