基于ARM的串口服务器的设计与实现.doc

上传人:gs****r 文档编号:1611049 上传时间:2019-03-08 格式:DOC 页数:6 大小:53.50KB
下载 相关 举报
基于ARM的串口服务器的设计与实现.doc_第1页
第1页 / 共6页
基于ARM的串口服务器的设计与实现.doc_第2页
第2页 / 共6页
基于ARM的串口服务器的设计与实现.doc_第3页
第3页 / 共6页
基于ARM的串口服务器的设计与实现.doc_第4页
第4页 / 共6页
基于ARM的串口服务器的设计与实现.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、基于 ARM 的串口服务器的设计与实现摘 要现在正在使用的大量的传统设备采用的是异步串行接口,与现今流行的 TCP/IP网络设备之间存在着互连的问题。本文提出了基于32 位 ARM 处理器的网络串口服务器的设计方案,支持多种网络协议,且体积较小、功能齐全,提供了一种将异步 RS232 串行数据和在以太网传送的 TCP/IP 数据包之间进行相互转换的桥梁。 关键词嵌入式 TCP/IP 串口服务器 中图分类号:TP393 文献标识码:A 文章编号:1009-914X(2015)23-0047-01 1.前言 以太网从出现至今已经三十多年了,由于它的性能价格比高,容易普及使用,在企业内部互联网(In

2、tranet) ,外部互联网(Extranet) ,以及国际互联网(Internet) 提供的广泛应用不但已经进入今天的办公室领域,而且还可以应用于生产和过程自目前全球企事业用户的 90%以上都采用以太网接入,已成为企事业用户的主导接入方式。但在很多场合,大量的采用传统的 RS232 异步串行接口的传统设备仍旧在广泛使用,在很多应用中,这些设备的异步数据需要通过网络进行传输,因此这些传统的设备与现今的网络设备之间存在着互联问题。 串口服务器是一款带有 1 个 10/100M 网络接口的和 1 个或多个异步RS232S 串行接口的串口服务器。异步串行数据服务器内部使用高性能的32 位 ARM 处

3、理器,支持多种网络协议,且体积较小、功能齐全,提供了一种将异步 RS232 串行数据和在以太网传送的 TCP/IP 数据包之间进行相互转换的桥梁,使带有传统的异步 RS232 串行数据设备的信息可以通过互联网络进行传送或共享。 串口服务器可以使数量众多且分散在不同位置的 RS232 串口设备共享主机资源,同时这些 RS232 串口设备可以通过网络得到远程主机的支持。作为专用的异步数据和网络数据的相互转换的设备,具有传统的多用户卡和终端服务器无可比拟的优点:传统的多用户卡扩展串口方案,占用主机资源,并可能导致系统不稳定,同时联接的终端数目和距离有限;而终端服务器解决方案成本太高,很难普及应用。串

4、口服务器是最优解决方案,不占用主机资源,且具有终端服务器的功能。更重要的是可将现有的传统的串口设备立即转换成具备网络接口的外设,保障用户原有硬件和软件的投资而不影响设备的任何性能。 串口服务器可以用在下列的众多场合: 工业/工厂自动化系统; 电信/光纤通讯系统; 银行、保险等金融系统; 楼宇自动控制系统; 大型零售系统; 各种远程和分布式串口设备控制; 各种实验仪器仪表的联网自动化等。 2.系统设计 2.1 设计需求(功能描述) 能与网管代理通过 TCP/IP协议通信; 能与监测前端通过 RS232通信; 不丢失被测数据,各采集端口可独立设置(包括波特率等) 、独立工作; 具有抗干扰功能,具备

5、硬件看门狗,防止死机; 对各采集端口读写信息实现透明传输; 具有自动连接网管代理和自动选择网段(提供两个备选网段)的功能; 具有软件升级接口; 可以向监测前端供电。 2.2 系统结构 串口服务器采用通用设计方式,方便裁减或修改成适应多种测量控制用途。它主要包括微控制器、存储器、以太网扩展芯片、看门狗及复位电路、多路串口扩展这几部分。微控制器可采用自带网络功能的CPU(例如 S3C4510B,ARM7TDMI,带 10/100Mbps MAC层) 。FLASH 采用一片 SST39VF160 1M16bit(2MB) ,SDRAM 采用两片 K4S641632F 1M16bit4Banks(64

6、Mbit) (2 片,构成 32bit数据) 。串口扩展采用的是 TL16C554A ,单片集成了 4路 TL16C550C,最高速度1Mbps,MAX3232 每片 2路电平转换。以太网部分采用 RTL8201BL。看门狗及复位电路采用 MAX706T / S (MAX6369) 。 2.3 软件层次描述 基于 4510B的串口服务器要可以实时完成采集到数据的 TCP/IP协议封装的功能,需要采用嵌入式操作系统。一种方案是采用 ucLinux,但在实际工作中我们发现,ucLinux 容错能力不够强,经常会造成系统死机。因此,为了保证实时系统的稳定性,我们采用了 Vxworks嵌入式操作系统,

7、属于强实时系统,已经广泛应用在航空航天、通信、仪器、自动化控制等领域。该系统提供支持 ARM7TDMI内核的板级支持包以及 TCP/IP工具包。 系统主要任务及主要流程 在串口服务器中,硬件和软件部分相结合完成整个系统功能。软件系统将完成协议解析及协议转换的功能。主要任务有:复位连接,解析网管代理指令,激活指定端口的处理任务,指令字传送至端口,转发端口数据,错误信息处理,定时清空看门狗定时器,等 7个任务。 流程举例:复位连接 3.3 基于 VxWorks嵌入式实时操作系统的 TCP/IP数据封装 在 4510B上配制 Vxworks的方法如下: 首先要调试 VxWorks在 4510B上的

8、BSP,其中 config.h是一个重要的配置文件。 该文件中最需要关注的一部分配置就是对存储空间的配置: #define ROM_BASE_ADRS 0x01000000 /* base of Flash/EPROM */ #define ROM_TEXT_ADRS 0x01000000 /* code start addr in ROM */ #define ROM_SIZE 0x00100000 /* size of ROM holding VxWorks */ #define RAM_LOW_ADRS 0x00001000 /* VxWorks image entry point */

9、 #define RAM_HIGH_ADRS 0x00100000 /* RAM address for ROM boot */ 相应的,在 MAKEFILE文件中对内存的设置要与上面相同: ROM_TEXT_ADRS = 01000000 # ROM entry address ROM_WARM_ADRS = 01000004 # ROM warm entry address ROM_SIZE = 00100000 # number of bytes of ROM space RAM_LOW_ADRS = 00001000 # RAM text/data address (bootrom)

10、RAM_HIGH_ADRS = 00100000 # RAM text/data address (bootrom) 在 Vxworks系统中数据封装的方法如下: 为了及时响应外部的数据读取请求,4510B 的软件中采用中断处理方式读取 FPGA中的 AD数据缓存。为了保障连续的采集和传输,对于这部分数据缓存采用“乒乓法” 。待当前缓存区存满时,从中断处理程序中释放一个二进制信号量给上传任务,由上传任务负责 TCP数据封装,并且数据存储的指针切换到另一块缓存区。VxWorks 使用与 BSD4.4 Socket兼容的 TCP/IP网络协议栈。因此,基于 BSD4.4 UNIX Socket的网

11、络应用程序可以很方便的移植到 VxWorks中来。 4.结语 串行数据服务器内部使用高性能的 32 位 ARM 处理器,支持多种网络协议,且体积较小、功能齐全,提供了一种将异步 RS232 串行数据和在以太网传送的 TCP/IP 数据包之间进行相互转换的桥梁,使带有传统的异步 RS232 串行数据设备的信息可以通过互联网络进行传送或共享。 本设计在网络通信层达到了资源共享,用通用的 ARM7TDI内核的三星 4510B板上完成了复杂的数据封装等网络通信工作,并且用 Vxworks嵌入式操作系统增加了系统的稳定性。 参考文献 1.李驹光,聂雪媛, “ARM应用系统开发详解-基于 S3C4510B的系统设计” ,清华大学出版社,2003 年 2.Wind River美, “VxWorks网络程序员指南” ,Wind River Systems,2003 年

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。