科普系列:低速容错CAN的容错机制介绍

发布者:温柔之风最新更新时间:2024-06-20 来源: elecfans关键字:CAN  容错机制 手机看文章 扫描二维码
随时随地手机看文章

汽车的CAN总线大致可以分为三大类,分别是:单线CAN(GM专用的低速CAN)、高速CAN(通信速率高)以及低速容错CAN(通信速率较低但容错性能好)。本文所要讲述的是低速容错CAN。在传统的分布式架构中,车身舒适CAN节点对总线通信速率没有过高要求,但为了适应车型高中低配的变化,其节点数量和组合及在车中的布置更为多样,这就更多的引入了出现故障的因素,使得低速CAN在车身舒适网段得到了广泛的应用。为了更好的了解低速容错CAN,首先要从它的协议讲起。低速容错CAN最早被定义在ISO11519协议中,后续因为符合11898-3协议标准的样件也完全符合ISO11519-2协议的要求,同时因为11898协议应用的范围更全更广,所以在2006年ISO11519-2协议彻底的被11898-3协议所替代。ISO11898-3定义了低速容错CAN的物理层、低速容错CAN的工作机制以及容错机制的实现。01低速容错CAN的物理层与高速CAN一样,低速容错CAN也使用了差分双绞线进行传输,有CAN_H、CAN_L两线,并且在严格的工业应用场合与高速CAN一样要求使用专用的屏蔽双绞线并加必要的防护电路。


在差分电压的变化上低速容错CAN在显隐性跳转的时候CANH和CANL电压的变化是比高速CAN要大的,这意味着低速容错CAN有着更高的抗干扰性。


11898-3定义了低速容错CAN在隐性状态时,CANH为0V、CANL为5V。而当低速容错CAN要发送显性位时,CANL会跳转到1V、CANH会跳转到4V,这个时候单一条总线的电压变化为4V,而且差分电压大概也为4V(如图1),而高速CAN的差分电压为2V(如图2),同时CANH与CANL从隐性跳转到显性的时候电压的变化仅有1V,这也意味着高速容错CAN的容错性能是不如低速容错CAN的。
2bd54076-b945-11ed-ad0d-dac502259ad0.png

图1:低速容错CAN总线电压
2bf2f86e-b945-11ed-ad0d-dac502259ad0.png

图2:高速CAN总线电压
在低速容错CAN的物理层中,11898-3还定义了它的终端电阻是直接端接在支线上的,电阻接线如图3所示。这样做的好处是在容错机制处理部分断路故障时,哪怕会出现单线通信的情况,也会有终端电阻的存在去匹配阻抗以及减小反射(如图4所示),这样便不会因为断开CANH或CANL的单线而对样件的通信传输造成影响。
2c1ac466-b945-11ed-ad0d-dac502259ad0.png

图3:终端电阻接线图
2c34b6a0-b945-11ed-ad0d-dac502259ad0.png

图4:容错CAN单线工作时总线拓扑图

02协议中容错机制的定义
11898-3分别定义了电源故障和总线故障两种类型,而容错机制主要是对总线故障进行处理。为了应对不同的总线故障,11898-3定义了低速容错CAN需要有三种不同的收发器工作方式:差分驱动和接收、CANH单线通信、CANL单线通信,三种工作方式对应的故障检测机制分别为状态0:正常工作状态、状态E1:CAN_L故障检测、状态E2:CAN_H故障检测。11898-3定义的几种故障检测机制的故障处理流程图如下。
2c511de0-b945-11ed-ad0d-dac502259ad0.png

图5:故障处理流程图

03TJA1054实现的容错机制
通过之前的介绍,我们对低速容错CAN的物理层有了较为全面的了解,现在我们便从物理环境的实现上来讲解低速容错CAN的容错机制。在这我需要为大家介绍一款适用于低速容错CAN的收发器芯片-TJA1054。首先是这款芯片的物理环境,其结构图和引脚定义如下图所示,TJA1054在CANH及CANL两端的电阻设计满足了ISO11898-3需求,同时TJA1054设计有门槛电压,能较好的实现低速容错CAN所需求的容错机制。
2c7c3728-b945-11ed-ad0d-dac502259ad0.png

图6:TJA1054芯片结构图
2c9eda80-b945-11ed-ad0d-dac502259ad0.png

图7:TJA1054芯片引脚定义图

04TJA1054的功能描述
TJA1054是控制器局域网 CAN 中协议控制器和 CAN 物理总线之间的接口,它主要用于客车里最高 125KBps的低速应用,这个器件对 CAN 总线提供差动发送能力,对CAN 控制器提供差动接收能力。在正常操作模式时(没有线路故障),差动接收器在管脚 RXD 输出(见图 1)。差动接收器输入通过集成的滤波器连接到管脚CANH和CANL 波器输入信号也可以用于单线接收器。接收器连接到有门槛电压(差动接收器的门槛电压为-3.2V)的管脚CANH和CANL确保在单线模式里有最大的噪音容限。

同时定时器功能(TxD 显性超时功能)已在器件中集成,它可以防止由于硬件或软件程序故障,将管脚 TXD 持续地拉成低电平,使总线线路进入持续的显性状态(这种状态会阻塞整个网络的通讯)。

如果引脚 TXD 的低电平持续并超过某个时间后,发送器会被禁用,定时器会用 TXD 引脚上的高电平复位。而低速容错CAN的容错机制则是通过故障检测器监测总线电平,在监测到其中一条总线故障后,监测器便会切换到相应的模式,模式图如下表所示。这便满足了ISO11898-3中定义的正常工作模式下的三种故障检测机制。下图便是TJA1054在不同错误状态下的接收器模式列表。
2cca81c6-b945-11ed-ad0d-dac502259ad0.png

图8:TJA1054在不同错误状态下的接收器模式对于上表中出现的三种接收器模式,我将使用表格的形式为大家进行介绍。首先是差动模式,因为TJA1054设定了差动接收器门槛电压为-3.2V,这确保了当出现下表中故障1、2、5、6a时,虽然CANH和CANL的电压会因为以上四种故障有改变,但最终差分电压Vdiff都能在隐性时小于-3.2V显性时大于-3.2V,所以不需要进行调整便能继续通信。
2cf3b334-b945-11ed-ad0d-dac502259ad0.png

当出现了下表中故障4、6、7三种故障时,差分模式已无法满足总线的正常通信。TJA1054会断开CANL,则CANL会保持Vcc的电压不变,一直为5V。此时差分电压Vdiff能满足在隐性时小于-3.2V显性时大于-3.2V,实现对故障4、6、7三种故障的容错。
2d101060-b945-11ed-ad0d-dac502259ad0.png2d2d3aaa-b945-11ed-ad0d-dac502259ad0.png2d4c8ef0-b945-11ed-ad0d-dac502259ad0.png

当出现CANH单线通信模式也无法解决的故障时,如下表故障3和3a,TJA1054会先断开CANL尝试用CANH单线通信来保持通信,但故障3和3a在此时的差分电压会一直大于-3.2V,使总线长时间处于显性状态。所以这时TJA1054会尝试保持CANL通信不变,断开CANH。此时CANH上电平始终为0V,差分电压Vdiff在总线为隐性时为-5V(小于-3.2V),显性时为-1.5V(大于-3.2),符合规范规定及使用需求,所以低速容错CAN在发生故障3和故障3a时正常通信。
2d6b921e-b945-11ed-ad0d-dac502259ad0.png

05总结
当前,低速容错CAN由于其通信速率的限制,其在车载领域的应用更少了,本文所介绍的低速容错CAN的物理层、容错机制以及容错机制在芯片中的实现原理,希望可以加深大家对CAN通信原理的理解。


关键字:CAN  容错机制 引用地址:科普系列:低速容错CAN的容错机制介绍

上一篇:国芯思辰|霍尔电流传感器AH693用于低速车,灵敏度可达3mV/Gauss
下一篇:车规级TVS管电路防护特性及原理过程

推荐阅读最新更新时间:2024-11-05 14:30

CAN总线学习系列之二——CAN总线与RS485的比较
上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线做一 下比较,首先呢,就比较一下大家耳熟能详的485总线,其实485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但 是有助于大家理解。       下面开始比较了:   CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 1) CAN控制器工作于多主方式,网络中的各节
[嵌入式]
PIC16位单片机CAN(1)新建工程测试
昨天焊接了硬件,硬件没有什么问题。起初使用最新的集成开发环境MPLAB X IDE v1.41,XC16编译器。但是新建简单的工程都不行,找不到KIT3。只好放弃。还是使用MPLAB IDE v8.88集成开发环境吧,依然是XC16编译器。 由MPLAB IDE v8.88的工程向导新建一个工程。选择单片机和编译器之后开始写一个IO口程序控制LED看看有没有硬伤。好久不用PIC了,都忘了怎么使用了。 1:添加相应的头文件 2:写配置位(时钟,仿真口等) 3:写测试程序。 总是忘了写配置位,根据文档写完配置位之后LED终于点亮了!! #include p33EP32GP502.h _FICD(ICS_PGD
[单片机]
Tekscan在量测包装机械压力的应用
  script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20101117/r20110208/show_ads_impl.js" /script script google_protectAndRun("ads_core.google_render_ad", google_
[传感器]
基于CP2102高速USB2.0-CAN适配卡的设计
基于桥接芯片CP2102,设计了USB2.0-CAN的适配卡。系统采用USB和CAN接收中断、通信同步的握手协议等方式,解决了USB的高速率和CAN的低速率、USB的大数据包与CAN的小数据包之间的矛盾,实现了USB数据与CAN数据之间的协议转换和转发。 关键词:CP2102;CAN控制器;协议转换;USB2.0 引言   控制器局域网(CAN) 是德国BOSCH公司于1986年为解决汽车内部测量与执行部件之间的数据通信而开发的一种串行数据通信协议。它的网络模型结构包括物理层、 数据链路层和应用层,以双绞线为信号传输介质,通信速率最高可达1Mbps ( 40m ),直接传输距离最远可以达到10km/5Kbit/s,每条总线可挂
[模拟电子]
基于CP2102高速USB2.0-<font color='red'>CAN</font>适配卡的设计
P80C592芯片在基于CAN总线显示通信模块中应用
摘要:PHILIPS公司的P80C592芯片是P8X592的无片内ROM版本,该芯片是现有P8XC522和Philips CAN控制器PCA82C200的功能相结合的产物。文中介绍了P80C592在开发基于CAN总线的显示通信模块中的应用方法。 关键词:CAN总线 显示通信模块 P80C592 1 P80C592芯片简介 P80C592是PHILIPS公司采用先进的COMS工艺制造的高性能8位单片机。该单片机的指令集与80C51 完全兼容,但在80C51标准特性的基础上又增加了一些对于应用具有重要作用的硬件功能。P80C592是P8XC592的无片内ROM版本,是现有P8XC522和Philips CAN控制器PCA82C2
[工业控制]
一种基于CAN总线的车辆虚拟仪表数据采集系统设计
  1 引言   现在总线技术有很多种。从成本上讲,RS-232/485的成本都比CAN低;速度上讲,工业以太网等也都不错。为什么唯独CAN在汽车电子中得到亲睐?   从成本上来说,CAN比UART、RS-232/485高,但比以太网低;从实时性来说:CAN的实时性比UART和以太网高,为了保证安全,车用通信协议都是按周期性主动发送,不论是CAN还是LIN,对实时性要求高的消息其发送周期都小于10ms(每辆车都有好几条这样的消息),发动机、 ABS和变速器都有几条这样的消息;从可靠性来说,CAN有一系列事故安全措施,这是UART和以太网都不具备的,多点冗余也是UART(点对点传输)和工业以太网(数据传输距离短)难于实现的,所
[嵌入式]
基于ARM7的CAN-USB转换器设计
  引言   ABS(防抱死刹车系统)ECU(电控单元)在研发过程中,为了实时确定其行车参数和控制参数,通常会使用标定技术,标定技术就是通过一定的命令对ECU上传和读取控制算法参数,以达到对其实时修改以寻求最优的技术。对于车载电控单元来说,其通常只有CAN总线通信接口,为了能实现上位机和ECU能直接进行通信,实现利用标定技术对ABS ECU进行开发,我们设计了一款能实现CAN到USB的数据转换器。CAN通信协议是一种用于汽车内部测量与执行部件之间的数据通信协议。而USB具有即插即用的优点,并且有较高的通信速率,对于实现上位机和下位机的通信进行标定十分方便。我们设计的数据转换器采用了NXP公司的LPC2119 ARM7处理器,通过
[单片机]
基于ARM7的<font color='red'>CAN</font>-USB转换器设计
嵌入式CAN总线控制器与DSP的接口
现场总线是一种开放式、 数字化、多点通信的控制系统局域网络, 是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。   由于CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注。基于CAN总线的CAN控制器具有完成CAN总线通信协议所要求的全部必要功能,因此CAN总线控制器与其它微处理器的接口成为设计CAN总线系统的首要工作。   当前已有一些微处理器将CAN控制器嵌入到系统之中,成为在片的微处理器,例如P8XC592 (其内核即为80C51的CPU),MCS96系列中的 87C196
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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