基于RS232协议的CAN总线网络
发布时间:2023-07-26 10:34 浏览次数:959

一、引     言

众所周知,RS232具有通讯距离短(根据EAT/TAI-232标准,仅为15米)和只能进行点到点通讯,不能直接组网等缺点,为了延长RS232的通讯距离并将RS232节点组成通讯网络,广泛使用了RS232/RS485转换器。这是因为RS485具有结构简单、抗干扰能力强、传输距离远、网络节点多、成本低和使用对布线要求不严格的双绞线等特点,而被广泛应用于各种工业现场。但在实际应用中,它仍存在以下不足。

1、系统故障限制能力差

RS485仅仅是一种半双工通信的电气协议,其通信介质为双绞线,传输的信号在双绞线上呈现一对正负相反的电平信号用来表示逻辑"1"和逻辑"0"。在RS485组成的通讯网络中,任何时候,只能允许一个节点向网络系统发送数据。系统中每一个节点的RS485驱动器都有一个发送使能控制端DE,其作用是驱动器发送数据时,控制该发送器有效,使其向网络发送数据;数据发送完后,DE则关闭发送器,使其处于高阻状态,从而不影响网络中其它节点的数据传送。如果发生故障,出现几个节点同时向网络发送数据,这就等于多个RS485驱动器同时向一对双绞线上输出不同的电平信号,结果使得整个网络呈现短路状态,最终损坏其节点的驱动器,使故障范围进一步扩大。

2、中继器结构复杂

 如果网络中个节点之间的距离大于RS485规定的距离(通常为1.2km),或者网络中节点太多,超过了RS485驱动器的负载能力,则必需使用中继器来增加网络的节点数或延长各节点之间的距离。由于RS485是二线制半双工通信,其数据传输是双向的,且同一时刻只允许一个节点发送数据。中继器必需随时接收并判断网络中的数据流向,然后根据其数据流向决定向中继器两端中的哪一端发送数据,要实现上述功能,中继器结构必然复杂,特别是在野外,中继器的供电往往是很麻烦的问题,其结果是既降低了系统的可靠性,又增加了系统成本。

 3、控制电路复杂

在RS232/RS485转换电路中,必须为RS485驱动器提供发送使能信号DE。由于RS232是基于UART的异步串行通讯,没有提供独立的发送使能控制信号,当RS232转换成RS485时,只有用其它信号作为发送使能控制信号,如RTS或DTR信号。在许多设备上运行的软件并不支持具有发送使能的RS485通信协议,这就需要重新编写通信驱动程序,这对于那些无法修改软件的设备来讲,基本上是不可能的的。现在市场上有许多廉价的RS232/RS485转换器,无需RTS或DTR控制收发使能,只用到TXD、RXD线,能够实现自动收发转换,但它们的RS485发送器往往只输出半个波形(逻辑"0"),而靠总线上的上拉电阻来得到逻辑"1"电平,这使得总线上所带的节点数量和通讯距离大为减少,并不符合RS485的设计标准。



二、CAN总线接口特性简介

由于要求使用RS232/CAN转换器后并不需更改原来的RS232(或RS485)通讯软件(协议),所以本文并不涉及CAN控制器,只使用CAN总线物理接口芯片82C250,它是由PHILIPS公司设计生产,其通信介质与RS485相同,均使用特性阻抗为120Ω的双绞线,信号传输方式和RS485一样,也采用差动发送和差动接收,它的主要特性如下:

          .符合ISO/IS11898标准;

          .最高通信速率为1Mbps;

          .能抗汽车环境下的瞬太干扰;

          .具有限斜率控制,抗射频干扰;

          .差分发送和差分接收,抗电磁干扰(EMI)能力强;

          .具有过热保护和短路保护;

          .网络中的节点掉电不会影响整个网络的工作;

          .最多可带110个节点;


CAN总线的传输距离远,通信速率高。当通讯速率为1Mbps时,其任意两个节点之间的最大距离为40米;当通信速率为9.6kbps时,其任意两个节点之间的距离可达5公里;当通信速率为5kbps时,通信距离可达10公里。82C250有8个管脚,其封装形式有DIP8和SO8两种,表1-1是它的管脚功能定义:


管脚

符号

功 能 描 述

1

TXD

发送数据输入端,接控制器的串行数据输出端

2

GND

3

Vcc

电源电压:4.5V〈 Vcc〈 5.5V

4

RXD

接收数据输出端,接控制器的串行数据输入端

5

VREF

基准电压输出端

6

CANL

低电平输入/输出端

7

CANH

高电平输入/输出端

8

Rs

斜率控制电阻输入端


 

 

 

 

 

 







82C250的真值表如表1-2所列。


电源

TXD

CANH

CANL

总线状态

RXD

4.5

0

高电平

低电平

支配

0

4.5

1或悬浮

悬浮

悬浮

退让

1

Vcc<2V

不定

悬浮

悬浮

退让

不定

2V

>0.75Vcc

悬浮

悬浮

退让

不定

2V

不定

悬浮

悬浮

退让

不定

表1-2   82C250真值表

    

从表1-2中可看出,CAN总线驱动器82C250和RS485驱动器的主要区别在于传输信号的电平上。RS485驱动器的两个输出端分别向总线发送一对相异的电平,即一端为高电平,另一端则为低电平。而82C250输出端的电平不是相异的,在CANH端,它的两个状态是高电平和悬浮状态;而在CANL端,它的两个状态则分别为低电平和悬浮状态,这样一来即使多个节点同时向网络发送数据,也不会像RS485那样发生短路现象。


三、不需更改原有通讯软件的RS232/CAN转换器
由德阳四星电子技术开发中心研制的CAN-232G和CAN-485G,很好的解决了RS232和RS485的超远程通信和组网问题,采用不改变RS232或RS485通讯协议(软件)的CAN总线驱动器,使RS232或RS485的通信距离可达到10公里,避免了使用中继器需野外供电的麻烦,并具有高速和便于RS232口组网的特点,加上特有抑制信号自收技术,无需改变原来的软件,确保适合所有的RS232/RS485软件。


1、主要技术参数:

        1、光隔离电压:500V直流,3500V脉冲
        2、电源:外接5V 100mA直流电源
        3、通讯距离:10km(4800bps)、5km(9600bps)、2km(38400bps)、600m(115200bps)
        4、通讯速率:最高230kbps,速率自适应无需设置
        5、通讯协议:采用半双工CAN总线但不改变原有的RS232通讯协议(软件)
        6、组网节点数:可组成具有110个节点的多机通讯网络
        7、传输线 :0.75mm2 以上特性阻抗为120欧的双绞线
        8、外形尺寸:100×55×17
        9、重量:70克
       10、工作温度:-20~60℃
       11、工作湿度:0~90%

2、工作原理 :

如图所示,设备的RS232(或RS485)信号经RS232(或RS485)接口电路转换成TTL电平,由信号自收抑制电路确保设备不会收到自己发送的信号,经光电隔离后由CAN总线驱动器输出CAN信号。本产品的工作电源可由设备上提供,也可单独外接,产品内部使用了隔离电源模块,信号和电源都采取了隔离,保证了系统的抗干扰性能和安全性。



3、应用:


RS232点对点通讯:



RS232多机通信网络:

CAN-232G(或CAN-485G)可实现多至110个RS232(或RS485)节点组成多机通讯网络,最大通讯距离可达10km(4800bps),各节点的地址由设备内部的程序确定。