0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

北汇信息POLELINK 2023-03-06 14:31 次阅读

2bc74c5a-b945-11ed-ad0d-dac502259ad0.png
作者 |TYT
小编 | 吃不饱

汽车的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.png05总结
当前,低速容错CAN由于其通信速率的限制,其在车载领域的应用更少了,本文所介绍的低速容错CAN的物理层、容错机制以及容错机制在芯片中的实现原理,希望可以加深大家对CAN通信原理的理解。
北汇信息专注于汽车电子网络通信、诊断刷写、逻辑功能测试开发服务,期待进一步沟通交流、共享合作的机会。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2715

    浏览量

    463342
  • 汽车
    +关注

    关注

    13

    文章

    3416

    浏览量

    37157
收藏 人收藏

    评论

    相关推荐

    服务器数据恢复—DELL EqualLogic PS6100系列存储简介及发生故障如何处理?

    DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列,支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统,提供全套企业级数据保护和管理功能,具有可扩展性和容错功能。
    的头像 发表于 11-01 13:47 115次阅读
    服务器数据恢复—DELL EqualLogic PS6100<b class='flag-5'>系列</b>存储简介及发生故障如何处理?

    CAN时钟--位时间介绍#CAN #CANoe

    CAN
    北汇信息POLELINK
    发布于 :2024年10月29日 14:11:09

    CH32FV系列CAN设备过滤器配置

    简介CAN作为总线通信协议,在总线上可能会有大量的数据包同时传输,适当的过滤机制可以提升数据处理的效率,节省处理器的资源。通过配置CAN过滤器定义自己的数据接收规则,只接收和处理符合规程的CA
    的头像 发表于 10-11 08:03 194次阅读
    CH32FV<b class='flag-5'>系列</b><b class='flag-5'>CAN</b>设备过滤器配置

    该如何提高代码容错率、降低代码耦合度?

    提高RT-Thread代码的容错率和降低耦合度是确保代码质量和可维护性的关键,下面列举了几种在编写代码时,提高代码容错率和降低耦合度的思路。让我们一起来看看吧~一、提高代码容错率输入验证与数据校验
    的头像 发表于 06-26 08:10 613次阅读
    该如何提高代码<b class='flag-5'>容错</b>率、降低代码耦合度?

    科普EEPROM 科普 EVASH Ultra EEPROM 科普存储芯片

    科普EEPROM 科普 EVASH Ultra EEPROM 科普存储芯片
    的头像 发表于 06-25 17:14 501次阅读

    电子峰会亮点不容错过:技术、市场、趋势全方位洞悉!

    以“聚链协调·集智创新”为主题的2024中国电子热点解决方案创新峰会即将盛大开幕,超过瘾的电子科技盛宴不容错过! 4月27号,由Big-Bit商务网主办的2024中国电子热点解决方案创新峰会将在深圳
    的头像 发表于 04-24 14:12 318次阅读
    电子峰会亮点不<b class='flag-5'>容错</b>过:技术、市场、趋势全方位洞悉!

    工业交换机的网络容错机制:确保工业网络稳定运行

    工业交换机的网络容错机制是确保工业网络稳定运行的重要保障,其在应对各种网络故障和保障网络稳定性方面发挥着不可替代的作用。随着工业网络的不断发展和演进,我们相信工业交换机的网络容错机制
    的头像 发表于 04-17 11:04 424次阅读

    在H750DK上做了一个TouchGFX的工程,按键按下后,再次刷新出来的显示内容错位的原因?

    我在H750DK上做了一个TouchGFX的工程,发现按键按下后,再次刷新出来的显示内容错位,请问什么原因导致的呢?
    发表于 04-08 06:39

    CAN 会收到错误的数据吗?

    CAN-bus总线协议以高稳定性,高容错率而著称于世,然而仍有很多用户在使用的时候担心CAN会接受到错误的信息,在数据里增加了CRC校验的部分,这种做法是否有必要?CAN会收到错误的数
    的头像 发表于 04-04 08:24 377次阅读
    <b class='flag-5'>CAN</b> 会收到错误的数据吗?

    创新芯片设计与高性能电子元件 助力车载CAN提高通信速率

    电子发烧友网报道(文/李宁远)作为由BOSCH开发的国际化标准组织定义的串行通讯总线,CAN总线容错能力强,同时又不同于传统的网络,节点与节点之间不传输大数据块而是采用短数据包模式使得系统获得了更好
    的头像 发表于 04-02 00:15 4180次阅读

    高速CAN总线和低速CAN总线的区别

    高速CAN适用于需要高数据速率进行通信的应用场景,如引擎控制系统、传感器和执行器之间的通信。低速CAN则适用于对数据速率要求较低的应用场景,如车辆的舒适性和娱乐系统。
    发表于 02-15 14:54 4642次阅读

    高速CAN总线和低速CAN总线的特性

    高速CAN总线和低速CAN总线的特性 高速CAN总线和低速CAN总线是两种常见的
    的头像 发表于 01-31 14:09 2545次阅读

    如何采用TLF35584的CAN安全机制?

    采用 TLF35584 的 CAN 安全机制
    发表于 01-18 10:03

    容错can和高速can的区别

    文章。 第一部分:容错CAN介绍 容错CAN是一种使用于汽车领域的通信协议,它是由Bosch公司于1986年首次推出的。
    的头像 发表于 01-05 17:58 1284次阅读

    高速can低速can区别

    高速can低速can区别  高速CAN低速CAN是现今汽车行业中常用的两种
    的头像 发表于 12-07 18:15 4312次阅读