CanSM中Bus-off处理

本文详细解析了CAN总线在发生Bus-off状态时的处理流程,包括从错误检测到恢复正常通信的整个过程。重点介绍了NM层、CCL层及APP层之间的交互作用,以及各定时器和状态转换的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Bus-off发生。

2.CAN驱动器通知NM层。(在中断中完成,如果错误在中断中检测到)

3.NM组件让CANdriver 处于offline模式,调用CanRestBusoffStart(),并且通知CCL层。NM同时开启一个内部定时器,有时也叫做“bus off wait”或者“bus off recovery”。

4.CCL可能将IL处于wait状态。(这个选项在Geny中配置),通过调用ApplcclBusoffstart()通知APP。

5.当“bus off wait”定时器超时时。

NM在任务中做:

1).调用CanResetBusoffEnd()

2).通知ccl “bus off wait”定时器结束,ccl调用ApplcclBusoffEnd()

3).设置CAN driver 处于online模式

CanResetBusoffStart() is mapped to CanInit() for most micros.

CanResetBusoffEnd() is empty for most micros.

注意:调用ApplcclBusoffEnd() 不是指bus off状态结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值