基于CS6209的串口服务器/交换机设计研究

2013-09-17 10:25袁航空张劲松
电视技术 2013年3期
关键词:端口号以太网串口

袁航空,张劲松,吕 露

(1.武汉邮电科学研究院,湖北武汉 430074;2.世纪民生科技股份有限公司武汉群茂科技有限公司,湖北武汉 430074;3.烽火科技集团武汉虹信通信科技有限公司,湖北武汉 430074)

基于CS6209的串口服务器/交换机设计研究

袁航空1,2,张劲松2,吕 露1,3

(1.武汉邮电科学研究院,湖北武汉 430074;2.世纪民生科技股份有限公司武汉群茂科技有限公司,湖北武汉 430074;3.烽火科技集团武汉虹信通信科技有限公司,湖北武汉 430074)

首先分析了串口服务器的构成,然后提出了一种将串行通信设备连入管理网络的解决方案,该方案MCU摒弃了常见的ARM类通用嵌入式芯片而采用世纪民生C8051核的CS6209,它集成了以太网接口(MAC和PHY),是一种超低成本串口服务器解决方案。随后,介绍了该方案TCP/IP协议栈的结构和系统的软件架构,以及该方案的硬件设计和验证,最后对其实用性和易用性做了总结和说明。

串口服务器;CS6209;TCP/IP;网络管理

【本文献信息】袁航空,张劲松,吕露.基于CS6209的串口服务器/交换机设计研究[J].电视技术,2013,37(3).

随着网络通信和智能电子业的飞速发展,各种智能化电子设备逐渐增多,高速通信成为主流。但是在工业控制、智能家电等行业中很多的设备依然还是通过RS-232/RS-485与其他设备通信,很多情况下,串口通信是它们与外部世界通信的唯一方式,主要原因是串行口具有易用性和可靠性,在对数据速率要求不高时,依然能够提供足够高的通信能力。然而新的应用需要TCP/IP的连通性和以太网的通信能力,昂贵的成本和耗时设计常常阻止了开发者前进的步伐。本设计以实际问题出发,通过将串口转换成以太网口,实现收发数据格式的转换,完成设备远程管理、本地串口之间以及本地串口与远端串口之间的数据交换,最终实现串行设备强大的通信能力。

1 系统概述

本方案的设计初衷是在不改变原有串行设备结构的基础上,仅将串行接口进行转换,将串行口的数据转换成能在以太网上传输的TCP/IP协议网络数据,并提供管理功能,可以进行串行接口交换。

1.1 系统应用拓扑

本地主机通过本地网络、远端主机通过以太网发送网络数据包给指定的串行设备,网络数据包经过串口服务器进行解析,串行设备识别到管理端发来的管理信息,回传相应的设备状态信息或者管理端请求的数据。串行设备也可以不定期地向远端管理主机发送自身设备的实时信息,实现实时监控。本方案的应用拓扑图如图1所示。

在一个串口服务器上的几个串行设备也可以在串口服务器经过相应配置后进行信息的交互,即在管理端将要通信的串口配置成连接状态,完成交换功能。

1.2 功能特点

1.2.1 登录管理

用户可以通过不同用户名登录系统,设备参数的配置和命令下达的前提是用户有管理权限,即成功登录设备的HTTP Server,登录后还可以新建用户和修改密码。

1.2.2 通过网页查看和配置串口服务器

用户能够通过Web浏览器对连接在一个以太网上所有的串行设备进行系统参数和网络参数的配置和查询,而不用用户在上位机上安装任何配套管理软件。

图1 应用拓扑图

1.2.3 系统配置管理

用户可以修改设备参数,包括串口波特率(2 400~115 200 bit/s)和工作方式(TCP Server模式、TCP Client模式、UDP模式)、工作端口、系统获取IP地址的方式、网络参数以及DDNS相关信息等。

1.2.4 动态域名

为了给Internet用户提供更方便的访问,串口服务器内实现了DDNS的客户端,并可以由用户自己指定DDNS的Server,用户只需要在任何一个提供DDNS的Server处申请一个动态域名,然后系统配置管理页面对DDNS部分做相应的设置,便可以通过域名来访问串口服务器。这样,即使该串口服务的IP地址经常发生变化,对用户来说也毫无影响。

2 硬件设计方案

2.1 CS6209 特性说明[1]

CS6209是快速的与8051兼容的高度集成的网络微控制器,其硬件结构如图2所示。通常8051单片机中的12个时钟周期可形成一个机器周期,而在CS6209中一个机器周期只需要1个时钟周期,因此在相同的时钟周期下,CS6209的处理速度是51系列单片机的12倍,而且CS6209比标准的8位微控制器提供了更多的资源。

图2 CS6209硬件架构示意图

2.2 硬件设计框图

CS6209集成了10/100 Mbit/s以太网接口(包括MAC/PHY),以前网络接入问题需要单片机和MAC/PHY两个芯片才能解决,应用CS6209的高度集成性,既简化了电路又降低了成本。硬件设计框图如图3所示,CS6209片上外设有两个串口,能满足两口的串口服务器需求。

图3 硬件设计框图

3 软件设计方案

串口服务器的目的就是要实现串口设备的连网能力,既要将串行通信数据在网络上传输,又要确保数据传输的透明性,所以网络协议的使用必不可少。本设计根据实际需要设计了精简型的协议栈,下面介绍协议栈的结构和工作原理。

3.1 TCP/IP 协议栈[2-3]

CS6209的协议栈结构如图4所示,该协议栈支持主流应用协议。

图4 CS6209 TCP/IP协议栈结构

物理层:支持片上Ethernet接口和RS-232接口。

Ethernet:通过CS6209片上的以太网硬件接口,支持IP数据报的传输协议。

PPP:点到点协议能够支持通过串口传输IP数据报。

网络层:支持网际协议(IPv4)。

ARP:当知晓远端主机的IP地址的情况下,以太网的节点能够确定远端主机的MAC地址。

ICMP:完成网络连通性的测试,主要用作调试。

传输层:支持TCP和UDP。

应用层:支持以下应用协议。

HTTP:主要用于建立Web Server,仅支持HTTP Server。

SMTP:支持邮件发送,仅支持SMTP Client。

POP3:支持邮件接收,仅支持POP3 Client。

FTP:支持网络和主机之间的发送和接收文件操作,仅支持FTP Client。

3.2 工作原理

在CS6209中,分为数据通道(COM1默认端口号8001、COM2默认端口号8002)和管理通道(端口号9090),其中数据通道主要是本地串口之间数据通信或者通过网管配置后经网络口透明转发至远端,网管通过HTTP Server进行参数配置。

这里通过两个串行设备的通信实例说明系统工作原理。

首先系统启动,并初始化系统配置、网络配置和串口驱动,然后进入消息处理的大循环,其中包括网络收发和串口收发,各种操作均在大循环中完成。本设备因为没有操作系统的支持,在TCP和UDP的操作上可能会更复杂,现以UDP的工作方式为例,每个串口默认分配了一个端口号,当本地串口和远端串口通信时,首次通信必须组建一个ARP请求发送到远端获取MAC地址,远端接收到请求后将IP信息组包回复,本地接收到回复,保存到NODE定义的desnode结构体中,NODE定义如下:

当本地串口要向远端发送数据时,系统将串口buffer中的数据拷贝到UDP数据域中,UDP包定义如下:

IPHDR包含目的IP和源IP等IP信息,用于IP层的交互;UDPHDR则包含目的端口号和源端口号等Socket信息,用于Socket层交互。UDP包中的数据域经过IP层后在数据链路层进行封装成帧,发往物理层的发送缓冲区,最终由物理层以比特流的形式,发往目的MAC的主机。

这些比特流经过以太网到达目的主机,并经过相同的逆过程后,最终以端口号的形式映射到指定串口,数据从而转移进该串口的发送缓冲区,发往与该串口相连的串行设备,完成端到端的通信。具体的数据处理过程如图5所示,图中箭头所指是数据的流向。

3.3 HTTP Server介绍

图5 数据流向图

CS6209 HTTP Server是基于TCP协议的应用,它提供了相应的回调函数处理80端口的连接请求,这里通过配置串口波特率的实例说明HTTP Server的工作过程:

1)当远端客户端(浏览器)发送一个修改波特率连接请求时,格式为

GET/application.cgi?BR=6...

2)HTTP Server收到GET请求时,调用回调函数,执行

提取请求的网页,调用CGI(Common Gateway Interface)程序去替换EGI标签(BR),并将替换后的网页发送给客户端(浏览器),刷新显示。

3)网页在发送时,其大小有时超过了Socket发送的Buffer空间,必须顺序地将网页分片发送,当数据发送完成,且客户端确定接收的数据后,关闭 Socket,完成交互[4]。

4 方案测试

对串口服务器方案的测试,是为了实验者能够对系统方案通信能力进行评测的有效保证。

4.1 通信速率测试

本系统设计的成功与否,关键在于系统的通信速率是否能适应现场要求,现将一对串口服务器,通过网线接入同一局域网,通过浏览器对两端串口分别配置成UDP模式,设置好目的IP和端口号后,用串口调试软件测试在连续发送100 kbyte后(单次发送包大小为200 byte,发送间隔为18 ms),查看丢包情况,结果如表1所示。

表1 通信速率测试数据

4.2 结果分析

由于该设计方案没有采用操作系统作为系统时间调度,不考虑在以太网中可能出现的冲突和碰撞现象,在串口通信速率较高时(115 200 bit/s),连续传送大的网络包,由于串口包转成网络包,网络包在对端转成串口包后,超出接收瓶颈,会有微量丢包情况出现,而在实际应用中反复测试时,几乎无影响。

5 结束语

本文介绍了一种低成本的串口服务器设计方案,运用世纪民生CS6209高度集成的特性,简化了硬件电路设计,易用性大大加强。CS6209非常高的集成度以及丰富的I/O资源,使得嵌入式系统通过以太网方便地和远程计算机进行通信。该串口服务器能很好地应用于智能家电、远程控制、网络管理等领域,解决了串行设备接入难的问题。

:

[1]王俊.嵌入式 WebServer系统的实现[EB/OL].[2012-06-09].http://www.docin.com/p-462494272.html.

[2]CS6209_user_manual[EB/OL].[2012-06-09].http://en.pudn.com/downloads155/doc/comm/detail688423_en.html.

[3]史蒂文斯.TCP/IP详解:卷1[M].范建华,译.北京:机械工业出版社,2000.

[4]RICHARD S W,BILL F,ANDREW M.UNIX 网络编程:卷1API[M].杨继张,译.3版.北京:人民邮电出版社,2009.

Study of Serial Port Server/Switch Based on CS6209

YUAN Hangkong1,2,ZHANG Jinsong2,LÜ Lu1,3

(1.Wuhan Research Institute of Posts&Telecommunications,Wuhan 430074,China;2.Myson Century Inc.,Wuhan Trimode Technology Inc.,Wuhan 430074,China;3.Firberhome Inc.,Wuhan Hongxin Telecommunication Technologies Co.,Ltd.,Wuhan 430074,China)

A kind of solution that serial communication devices connect to the management network.This scheme adopts Myson Century CS6209 chip as the main MCU,incorporating C8051-compatible micro-controller core and integrating Ethernet interface(MAC and PHY),it is a kind of ultra low-cost serial server solution.In this paper,the composition of the serial server is described firstly.Then,a solution that serial communication devices connect to the management network is proposed.That solution adopts Myson Century CS6209 chip as the main MCU,incorporating C8051-compatible micro-controller core and integrating Ethernet interface(MAC and PHY),it is a kind of ultra low-cost serial server solution.After that,the structure of TCP/IP protocol stack,system software architecture and hardware design and verification of this program are all introduced.Finally,it sums up and makes an instruction of CS6209’s practical and facility.

serial device server;CS6209;TCP/IP;network management

TP368.1

A

袁航空(1988— ),硕士生,从事嵌入式IA设计;

张劲松(1970— ),博士,研究生导师,从事通信终端设计研究;

吕 露(1987— ),硕士生,从事通信电源设计和视频监控设计。

责任编辑:许 盈

2012-07-30

猜你喜欢
端口号以太网串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
在Docker容器中安装应用程序
浅谈以java为基础的Socket通信简介及实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
浅谈EPON与工业以太网在贵遵高速公路中的应用
Winsock编程在《计算机网络基础》教学中的应用