位置:51电子网 » 技术资料 » 接口电路

基于CAN总线 的RS-232串口设备远程通信

发布时间:2008/6/3 0:00:00 访问次数:469

摘要:阐述了can总线在232串口设备远程通信或自组网络中 的应用,介绍了can到rs-232转换装置的软硬件设计方法。重点对软件设计中can波特率的设置、串口波 特率的自动检测以及数据流控制等作为详细的叙述。
关键词:can 波特率 流控制
1 引言
工业设备通信通常涉及到很多硬件和软件产品以及用于连通标准计算机平台(个人计算机或工作站)和 工业自动化应用设备的协议,而且所使用设备和协议的种类繁多。因此,大部分自动化应用设备都希望 执行简单的串行命令,并希望这些命令同个人计算机或者附加的串行端口板上的标准串行端口兼容。 rs-232是目前pc机与通信工业中应用最广泛的一种串行接口。rs-232被定义为一种在低速率串行通讯中 增加通讯距离的单端标准。由于rs-232的发送端与接收端之间有公共信号地,所以它不能使用双端信号 ,否则,共模噪声会耦合到信号系统中。rs-232标准规定,其最大距离仅为15m,信号传输速率最高为 20kbit/s。
can,全称为“controller area network”,即控制器局域网,是国际上应用最广泛的 现场总线之一,一个由can总线构成的单一网络受到网络硬件电气特性的限制。can作为一种多主方式的 串行通讯总线,其基本设计规范要求高位速率和较高的抗电磁干扰性能,而且要能够检测出通讯总线上 产生的任何错误。当信号传输距离达10km时,can仍可提供高达50kbit/s的数据传输速率。表1为can总 线上任意两个节点之间最大传输距离与其位速率之间的对应关系。

表1 can总线系统任意 两节鼎足之势之间的最大距离

由此可见,无论从实时性 、适应性、灵活性,还是可靠性上来看,can总线都是一种比rs-232更为优秀的串行总线。当两台串口 设备的相距较远,不能直接用rs-232把它们连接起来时,就可以把rs-232转换为can,通过can总线来实 现串口设备的网络互连。
但是,rs-232和can在电平和帧格式上都是很大的不同。具体表现如下:
rs-232标准电平采用负逻辑,规定+3v~+15v之间的任意电平为逻辑“0”电平,-3v~-15v之间的 任意电平为逻辑“1”电平。而can信号则使用差分电压传送,两条信号线称为“can_h”和“cam_l”, 静态时均为2.5v左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用can_h比can_l高表示逻 辑“0”,称为“显性”。显性时,通常电压值为:can_h=3.5v,can_l=1.5v;
rs-232串口的帧格 式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据位),一位停 止位。而can的数据帧格式为:帧信息+id+数据(可分为标准帧和扩展帧两种格式)。

因此,设计时就 需要有一个微控制器来实现电平和帧格式等的转换。其转换方式如图1所示。
2 rs-232到can转换的 硬件设计
在设计rs-232到can的转换装置时,用单片机at89c52作为微处理器;用sja1000作为can微 控制器,sja1000中集成了can协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理; at82c250作为can控制器和物理总线之间的接口,用于提供总线的差动发送能力和can控制器的差动接收 能力,通过at82c250的引脚3可选择三种不同的工作方式(高速、斜率控制和待机)。其中引脚3接地时 为高速方式;高速光隔用6n137实现,其作用是防止串入信号干扰;max232用来完成232电平到微控制器 接口芯片ttl电平的转换。具体的硬件接口电路参见sja1000的有关资源,这里不再多做说明。但有以下 几点需要注意。
(1)can总线两端接有一个120ω的电阻,其作用是匹配总线阻抗,提高数据通信 的抗干扰性及可靠行。但实际上只需保证can网络中“can_h”和“can_l”之间的跨接电阻为60ω即可 。
(2)sja1000的20引脚rx1在不使用时可接地(具体原因见软件设计),配合cdr.6的置位可使总 线长度大大增加。
(3)引脚tx0、tx1的接法决定了串行输出的电平。具体关系可参考输出控制寄 存器ocr的设置。
(4)at82c250的rs引脚与地间接有一个斜率电阻。电阻大小可根据总线通信速度 作适当调整,一般在16kω~140kω之间。
(5)max232外围需要四个电解电容c1、c2、c3、c4,这 些电容也是内部电源转换所需电容,其取值均为1μf/25v,宜选用钽电容并且位置应用量靠近芯片,电 源vcc和地之间要接一个0.1μf的去耦电容。

3 rs-232到can转换的软 件设计
在微处理控制下,rs-232和can进行数据交换时,采用串口接收和can中断方式可提高工作效 率。其主程序流程图如图2所示。sja1000的初始化在复位模式下才可以进行,主要包括工作方式的设置 、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。
数据能否 准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍can波 特率的设置、串口波特率的自动检测、串口数据流量控制。
3.1 can滤波率的设置
can协议中 的要素之一是波特率。用户可以设置位周期中的位采样点位置和采样次数,以使用户可以自由地优化应 用

摘要:阐述了can总线在232串口设备远程通信或自组网络中 的应用,介绍了can到rs-232转换装置的软硬件设计方法。重点对软件设计中can波特率的设置、串口波 特率的自动检测以及数据流控制等作为详细的叙述。
关键词:can 波特率 流控制
1 引言
工业设备通信通常涉及到很多硬件和软件产品以及用于连通标准计算机平台(个人计算机或工作站)和 工业自动化应用设备的协议,而且所使用设备和协议的种类繁多。因此,大部分自动化应用设备都希望 执行简单的串行命令,并希望这些命令同个人计算机或者附加的串行端口板上的标准串行端口兼容。 rs-232是目前pc机与通信工业中应用最广泛的一种串行接口。rs-232被定义为一种在低速率串行通讯中 增加通讯距离的单端标准。由于rs-232的发送端与接收端之间有公共信号地,所以它不能使用双端信号 ,否则,共模噪声会耦合到信号系统中。rs-232标准规定,其最大距离仅为15m,信号传输速率最高为 20kbit/s。
can,全称为“controller area network”,即控制器局域网,是国际上应用最广泛的 现场总线之一,一个由can总线构成的单一网络受到网络硬件电气特性的限制。can作为一种多主方式的 串行通讯总线,其基本设计规范要求高位速率和较高的抗电磁干扰性能,而且要能够检测出通讯总线上 产生的任何错误。当信号传输距离达10km时,can仍可提供高达50kbit/s的数据传输速率。表1为can总 线上任意两个节点之间最大传输距离与其位速率之间的对应关系。

表1 can总线系统任意 两节鼎足之势之间的最大距离

由此可见,无论从实时性 、适应性、灵活性,还是可靠性上来看,can总线都是一种比rs-232更为优秀的串行总线。当两台串口 设备的相距较远,不能直接用rs-232把它们连接起来时,就可以把rs-232转换为can,通过can总线来实 现串口设备的网络互连。
但是,rs-232和can在电平和帧格式上都是很大的不同。具体表现如下:
rs-232标准电平采用负逻辑,规定+3v~+15v之间的任意电平为逻辑“0”电平,-3v~-15v之间的 任意电平为逻辑“1”电平。而can信号则使用差分电压传送,两条信号线称为“can_h”和“cam_l”, 静态时均为2.5v左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用can_h比can_l高表示逻 辑“0”,称为“显性”。显性时,通常电压值为:can_h=3.5v,can_l=1.5v;
rs-232串口的帧格 式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据位),一位停 止位。而can的数据帧格式为:帧信息+id+数据(可分为标准帧和扩展帧两种格式)。

因此,设计时就 需要有一个微控制器来实现电平和帧格式等的转换。其转换方式如图1所示。
2 rs-232到can转换的 硬件设计
在设计rs-232到can的转换装置时,用单片机at89c52作为微处理器;用sja1000作为can微 控制器,sja1000中集成了can协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理; at82c250作为can控制器和物理总线之间的接口,用于提供总线的差动发送能力和can控制器的差动接收 能力,通过at82c250的引脚3可选择三种不同的工作方式(高速、斜率控制和待机)。其中引脚3接地时 为高速方式;高速光隔用6n137实现,其作用是防止串入信号干扰;max232用来完成232电平到微控制器 接口芯片ttl电平的转换。具体的硬件接口电路参见sja1000的有关资源,这里不再多做说明。但有以下 几点需要注意。
(1)can总线两端接有一个120ω的电阻,其作用是匹配总线阻抗,提高数据通信 的抗干扰性及可靠行。但实际上只需保证can网络中“can_h”和“can_l”之间的跨接电阻为60ω即可 。
(2)sja1000的20引脚rx1在不使用时可接地(具体原因见软件设计),配合cdr.6的置位可使总 线长度大大增加。
(3)引脚tx0、tx1的接法决定了串行输出的电平。具体关系可参考输出控制寄 存器ocr的设置。
(4)at82c250的rs引脚与地间接有一个斜率电阻。电阻大小可根据总线通信速度 作适当调整,一般在16kω~140kω之间。
(5)max232外围需要四个电解电容c1、c2、c3、c4,这 些电容也是内部电源转换所需电容,其取值均为1μf/25v,宜选用钽电容并且位置应用量靠近芯片,电 源vcc和地之间要接一个0.1μf的去耦电容。

3 rs-232到can转换的软 件设计
在微处理控制下,rs-232和can进行数据交换时,采用串口接收和can中断方式可提高工作效 率。其主程序流程图如图2所示。sja1000的初始化在复位模式下才可以进行,主要包括工作方式的设置 、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。
数据能否 准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍can波 特率的设置、串口波特率的自动检测、串口数据流量控制。
3.1 can滤波率的设置
can协议中 的要素之一是波特率。用户可以设置位周期中的位采样点位置和采样次数,以使用户可以自由地优化应 用

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!