请选择 进入手机版 | 继续访问电脑版

北南南北论坛

 找回密码
 立即注册
查看: 20|回复: 0

CAN总线开发经验分享

[复制链接]

208

主题

292

帖子

891

积分

高级会员

Rank: 4

积分
891
发表于 2017-11-18 09:29:01 | 显示全部楼层 |阅读模式
摘要:CAN总线网络中,若其中一个节点出现硬件或者软件上的错误,很可能导致总线电平持续保持在显性状态,总线上所有节点均不能正常通信。在节点设计时,应该如何通过硬件手段避免这一问题发生?

总线值

CAN总线上的数据采用不归零编码方式,可具有两种互补的逻辑值之一:“显性”或“隐性”。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在执行总线的“线与”时,逻辑 0 代表“显性”,逻辑1 代表“隐性”。

CAN总线节点的基本组成如图1所示,当MCU的TXD引脚输出0时,总线电平为显性,若输出1,总线电平则为隐性。

can.png
TXD 显性超时

由于CAN总线显性电平的“支配地位”,在CAN总线组网时,若有其中一个CAN节点出现硬件或者软件上的错误,使控制器TXD引脚持续处于低电平,则会使总线电平持续保持在显性状态,总线上所有节点均不能正常通信,导致总线瘫痪。若总线节点数量众多,确定问题节点将是一项艰巨的任务。

带TXD显性超时保护功能的CAN收发器可以有效防止出错的CAN控制器通过发送持续的显性TXD信号将总线箝位在显性电平。
can-2.png
图2 TXD显性超时功能

如图2所示,带TXD显性超时保护的CAN收发器,在TXD引脚显性时间超过允许最大的时间tDOM后,发送器将被禁能,收发器输出表现为隐性状态,总线将不受该节点影响,从而保证总线的正常通信。收发器下一个显性输出只有在释放了TXD后才可以产生。

隔离CAN收发器

表1列出了常用的隔离CAN收发器。从列表可以看出,CTM1051K(A)T具有TXD显性超时保护功能,可以避免总线持续进入显性状态,保护总线正常通信。但由于tDOM的存在,收发器的最低工作位速率被限制。
表1 常用隔离CAN收发器

can-3.png
图3 CAN隔离收发器

根据 CAN 协议(ISO 11898),除了错误帧和过载帧(允许6个相等显性位),CAN帧报文中在5个连续相等位后,发送器自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,5个连续的高电平位后,CAN自动插入一个低电平位。因此,TXD只允许最多11个连续的显性位,最坏的情况是一个错误帧紧接在5个连续的显性位后,即tDOM的最小值要求收发器的最小位速率必须大于36.7kbit/s:

can-4.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


手机版|北南南北论坛  

GMT+8, 2017-12-15 19:54 , Processed in 0.074381 second(s), 34 queries .

© 2001-2016 VxWorks6 Inc.

快速回复 返回顶部 返回列表