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总线
+关注
关注
146文章
2050浏览量
135494 -
ecu
+关注
关注
14文章
991浏览量
57488 -
RMS
+关注
关注
2文章
158浏览量
37864 -
芯片供电
+关注
关注
1文章
3浏览量
1772
发布评论请先 登录
北斗网络时间服务器:从“精准心跳”到自主可控的技术实践
北斗时间服务器:从“单点对时”到“网络协同”的跨越
解决RK806+RK3588休眠异常!从硬件特性到软件优化的完整方案
揭秘TEE深度休眠唤醒“低概率报错”:从概念到解决方案的全解析
RK平台休眠唤醒与低功耗调试全攻略:从原理到WiFi功耗问题实战
MCU典型的睡眠唤醒时间delay的概念
CW32L010进入休眠模式后,外部中断无法唤醒MCU,为什么?
TC10管理:虹科10BASE-T1S方案高效管控ECU休眠/唤醒
虹科分享 | TC10管理:虹科10BASE-T1S方案高效管控ECU休眠/唤醒
ECU从休眠到网络唤醒时间怎么测?
评论