網(wǎng)絡管理中,主動喚醒源/被動喚醒源與網(wǎng)絡主動喚醒/被動喚醒的關(guān)系有時讓人傻傻分不清,本文侃侃這幾個名詞。
提示:基于CAN節(jié)點討論。
1主動喚醒源/被動喚醒源
主動喚醒源:承擔著主動喚醒網(wǎng)絡責任的喚醒源,稱為主動喚醒源。比如:KL15硬線,User請求,ERA信號等。
KL15硬線:通過KL15硬線方式喚醒網(wǎng)絡,說明當前網(wǎng)絡沒有節(jié)點參與通信,為了快速將網(wǎng)絡喚醒,建立通信功能,被KL15硬線喚醒的節(jié)點,需要主動地去喚醒網(wǎng)絡,進而將網(wǎng)絡上其他節(jié)點喚醒。所以,可以將KL15硬線看作主動喚醒源。同理,類似于KL15硬線喚醒網(wǎng)絡的其他硬線喚醒方式,也可以看作?主動喚醒源;
User請求:User請求,是指通過ComM_RequestComMode()接口請求通信的方式,發(fā)起點為SWC,由于功能需要,節(jié)點需要在某些工況下主動拉起其他節(jié)點通信;
ERA信號:ERA信號怎么看作是主動喚醒源呢?首先,ERA信號的使用,說明當前節(jié)點有多個物理Channel(ComM的Channel與之一一對應),PNC信息需要在不同的Channel之間路由,以實現(xiàn)不同網(wǎng)絡喚醒的目的。
比如:CAN 1在CAN BUS 1上收到一幀網(wǎng)絡管理報文,包含PNC #n = 1,且PNC #n與CAN1和CAN2均關(guān)聯(lián),PNC #n需要由CAN1路由到CAN2,CANBUS2網(wǎng)段內(nèi)可能節(jié)點均沒有喚醒,需要有節(jié)點承擔喚醒CAN BUS2 網(wǎng)絡的責任,即:主動喚醒CAN BUS2網(wǎng)段內(nèi)的節(jié)點。此時,路由到CAN 2節(jié)點的ERA信號就可以充當主動喚醒CAN BUS2上節(jié)點的責任,所以ERA信號可以看作主動喚醒源。
除了上述的的主動喚醒源,還有一些定時器、傳感器也可以作為主動喚醒源。傳感器一般與硬線連接,類似于KL15硬線。定時器的使用場景不清楚大家有沒有遇到,這里給一個場景:智能補電。如果車輛長時間處于休眠狀態(tài),蓄電池可能虧電,虧電會導致車輛無法正常使用。為了防止蓄電池虧電,有些車上會配置智能補電功能,通過定時器設置定時時間,如果此時間內(nèi)車輛未有啟動,則定時器主動觸發(fā)對應節(jié)點的喚醒,對蓄電池進行補電。
被動喚醒源:不需要承擔喚醒網(wǎng)絡責任的喚醒源,稱為被動喚醒源。比如:收到NM Msg。對于收到NM Msg需要分情況討論:
網(wǎng)絡管理沒有PN功能:節(jié)點收到的網(wǎng)絡管理報文沒有PNC信息,此時網(wǎng)絡管理報文看作被動喚醒源。
網(wǎng)絡管理具有PN功能:如果對應的ECU充當Gateway角色,且有多個物理Channel,PNC #n關(guān)聯(lián)多個Channel,網(wǎng)絡管理報文可?看作主動喚醒源(前面提到的ERA信號);如果PNC #n僅關(guān)聯(lián)本Channel,不需要路由,網(wǎng)絡管理報文看作被動喚醒源。
2網(wǎng)絡主動喚醒/被動喚醒
網(wǎng)絡主動喚醒:由主動喚醒源觸發(fā),調(diào)用CanNm_NetworkRequest()接口喚醒網(wǎng)絡的方式稱為網(wǎng)絡主動喚醒。
網(wǎng)絡被動喚醒:由被動喚醒源觸發(fā),調(diào)用CanNm_PassiveStartUp()接口喚醒網(wǎng)絡的方式稱為網(wǎng)絡被動喚醒。
問題拓展思考
對于PNC模式的切換,群內(nèi)小伙伴提出了這樣一個問題:"ERA = 1時,PNC由PNC_NO_COMMUNICATION切換到PNC_REQUESTED。而EIRA = 1時,PNC由PNC_NO_COMMUNICATION切換到PNC_READY_SLEEP",兩者為什么不同呢?
關(guān)于ERA、EIRA前文已經(jīng)聊過,可以參考Autosar網(wǎng)絡管理:Partial Network基礎 之 ERA/EIRA、PNC Gateway和Autosar網(wǎng)絡管理:CanNmPnResetTime對關(guān)聯(lián)Tx PDU的發(fā)送影響。這里說一下個人理解:ERA的使用需要配合Gateway的使能,當某個PNC = 1時,說明有節(jié)點(假設節(jié)點A)需要通信,假設節(jié)點A需要和不同網(wǎng)段的其他節(jié)點(假設節(jié)點C)通信,需要經(jīng)過節(jié)點B、節(jié)點D的路由,如下所示:
如果想喚醒Can2 Bus的節(jié)點C網(wǎng)絡,需要節(jié)點D(與節(jié)點C同一個網(wǎng)段)發(fā)送網(wǎng)絡管理報文喚醒節(jié)點C。主動發(fā)起通信的節(jié)點A在Can1 Bus,需要和Can2 Bus上的節(jié)點C通信,需要外部信號(PNC #n = 1)發(fā)送給節(jié)點B,由節(jié)點B路由給節(jié)點D,將PNC信息發(fā)送給節(jié)點C。
ERA = 1,與此PNC相關(guān)的節(jié)點(B、D)進入PNC_REQUESTED狀態(tài),節(jié)點B、D的Channel請求進入COMM_FULL_COMMUNICATION 狀態(tài),調(diào)用Nm_NetworkRequest()接口將Can 2 Bus上的節(jié)點喚醒;如果進入的是PNC_READY_SLEEP模式,ComM將會釋放COMM_FULL_COMMUNICATION狀態(tài),且PNC信息不能路由,Can 2 Bus上的節(jié)點無法喚醒,節(jié)點A、C無法通信。
EIRA = 1,只是想把通信留在本網(wǎng)段,當前節(jié)點參與通信即可,不需要和外部網(wǎng)段通信,因此進入PNC_READY_SLEEP狀態(tài),網(wǎng)絡被動喚醒。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2551文章
51168瀏覽量
754181 -
CAN總線
+關(guān)注
關(guān)注
145文章
1952瀏覽量
130816 -
網(wǎng)絡管理
+關(guān)注
關(guān)注
0文章
120瀏覽量
27684 -
定時器
+關(guān)注
關(guān)注
23文章
3250瀏覽量
114919
發(fā)布評論請先 登錄
相關(guān)推薦
評論