Q1:ECU從休眠到網絡喚醒時間怎么測?
答:對于CAN網絡,ECU從休眠到網絡喚醒時間的測試方法如下:
t0時刻,使用仿真設備(CANoe/PCan/ZLG等)發送一幀或者連續多幀有效的網絡管理報文;
t0~t1期間,由于ECU休眠(主芯片斷電,不考慮低功耗情況),Controller關閉,ECU不能接收仿真設備發送的報文,所以,此期間仿真設備發送的報文,ECU無法應答而出現錯誤幀(No Ack);
t1時刻,ECU主芯片供電,程序運行,Controller恢復正常工作模式(Transceiver也處于正常工作模式),可以接收報文;
t2時刻,識別到有效喚醒源(有效網絡管理報文),通信打開,ECU外發第一幀報文。如果節點的網絡類型是Passive Mode,第一幀外發報文是應用報文;如果節點的網絡類型非Passive Mode,第一幀外發報文是網絡管理報文。
所以,ECU從休眠到喚醒的啟->止時間 =t0 ->t2,測試時計算此時間差值(t2-t0)是否滿足需求。注意,t0時刻是指第一幀錯誤幀時刻。
上述時序如下所示:
提示:仿真設備為什么發送多幀網絡管理報文?如果Transceiver沒有PN(Partial Network)功能,不能識別網絡管理報文,第一幀網絡管理報文只是激活SBC,完成主芯片的供電任務,而沒有被ECU有效接收,則需要第二幀網絡管理報文喚醒節點網絡。
Q2:節點被動喚醒進入RMS狀態,RMB需要置位嗎?
答:不需要。節點被動喚醒(收到其他節點的網絡管理報文),由BSM(Bus Sleep Mode)進入RMS(Repeat Message State),此時CBV(Control Bit Vector)值 =初始值,而CBV的初始值為0x00,如下所示:
如果在NOS(Normal Operation State)/RSS(Ready Sleep State )主動請求進入RMS,即:主動調用CanNm_RepeatMessageRequest()接口,RMB(Repeat Message Bit)置位,即:RMB = 1。
CanNm_RepeatMessageRequest()接口不能在RMS、PBM、BSM狀態下主動調用,如下所示:
這意味著,節點被動喚醒的時候,網絡狀態由BSM進入RMS,所以RMB = 0。
審核編輯:劉清
-
CAN總線
+關注
關注
145文章
1936瀏覽量
130628 -
ecu
+關注
關注
14文章
880瀏覽量
54404 -
RMS
+關注
關注
2文章
137瀏覽量
35748 -
芯片供電
+關注
關注
1文章
3瀏覽量
1538
發布評論請先 登錄
相關推薦
評論