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