CAN总线的通信错误及其处理

发布者:BlossomJoy最新更新时间:2011-07-12 关键字:CAN总线  通信错误 手机看文章 扫描二维码
随时随地手机看文章
  在CAN总线中存在5种错误类型,它们互相并不排斥,下面简单介绍一下它们的区别、产生的原因及处理方法。

位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的电平与送出的电平不同时9则在该位时刻检测到一个位错误。但是在仲裁区的填充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。送出认可错误标注的发送器,在检测到显性位时也不认为是错误位。

填充错误:在使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检 测出一个填充错误。

CRC错误:CRC序列是由发送器CRC计算的结果组成的。接收器以与发送器相同的方法计算CRC。如果计算的结果与接收到的CRC序列不同,则检测出一个CRC错误。

形式错误: 当固定形式的位区中出现一个或多个非法位时,则检测到一个形式错误。

应答错误:在应答间隙,发送器未检测到显性位时,则由它检测出一个应答错误。

检测到出错条件的节点通过发送错误标志进行标定。当任何节点检测出位错误、填充错误、形式错误或应答错误时,由该节点在下一位开始发送出错误标志。

在CAN总线中,任何一个单元可能处于下列3种故障状态之一:错误激活状态(ErrorActive)、错误认可状态(Error Pasitive)和总线关闭状态(Bus off)。

错误激活单元可以照常参与总线通信,并且当检测到错误时,送出一个活动错误标志。错误 认可节点可参与总线通信,但是不允许送出活动错误标志。当其检测到错误时,只能送出认可错 误标志,并且发送后仍为错误认可状态,直到下一次发送初始化。总线关闭状态不允许单元对总 线有任何影响。

为了界定故障,在每个总线单元中都设有2个计数:发送出错计数和接收出错计数。这些 计数按照下列规则进行。

(1)接收器检查出错误时,接收器错误计数器加1,除非所有检测错误是发送活动错误标志或超载标志期间的位错误。

(2)接收器在送出错误标志后的第一位检查出显性位时,错误计数器加8。

(3)发送器送出一个错误标志时,发送器错误计数器加8。有两种情况例外:其一是如果发 送器为错误认可,由于未检测到显性位应答或检测到应答错误,并且在送出其认可错误标志时,未检测到显性位;另外一种情况是如果仲裁器件产生填充错误,发送器送出一个隐性位错误标志,而检测到的是显性位。除以上两种情况外,发送器错误计数器计数不改变。

(4)发送器送出一个活动错误标志或超载标志时,检测到位错误,则发送器错误计数器加8。

(5)在送出活动镨误标志、认可错误标志或超载错误标志后,任何节点都最多允许连续7个显性位。在检测到第11个连续显性位后,或紧随认可错误标志检测到第8个连续的显性位,以及附加的8个连续的显性位的每个序列后,每个发送器的发送错误计数都加8,并且每个接收器的接收错误计数也加8。

(6)报文成功发送后,发送错误计数减1,除非计数值已经为0。

(7)报文成功发送后,如果接收错误计数处于1~197之间,则其值减1;如果接收错误计数为0,则仍保持为0;如果大于127,则将其值记为119~127之间的某个数值。

(8)当发送错误计数等于或大于128,或接收错误汁数等于或大于128时,节点进人错误认,可状态,节点送出一个活动错误标志。

(9)当发送错误计数器大于或等于256时,节点进人总线关闭状态。

(1O)当发送错误计数和接收错误计数均小于或等于127时,错误认可节点再次变为错误激活节点。

(11)在检测到总线上11个连续的隐性位发送128次后,总线关闭节点将变为2个错误计数器均为0的错误激活节点。

(12)当错误计数器数值大于96时,说明总线被严重干扰。

如果系统启动期间仅有1个节点挂在总线上,此节点发出报文后,将得不到应答,检查出错误并重复该报文,此时该节点可以变为错误认可节点,但不会因此关闭总线。

关键字:CAN总线  通信错误 引用地址:CAN总线的通信错误及其处理

上一篇:eCAN总线模块特点
下一篇:CAN总线的仲裁

推荐阅读最新更新时间:2024-05-02 21:29

一种基于CAN总线的集散型火灾报警控制系统
  随着经济建设的发展,社会对火灾报警控制系统的规模的要求越来越大,为了适应市场的需要,笔者利用CAN现场总线技术,设计出了一种集散型火灾报警控制系统,该系统结构灵活、使用方便,可满足大、中、小各种规模的火灾报警及消防控制的要求。CAN(Controller Area Network)即控制器区域网——一种有效的支持分布式控制和实时控制的串行通讯网络,由于其高性能、高可靠行,及独特的设计,越来越受到人们的重视,其总线规范已被ISO国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一。本文主要介绍由MCP2510与MCP2551组成的CAN现场总线的在集散型火灾报警控制系统中的应用。 1、系统组成与工作原理概述  
[安防电子]
一种基于<font color='red'>CAN总线</font>的集散型火灾报警控制系统
CAN总线通讯距离跟通讯波特率的关系
波特率/Kbps    1000    500    250    125    100    50        20        10 最大距离/m        40    130    270    530    620    1300    3300    6700 在现场使用中,通讯距离与理论值有较大差距。在具体的使用中应该进行测试验证。 
[嵌入式]
LPC2000系列的CAN总线验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的"开放系统互联(OSI)"参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但独立C
[嵌入式]
CAN总线转换器设计与应用
CAN总线协议的诞生原本就是汽车电子生产厂商的发起,后来CAN协议成为国际标准,CAN总线与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。 同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,例如在工业自动控制、安防/消防网络、煤矿远程通讯及等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。 CAN转换器(CAN-232)可以无缝地联接CAN-bus网络和其它通讯网络,比如RS-232、RS-485串行总线、Ethernet以太网、光纤网路等,已经支持多种标准协议的网络互连。由于PC机无CAN
[嵌入式]
基于CAN总线的温度检测节点设计
  在对电子点火模块的测试中,为了 模拟 电子点火系统的真实工况,电子点火模块往往被置于高于常温的环境下进行电子点火实验,以获得最接近真实汽车运行工况的点火参数数据。由于电子点火模块自身的发热,其核心元件的温度成为影响电子模块性能的重要因素;另外,还要考虑环境温度是否达到模拟真实工况的要求等。   本文介绍了一种应用LM35温度 传感器 和PICMicro的 温度检测 节点的设计方案,用于检测在模拟汽车电子点火的过程中,电子点火模块的核心模块温度和环境温度,将阐明模块结构、工作原理及采样值量化的方法。   节点原理与结构   该 温度检测 节点由传感器电路、信号调理电路、单片机应用系统、CAN总线接口等构成。电路基本工
[单片机]
基于<font color='red'>CAN总线</font>的温度检测节点设计
车载CAN总线记录仪的大容量存储系统设计
引言     CAN(Controller Area Network,控制器局域网)总线是德国Bosch公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通信方式适应了汽车的实时性和可靠性要求,倍受汽车生产厂商的青睐。随着汽车电子技术的发展,汽车上的ECU(Electronic Control Unit,电子控制单元)越来越多,如电控燃油喷射系统、防抱死制动系统、防滑控制系统等,相应的数据量也越来越大,如何采用合理的存储方案是记录仪等大容量存储系统的关键。本文详细阐述了大容量存储系统系统的整体结构、硬件电路设计。利用
[嵌入式]
CAN总线如何防雷?
CAN-bus起源于汽车总线,目前被广泛应用于环境复杂的工业现场,因此必要的总线防护是主板及设备安全的重要保障。今天这里跟说一说CAN总线防雷防护设计。 从广义上讲防雷包含两个概念,一是防雷击二是防浪涌。雷击是雷雨云中电荷瞬间释放的现象,它能在周围引起高能、瞬变的电场及磁场。浪涌包括浪涌电流、浪涌电压,它是指电路中瞬间出现超过正常工作电压、电流的现象,如图1,雷击又可分为直击雷、非直击雷,直击雷是雷电直接作用到物体上,非直击雷则是通过电磁场感生出电动势、电流作用到物体上 ,两者都能产生浪涌电压、浪涌电流。 图1 电压浪涌 CAN总线物理层传输介质一般为铜制双绞线,容易受到电磁场的干扰。CAN收发器属于弱电元器件,对电压
[嵌入式]
<font color='red'>CAN总线</font>如何防雷?
基于单片机的智能电平转换器设计
1 引言 CAN,全称为 Controller Area Network ,即控制器局域网,是一种国际标准的,高性价的现场总线,在自动控制领域具有重要作用。CAN是一种多主方式的串行通讯总线,具有较高的实时性能,因此,广泛应用于汽车工业、航空工业、工业控制、安全防护等领域。 由于PC机无CAN接口,因此,PC机与智能节点构成CAN总线系统可采用RS232/CAN、并口/CAN、USB/CAN、ISA卡/CAN以及PCI卡/CAN方式接入。而采用RS232/CAN接入时,需采用CAN/RS232接口标准转换。针对这一问题,提出了CAN/RS232智能电平转换器设计方案,以SJAl000作为独立CAN控制器,完成CAN通信协议。并在
[单片机]
基于单片机的智能电平转换器设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved