由图1可知,发送节点在发完CRC 场之后,会发出一位应答隙,在这一位的时间内,接收节点应该输出显式位作为回应,发送节点如果在应答隙内没有检测到有效的显式位,则会判定总线错误,所以限制CAN 总线系统信号传播延时上限的根本条件就是必须确保发送节点在应答隙内接收到有效的应答信号。
为了满足这一根本条件,以 1 Mbit/s 波特率,单点采样模式为例,依据采样点在设置同步段、时间段1、时间段2 内的前后变化,当设置为75%位宽度时(即采样点位于距位起始的75%位宽度,为750 ns),在应答隙要使得发送节点采集到有效的显式位,理论上来讲,必须满足整个信号传播延时小于750 ns。即隔离器件、总线驱动器、线缆等的延时总和小于750ns才能保证应答有效。如图3所示:
图3 CAN总线延时理论分析框图
CAN总线延时分析
首先,我们看CAN网络上节点之间通信的传播延时情况,如图4所示,t2、t5为收发器循环延时、t3、t6为隔离延时、t4、t7为CAN控制器处理延时,t1 为线缆传输延时。
图4 CAN总线信号传输延时
以节点A发送,节点B接收为例,从CAN报文发出开始,到接收到ACK应答,整个应答回路延时为T总=(t1+t2+t3+t4+t5+t6+t7)*2,期间报文经过了4次隔离及收发器,两次线缆,若想提高传输距离,需对各个环节的延时时间进行分析。
1、隔离器件延时
为了提高CAN节点的可靠性,CAN底层硬件通常会使用隔离设计。常用解决方案有采用光耦+CAN收发器,如图5所示(6N137+TJA1051),光耦6N137具有典型的60ns单向延时,而全部双向信号必须经过4个光耦,总隔离延时达240ns,在位时间配置不变的情况下,大大地缩短了CAN系统的容许线缆长度。
图5 光耦隔离延时
图6 隔离收发器延时