基于CPCI总线的串口服务器模块设计与实现

2013-10-16 12:01蔡骏王敏
计算机与网络 2013年19期
关键词:板卡以太网串口

蔡骏王敏

(中国电子科技集团公司第二十八研究所江苏南京210007)

1 引言

串口通信设备以其通信协议简单和可靠性高等特点,在工业生产、自动化控制和军事领域中被广泛应用。但是串口通信也有其自身的局限性,如通信距离短,无法进行远程数据传输和监控,无法接入主流的TCP/IP 网络等[1,2]。以太网通信已渗透到各行各业中,与串口通信相比,以太网的传输距离远、速率高和扩展方便,人们需要一种能使传统的串口通信设备快速接入以太网的手段。

串口服务器可以实现串口数据与以太网数据之间的双向转换,使传统的串口通信设备快速接入以太网,实现对串口通信设备的远程监控和数据共享功能。CPCI 总线是在PCI 总线技术基础上发展而来,在抗震、散热和电磁兼容等性能方面都有较大改进,具有可热拔插、高开放性及高可靠性等特点,被广范应用于通讯、军事、医疗和交通等领域[3]。设计了一种基于CPCI 总线的串口服务器模块,主要由硬件板卡和客户端软件2 部分构成。

2 系统设计

串口服务器模块典型应用模式如图1 所示,其中串口服务器模块集成在CPCI 机箱设备中,用户通过计算机上的客户端软件可以对串口服务器进行配置管理,同时实现与多路串口设备的数据交互。

图1 串口服务器模块典型应用模式示意图

串口服务器模块采用标准的3UCPCI 板卡结构设计,除了具备通用串口服务器的一般功能外,还具备自身的一些功能特点,主要功能包括:

①实现串口数据与以太网数据间通信格式和通信协议的相互转换,使串口通信设备快速接入以太网,便入远程通信和集中监控;

②实现对客户端串口的扩展,通过网口扩展出的多个串口对应用是透明的;

③板卡采用标准CPCI 接口,适合于模块化应用。

串口服务器模块在接口、数据处理和环境适应性等方面性能指标有:

①接口性能:串口服务器模块对外提供8 路RS232 串行接口、1 路RS422 接口和2 路10/100 M 自适应以太网接口,串口速率600 bps- 115 200 bps可调;

②处理性能:支持各端口以全速率工作,数据实时处理和转发;

③环境适应性:满足军品级设备对宽温工作范围(- 40- +85℃)和高海拔(5 km 以上)的严格要求。

串口服务器模块的体系结构包括CPCI 硬件板卡、客户端软件以及通信协议3 部分[4],如图2 所示。硬件板卡是串口服务模块的载体,主要由硬件平台、操作系统和应用程序3 部分组成;客户端软件由虚拟串口驱动程序和配置管理软件2 部分组成,虚拟串口驱动程序用于屏蔽用户对串口服务器模块的感知性,配置管理软件提供可视化操作界面,完成对串口服务器模块的配置管理功能,通信协议规定硬件板卡与客户端软件间交互的数据内容和格式。

图2 串口服务器模块体系结构

3 硬件设计

串口服务器模块的硬件结构主要分为主控单元、接口单元和供电模块3 部分。主控单元包含处理器和存储部分等,实现数据处理、转发和接口控制等功能。处理器采用Freescale 的PowerPC 处理器MPC8309,这是一款面向工业和网络应用的高性能嵌入式处理器,片上集成了丰富的通信接口,满足串口服务器模块多网口和多串口的通信应用[5],存储部分提供了512 MB 内存、64 MB NOR FALSH 和1 GB NAND FLASH。

接口单元包含串口扩展模块、信号隔离模块和端口收发模块。串口扩展模块对外扩展出4 路UART 接口,用于满足串口服务器模块8 路RS232 串行接口的要求,其中串口扩展芯片采用TI 的TL16C752B,它以总线方式与处理器通信,片上集成2个独立的UART 接口,波特率可调,支持硬件和软件流控;信号隔离模块将电路板内部信号与外部接口信号隔离,防止接口高电平信号以及静电等外部因素对内部电路的干扰和损害;端口收发模块进行电平转换,将TTL 电平转换成适合在线缆上传输的电平信号。电源单元包括复位、时钟和电源转换模块,分别为硬件系统提供复位、时钟和供电支持。

4 软件设计

4.1 板载软件

板载软件是指运行在串口服务器模块硬件板卡上的相关程序,分为系统支撑层和应用层2 层。系统支撑层包括串口扩展芯片驱动和嵌入式Linux 2 部分,应用层包括TCP/IP 协议栈[6]、数据处理转发以及系统管理3 部分,如图3 所示。

图3 串口服务器模块板载软件结构

数据处理转发模块根据串口和以太网通信协议要求完成二者之间数据格式转换,它将收到的网络数据包按照规定的协议解包,提取其中的串口数据和目标串口序号等信息,重新组成串口数据发送到相应的串口设备;同理,当收到串口数据时,则会将串口数据和源串口序号打包成网络数据格式,发送给对应的主机。系统管理模块根据客户端软件下发的配置管理命令,对串口服务器模块的参数进行设置和查询,并反馈系统运行状态等信息。串口数据与网口数据的收发处理流程如图4 所示。

图4 串口服务器模块数据处理流程

程序收到来自网络的UDP 数据包后,首先提取并保存IP地址和端口号等必要信息,然后根据数据类型分别进行处理,若为业务数据,则将数据按串口通信格式发送至对应串口;若为控制数据,则进行设置与查询操作。在接收串口数据时,程序实时查询各串口接收缓冲区,若有数据,则将数据取出打包成IP 数据送到网络上。

串口数据收发通过中断方式实现,程序为每个串口分配一个数据发送缓冲区和数据接收缓冲区,2个缓冲区各自利用一个队列,用于数据维护。串口发送中断子程序实现如下所示:

4.2 客户端软件

客户端软件由虚拟串口驱动程序和配置管理软件2 部分构成。如图5 所示,虚拟串口驱动程序由2个独立的模块组成[7,8],一个是串口虚拟模块,面向串口应用程序,它将串口服务器模块上的端口映射到客户端上,使得这些串口在客户端上具有与真实串口相同的表现形式和操作模式;另一个是网络驱动模块,面向网络服务,它接收串口虚拟模块发送的串口数据,按照规定的协议转换成网络数据包,通过网口发给硬件板卡,反之,对于来自硬件板卡的网络数据,网络驱动模块从中提取串口信息和业务数据,提交给串口虚拟模块。

图5 虚拟串口驱动程序框架

配置管理软件提供用户友好的可视化操作界面,可以对串口服务器模块的端口映射关系、串口波特率和工作模式等参数进行设置和查询,并实时显示对串口服务器模块工作状态的监控信息。

5 优势对比及应用

5.1 与其他系统的比较

串口服务器模块在单块CPCI 板卡上实现串口服务器的功能,与传统串口服务器相比有以下优势:

①使用灵活:采用标准CPCI 接口设计,能够方便地集成到其他电子设备中或者作为独立的设备,提供串口服务,满足各种不同使用需求;

②扩展方便:在背板接口允许的情况下,可以快速扩展出多个串口服务模块,并且支持热拔插、即插即用,维修更换方便;

③功耗低:串口服务器模块采用低功耗嵌入式处理模块设计,系统集成度高,体积小和功耗低,满足电子设备日益严格的功耗要求。

5.2 应用分析

串口服务器模块是为串口服务功能而设计,其基本应用是为其他电子设备或作为独立设备提供串口服务功能,使串口通信设备快速接入TCP/IP 网络,实现远程控制和数据共享功能。此外,由于其特有的结构和功能特点,串口服务器模块还可以作为串口扩展模块而应用。将硬件板卡集成到需要扩展串口的设备中,安装驱动软件,即可通过一个网口扩展出多路串口。

6 结束语

本文设计并实现的串口服务器模块,提供标准CPCI 接口,体积小和功耗低,可作为独立的功能单元嵌入到其他电子设备中,为设备提供串口服务功能;也可以作为独立功能设备,以串口服务器的形式提供相关功能。目前该模块已成功应用于某型接入控制设备中,经测试,模块运行稳定、可靠性高和使用方便。

[1]葛 明.多路串口服务器的设计与实现[D].浙江:浙江大学,2011.

[2]凌海军,余晶晶,杜青玲.机动指挥通信车设备集中控制系统设计[J].指挥信息系统与技术,2011,2(2):71- 75.

[3]张天林,张思敏.CPCI- E 与VPX 总线标准的比较分析[J].工业控制计算机,2009,22(7):1- 5.

[4]范永刚,刘绍方,董 晶,等.基于ARM 高性能串口服务器的研究与实现[J].计算机工程与设计,2012,33(4):1378- 1384.

[5]MPC8309 PowerQUICC II Pro Processor[Z].USA:Freescale Sem iconductor,2010.

[6]郭传雄,郑少仁.对Linux 操作系统中TCP/IP 网络协议的IP 层排队分析[J].计算机学报,2001,24(8):1- 5.

[7]李 超.嵌入式串口服务器的设计与实现[D].湖北:武汉理工大学,2009.

[8]何永辉,李 凯.基于RS- 485 串口通信的软件测试方法研究[J].指挥信息系统与技术,2010,1(6):27- 29.

猜你喜欢
板卡以太网串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
车载控制器CVRE板卡显红故障分析及处理
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
谈实时以太网EtherCAT技术在变电站自动化中的应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
一种基于光纤数据传输的多板卡软件程序烧写技术
串口技术的实物调试和虚拟仿真联合教学模式
浅谈EPON与工业以太网在贵遵高速公路中的应用