基于TCP/IP的串口数据流传输的实现 中国网管学院
摘要:现有的很多具有串口治理功能的设备不能进行联网的治理和数据存取,我们可以利用先进的TCP/IP技术和治理方式对这些设备进行技术改造。本文主要对基于TCP/IP的串口数据流做了阐述,并提出了基于硬件与软件相结合实现的串口服务器的系统整体解决方案,对硬件系统的总体、组成框架和应用架构做了阐述。 关键词: 串口数据流 TCP/IP 串口服务器 随着Internet的广泛普及,“让全部设备连接网络”已经成为全世界企业的共鸣。为了能跟上网络自动化的潮流,不至于失去竞争上风,必须建立高品位的数据采集、生产监控、即时本钱治理的联网系统。利用基于TCP/IP的串口数据流传输的实现来控制治理的设备硬件,无需投资大量的人力、物力来进行治理、更换或者升级。 串口服务器就使得基于TCP/IP的串口数据流传输成为了可能,它能将多个串口设备连接并能将串口数据流进行选择和处理,把现有的RS 232接口的数据转化成IP端口的数据,然后进行IP化的治理,IP化的数据存取,这样就能将传统的串行数据送上流行的IP通道,而无需过早淘汰原有的设备,从而进步了现有设备的利用率,节约了投资,还可在既有的网络基础上简化布线复杂度。串口服务器完成的是一个面向连接的RS 232链路和面向无连接以太网之间的通讯数据的存储控制,系统对各种数据进行处理,处理来自串口设备的串口数据流,并进行格式转换,使之成为可以在以太网中传播的数据帧;对来自以太网的数据帧进行判定,并转换成串行数据投递响应的串口设备。 1 硬件系统 硬件系统是实现整个系统功能的基础,是整个设计实现的关键。 整个串口服务器的关键在于串口数据包与TCP/IP数据报之间的转换以及双方数据由于速率不同而存在的速率匹配题目,在对串口服务器的实现过程中,也必须着重考虑所做的设计和所选择的器件是否能够完成这些功能。 1.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公司的开发平台,可以大幅度地缩短开发周期并降低开发本钱。 1.2 硬件工作流程及应用架构 主处理器首先初始化网络及串口设备,当有数据从以太网传过来,处理器对数据报进行分析,假如是ARP(物理地址解析)数据包,则程序转入ARP处理程序;假如是IP数据包且传输层使用UDP,端口正确,则以为数据报正确,数据解包后,将数据部分通过端口所对应的串口输出。反之,假如从串口收到数据,则将数据按照UDP格式打包,送入以太网控制芯片,由其将数据输出到以太网中。可以知道,主处理模块主要处理TCP/IP的网络层和传输层,链路层部分由以太网控制芯片完成。应用层交付软件系统来处理,用户可以根据需求对收到的数据进行处理。 2 硬件系统模块 根据硬件系统的具体结构和不同功能,我们可以将硬件系统划分为下述的几大模块。 2.1 主处理器模块 该模块是串口服务器的核心部分,主要由主处理器、可编程逻辑器件、数据及程序存储器等器件构成。 主处理模块完成的功能主要有:在串口数据和以太网IP数据之间建立数据链路;通过对以太网控制芯片的控制读写来实现对IP数据包的接收与发送;判别串行数据流的格式,完成对串口设备的选择以及对串行数据流格式的指定;控制串口数据流与IP数据包之间的速率控制,对数据进行缓冲处理;对UART和以太网控制芯片的寄存器进行读写操纵,并存储转发器件状态;完成16位总线数据的串并行转换;完成总线地址锁存功能;完成对各个串口以及各个存储器件的片选功能;完成对各个串口的中断口的状态判别等功能。 2.2 以太网接口及控制模块 这个模块主要由以太网接口部分和以太网控制部分构成。 以太网接口部分完成的是串口服务器与以太网接口电路的功能,控制器对所有模块均有控制作用,使整个接口电路 1/3 123下一页尾页
页:
[1]