前言
在AUTOSAR中,Ecu的喚醒流程并不能簡單的看作是對(duì)各個(gè)外設(shè)模塊的供電動(dòng)作。Autosar給了軟件開發(fā)人員很大的自由度去設(shè)計(jì)目標(biāo)項(xiàng)目Ecu的喚醒動(dòng)作,而自由度越大的代價(jià)就是開發(fā)人員需要很好的設(shè)計(jì)Ecu的喚醒時(shí)序,提供Ecu喚醒過程的魯棒性。
喚醒源的狀態(tài)
在EcuM中規(guī)定了喚醒源的4中狀態(tài):NONE、PENDING、VALIDATED、EXPIRED。四種狀態(tài)關(guān)系的切換關(guān)系如下所示:
當(dāng)Ecu上電時(shí),喚醒源的初始狀態(tài)是NONE,當(dāng)喚醒源狀態(tài)切換到NONE時(shí),需要通知到BswM模塊,上圖也可以看出,喚醒源的每次狀態(tài)切換都需要通知到BswM模塊,通知接口:BswM_EcuM_CurrentWakeup。
EcuM是如何知道有喚醒事件呢?EcuM如果想知道有喚醒Ecu的事件,最好的方式就是給底層提供一個(gè)接口或者注冊(cè)一個(gè)回調(diào),Autosar里規(guī)定了標(biāo)準(zhǔn)接口:EcuM_SetWakeupEvent。當(dāng)有喚醒事件發(fā)生時(shí),底層的硬件模塊(例如:Transceiver、Sensor)最先識(shí)別到,之后通過該接口上報(bào)給EcuM。
EcuM主函數(shù)會(huì)輪詢檢測(cè)底層上報(bào)的喚醒事件,如果想進(jìn)一步的分析喚醒事件是不是有效的總線喚醒源(網(wǎng)絡(luò)管理報(bào)文),需要Ecu有正常的收發(fā)報(bào)文能力,想要收發(fā)報(bào)文,Transceiver和Controller兩個(gè)模塊均需要啟動(dòng)。一般來講,Transceiver會(huì)在程序初始化時(shí)進(jìn)入正常的工作模式,而Controller進(jìn)入正常的工作模式是EcuM調(diào)用EcuM_StartWakeupSources的結(jié)果,而該接口的內(nèi)部功能的實(shí)現(xiàn)由開發(fā)者自行把控,autosar并未做硬性的要求。
啟動(dòng)Transceiver和Controller,建立了報(bào)文的正常收發(fā)能力,Ecu即可進(jìn)一步的將報(bào)文上報(bào)上層模塊,如:CanIf,即此時(shí)Ecu可以拿到總線的RawData,不管是不是網(wǎng)絡(luò)管理報(bào)文,Ecu都可以做進(jìn)一步的功能實(shí)現(xiàn),如收到診斷報(bào)文喚醒網(wǎng)絡(luò)等。
一般來說,會(huì)在EcuM模塊配置兩個(gè)時(shí)間參數(shù),CheckWakeup和ValidateWakeup時(shí)間,如果CheckWakeup時(shí)間走完走完沒有判斷到有效的喚醒源,則調(diào)用EcuM_StopWakeupSources關(guān)閉喚醒源,這里多數(shù)關(guān)閉controller,進(jìn)而Ecu失去通信能力。
ValidateWakeup時(shí)間參數(shù)配置與否決定了是否使用喚醒事件的驗(yàn)證功能,如果配置該參數(shù),且驗(yàn)證喚醒事件有效后則通知ComM使能通信,調(diào)用ComM接口:ComM_EcuM_WakeupIndication。如果該參數(shù)沒有配置,則EcuM不在繞圈,直接通知BswM喚醒事件有效,通知ComM開啟通信。個(gè)人理解:該參數(shù)配置較合理。
第一:可以驗(yàn)證喚醒事件的有效性,避免因總線抖動(dòng)等干擾造成的非預(yù)期Ecu喚醒;
第二:如果使用的Transceiver沒有Pn功能,Ecu會(huì)因總線的擾動(dòng)而不斷的喚醒,假設(shè)總線有應(yīng)用報(bào)文沒有網(wǎng)絡(luò)管理報(bào)文,ValidateWakeup時(shí)間給0,Ecu將會(huì)不斷的走上下電流程,如果下電選擇OFF流程(實(shí)際項(xiàng)目中很多開發(fā)人員沒有開啟Reset流程的Operation,即直接冷啟動(dòng),這不符合autosar規(guī)范,也不安全),將會(huì)帶來未知問題(如果Ecu內(nèi)核有一定時(shí)間內(nèi)喚醒次數(shù)限制,超過閾值則可能上鎖保護(hù)),設(shè)置該參數(shù)可以有效的延遲Ecu喚醒頻率。
審核編輯:劉清
-
接口
+關(guān)注
關(guān)注
33文章
8372瀏覽量
150566 -
總線
+關(guān)注
關(guān)注
10文章
2854瀏覽量
87850 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
345瀏覽量
21417
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論