用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 博客 | 论坛| 在线研讨会
广州虹科电子科技有限公司
企业空间 > 案例应用 > 正文
  • 【虹科干货】带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧
  • 发布时间:2022/6/22 17:23:25   修改时间:2022/6/22 17:23:25 浏览次数:746
  •   在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。
      1. 什么是CAN总线错误?
      控制器局域网络(Controller Area Network, CAN)是当今汽车和工业自动化系统的重要标准。可靠性是CAN总线协议的核心优势之一,这使其成为安全关键应用的理想选择。但十分值得注意的是,错误处理对CAN的稳健性来说至关重要。
      CAN总线错误的发生可能有多种原因,比如电缆故障、噪声、不匹配的终端电阻、CAN节点故障等。识别、分类和解决此类CAN错误是确保整个CAN系统持久性能的关键。错误处理可以识别和拒绝错误的信息,使发送者能够重新传输信息。此外,该过程有助于识别和断开持续传输错误信息的CAN节点。

      错误处理是CAN标准和每个CAN控制器的内置部分。换句话说,每个CAN节点都以相同的方式处理故障识别和限制。下面我们做了一个简单的说明性示例:

      具体步骤示例:
      ● CAN节点1将消息传输到CAN总线,并读取它发送的每一位
      ● 在这样做的过程中,它发现发送显性的一位被读取为隐性
      ● 这是一个“位错误”,节点1会引发一个活动错误标志以通知其他节点
      ● 实际上,这意味着节点1将6个显性位序列发送到总线上
      ● 反过来,6个显性位被其他节点视为“位填充错误”
      ● 作为响应,节点2和3同时引发活动错误标志
      ● 此引发的错误标志序列构成“CAN错误帧”的一部分
      ● CAN节点1,发送器,将其“发送错误计数器”(TEC)增加8
      ● CAN节点2和3将其“接收错误计数器”(REC)增加1
      ● CAN节点1自动重新传输消息
      ● 结果,节点1将其TEC减少1,节点2和3将其REC减少1
      2. CAN错误帧
      在上述示例中,CAN节点“引发活动错误标志”,从而创建“错误帧”以响应检测到的CAN错误。
      为了理解它是如何工作的,让我们首先看一个“正常”的CAN帧(没有错误):

      请注意,我们突出显示了CAN帧中的“位填充”。位填充是CAN标准的一个微妙但重要的部分。基本上它规定,每当CAN节点发送相同逻辑电平(显性或隐性)的五个位时,它必须发送相反电平的一个位。接收CAN节点会自动删除这个额外的位。此过程有助于确保网络的持续同步。
      根据前面的示例,当CAN节点1在CAN消息传输期间检测到错误时,它会立即传输相同逻辑电平的6位序列-也称为引发活动错误标志。

      正如前文所述,这样的序列违反了位填充规则——也称为“位填充错误”。此外,此错误对网络上的所有CAN节点都是可见的(与导致此错误标志出现的“位错误”相反)。因此,错误标志的增加可以被视为一种“全局性”错误发现的方式,确保通知每个CAN节点。
      请注意,其他CAN节点会将活动错误标志视为位填充错误。作为响应,它们还会引发一个活动错误标志。
      正如我们后面将解释的,区分错误标志很重要。特别是,第一个错误标志(来自“发现”节点)通常被称为“主要”活动错误标志,而后续“反应”节点的错误标志被称为“次要”活动错误标志(s)。

      3. CAN错误帧示例
      示例1:6位错误标志
      在本示例中,所有CAN节点同时发现CAN报文中存在错误并同时发出错误标志。
      结果是错误标志全部重叠并且显性位的总序列总共持续6位。在这种情况下,所有CAN节点都将自己视为“发现”CAN节点。

      同时发现这种类型的错误帧在实践中不太常见。但是,它可能是由于格式错误(例如CRC定界符是显性而不是隐性)或CAN发送器在写入CRC字段期间遇到位错误而发生的。
      示例2:12位错误标志
      在本示例中,CAN节点1传输显性位,但将其读取为隐性-这意味着它发现了位错误。它立即发送6个显性位的序列。其他节点仅在读取完整的6位后才发现位填充错误,之后它们同时提高错误标志,从而产生随后的6个显性位序列-即总共12个。

      示例3:9位错误标志
      在本示例中,当CAN节点1发现位错误并开始发送6个显性位时,它已经发送了3个显性位序列。一旦通过主要活动错误标志的一半,节点2和3识别位填充错误(由于3个初始显性位后面跟着另外3个显性位)并开始提高它们的错误标志。结果是来自错误标志的显性位序列变为9位长。

      上述引发错误标志的逻辑反映在我们所谓的“活动”CAN错误帧中。请特别注意各个节点引发的次要错误标志如何相互重叠——以及主要和次要标志也可能如何重叠。结果是来自引发错误标志的主要位序列可能是6到12位长。
      该序列始终以8个隐性位序列终止,标志着错误帧的结束。实际上,活动错误帧可能在错误CAN帧中的不同位置“开始”,这取决于何时发现错误。然而,结果将是相同的:所有节点都丢弃错误的CAN帧,发送节点可以尝试重新发送失败的消息。
      被动错误标志
      如果CAN节点已从其默认的“活动”状态转变为“被动”状态,那么它将只能引发所谓的“被动错误标志”。被动错误标志是6个隐性位的序列。在这种情况下,区分由发送节点和接收节点引发的被动错误标志是相关的。
      示例4:发送器是被动错误
      如图所示,如果发送器(例如我们示例中的CAN节点1)引发被动错误标志(例如响应位错误),这将对应于6个隐性位的连续序列。这又被所有CAN节点检测为位填充错误。假设其他CAN节点仍处于其错误活动状态,它们将引发6个显性位的活动错误标志。换言之,无源发送器仍然可以“传达”CAN帧是错误的。

      示例5:接收器是被动错误
      相反,如果接收器产生被动错误标志,这实际上对总线上的所有其他CAN节点“不可见”(因为任何显性位都胜过隐性位序列)。实际上,这意味着错误被动接收器不再具有破坏其他CAN节点传输的帧的能力。

      虹科工业控制团队在工业通讯总线行业深耕十余年,为客户提供CAN卡、CAN数据记录仪、数据采集模块、CAN网关和转换器等硬件设备,以及PCAN-Explore 6等软件。
  • 企业介绍
广州虹科电子科技有限公司成立于 2007 年,总部位于中国南方经济和文化中心 - 广州市。我们耕耘的领域包括:工业通讯与物联网、嵌入式产品、传感器、车辆网络、汽车售后诊断、自动驾驶、自动化测试、环境监测、生物科技、卫星与无线电通信、射频/微…  更多>>
  • 联系方式

广州虹科电子科技有限公司

联系人:虹小科

地址:广州黄埔区科学城科汇金谷三街2号701室

邮编:510700

电话:020-38743030

传真:020-38743233

公司网址:http://www.hkaco.com

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
 
姓名:  
单位:
电话:  
邮件:  
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 殷光宇 在2022/7/5 13:33:00留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:Gateway Module for Ethernet/IP:100066 Jumper Bridge Suitable for Kunbus Serial Gateway:100204 Gateway Module for PROFINET IRT:100074
  • 王先生 在2022/4/20 9:15:00留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:Unitronics的PLC+HMI一体机
  • li wenhong 在2022/4/10 21:31:00留言
  • 留言类型:得到贵公司产品详细资料,得到贵公司产品的价格信息,贵公司技术支持人员联系我,
  • 详细留言:TSN网络一站式解决方案的相关设备材料和价格
  • 丁佳炜 在2022/3/22 16:32:00留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:咨询DF PROFI II板卡的价格信息
  • 蒋德美 在2021/6/28 11:29:00留言
  • 留言类型:得到贵公司产品的价格信息,
  • 详细留言:做后续购买的评估,想了解Revolution Pi 型号、价格。
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈