串口服务器工作原理
一、串口服务器的定义及简介:
串口服务器是为RS-232/485/422到TCP/IP 之间完成数据转换的通讯接口转换器。提供RS-232/485/422终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能,RS-232/485/422转网络的解决方案。可以让串口设备立即联接网络。
随着Internet的广泛普及,“让全部设备连接网络”已经成为全世界企业的共识。为了能跟上网络自动化的潮流,不至于失去竞争优势,必须建立高品位的数据采集、生产监控、即时成本管理的联网系统。利用基于TCP/IP的串口数据流传输的实现来控制管理的设备硬件,无需投资大量的人力、物力来进行管理、更换或者升级。
串口服务器就使得基于TCP/IP的串口数据流传输成为了可能,它能将多个串口设备连接并能将串口数据流进行选择和处理,把现有的RS 232接口的数据转化成IP端口的数据,然后进行IP化的管理,IP化的数据存取,这样就能将传统的串行数据送上流行的IP通道,而无需过早淘汰原有的设备,从而提高了现有设备的利用率,节约了投资,还可在既有的网络基础上简化布线复杂度。串口服务器完成的是一个面向连接的RS 232链路和面向无连接以太网之间的通信数据的存储控制,系统对各种数据进行处理,处理来自串口设备的串口数据流,并进行格式转换,使之成为可以在以太网中传播的数据帧;对来自以太网的数据帧进行判断,并转换成串行数据送达响应的串口设备。
二、串口服务器的特点:
内部集成 ARP,IP,TCP ,HTTP,ICMP,SOCK5,UDP,DNS等协议。RS-485/422转换提供数据自动控制。RS-232/422/485三合一串行接口 , 300-230.4KBPS波特率。支持动态IP(DHCP)和静态IP,支持网关和代理服务器,可以通过Internet传输数据。提供数据双向透明传输,用户不需要对原有系统做任何修改。所有串口内置600W防雷 。10/100M以太网、自动侦测直连或交叉线。可以同时支持多个连接。
三、串口服务器工作方式及通讯模式:
工作方式:
1.服务器方式:在该工作方式下,串口联网服务器作为TCP服务器端, 转换器在指定的TCP端口上监听平台程序的连接请求,该方式比较适合于一个转换器与多个平台程序建立连接(一个转换器不能同时与多个平台程序建立连接)。
2.客户端方式:在该工作方式下,串口联网服务器 作为 TCP 客户端,转换器上电时主动向平台程序请求连接,该方式比较适合于多个转换器同时向一个平台程序建立连接。
通讯模式:
1.点对点通讯模式:该模式下,转换器成对的使用,一个作为服务器端,一个作为客户端,两者之间建立连接,实现数据的双向透明传输。该模式适用于将两个串口设备之间的总线连接改造为 TCP/IP 网络连接。
2.使用虚拟串口通讯模式:该模式下,一个或者多个转换器与一台电脑建立连接,实现数据的双向透明传输。由电脑上的虚拟串口软件管理下面的转换器,可以实现一个虚拟串口对应多个转换器, N 个虚拟串口对应 M 个转换器( N<=M )。该模式适用于串口设备由电脑控制的 485 总线或者 232 设备连接。
3.基于网络通讯模式: 该模式下,电脑上的应用程序基于SOCKET 协议编写了通讯程序,在转换器设置上直接选择支持 SOCKET 协议即可。
四、串口服务器应用领域:
它主要应用在门禁系统、考勤系统、售饭系统、 POS 系统、楼宇自控系统、自助银行系统电信机房监控,电力监控等。
五、硬件系统及其模块:
1.硬件系统
硬件系统是实现整个系统功能的基础,是整个设计实现的关键。
整个串口服务器的关键在于串口数据包与TCP/IP数据报之间的转换以及双方数据因为速率不同而存在的速率匹配问题,在对串口服务器的实现过程中,也必须着重考虑所做的设计和所选择的器件是否能够完成这些功能。
(1)硬件系统组成模块
在制定设计方案和选定器件时遇到的技术难点是如何利用处理器对串口数据信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。目前解决这个问题很多时候采用32位MCU + RTOS方案,这种方案是采用32位高档单片机,在RTOS(实时多任务操作系统)的平台上进行软件开发,在嵌入式系统中实现TCP/IP的协议处理。它的缺点是:单片机价格较高,开发周期较长;需要购买昂贵的RTOS开发软件,对开发人员的开发能力要求较高。
借鉴上述方案的优缺点,我们决定把串口服务器的硬件部分分为几个模块设计,这就是主处理模块、串口数据处理模块和以太网接口及控制模块等几大模块来共同完成串口服务器的功能。
在器件的选择上,选用Intel公司的801086芯片作为主处理模块的处理器芯片,它是一种非常适合于嵌入式应用的高性能、高集成度的16位微处理器,功耗低。由于考虑到串口数据速率较低而以太网的数据传输速率高所造成的两边速率不匹配的问题,我们决定采用符合总线规范的大容量存储器来作为数据存储器;由于主处理模块还涉及到数据线/地址线复用、串并转换、器件中断信号译码、时钟信号生成、控制信号接入等功能,若是选用不同的器件来完成,势必会造成许多诸如时延不均等问题,我们选用了一片大容量的高性能可编程逻辑器件来完成上述所提到的功能,这样的优点在于,我们保证了稳定性和高可靠性,并且可编程逻辑器件的可编程功能使得对于信号的处理的空间更大,且具有升级的优势。
以太网接口及控制模块在串口服务器的硬件里面起着很重要的作用,它所处理的是来自于以太网的IP数据包,考虑到通用性的原则,我们采用一片以太网控制芯片来完成这些功能,并在主处理模块中添加了一片AT24C01来存储以太网控制芯片状态。通过主处理模块对于以太网控制芯片数据及寄存器的读/写,我们可以完成对IP数据包的分析、解/压包的工作。
串口数据处理模块主要完成的是对于串口数据流的电平转换和数据格式的处理,判断串行数据的起始位及停止位,完成对数据和校验位的提取。一般的设计采用的是MAX232和一片UART的设计思想,这里我们也是遵从这种设计理念,不过我们采用的是集成了MAX232+UART功能的芯片,小尺寸、低成本、低功耗,而且采用与SPITM/QS-PITM/MICROWIRETM兼容的串行接口,节省线路板尺寸与微控制器的I/O端口。
这种模块化的方案的优点在于:采用高速度的16位微控制器,外围器件少,系统成本低;并且采用Intel公司的开发平台,可以大幅度地缩短开发周期