随着企业规模的扩大和Internet技术的广泛普及,全球各个领域的不同企业已经对“让设备联网”达成共识控制工程网版权所有,而在工业控制和通信设备中,更多的却是符合RS232标准的串行口设备。如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,因此,本文提出一种基于TCP/IP的多串口转换网关,可从根本上解决这一难题。
多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个RS232串口设备,并将串口数据进行选择和处理,把RS232接口的数据流转化成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化。采用此种方案,无需淘汰原有串口设备,多台设备可同时入网,既可以提高设备利用率,又节约组网费用,还可在已有的网络基础上简化布线复杂度。采用串口扩展芯片GM8123可实现低成本、较高速度、控制简单的多串口方案。
1&nbs
p; 系统应用方案
在企业自动化系统中,上层企业管理层和生产监控层一般都采用以太网和PC机,而下层车间现场多是RS232串口的测控设备。本文提出的多串口转换网关,能够方便实现上下两层的沟通。 可连接多台串口设备是本系统最大的特点,避免了为每台设备配置一个网关带来的成本较高、组网复杂的弊端。
2 系统结构
TCP/IP协议由应用层、UDP层、IP层和数据链路层组成。为了实现透明传输,增加应用进程协议层——串口层。串口层由串口链路层和串口网络层构成。网关在串口层构建控制工程网版权所有,同时解析RS232数据包,并作为TCP/IP网络应用层的数据传输。多串口网关由TCP/IP协议转换模块和多串口收发控制模块组成,结构如图1所示。
它是一个微型的以太网接入模块,由微控制器(MCU)、网卡接口芯片、EEPROM 93C46、片外512 KBSRAM芯片IS6lLV5128以及辅助元件构成。微控制器控制网卡接口芯片进行网络通信,实现地址解析协议(ARP)、Internet控制报文协议(ICMP)、IP协议、用户数据报协议(UDP)等协议的解析和封包。将以太网发送缓冲区的串口帧封装在UDP包中,并传给IP层;同时,接收以太网数据帧并向上层层解包,分离应用层数据,然后数据的解析处理交由多串口发送模块完成,实现RS232串口流与以太网端口流的透明转换。 实现多个RS232串口数据流的收/发控制,包括微控制器、串口扩展芯片(GM8123)、MAX232等元件。微控制器控制GM8123完成多串口数据收发,接收多个串口源数据CONTROL ENGINEERING China版权所有,封装后写入以太网发送缓冲区打包传输;同时,接收以太网应用层的数据,解析并发送给测控设备。它不关心通信数据的具体意义,只负责接收/发送,封装/拆封串口帧,提供通用接口。 3 多串口实现 3.1 实现方案——采用串口扩展芯片 在微控制器中有2个UART的基础上,采用GM8123,系统能提供2组(UARTO、UARTl)共4个串行口(COM1、COM2、C0M3、COM4),利用两级优先级控制UARTO和UARTl的中断请求且允许嵌套。在UARTO的中断例程内部www.cechina.cn,通过查询方式确定数据源是哪个子串口。 3.2 多串口扩展芯片——GM8123 GM8123可将一个全
(1)TCP/lP协议转换模块
(2)多串口收发控制模块
当两组串口同时有数据请求时,首先,MCU的中断机制判断中断请求的优先级,对优先级高的中断请求优先响应。系统对优先级分配:UART0为2www.cechina.cn,UARTl为1,即MCU优先响应UART0的中断请求。当UARTO的3个子口同时有数据请求时,通过轮询方式,对各个子口予以响应,即按照子口号的地址由小到大进行响应。这样,就形成了2级中断和4个串口的多串口实现方案。