CAN总线系统由一系列的网络节点通过总线相互连接组成,在实际应用中网络节点既是干扰源又是被干扰对象,尤其在超强干扰的情况下,如何使系统可靠运行成为一大难题。
前段时间有个用户反馈说自己的设备启动后多个节点处于失控状态,用CANScope测试全是错误帧如图1所示。
图1 强干扰下的报文
随后让客户把测试的波形发来一看,是环境干扰惹的祸,如图2所示。
图2 强干扰下的波形
这种强干扰导致了帧错误增加,重发频繁,正确数据无法及时到达。所以如何解决CAN总线超强干扰呢,下面给您介绍一种方案。
一、 将CAN转为光纤传输
怎么能彻底解决强干扰带来的隐患呢?只要数据的传输不依赖电信号就能完全隔离掉干扰。光纤作为一种无法被电磁干扰的传输介质,我们可以把 CAN 容易受到干扰的部分使用光信号传输,增加CAN转光纤转换器。如图3所示,为使用致远电子的三台CANSwitch-AF2S2组合的光纤主干网络。
图3 使用光纤转换器实现光纤主干传输
实现上面的光纤传输使用的是CANSwitch-AF2S2集线器(Hub)功能,在此模式下的设备可以实现自组网,实现设备级联,只要通过软件配置好设备,CAN 总线就会按照规定进行转发到相应 CAN 口上。下面再介绍它的另一种功能——转换器(Converter)功能。
Converter(转换器)功能支持TCP Sever/TCP Client/UDP工作方式和灵活的拓扑结构,通过配置软件用户可以灵活的设定相关配置参数。典型应用如下:
lTCP Server 模式
在 TCP 服务器(TCP Server)模式下,CANSwitch-AF2S2 不会主动与其它设备连接。它始终等待客户端(TCP Client)的连接,在与客户端建立 TCP 连接后即可进行双向数据通信。建立通讯的过程如图4所示。
图4 TCP Sever 模式通讯示意图
lTCP Client 模式
在 TCP 客户端(TCP Client)模式下,CANSwitch-AF2S2 将主动与预先设定好的 TCP服务器连接。如果连接不成功,客户端将会根据设置的连接条件不断尝试与 TCP 服务器建立连接。在与 TCP 服务器端建立 TCP 连接后即可进行双向数据通信。建立通讯的过程如图5所示。
图5 TCP Clinet 模式通讯示意图
lUDP模式
UDP 模式使用 UDP 协议进行数据通信。UDP 是一种不基于连接的通信方式,它不能保证发往目标主机的数据包被正确接收,所以在对可靠性要求较高的场合需要通过上层的通信协议来保证数据正确,但UDP 方式可以提供比 TCP 方式更高的通信速度,以保证数据包的实时性。工作在这种方式下的设备,地位都是相等的,不存在服务器和客户端。通讯的过程如图6所示。
图6 UDP 模式通讯示意图
二、一些硬件抗干扰的隔离与防护措施
1.使用TVS二极管
TVS二极管并联在信号线和信号地线之间,用来保护电缆受到雷击或静电放电时产生的浪涌高压。当 TVS 上的电压超过一定的幅度时,器件迅速导通,从而将浪涌能量泄放掉,并将电压的幅度限制在一定的范围内。在这里建议在 CANH、CANL信号线上使用两个 TVS管进行双向保护,如下图所示。
图7 TVS二极管防护
2.使用隔离收发器
如下图所示的CTM1051(A)HP模块内部集成高可靠的浪涌防护电路,静电放电抗扰度高达8kV,雷击浪涌抗扰度高达4kV,可有效解决工业现场因静电、浪涌干扰而导致的通讯异常问题。
图8 隔离收发器
3.信号保护器
外接专用的信号保护器消除干扰,如 ZF-12Y2 消耗干扰强度或者是CANbridge+ 网桥做隔离。
图9 ZF系列防雷器