引言
由于RS232通讯距离短(根据EAT/TAI-232标准,仅为15米),而且,只能进行点到点通讯,不能直接组多点通讯网络。为了延长RS232的通讯距离,并将RS232节点组成通讯网络,目前广泛使用RS232/RS485信号转换器。但是,由于RS485通讯本身的局限性,在实际应用中存在许多不足:总线效率低、系统的实时性差、通讯的可靠性低、网络工程调试复杂、传输距离不理想、单总线可挂接的节点少、应用不灵活等。
本文介绍一种方法,可以将RS232通讯网络转换成CAN通讯网络,以更好地解决用户建立远程通讯网络的问题。
CAN总线特性
CAN-bus(Controller Area Network)即控制器局域网。目前,CAN-bus是应用最广的现场总线国际标准之一。
CAN-bus是一种多主方式的串行通讯总线,可以实现较高通讯速率、高抗电磁干扰性,而且能够检测出产生的任何错误,以保证实时通讯的可靠性。CAN-bus总线具有以下特性:
1: 低成本的现场总线;
2: 极高的总线利用率;
3: 很远的数据传输距离(长达10Km)或高速的数据传输速率(高达1Mbps);
4: 可根据报文的ID决定接收或屏蔽该报文;
5: 可靠的错误处理和检错机制;发送的信息遭到破坏后,可自动重发;
6: 节点在错误严重的情况下具有自动退出总线的功能;
当信号传输距离达到5Km时,CAN-bus仍可提供高达10Kbps的数据传输速率。CAN-bus通讯速率与传输距离的关系如下图2-1所示
CAN232B转换器
我们可以方便地运用CAN232B转换器,来实现RS232的多点组网和远程通讯。CAN232B转换器内置数据处理微控制器与CAN控制器,能够实现RS232/CAN网络的数据智能转换。
主要技术参数
1:支持CAN2.0B协议(兼容CAN2.0A协议),符合ISO/DIS 11898规范;
2:集成1路CAN通道,波特率在10Kbps~1Mbps之间可选;
3:集成1路RS232通道,波特率在1200bps~57600bps之间可选;
4:CAN通道采用光电隔离,隔离模块绝缘电压:1000Vrms。
工作原理
由微处理器负责实现通讯协议,转换RS232通讯数据与CAN通讯数据;集成CAN控制器完成CAN协议的硬件实现。为了提高系统的抗干扰能力,在CAN数据通道上增加了完整的电气隔离电路。隔离电路采用光电隔离元件,自带DC/DC电源模块,无需外接电源。
利用CAN232B组建CAN控制网络
利用CAN232B转换器实现RS232点对点远程通讯,如图4-1所示。只需要将每个用户设备分别连接一个CAN232B转换器,再通过双绞线连接两个CAN232B转换器的CAN端口即可。当通讯距离较远时,需要在CAN网络的两个端点处各安装1个120欧姆的电阻,电阻跨接在CAN_H和CAN_L上。
在实现通讯前,只需要设置CAN232B转换器的2个参数:RS232通讯波特率、CAN通讯波特率,其他参数无需进行设置。CAN通讯波特率可以查找图2-1中的参照数据。
由于CAN232B转换器完全支持CAN2.0A和CAN2.0B协议,利用CAN232B实现RS232点对点远程通讯,可充分利用CAN总线的优点,如传输距离远、传输速率高、无损仲裁和错误检测处理等。在CAN波特率为10kbps时,数据传输距离可达到5km,极大地提高了RS232数据的传输距离,同时也能够大大改善RS232数据传输的可靠性。
如果用户的数据传输距离超过5km距离,则需要在CAN网络中间安装CANrep中继器。
利用CAN232B转换器实现RS232多机通讯网络,如图4-2所示。注意,CAN网络是一个“直线型”网络。首先,需要将每个用户设备分别连接一个CAN232B转换器;然后,通过双绞线连接各个CAN232B转换器的CAN端口,即可通讯。另外,需要在CAN网络的两个端点处各安装1个120欧姆的电阻,电阻跨接在CAN_H和CAN_L上。
如果用户的数据传输距离超过5km距离,则需要在CAN网络中间安装CANrep中继器。
利用CAN232B转换器实现RS232多机通讯网络,还需要考虑是否执行以下软件设置环节:
1. 配置主控设备的CAN232B转换器(通过配置软件设置)
设置CAN232B的RS232通讯波特率、CAN通讯波特率。
设置CAN232B中CAN报文滤波器,使设备接收所有的CAN报文。
2. 用户RS232主控设备的软件设计
对RS232主控设备而言,需要具备寻址其它多个RS232设备的能力。此时,需要按照CAN232B转换器的配置协议,对用户主控设备的RS232程序进行补充、修改,使主控设备可向所连的CAN232B转换器发送“命令帧”,以设置CAN帧格式,动态配置CAN232B发送的CAN帧信息。这样,用户主控设备就可以通过CAN232B发送具有不同ID的CAN报文帧,从而寻址不同地址的RS232设备。
3. 配置从设备的CAN232B转换器(通过配置软件设置)
设置CAN232B的RS232通讯波特率、CAN通讯波特率。
设置CAN232B中CAN报文滤波器,使设备接收所需要的CAN报文。
设置CAN232B中CAN帧格式,决定帧类型(标准帧/扩展帧)和帧ID。
合理使用CAN232B转换器,可以方便地实现RS232多点组网和远程通讯。由于CAN232B转换器完全支持CAN2.0A和CAN2.0B协议,因此,所组建的CAN控制网络具有组网灵活、数据传输可靠性高、通讯速率高、总线利用率高等优点。
RS232/CAN电平转换器
目前,我们还接触到一种利用CAN总线收发器的电平驱动能力而间接实现RS232远程通讯的RS232/CAN转换器。这里,我们称其为非智能型RS232/CAN 电平转换器,将上面介绍的带微处理器产品称为智能型RS232/CAN转换器。下面将对非智能型RS232/CAN 电平转换器产品及其构成网络进行分析、判断、比较。
非智能型RS232/CAN电平转换器直接通过硬件电路来实现RS232信号和CAN信号的物理电平转换。下图5-1是非智能型RS232/CAN电平转换器的原理框图
上图中,非智能型RS232/CAN转换器没有使用CAN控制器,只是利用CAN总线收发器的电平驱动能力,以达到延长RS232传输距离的目的。
利用非智能型RS232/CAN电平转换器构建的CAN接口可以具有远程通讯的能力,但由其构建的CAN网络并不支持CAN基本协议。所以,利用非智能型RS232/CAN转换器组建的网络仍有会存在类似RS485的许多缺点:没有错误控制能力、没有硬件总线仲裁功能、通讯的可靠性低、总线效率低、系统实时性差、应用不灵活、只有主从通讯方式等等。一句话,那已经不是可靠、实时的CAN-bus通讯网络。
与电平转换的机制不同,智能型RS232/CAN转换器完全支持CAN基本协议,可以实现RS232通道数据和CAN通道数据的转换。利用智能型CAN232B转换器构建CAN网络,完全支持CAN2.0A和CAN2.0B协议,充分利用CAN总线的特性,实现RS232的远程通讯和多点组网,并具有组网灵活、数据传输可靠性高、通讯速率高、总线利用率高等优点。这也是CAN-bus通讯网络具有的优点。另外,智能型RS232/CAN转换器还具有以下优点:可以实现RS232通讯数据与CAN通讯数据的透明转换,无需更改原有RS232通讯协议,可以直接应用到原有领域。
总结
利用CAN232B转换器组建一个CAN控制网络,能够很方便的实现RS232多点组网、远程通讯,并且,不需要更改原有RS232通讯软件,用户可直接嵌入原有的应用领域,使系统设计达到更先进的水平。