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)推薦
請(qǐng)問(wèn)ADS1292R如何在MCU休眠的情況下通過(guò)脫落檢測(cè)喚醒MCU?
休眠喚醒不了?你的4G模組不是裝睡,而是少了一條指令…
![<b class='flag-5'>休眠</b><b class='flag-5'>喚醒</b>不了?你的4G模組不是裝睡,而是少了一條指令…](https://file1.elecfans.com/web2/M00/08/AD/wKgZomb53EWAfSQxAAOe3lqAzt4958.png)
干貨分享 | TSMaster—LIN 喚醒與休眠機(jī)制
![干貨分享 | TSMaster—LIN <b class='flag-5'>喚醒</b>與<b class='flag-5'>休眠</b>機(jī)制](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
簡(jiǎn)化ECU中具有選擇性喚醒功能的隔離式CAN設(shè)計(jì)
![簡(jiǎn)化<b class='flag-5'>ECU</b>中具有選擇性<b class='flag-5'>喚醒</b>功能的隔離式CAN設(shè)計(jì)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
求助,關(guān)于PSoC6在CM0+中用于進(jìn)入休眠和深度休眠的函數(shù)的問(wèn)題
ESP32從深度休眠喚醒到工作的時(shí)間偏長(zhǎng),怎么優(yōu)化?
請(qǐng)問(wèn)如何獲取ESP32 deepsleep休眠的時(shí)長(zhǎng)?
ESP32 light sleep模式喚醒時(shí)間長(zhǎng)是怎么回事?
ESP8266休眠時(shí)間不準(zhǔn)怎么解決?
芯海應(yīng)用筆記:CSU3AF10移動(dòng)電源方案C-C和C-L帶載休眠喚醒功能設(shè)計(jì)指南_V1.0
STM32休眠不能喚醒的原因?
STM8L進(jìn)入halt休眠后外中斷喚醒死機(jī)的原因?
stm32外部中斷不能喚醒stop休眠模式怎么解決?
使用RTC喚醒中斷喚醒休眠狀態(tài)的MCU出現(xiàn)故障怎么解決?
DCM模塊喚醒網(wǎng)絡(luò)主動(dòng)與被動(dòng)喚醒機(jī)制探討
![DCM模塊<b class='flag-5'>喚醒</b><b class='flag-5'>網(wǎng)絡(luò)</b>主動(dòng)與被動(dòng)<b class='flag-5'>喚醒</b>機(jī)制探討](https://file1.elecfans.com/web2/M00/C4/79/wKgZomXzvvWASss4AABdeiX-MWo649.png)
評(píng)論