首页 > 其他分享 >从项目中学习Bus-Off的快慢恢复

从项目中学习Bus-Off的快慢恢复

时间:2024-07-01 19:58:04浏览次数:24  
标签:快慢 干扰 Bus 报文 ECU 恢复 Off

0 前言

        说到Bus-Off,大家应该都不陌生,使用VH6501干扰仪进行测试的文章在网上数不胜数,但是一般大家都是教怎么去干扰,但是说如何去看快慢恢复以及对快慢恢复做出解释比较少,因此本文以实践的视角来讲解Bus-Off的快慢恢复。

1 VH6501实现Bus-Off

      首先需要知道Bus-Off的基本概念,简单来说ECU一直在往CAN总线上发送CAN报文,但不知道什么原因一直发送不出去,如果这个发送错误计数累计到255( ECU发送失败:发送错误计数 + 8, ECU发送成功:发送错误计数 - 1),ECU进入Busoff模式。ECU在Busoff期间不妨碍总线上的其它节点。一些主机厂对其系统供应商的设备提出了相应的Busoff后恢复时间需求。例如:当ECU 进入Busoff 模式后,首先,ECU 执行快恢复模式,连续n次(TBD值,不同厂商次数要求不一样)快速恢复后,ECU 进入慢恢复模式[1]

BUSOFF有三个状态的转换,发错一帧错误帧TEC计数器就会加8,这也是为什么我们会在VH6501中设置32帧的原因,8*32=256,刚好进入Bus-Off模式。

        基本概念了解完了,使用VH6501进行干扰主要分为以下几步:

1.硬件通道的配置,以及测试工程的选择,测试工程一般选择CANoe自带的例子。

         此处需要注意的是一般使用的是双头DB9连接CANoe与VH6501继续测试,但本文的方式并没有使用双头DB9,整个硬件连接只用了一个DB9连接DUT,因为内容关系在此按下不表,如果有小伙伴感兴趣的可以评论或者私信我。

2.打开MainConfigpanel面板,从上到下开始依次配置。

        首先配置Trigger Configuration,一般可以选择干扰AckSlot,如果想要干扰特定报文的话,此处报文ID为11位,二进制转换过来为12位删除左边第一位。干扰帧为整个里面出现的第一帧(ID最小的),干扰的报文需要在trcae中持续出现。干扰Rx报文。

3. 干扰的重复次数以及周期

4.Sequence Configuration 

        如图所示进行配置即可。

 

到此就已经配置完毕了,点击Enable On Device就可以开始干扰了,由于使用VH6501测试Bus-off并不是本文重点,因此如果有不清楚的地方推荐大家看这篇文章,这也是我上文[1]处引用的文章:CAN Busoff原理/快慢恢复介绍以及利用Vector VH6501 CAN干扰仪经典CAN2.0/CANFD帧触发Busofficon-default.png?t=N7T8https://blog.csdn.net/qfmzhu/article/details/107335763?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171921025716800180631690%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171921025716800180631690&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-107335763-null-null.142%5ev100%5epc_search_result_base4&utm_term=VH6501%20busoff&spm=1018.2226.3001.4187 

 2 Bus-Off的快慢回复及原理

        不知道大家有没有碰到过这样的问题,我明明进行了5次bus-off的快恢复,但是第6次bus-off还是快恢复。如果按照下面文字的描述,那经过5次bus-off快恢复后,下一次应该就是慢恢复呀? 

这里其实是我们对快慢回复的概念有了误解,快慢恢复其实指的是时间,而没有发报文这个步骤。只要经过了这个时间t,不管ECU有没有发报文,其实都已经经过了一次快恢复/慢恢复。

        简单来说:busoff的原理是让计数器累计到255,快慢恢复就是一个时间,没有成功和失败的概念,每次快慢恢复时,控制器会初始化,初始化完成之后如果判断总线恢复了就不再继续增加计数了,如果没有恢复就继续增加到255,50ms和200ms是在计数器恢复到0之后 ECU的判断时间。快恢复就是计数器从255归零之后,等待50ms判断总线是否恢复,如果没有计数器继续累加,持续5次,第六次的等待时间换为200ms

看快慢恢复的方式是筛选RxErr和Rx的报文,然后看RxErr发出一帧Rx报文之间间隔的时间,下图为慢恢复:

需要注意的是此处需要的是连续不断的干扰, 一旦快恢复发出报文之后,计数器就会清零。上文说到的问题其实是因为没有连续的干扰,每次计数器都清零了,因此只有快恢复没有慢恢复。

标签:快慢,干扰,Bus,报文,ECU,恢复,Off
From: https://blog.csdn.net/weixin_47469084/article/details/140108411

相关文章

  • 工业除尘自动化中的Profibus转Modbus网关应用解析
    一、背景在工业生产过程中,除尘系统扮演着至关重要的角色,它不仅可以保护生产设备,延长设备寿命,还可以减少环境污染,提高生产效率。而Profibus转Modbus网关(XD-MDPB100)作为自动化领域中的关键技术,在除尘自动化控制系统中发挥着重要作用。二、Profibus转Modbus网关优势Profibus转Mod......
  • ONLYOFFICE8.1版本桌面编辑器的测评(您的私人办公室)
    ONLYOFFICE官网链接:ONLYOFFICE-企业在线办公应用软件|ONLYOFFICE在线PDF查看器和转换器|ONLYOFFICE​​​​​​在线办公套件|ONLYOFFICE一,引言在数字化浪潮中,高效、便捷、安全的办公工具对现代职场至关重要。今天,我要推荐一款备受好评的在线办公软件——ONLYO......
  • 深度测评:ONLYOFFICE 8.1 的安装与使用——功能全面的 PDF 编辑器、幻灯片版式、优化电
    目录一、引言二、ONLYOFFICE简介三、安装1.Windows/Mac安装2.文档开发者版安装四、使用1.功能全面的PDF编辑器2.无缝切换文档编辑、审阅和查看模式3.改进从右至左语言的支持&新的本地化选项五、总结一、引言ONLYOFFICE8.1是AscensioSystemSIA......
  • 【剑指offer】JZ22-链表中倒数第k个节点-Python解法
    1.题目描述2.解题思路(Python版)方法一:遍历两次思路:1.首先计算链表的长度L;2.第二次开始从头依次遍历,找到链表的第(L-k+1)个节点,即为所找的节点。参考代码:#classListNode:#def__init__(self,x):#self.val=x#self.next=None##代码中的......
  • Modbus初学者教程,第三章:modbus寄存器说明
    第三章:modbus寄存器说明寄存器种类Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。Modbus寄存器是指一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。寄存器的意义如下表......
  • allWebPlugin助力iWebOffice2015插件在高版本浏览器使用
    allWebPlugin简介   allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏览器,接口调用友好......
  • ecoAddRepeater -loc与-offLoadAtLoc的区别
    我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?拾陆楼知识星球入口 ecoAddRepeater-loc{xy}-cellBUF-netNET ecoAddRepeater-offLoadAtLoc{xy}-cellBUF-netNET 都是指定插buf/inv物理位置,区别在于前者用于插buf/inv驱动原始net所有的inputterm,后......
  • 中间件(DBUS)中心化设计的优缺点
    目录标题中心化设计理念优势劣势D-Bus的中心节点设计与单点故障总结便于监控监控和诊断工具诊断步骤异步监控1.SSH隧道2.VPN或网络桥接3.自定义代理或转发服务注意事项与zmq代理模式的差异1.**简化复杂网络**2.**负载均衡和消息队列**3.**安全和隔离**4.......
  • AI的安全应该由谁来保障?Sam Altman和Geoffrey Hinton观点激辩
    人工智能(AI)的迅猛发展引发了广泛的关注和讨论。在2024年人工智能向善全球峰会(AIforGoodGlobalSummit)上,OpenAI首席执行官萨姆·奥特曼(SamAltman)和AI教父杰弗里·辛顿(GeoffreyHinton)就AI安全问题展开了激烈的讨论。两位业界顶尖人物分别通过视频连线,与《大西洋月刊》的C......
  • 8路编码器脉冲计数器或16路DI高速计数器,Modbus RTU模块 YL69-485/232
    特点:●编码器解码转换成标准ModbusRTU协议●可用作编码器计数器或者转速测量●支持8个编码器同时计数,可识别正反转●也可以设置作为16路独立DI高速计数器● 编码器计数值支持断电自动保存● DI输入和电源之间3000V隔离●通过RS-485/232接口可以清零和设置计数......