CAN总线网络中,若其间一个节点呈现硬件或许软件上的过错,很可能导致总线电平继续保持在显性状况,总线上一切节点均不能正常通讯。在节点设计时,应该怎么经过硬件手法防止这一问题发生?
总线值
CAN总线上的数据选用不归零编码方法,可具有两种互补的逻辑值之一:“显性”或“隐性”。“显性”位和“隐性”位一起传送时,总线的成果值为“显性”。比方,在履行总线的“线与”时,逻辑 0 代表“显性”,逻辑1 代表“隐性”。
CAN总线节点的根本组成如图1所示,当MCU的TXD引脚输出0时,总线电平为显性,若输出1,总线电平则为隐性。
图1 CAN节点根本组成示意图
TXD 显性超时
因为CAN总线显性电平的“分配位置”,在CAN总线组网时,若有其间一个CAN节点呈现硬件或许软件上的过错,使控制器TXD引脚继续处于低电平,则会使总线电平继续保持在显性状况,总线上一切节点均不能正常通讯,导致总线瘫痪。若总线节点数量很多,确认问题节点将是一项艰巨的使命。
带TXD显性超时维护功用的CAN收发器能够有用防止犯错的CAN控制器经过发送继续的显性TXD信号将总线箝位在显性电平。
图2 TXD显性超时功用
如图2所示,带TXD显性超时维护的CAN收发器,在TXD引脚显性时刻超越答应最大的时刻tDOM后,发送器将被禁能,收发器输出表现为隐性状况,总线将不受该节点影响,然后确保总线的正常通讯。收发器下一个显性输出只要在释放了TXD后才能够发生。
阻隔CAN收发器
表1列出了常用的阻隔CAN收发器。从列表能够看出,CTM1051K(A)T具有TXD显性超时维护功用,能够防止总线继续进入显性状况,维护总线正常通讯。但因为tDOM的存在,收发器的最低作业位速率被约束。
表1 常用阻隔CAN收发器
图3 CAN阻隔收发器
依据 CAN 协议(ISO 11898),除了过错帧和过载帧(答应6个持平显性位),CAN帧报文中在5个接连持平位后,发送器主动刺进一个与之互补的补码位;接纳时,这个填充位被主动丢掉。例如,5个接连的高电平位后,CAN主动刺进一个低电平位。因而,TXD只答应最多11个接连的显性位,最坏的状况是一个过错帧紧接在5个接连的显性位后,即tDOM的最小值要求收发器的最小位速率有必要大于36.7kbit/s: