【绝密】为什么现在的CAN收发器通信距离越来越短?
CAN收发器的改良和隔离器件引入,大大提高了通信的可靠性,但同时也引入了额外的延时,导致通信距离变短,或总线错误帧增加,本文以1Mbps波特率下的应用为例,对CAN总线信号延时做简要分析。
CAN总线传输距离的相关因素
1、ACK应答
CAN 总线采用多主通信模式、非破坏式总线仲裁机制。以标准数椐帧为例,从结构上看分成7段,分别为起始段、仲裁段、控制段、数椐段、CRC校验段、ACK应答段、帧结束段,如图1所示:
图1 标准数椐帧结构及应答
ACK段长度为2个位,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)。在应答场里,发送站发送两个"隐性"位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT)期间(发送ACK信号)向发送器发送一"显性"的位以示应答。发送节点检测到总线呈显式状态时,就认为有节点进行了有效的应答并且自己所发出的帧是正常的。
2、CAN总线位时间组成
CAN网络通信位定时参数如图2所示。
图2 位定时示意图
CAN 总线通信中每一位的时间由4 部分组成,即同步段、传播段、相位缓冲段1、相位缓冲段2,划分为3段。
同步段:用于总线诸节点之间的同步;
时间段1:由传播段与相位段1组成,传播段用于补偿信号的物理传播延时;
时间段2:即相位缓冲段2,相位段1 和相位段2 用于补偿沿的相位误差。
在实际控制器设计中,通过调整时间段1、时间段2 的值可以改变对总线传播延时的补偿时间。
3、CAN总线延时理论分析
由图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 隔离收发器延时
或者采用隔离收发器方案如图6,CTM1051KT采用磁耦隔离,磁隔离延时3~5ns,在位时间配置不变的情况下,CTM1051KT自带隔离基本不会对容许线缆长度造成影响,可满足1Mbps速率下约36m的传输距离。
图7 不同隔离器件延时情况
2、收发器循环延时
什么是循环延时?对于CAN收发器,是指从TXD输入的数字流被转换成相应的模拟总线信号,同时总线收发器监控总线,将模拟总线信号转换成相应的数字位流从RXD输出的过程。如图8所示:
图8 TJA1051功能框图
CAN 收发器的制造商通常规定"循环延时",其包括驱动器和接收机延迟。延时时间的大小是有收发器自身特性决定,以收发器TJA1051为例,从数据手册中可以看出,其最大传播延时为220 ns,最小传播延时为40 ns。图9为收发器循环延时对称时序图(tPD(TXD-RXD)为TXD发送显性上升/下降沿到总线并且
- Xilinx Virtex UltraScale 开发平台(06-12)
- 针对汽车应用的本地互连网络LIN收发器NCV7321(10-15)
- 电力线MAC/PHY集成收发器INT51X1及其应用(02-11)
- T1/E1/J1单片收发器(02-11)
- 有关光纤收发器的基本常识解析(07-03)
- 28nm高端FPGA如何实现功耗和性能的平衡?(04-17)