位置:51电子网 » 技术资料 » 通信网络

实现基于TCP/IP的多串口转换网关

发布时间:2008/5/26 0:00:00 访问次数:648

        

    

    

    来源:单片机及嵌入式系统应用 作者:东华理工学院 刘通良 周建勇 潘仕彬 何为民

    

    随着企业规模的扩大和internet技术的广泛普及,全球各个领域的不同企业已经对“让设备联网”达成共识,而在工业控制和通信设备中,更多的却是符合rs232标准的串行口设备。如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,因此,本文提出一种基于tcp/ip的多串口转换网关,可从根本上解决这一难题。

    

    多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个rs232串口设备,并将串口数据进行选择和处理,把rs232接口的数据流转化成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化。采用此种方案,无需淘汰原有串口设备,多台设备可同时入网,既可以提高设备利用率,又节约组网费用,还可在已有的网络基础上简化布线复杂度。采用串口扩展芯片gm8123可实现低成本、较高速度、控制简单的多串口方案。

    

    1 系统应用方案

    

    在企业自动化系统中,上层企业管理层和生产监控层一般都采用以太网和pc机,而下层车间现场多是rs232串口的测控设备。本文提出的多串口转换网关,能够方便实现上下两层的沟通。

    

    可连接多台串口设备是本系统最大的特点,避免了为每台设备配置一个网关带来的成本较高、组网复杂的弊端。

    

    2 系统结构

    

    tcp/ip协议由应用层、udp层、ip层和数据链路层组成。为了实现透明传输,增加应用进程协议层——串口层。串口层由串口链路层和串口网络层构成。网关在串口层构建,同时解析rs232数据包,并作为tcp/ip网络应用层的数据传输。多串口网关由tcp/ip协议转换模块和多串口收发控制模块组成,结构如图1所示。

    

    

    (1)tcp/lp协议转换模块

    

    它是一个微型的以太网接入模块,由微控制器(mcu)、网卡接口芯片、eeprom 93c46、片外512 kbsram芯片is6llv5128以及辅助元件构成。微控制器控制网卡接口芯片进行网络通信,实现地址解析协议(arp)、internet控制报文协议(icmp)、ip协议、用户数据报协议(udp)等协议的解析和封包。将以太网发送缓冲区的串口帧封装在udp包中,并传给ip层;同时,接收以太网数据帧并向上层层解包,分离应用层数据,然后数据的解析处理交由多串口发送模块完成,实现rs232串口流与以太网端口流的透明转换。

    

    (2)多串口收发控制模块

    

    实现多个rs232串口数据流的收/发控制,包括微控制器、串口扩展芯片(gm8123)、max232等元件。微控制器控制gm8123完成多串口数据收发,接收多个串口源数据,封装后写入以太网发送缓冲区打包传输;同时,接收以太网应用层的数据,解析并发送给测控设备。它不关心通信数据的具体意义,只负责接收/发送,封装/拆封串口帧,提供通用接口。

    

    3 多串口实现

    

    3.1 实现方案——采用串口扩展芯片

    

    在微控制器中有2个uart的基础上,采用gm8123,系统能提供2组(uarto、uartl)共4个串行口(com1、com2、c0m3、com4),利用两级优先级控制uarto和uartl的中断请求且允许嵌套。在uarto的中断例程内部,通过查询方式确定数据源是哪个子串口。

    

    

    

    当两组串口同时有数据请求时,首先,mcu的中断机制判断中断请求的优先级,对优先级高的中断请求优先响应。系统对优先级分配:uart0为2,uartl为1,即mcu优先响应uart0的中断请求。当uarto的3个子口同时有数据请求时,通过轮询方式,对各个子口予以响应,即按照子口号的地址由小到大进行响应。这样,就形成了2级中断和4个串口的多串口实现方案。

   &

        

    

    

    来源:单片机及嵌入式系统应用 作者:东华理工学院 刘通良 周建勇 潘仕彬 何为民

    

    随着企业规模的扩大和internet技术的广泛普及,全球各个领域的不同企业已经对“让设备联网”达成共识,而在工业控制和通信设备中,更多的却是符合rs232标准的串行口设备。如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,因此,本文提出一种基于tcp/ip的多串口转换网关,可从根本上解决这一难题。

    

    多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个rs232串口设备,并将串口数据进行选择和处理,把rs232接口的数据流转化成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化。采用此种方案,无需淘汰原有串口设备,多台设备可同时入网,既可以提高设备利用率,又节约组网费用,还可在已有的网络基础上简化布线复杂度。采用串口扩展芯片gm8123可实现低成本、较高速度、控制简单的多串口方案。

    

    1 系统应用方案

    

    在企业自动化系统中,上层企业管理层和生产监控层一般都采用以太网和pc机,而下层车间现场多是rs232串口的测控设备。本文提出的多串口转换网关,能够方便实现上下两层的沟通。

    

    可连接多台串口设备是本系统最大的特点,避免了为每台设备配置一个网关带来的成本较高、组网复杂的弊端。

    

    2 系统结构

    

    tcp/ip协议由应用层、udp层、ip层和数据链路层组成。为了实现透明传输,增加应用进程协议层——串口层。串口层由串口链路层和串口网络层构成。网关在串口层构建,同时解析rs232数据包,并作为tcp/ip网络应用层的数据传输。多串口网关由tcp/ip协议转换模块和多串口收发控制模块组成,结构如图1所示。

    

    

    (1)tcp/lp协议转换模块

    

    它是一个微型的以太网接入模块,由微控制器(mcu)、网卡接口芯片、eeprom 93c46、片外512 kbsram芯片is6llv5128以及辅助元件构成。微控制器控制网卡接口芯片进行网络通信,实现地址解析协议(arp)、internet控制报文协议(icmp)、ip协议、用户数据报协议(udp)等协议的解析和封包。将以太网发送缓冲区的串口帧封装在udp包中,并传给ip层;同时,接收以太网数据帧并向上层层解包,分离应用层数据,然后数据的解析处理交由多串口发送模块完成,实现rs232串口流与以太网端口流的透明转换。

    

    (2)多串口收发控制模块

    

    实现多个rs232串口数据流的收/发控制,包括微控制器、串口扩展芯片(gm8123)、max232等元件。微控制器控制gm8123完成多串口数据收发,接收多个串口源数据,封装后写入以太网发送缓冲区打包传输;同时,接收以太网应用层的数据,解析并发送给测控设备。它不关心通信数据的具体意义,只负责接收/发送,封装/拆封串口帧,提供通用接口。

    

    3 多串口实现

    

    3.1 实现方案——采用串口扩展芯片

    

    在微控制器中有2个uart的基础上,采用gm8123,系统能提供2组(uarto、uartl)共4个串行口(com1、com2、c0m3、com4),利用两级优先级控制uarto和uartl的中断请求且允许嵌套。在uarto的中断例程内部,通过查询方式确定数据源是哪个子串口。

    

    

    

    当两组串口同时有数据请求时,首先,mcu的中断机制判断中断请求的优先级,对优先级高的中断请求优先响应。系统对优先级分配:uart0为2,uartl为1,即mcu优先响应uart0的中断请求。当uarto的3个子口同时有数据请求时,通过轮询方式,对各个子口予以响应,即按照子口号的地址由小到大进行响应。这样,就形成了2级中断和4个串口的多串口实现方案。

   &

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式