ECU从休眠到网络唤醒时间怎么测?

描述

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时刻是指第一帧错误帧时刻。

上述时序如下所示:

RMS

提示:仿真设备为什么发送多帧网络管理报文?如果Transceiver没有PN(Partial Network)功能,不能识别网络管理报文,第一帧网络管理报文只是激活SBC,完成主芯片的供电任务,而没有被ECU有效接收,则需要第二帧网络管理报文唤醒节点网络。

Q2:节点被动唤醒进入RMS状态,RMB需要置位吗?

:不需要。节点被动唤醒(收到其他节点的网络管理报文),由BSM(Bus Sleep Mode)进入RMS(Repeat Message State),此时CBV(Control Bit Vector)值 = 初始值,而CBV的初始值为0x00,如下所示:

RMS

如果在NOS(Normal Operation State)/RSS(Ready Sleep State )主动请求进入RMS,即:主动调用CanNm_RepeatMessageRequest()接口,RMB(Repeat Message Bit)置位,即:RMB = 1

CanNm_RepeatMessageRequest()接口不能在RMS、PBM、BSM状态下主动调用,如下所示:

RMS

这意味着,节点被动唤醒的时候,网络状态由BSM进入RMS,所以RMB = 0



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分