RS232-CAN协议转换器的设计及应用_校长_新浪博客

A Design and Application of the Converter between RS232 and CAN

摘要:为解决RS232接口设备传输距离短、不便于组网等问题,根据CAN总线的传输距离远、抗干扰能力强、便于组网等特点,设计了基于CAN总线技术、串行通信技术和单片机技术的RS232-CAN协议转换器,给出了协议转换器的设计原理、软硬件设计方法及实际应用中的注意事项。该转换器使信号的传输距离达到10km,通信速率可调,可组成具有多达110个节点的多机使用网络,对RS232接口设备及RS232接口设备与CAN接口设备的联机使用有重要意义。

关键词:控制器局部网;串行;协议转换;化学需氧量

中图分类号:TP274.2         文献标志码:A

Abstract: In order to solve the problem about the inconvenience in network construction and short transmission distance of RS232 and implement many COD instruments in the environment water-quality detection with different interface for network, the paper presented the design decision, about the design method of converter in software and hardware protocol converter between RS232 to CAN, and the precautions in the practical application. Centered on MCU, this system adopted the software design method of internal storage pool. Through this system, it realized the conversion of the protocol between RS232 to CAN, and it is of great significance in the instrument with RS232 interface.

Keywords: CAN; RS232; protocol conversion; COD

引言

控制器局部网CAN(Controller Area Network)总线是一种有效支持分布式控制或实时控制的串行通信网络,在恶劣的环境中仍具有极高的可靠性和鲁棒性,具有监视与控制能力强、安全可靠性高、实时性好、传输距离远、报文长度小、连接方便、成本低等优点,在汽车电子控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面得到了广泛的应用[1,2]。

在化学需氧量COD(Chemical Oxygen Demand)检测中,由于许多被监测企业污水浓度变化比较大,排放没有规律,或恶意偷排,常常需要流量计、比例采样器、COD测试仪等诸多设备联机作业。而COD测试仪采用RS232的接口方式,通信速率低、抗干扰能力差、不便于组网,因此需要设计协议转换器将RS232接口转换成便于组网且具有良好抗干扰特性的总线形式。

基于CAN总线在分布式控制方面的特点,设计了一款RS232-CAN协议转换器,并利用此转换器将COD测试仪作为一个节点接入CAN网络,与比例采样器、流量计及检测服务器构成完整的COD检测系统,实现了COD检测设备的联机使用。

    RS232-CAN协议转换器的硬件结构

RS232-CAN协议转换器硬件结构如图1所示[3-9],主要由微控制器89C51RD2[10]、CAN控制器SJA1000[11,12]、CAN收发器PCA82C251 [13]和RS232转换器MAX232[14]组成。SJA1000是适用于自动化和通用工业环境的CAN控制器,具有CAN通信协议要求的全部特性,经过简单的总线连接就可完成CAN协议物理层和数据链路层的所有功能。PCA82C251是CAN协议控制器和物理连接线路间的接口,可用高达1Mbps的位速率在两条有差动电压的总线电缆上传输数据,很方便地连接并实现信号的差动发送和接收,有较强的总线驱动能力。SJA1000和PCA82C251之间加高速光电耦合器6N137[15],很好的实现了CAN总线上各节点间的电气隔离。在信号输出端加限流电阻、滤波电容和反向过冲保护二极管,降低电磁辐射,增强转换器的抗干扰能力和稳定性。由于RS232-CAN协议转换器采用了内存池的软件设计,所以硬件上在片外扩展了8k的静态RAM。

图1  转换器硬件结构图

Fig.1 Hardware principle diagram of converter

    RS232-CAN协议转换卡的软件设计

由转换器的功能可以看出,它主要处理两个外部的事件,即RS232事件[16]和CAN事件[17],对这两个外部事件都采用中断方式进行处理。为避免传输过程中数据量大及其他原因引起的传输错误,程序里采用了内存池的设计方法,当一种通信方式的信息被接收后,程序把根据约定的通信协议解析出信息中的有效数据,放入内存池,并对信息进行编号等附加信息的处理,然后交给另一种通信方式进行处理,如图2所示。

图2  转换器软件原理图

Fig.2 Software principle diagram of converter

2.1   CAN协议解析

CAN总线标准采用“基于报文”的通信方式,通过这种方式,一条报文可以向系统中任何需要此数据信息的节点发送;如果多个节点同时发送数据,则以非破坏性的逐位仲裁实施接入,报文标识符的二进制位数越小,其在网络中的优先级越高[1,2]。

RS232-CAN协议转换器的CAN总线部分用来负责CAN网络上数据的发送和接收,既能将RS232接收到的数据按照CAN协议形式打包,发送到CAN网络上;又能将从接收的CAN数据帧中提取有效数据交给RS232进行处理。CAN数据帧采用标准10字节帧结构,包括2字节描述符和8字节有效数据,而RS232只收发数据字节,因此利用描述符中的字节信息位,解析出CAN数据帧的有效数据,放入内存池,并标识编号等附加信息,等待RS232进行处理。

2.2   RS232协议包

要通过RS232接口对RS232-CAN协议转换器进行初始化等方面的操作,这就需要制定具体的通信协议,格式如下:

命令段占1个字节,为转换器的各种设置命令,包括复位CAN控制器、读写CAN控制器的寄存器等,如0x02为COM_CAN_READ,用于读CAN控制器内部寄存器。在地址段中,将CAN控制器的内部寄存器映射到微控制器的外部地址,与外部存储地址等统一编址,其占2个字节,对应各个寄存器及数据区的地址,如0x0001为REG_CAN_COM,标识CAN控制器命令寄存器的地址;0x0010-0x001B为REG_CAN_REV,标识CAN控制器接收缓冲区地址。数据段占1个字节,是寄存器或相应地址的写入或读出数据。由此可通过RS232对寄存器或相应地址进行操作,设置寄存器的初始值及工作命令,实时读取各寄存器的状态值,对CAN总线上的各种状况进行监控。

    CAN总线在COD检测中的应用

图3所示为COD检测设备联机使用原理框图,利用CAN总线将流量计、比例采样器和COD测试仪三种COD检测设备连成一个网络,并与上层检测服务器一起构成一个完整的COD检测系统。检测服务器主要完成人机接口、COD检测数据的分析处理和系统工作状态监控等功能。流量计和比例采样器通过带有数据采集模块的CAN节点接入网络;由于COD测试仪带有RS232接口,所以采用RS232-CAN协议转换器将COD测试仪作为一个节点接入CAN网络。在CAN网络中,对各个CAN节点分配{wy}的ID号,用于数据的传送及区别不同的COD检测设备。

图3  COD监测设备联机使用框图

Fig.3 The block diagram of COD detection instrument for network

在检测服务器端可设定系统的工作方式,既可自动进行COD的等比例混合测试和等时混合测试,也可手动控制COD的测试。在自动检测方式中,检测服务器通过数据采集模块转换并采集流量计的电流信号,计算出污染源的污水流量;根据污水流量,设置比例采样器的采样比例值,按流量比例采集水样;当全部采样完成后,检测服务器启动COD测试仪,进行COD混合测试,并计算污水排放总量:排放总量=COD浓度值×流量累计值。

    实际应用中的注意事项

在实际将COD检测设备联机使用时,会遇到一些工程性的问题,需特别注意:

(1)总线两端要加120Ω的终端电阻,否则会降低数据通信的可靠性和抗干扰性;在总线上加滤波电容和反向过压保护二级管等保护电路,有助于增强总线的抗干扰能力。

(2)一般采用双绞线做通信介质时,为降低射频干扰,总线收发器采用斜率控制模式;若采用屏蔽电缆做通信介质,可采用高速模式来获得较高的传输速率;当节点无活动时,则可进入待机模式,以降低功耗。

(3)联机网络中两CAN节点间的距离尽量缩小,因为距离越远,传输的速率越低;当CAN网络中任意两节点距离大于10km时,需加CAN中继器驱动。

(4)CAN总线的通信速率、传输距离及抗干扰性能,与所用的通信介质有关。需根据要求及现场的实际环境,选用合适的通信介质。

(5)由于厂家或型号的不同,COD测试仪RS232接口的速率及数据格式有一定的差异,需根据实际情况对软件进行相应的设置。

    结束语

针对COD监测设备联机使用的问题,设计制作了一款RS232-CAN协议转换器,并利用其实现了COD检测设备的联机使用,解决了COD测试仪RS232接口造成的传输距离短、不便于组网的问题,对实现RS232接口设备的互连有重要意义。

参考文献:

[1]  邬宽明. CAN总线原理和应用系统设计 [M]. 北京;北京航空航天大学出版社, 1996.

WU Kuan-ming. CAN bus principle and application system design [M]. Beijing:Beihang University Press, 1996.

[2]  阳宪惠. 现场总线技术及其应用[M]. 北京:清华大学出版社, 1999.

YANG Xian-hui.  Field bus technology and application[M]. Beijing Qinghua University Press. 1999.

[3]  曹琳琳,曹巧媛. 单片机原理及接口技术[M] . 长沙: 国防科技大学出版, 2000.

CAO Lin-lin, CAO Qiao-yuan. Single-chip Principle and Interface Technology[M]. Changsha : National Defense University of Science and technology Press, 2000.

[4]  朱定华. 单片机原理及接口技术[M ]. 北京: 电子工业出版社, 2001.

ZHU Ding-hua. Single-chip Principle and Interface Technology[M ]. Beijing: Publishing House of Electronic Industry,2001.

[5]  王克俭, 杨断利, 王兰英. MCS-51单片机双机通信实现程序原代码[J ] . 河北农业大学学报, 2002 , 25 (5) : 253-257.

WANG Ke-jian , YANG Duan-li , WANG Lan-ying. The program of transmission between microcomputer single chip51[J ]. Journal of Agricultural University of Hebei, 2002 , 25 (5) : 253-257.

[6]  李大伟, 李天博, 刘昕. 集散式数据采集系统多机通讯的设计与实现[J ]. 吉林大学学报: 信息科学版, 2003,21(3):317-320.

LI Da-wei, LI Tian-bo, LIU Xin. Design and implementation of multi-computer communication for distributed data collection system[J ]. Journal of Jilin University : Information Science Edition, 2003,21(3):317-320.

[7]  胡屏, 柏军. 单片机应用系统中的看门狗技术[J ] .吉林大学学报: 信息科学版, 2003 ,21 (2) : 204-208.

HU Ping ,BAI Jun. the Technology of Watchdog in the SCM Application System[J ] . Journal of Jilin University : Information Science Edition, 2003 ,21 (2) : 204-208.

[8]  李晋华,邱春玲,等. 基于CAN总线数据采集系统的设计与实现[J ]. 吉林大学学报: 信息科学版, 2004,22(2):134-137.

LI Jin-hua, QIU Chun-ling, etal. Design and realization of data acquisition system based on CAN bus[J ]. Journal of Jilin University : Information Science Edition, 2004,22(2):134-137.

[9]  周凤余, 鲁守银, 李贻斌, 等. CAN总线智能节点的设计和实现[J ]. 微计算机信息, 1999,15(6) :9-11.

ZHOU Feng-yu, LU Shou-yin, LI Yi-bin, etal. CAN intelligent node of bus design and realization[J ]. Microcomputer Message, 1999,15 (6) :9-11.

[10] 8-bit Flash Microcontroller AT89C51RD2 [DB/OL]. http://www.atmel.com/literature, 2003-12.

[11] Philips Semiconductors. Data Sheet SJA1000 [DB/OL]. http://www.zlgmcu.com , 2000-02.

[12] 张培仁, 王洪波. 独立CAN总线控制器SJA1000[J ]. 国外电子元器件, 2001, (1) : 20-23.

ZHANG Pei-ren, WANG Hong-bo. Independent CAN bus controller SJA1000[J ]. External Electron Components and Parts, 2001, (1) : 20-23.

[13] Philips Semiconductors. Data Sheet PCA82C251 [DB/OL]. http://www.zlgmcu.com , 1997-05.

[14] MAX232 DUAL EIA-232 DRIVER/RECEIVER [DB/OL]. http://www.maxim-ic.com.cn , 2002.

[15] Digital Logic Isolation Tele-communication Analog Data Equipment Control [DB/OL]. http://www.21ic.com , 1998-02.

[16] 刘涛,廉海涛,马积勋. CRC 差错检验法在PC机与8031单片机串行通讯中的应用 [J ]. 现代电子技术, 2002,135(4):21-22.

Liu Tao, Lian Hai-tao, Ma Ji-xun. The Application on Series Communication Between PC and Microprocessor Using CRC Error Detecting Method[J ].  Modern Electronic Technique, 2002,135(4):21-22.

[17] 杨春杰,魏宗寿. 基于CAN总线的一种计算机通信方式 [J ]. 兰州交通大学学报:自然科学版, 2004,23(6):105-107.

YANG Chun-jie, WEI Zong-shou. A Kind of Computer communication Based on CAN Bus[J ]. Journal of Lanzhou Jiaotong University :Natural Sciences,2004,23(6):105-107.

(吉林大学学报:信息版2006年第4期)

郑重声明:资讯 【RS232-CAN协议转换器的设计及应用_校长_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——