CAN中继器是大型CAN网络中经常用到的设备,它可以延长传输距离,改变拓扑结构和隔离干扰,但也增加了设计成本。有人说,只要2颗CAN收发器芯片就可以实现CAN中继功能。到底行不行呢?
一、CAN收发器简介
ISOxa011898是一个使用CAN总线协议的汽车内高速通讯国际标准。CAN收发器是协议中数据链路层和物理层的接口部分。常见的CAN收发器芯片有NXP(原Philips)的PCA82C250/251、TJA1050/1051等型号。由于PCA82C250和TJA1050总体的引脚和功能都兼容,所以我们下文以TJA1050为例。
二、2颗CAN收发器芯片的错误方案分析
首先,简单介绍一下TJA1050。如图1,TJA1050一共有8个引脚,TXD为发送数据,RXD接收数据,VCC接5V电压,GND接地。CANH和CANL为CAN的两路差分输出。8脚为CAN总线模式选择,5脚为参考地。
xa0xa0
图1
RXD和TXD想必大家都非常熟悉,在RS-232协议中,只要把两个设备的RS-232的TXD和RXD交叉连接,GND共地,两个设备便可以实现通信。于是有人想到,如果把2颗TJA1050芯片的TXD和RXD也交叉连接,是否能实现中继功能呢?
如图2电路,看上去貌似可行,但是实际上此电路是无法使用的。
假如将此电路接入CAN总线,当有显性电平从TJA1050(A)进入时,TJA1050(A)的RXD=0,同时TJA1050(B)的TXD=0,TJA1050(B)的CAN输出显性电平。由于芯片的自反馈,TJA1050(B)会读入显性电平将RXD=0,同时TJA1050(A)的TXD=0,如此持续下去。由于TJA1050有TXD脚的显性保护功能(PAC8250无此功能),当超过允许最大的TXD显性时间之后,CAN收发器将会被禁能。
xa0xa0
图2
三、CAN中继器正确的设计方案
如图4为CAN中继器的硬件框图,主要由MCU和CAN控制器、CAN收发器组成。MCU负责数据的缓存和转发,CAN控制器将数据转换成CAN帧格式,最终通过CAN收发器接入CAN网络。大多的MCU已集成了CAN控制器在芯片内,比如NXP的LPC2119。
xa0xa0
图3
CAN控制器和CAN收发器之间通过光耦隔离,CAN收发器驱动采用带隔离的DC-DC模块。这样,不仅实现了两路CAN接口之间的电气隔离,也实现了中继器和总线的隔离。虽然这在一定程度上增加了中继器硬件的复杂性和成本,但却是值得的。或者可以用致远电子的CTM1051KT为代表的隔离CAN收发器,内部包含隔离DC-DC、信号隔离电路、CAN总线收发电路、基础的总线防护等。同传统的设计相比,CTM系列具备更高的集成度、更高的可靠性和更具竞争力的价格,能够帮助使用者降低整体的设计风险和采购成本。
xa0xa0
图4
四、智能CAN网桥中继器
ZLG致远电子CAN隔离网桥中继器集线器系列,具有2个或者4个电气隔离的CAN总线接口,能实现CAN-bus网络的中继功能,能将不同速率的CAN网络之间的数据存储转发。主要应用如下:
(1)使用该系列产品可达到增加负载节点和延长通信距离的作用,实现网络中继扩容的功能;
(2)可独立任意配置每个通道的通讯波特率,实现不同通信波特率的CAN网络互联;
(3)该系列产品具有强大的ID过滤转换和数据转换功能,精确的验收ID配置使CAN总线的负荷降到最低。或者变化特定的ID和数据,实现去除干扰数据和区别不同设备的目标;
(4)具有强大的抗干扰能力,当用户的设备CAN受到强干扰导致死机或者损坏,接上该系列产品后,可以隔离干扰保护设备正常运行。
xa0xa0
图5
xa0
xa0
xa0
xa0
xa0