前言
CanNm模塊配置完成后,基本不需要和其他非標(biāo)準(zhǔn)AUTOSAR模塊進(jìn)行交互(除了user data數(shù)據(jù)的使用),但是在深入理解CanNm模塊是發(fā)現(xiàn)一下幾個(gè)問題還是比較疑惑:
(1)Dcm通過BswM控制CanNm報(bào)文的Enable和Disable后會(huì)影響CanNm狀態(tài)機(jī)嗎?
(2)誰來觸發(fā)CanNm狀態(tài)機(jī)跳轉(zhuǎn),什么條件下怎么觸發(fā)?
(3)CanNm怎么知道是主動(dòng)(本地)喚醒還是被動(dòng)(NM網(wǎng)絡(luò))喚醒?
本文就來回答這些問題。
AUTOSAR模式管理-BswM模塊詳細(xì)介紹
AUTOSAR模式管理-EcuM Sleep and UP詳解
AUTOSAR 通信服務(wù) - NM概念詳解
正文
1.網(wǎng)絡(luò)管理基本概念
2.CanNm和BswM模塊交互
2.1 BswNMControl配置容器


BswM模塊的BswMAction配置容器下的BswNMControl配置容器可以配置enable或者disable一路Can網(wǎng)絡(luò)管理報(bào)文的發(fā)送,通常這個(gè)功能需求在DCM模塊的0x28服務(wù)開關(guān)應(yīng)用/網(wǎng)絡(luò)管理通信中會(huì)使用到。

BswMComMNetworkHandleRef參數(shù)屬于BswNMControl配置容器下的配置項(xiàng),應(yīng)用此路網(wǎng)絡(luò)管理在Com下的通道號(hào)。


CanNm模塊提供CanNm_DisableCommunication和CanNm_EnableCommunication兩個(gè)函數(shù)接口用來開關(guān)CanNm報(bào)文的發(fā)送,如果在BswM模塊中配置了BswNMControl配置容器,且有對(duì)應(yīng)的LE邏輯表達(dá)式能夠觸發(fā)這個(gè)Action,那么就會(huì)完成BswM和CanN的交互。
2.2 BswMNmIfCarWakeUpIndication




BswM的BswMModeRequestPort配置容器中提供了BswMNmIfCarWakeUpIndication模式請求端口來通過NMif --> CanNm來獲取網(wǎng)絡(luò)管理喚醒狀態(tài)。這個(gè)MRP在實(shí)際應(yīng)用中很少用到。
3.ComM模塊通過NMIf模塊和CanNm模塊交互
3.1 本地喚醒源主動(dòng)喚醒


主動(dòng)喚醒:來自模塊內(nèi)部對(duì)網(wǎng)絡(luò)的請求,比如KL15喚醒。主動(dòng)喚醒節(jié)點(diǎn)的網(wǎng)絡(luò)管理報(bào)文必須先于應(yīng)用報(bào)文發(fā)送。
ECU上電或喚醒后,如果檢測到為本地喚醒或其他條件需要ECU進(jìn)行主動(dòng)喚醒時(shí),用戶調(diào)用ComM接口ComM_RequestComMode()請求ComM COMM_FULL_COMMUNICATION以使能通信,ComM在接收到請求后,調(diào)用 CanSM_RequestComMode()請求CanSM將相應(yīng)的Can通道狀態(tài)切換為FULLCOM,CanSM再通過CanIf切換控制器和收發(fā)器狀態(tài),調(diào)用如果該通道的NMVariant為FULL,調(diào)用NM接口 Nm_NetworkRequest(),NM再調(diào)用CanNm接口 CanNm_NetworkRequest()請求進(jìn)入主動(dòng)喚醒。ComM進(jìn)入COMM_FULL_COMMUNICATION后,可通過BSWM或手動(dòng)方式,啟動(dòng)相應(yīng)通道的Com IPdu Groups,通信開始。
3.2 網(wǎng)絡(luò)喚醒源被動(dòng)喚醒



被動(dòng)喚醒:來自總線上其他模塊對(duì)該模塊的網(wǎng)絡(luò)請求。被動(dòng)喚醒的節(jié)點(diǎn),發(fā)送網(wǎng)絡(luò)管理報(bào)文和應(yīng)用報(bào)文的先后順序無特別要求。
ECU上電或喚醒后,如果檢測到為遠(yuǎn)程喚醒或其他添加需要ECU進(jìn)行passive喚醒時(shí),調(diào)用 ComM_EcuM_WakeUpIndication()(如果ECUM中的wakeup source綁定了ComM通道,則在調(diào)用EcuM_CheckWakeup()時(shí)自動(dòng)調(diào)用),如果通道的NMVariant為FULL或PASSIVE,ComM調(diào)用 Nm_PassiveStartUp()請求NM進(jìn)行passive喚醒,并調(diào)用 CanSM_RequestComMode()請求CanSM將相應(yīng)的Can通道狀態(tài)切換為FULLCOM。
3.3 網(wǎng)絡(luò)休眠


當(dāng)某個(gè)網(wǎng)絡(luò)通道需要休眠時(shí),調(diào)用ComM接口ComM_RequestComMode()請求COMM_NO_COMMUNICATION以釋放通信請求,COMM在接收到請求后,調(diào)用 CanSM_RequestComMode()請求CanSM將相應(yīng)的Can通道狀態(tài)切換為NOCOM,如果該通道的NMVariant為FULL,調(diào)用NM接口Nm_NetworkRelease()請求NM進(jìn)入sleep,NM在等待總線同步休眠后(其他節(jié)點(diǎn)都停發(fā)了網(wǎng)絡(luò)管理報(bào)文準(zhǔn)備休眠),進(jìn)入Bus-Sleep狀態(tài),反饋給ComM,ComM進(jìn)入NOCOM狀態(tài),如果BswM中配置了ComM模塊狀態(tài)為NO COMMUNICATION就執(zhí)行ECUM下電動(dòng)作時(shí),此時(shí)ECUM就可以啟動(dòng)下電流程。
4.問題回答
問題1:Dcm通過BswM控制CanNm報(bào)文的Enable和Disable后會(huì)影響CanNm狀態(tài)機(jī)嗎?
答:AUTOSAR網(wǎng)絡(luò)管理規(guī)范中沒有明確說明這個(gè)問題。不過在閱讀源碼后,發(fā)現(xiàn) CanNm_DisableCommunication和 CanNm_EnableCommunication不會(huì)影響CanNm狀態(tài)機(jī),只是設(shè)置一個(gè)標(biāo)志用來控制NM報(bào)文的發(fā)送。
問題2:誰來觸發(fā)CanNm狀態(tài)機(jī)跳轉(zhuǎn),什么條件下怎么觸發(fā)?
答:ComM模塊獲取到EcuM上報(bào)的被動(dòng)喚醒事件后通過Nm_PassiveStartUp來被動(dòng)喚醒NM。ComM收到用戶的網(wǎng)絡(luò)通信請求后通過Nm_NetworkRequest來主動(dòng)喚醒NM。ComM收到用戶的網(wǎng)絡(luò)通信請求后通過Nm_NetworkRelease釋放NM。
問題3:CanNm怎么知道是主動(dòng)(本地)喚醒還是被動(dòng)(NM網(wǎng)絡(luò))喚醒?
答:主動(dòng)喚醒一般都是本地Local喚醒,來自ComM的用戶(User)調(diào)用ComM_ModeRequest請求網(wǎng)絡(luò)喚醒。被動(dòng)喚醒一般都是NM網(wǎng)絡(luò)喚醒,來自EcuM調(diào)用ComM_EcuM_WakeUpIndication上班的喚醒事件。
審核編輯:郭婷
-
接口
+關(guān)注
關(guān)注
33文章
9520瀏覽量
157028 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67507
原文標(biāo)題:AUTOSAR架構(gòu)下關(guān)于CanNm的幾點(diǎn)思考
文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
特瑞仕電源架構(gòu)解決方案網(wǎng)絡(luò)研討會(huì)問題解答(2)
特瑞仕電源架構(gòu)解決方案網(wǎng)絡(luò)研討會(huì)問題解答(1)
示波器常見問題解答 (FAQ)
TDK SmartSound One評(píng)估模塊使用指南
車載功放芯片選型高頻問題解答,看完秒懂)
臺(tái)階儀的原理及常見問題解答
四探針法測電阻的原理與常見問題解答
特瑞仕電壓檢測器網(wǎng)絡(luò)研討會(huì)問題解答
2025無線通信應(yīng)用與對(duì)比分析
示波器問題解答干貨
晶科能源Tiger Neo 3.0的問題解答(1)
從手寫代碼到AUTOSAR工具鏈:J1939Tp應(yīng)用篇
汽車?yán)葰饷苄詸z測儀常見問題解答
變頻器與傳動(dòng)使用的常見問題解答
AUTOSAR架構(gòu)中CanNm模塊的問題解答
評(píng)論