相关文章
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020120911183784.gif)
从零学习VH6501(一) —— 环境搭建 从零学习VH6501(二) —— Sequences 类的理解 从零学习VH6501(三) —— Trigger Configuration类干扰触发条件的设置 从零学习VH6501(四) —— Repetitions 干扰触发的次数配置 从零学习VH6501(五) —— 指定对Rx/Tx的报文进行干扰 从零学习VH6501(六) —— 模拟触发 从零学习VH6501(七) —— Bus Off 的基本理解和测试用例设计 从零学习VH6501(八) —— 采样点测试 ![请添加图片描述](https://img-blog.csdnimg.cn/313f224ade4c4d16bbb8a58dbc1d8967.gif#pic_center)
系列用的CANoe演示工程我放在了Git上,不定时根据博客更新。
CANoe-Demn
前言
-
测试软硬件环境: VH6501 CAN Disturbance Interface CANoe 11 SP2 Win10 X64 -
我们前面做了很多的关于VH6501的基础工作,回到工程上还是要应用,Bus Off 测试 就是VH6501的一个典型使用场景 -
下面这张图是ISO 11898 -1中关于 Bus off的实现机制的描述,接下来我将结合代码来解读下这张图 REC 接收错误计数器 TEC 发送错误计数器
![在这里插入图片描述](https://img-blog.csdnimg.cn/d4f6aea400594e7d90dd2cb9c6590414.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JqC6JqB5bCP5YW1,size_20,color_FFFFFF,t_70,g_se,x_16)
![请添加图片描述](https://img-blog.csdnimg.cn/cd1d9d9011754197b735528ebff62ae3.gif#pic_center)
![请添加图片描述](https://img-blog.csdnimg.cn/498a50be36fd477f89fed686f469c7b6.gif)
CAN Bus Off 的理解
1、什么是CAN Bus Off 某个ECU , 一直向总线上发送消息,可怎么都发送不出去( ECU发送失败:发送错误计数 + 8, ECU发送成功:发送错误计数 - 1)如果这个发送错误计数累计到255 (即连续发了32次都失败) ECU进入Busoff模式
2、总线Bus Off之后会做何处理
ECU 在自己内部检测到BUS OFF后,就自暴自弃了,报个DTC后然后就不发任何消息了。但是现在各厂商的策略都是快慢恢复的测略 快恢复:过了 一段时间(快回复主流时间<100ms ) ;ECU的大脑MCU说,喂,CAN模块老兄,你咋了,不要放弃啊,你再重启下,继续发送试一试啊;于是ECU就连续尝试发送报文,如果发送成功,则Bus Off状态解除;如果发送失败,继续计数,再次达到255(32帧错误报文),则Bus off 计数 就 +1 , 一直这样尝试 ,直到记录了N次Bus OFF(N的取值取决于厂商5-10次不等 )都以失败告终。 则MCU就说了,得了,你也别费劲了。你还是转到慢恢复状态吧(200ms -1000ms ) ,从此以后ECU就以慢恢复的时间尝试发送报文,如果有一天发送成功了,则解除Bus Off,否则慢恢复持续。
CAN Bus Off 的实际测试案例
比如我现在使用的ECU,bus off 需求 如下: 当ECU 连续发送错误帧达到32帧时,进入Bus off 时,要进入快恢复状态 Tq = 100ms;当5次快恢复任然没有恢复的,要进入慢恢复状态,Ts = 1000ms
① case 1 : 连续错误帧31 ,则不进入bus off
![在这里插入图片描述](https://img-blog.csdnimg.cn/adda11a9556f45c1b5e0ef21696f46ce.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JqC6JqB5bCP5YW1,size_20,color_FFFFFF,t_70,g_se,x_16)
② case 2 : 连续错误帧32 ,则不进入bus off,观察下一帧发出的时间差
![在这里插入图片描述](https://img-blog.csdnimg.cn/81c891cc5fe141c699993a734ef6286b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JqC6JqB5bCP5YW1,size_20,color_FFFFFF,t_70,g_se,x_16)
①③ case 3 : 连续错误帧192 帧,观察下一帧发出的时间差
![在这里插入图片描述](https://img-blog.csdnimg.cn/bb53cfde766c45f3bc113cc8553ce4fb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JqC6JqB5bCP5YW1,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/57140e12a9b74d5581ad61e5d3c7f19f.gif#pic_center)
总结
本章博客,讲解了Bus Off 的理解 以及使用VH6501进行 Bus Off 测试 更全面的VH6501学习请参考帮助文档和官方示例C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 11.0.55\CAN\MoreExamples\CANDisturbanceInterface
![7](https://img-blog.csdnimg.cn/20201215163633654.gif)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201123170749989.gif#pic_center)
- 要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
![18](https://img-blog.csdnimg.cn/20201215164245657.gif)
|