企业号介绍

全部
  • 全部
  • 产品
  • 方案
  • 文章
  • 资料
  • 企业

虹科工业通讯

138内容数 10k浏览量 12粉丝

我们以技术与专业立身,为国内客户提供业内顶尖水平的工业总线协议软硬件产品及解决方案。

虹科干货 | 带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧

05-27 220浏览量

 

 

A simple intro to CAN errors

CAN总线错误

在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。

 

什么是CAN总线错误?

控制器局域网络(Controller Area Network, CAN)是当今汽车和工业自动化系统的重要标准。可靠性是CAN总线协议的核心优势之一,这使其成为安全关键应用的理想选择。但值得注意的是,错误处理对CAN的稳健性来说至关重要。


 

CAN总线错误的发生可能有多种原因,比如电缆故障、噪声、不匹配的终端电阻、CAN节点故障等。识别、分类和解决此类CAN错误是确保整个CAN系统持久性能的关键。错误处理可以识别和拒绝错误的信息,使发送者能够重新传输信息。此外,该过程有助于识别和断开持续传输错误信息的CAN节点。

 

 

CAN错误处理如何工作?

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


 

 

具体步骤示例

1

CAN节点1将消息传输到CAN总线-并读取它发送的每一位,在这样做的过程中,它发现发送显性的一位被读取为隐性

2

这是一个“位错误”,节点1会引发一个活动错误标志以通知其他节点,实际上,这意味着节点1将6个显性位序列发送到总线上,反过来,6个显性位被其他节点视为“位填充错误”

3

作为响应,节点2和3同时引发活动错误标志,此引发的错误标志序列构成“CAN错误帧”的一部分

4

CAN节点1的发送器将其“发送错误计数器”(TEC)增加8,CAN节点2和3将其“接收错误计数器”(REC)增加1,CAN节点1自动重新传输消息。结果节点1将其TEC减少1,节点2和3将其REC减少1

 

CAN错误帧

在上述示例中,CAN节点“引发活动错误标志”,从而创建“错误帧”以响应检测到的CAN错误。为了理解它是如何工作的,让我们首先看一个“正常”的CAN帧(没有错误):


 

 

请注意,我们突出显示了CAN帧中的“位填充”。位填充是CAN标准的一个微妙但重要的部分。基本上它规定,每当CAN节点发送相同逻辑电平(显性或隐性)的五个位时,它必须发送相反电平的一个位。接收CAN节点会自动删除这个额外的位。此过程有助于确保网络的持续同步。

 

根据前面的示例,当CAN节点1在CAN消息传输期间检测到错误时,它会立即传输相同逻辑电平的6位序列——也称为引发活动错误标志。

正如前文所述,这样的序列违反了位填充规则——也称为“位填充错误”。此外,此错误对网络上的所有CAN节点都是可见的(与导致此错误标志出现的“位错误”相反)。因此,错误标志的增加可以被视为一种“全局性”错误发现的方式,确保通知每个CAN节点。

 

请注意,其他CAN节点会将活动错误标志视为位填充错误。作为响应,它们还会引发一个活动错误标志。正如我们后面将解释的,区分错误标志很重要。特别是,第一个错误标志(来自“发现”节点)通常被称为“主要”活动错误标志,而后续“反应”节点的错误标志被称为“次要”活动错误标志(s)。

 

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

最近浏览过的用户(0查看全部

为你推荐

  • 虹科干货 | 虹科Automation softPLC入门操作指南(5)——项目自动化2022-06-24 00:22

    虹科KPAAutomationsoftPLC虹科KPAAutomationsoftPLC是为Linux、Xenomai、INtime、Windows等实时操作系统开发PLC的编程环境,十分适合需要使用IEC61131-3和PLCopen标准的控制技术和进行PLC编程的用户。本篇文章将介绍如何在虹科KPAAutomationsoftPLC中通过编写自动化脚本来
    13浏览量
  • 使用虹科port的GOAL中间件和RENESAS RZ/T2M推动实现下一代工厂自动化2022-06-22 00:28

    背景当今的工业自动化需要更快、更精确的电机控制,以及通过下一代工业以太网进行及时和无缝的通信,其中包括PROFINET-RT、EtherNet/IP、EtherCAT、POWERLINK、OPCUA和TSN时间敏感网络的PROFINETCC-D/CC-LinkIETSN等。虹科的合作伙伴port推出的GOAL中间件与支持TSN的新一代RENESASRZ/T2
    9浏览量
  • 虹科干货 | 如何测试与验证复杂的FPGA设计(3)——硬件测试2022-06-18 00:23

    仿真和验证是开发任何高质量的基于FPGA的RTL编码过程的基础。在前文中,我们介绍了面向实体/块的仿真,并介绍了如何在虹科的IP核中执行面向全局的仿真。前文回顾虹科干货|如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真虹科干货|如何测证复杂的FPGA设计(2)——如何在虹科的IP核中执行面向全局的仿真尽管扩展的仿真计划提供了良好的可信度,但仍有许
    28浏览量
  • 测试与验证复杂的FPGA设计(2)——如何在虹科的IP核中执行面向全局的仿真2022-06-15 00:22

    仿真和验证是开发任何高质量的基于FPGA的RTL编码过程的基础。在上一篇文章中,我们介绍了面向实体/块的仿真,即通过在每个输入信号上生成激励并验证RTL代码行为是否符合预期,对构成每个IP核的不同模块进行实体/块的仿真。前文回顾如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真在本篇文章中,我们将介绍如何在虹科IP核中执行面向全局的仿真,而这也是测
    7浏览量
  • 虹科干货|对于802.1CB协议,不同建模时的保护能力建模仿真分析2022-06-10 00:24

    点击蓝字关注我们前情提要THELATESTINFORMATION对于802.1CB协议,不同建模时的保护能力建模仿真分析测试冗余网络的配置;IEEE802.1CB是TSN标准中的无缝冗余协议,保证丢失帧时的恢复时间为零;下面在各种拓扑中对CB进行建模,并在网络中的不同位置使用CB功能,因此可以量化这些差异;对软错误进行建模仿真。01模型和分析模型一4个CB交
    13浏览量
  • 虹科干货 | 如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真2022-06-10 00:22

    IP核的开发过程中,面临着许多关键技术,比如IP核的规格定义、基于接口的设计、IP核测试存取结构标准、IP核的验证与打包等。对于IP核的验证,主要是建立参照模型和测试平台,然后进行回归测试和形式验证。这里参照的模型主要用于对系统功能进行验证以及和RTL模型的对照验证,该模型主要用VerilogHDL等语言来构造。测试平台的建立与子模块设计并行,搭建验证环境和
    12浏览量
  • 【虹科】带您了解PCAN如何获取驱动以及如何接线2022-06-08 14:03

    在使用PCAN时你是否有过这样的疑问:PCAN的驱动是如何获取的?它又是怎么接线的呢?下面这篇文章告诉你答案。PCAN驱动如何获取1PCAN的win10系统最新驱动和linux系统最新驱动都可以在我们的虹科PEAK中文官网下载到,您可以点击文末“阅读原文”进入官网。如果您PCAN用的是win7系统,那么您可以联系虹科的技术人员:13600024307(同微信
    7浏览量
  • 虹科干货 | 带你全面了解“CAN总线错误”(四)——在实践中生成和记录CAN错误2022-06-08 14:00

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。在之前发布的文章中,我们介绍了CAN错误和错误处理的理论基础,而在本篇文章中,我们将在实践中生成和记录错误。
    CAN
    40浏览量
  • CAN总线通讯出错?检查您的采样点是否设置正确2022-06-03 00:30

    1.CAN网络简介CAN的中文是控制局域网(ControllerAreaNetwork),与1986年由德国Bosch公司为汽车开发的网络技术,主要用于汽车的检测和控制,目的是为了适应汽车“减少线束数量”和“通过多个网络进行大量数据的高速传输”的需求。2.CAN网络特点CAN网络的特点主要有以下几点:节点之间采用多主通信的方式采用短帧结构,数据帧为8个字节,
    CAN
    20浏览量
  • 虹科干货 | 带你全面了解“CAN总线错误”(三)——CAN节点状态与错误计数器2022-06-03 00:28

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。前文回顾虹科干货|带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧虹科干货|带你全面认识“CA
    CAN
    23浏览量
  • 虹科方案——基于PCAN的全自动核酸提取仪解决方案2021-12-31 15:10

    虹科在新冠期间协助全自动核酸提取仪厂家进行研发,复工、复产,还支持了多家科研单位针对新型冠状病毒的检测研究,虹科产品在医疗设备行业展示着自己的优势。广州虹科电子科技有限公司作为PCAN硬件的提供商,支持该司研发了基于PCAN硬件的全自动核酸提取仪,解决核酸检测设备供不应求问题。