1. 引言
传统行业中, 特别是工业控制领域大量设备采用rs232 或rs485 串口与主机通讯,比如:数控机床、数字水表、数字电表、基于字符界面的串口终端等。串口通讯中距离短、速率低是这一类设备的主要缺点,无法进行集中、远程管理。本项目的研究与开发旨在为工控领域的串行设备接入以太网、互联网提供全面的解决方案。行业用户在不浪费原有设备资源的基础上,通过架设串口联网服务器就可以把原有的串行设备无缝接入以太网、互连网,实现集中控制、远程控制,并能使所有设备共享主机资源, 大大节约了人力成本和时间成本,提高了生产率。
2.系统性能
串口服务器是一款数据通讯产品, 不仅要求硬件平台性能高、功耗低,而且对稳定性、可靠性要求极高,机器必须7x24 小时连续工作, 硬件平台上需要集成看门狗电路,防止系统死锁。结构上要求体积小巧,美观。软件上要求依托成熟稳定的操作系统为平台,定制串口驱动、网络驱动,改造硬件中断优先级,提高系统的实时性。系统软件平台需要同时支持tcp/ip、ftp、telnet、http 协议。上层应用核心是串口服务及网络服务程序,需要设计完善的进程通讯机制,实现串口数据到网络数据之间的转发,要求各串口独立工作,互不干涉, 每个串口工作在115.2kbps 速率下不需要流量控制。用户要求能够通过本地端口、网络、web 等方式对串口服务器进行参数配置, 能够通过集中管理软件监控机器运行状态,并能对核心代码进行升级,要求维护、安装方便。
3. 硬件设计
为提升性能, 在实际设计过程中我们需要完全控制串口和网络的底层信号,提高整个系统的实时性,我们选用了性价比更高一点的x86 兼容平台rdc 公司的r8610,主频柯达150mhz,另外,此平台下编程及汇编比较容易上手,可以加快产品的上市周期,硬件平台的主要性能指标如下表:
硬件结构框图如下:
图1 硬件平台结构框图
4. 软件设计
4.1 内核定制与驱动设计
操作系统选择uclinux,uclinux 在工业控制领域性能卓越。由于其代码精炼,系统消耗小,效率更高。设计过程中,我们将ucliux 进行了彻底的定制,只保留了与r8610 相关的代码,集成文件系统、任务调度、进程管理和tcp/ip 模块, 整个核心代码控制在500k 以下,运行效果相当稳定。
驱动程序设计上,我们重点实现winbond 83977 串口扩展芯片的驱动, 在linux 核心代码8250.c 的基础上设计我们自己的驱动, 针对串口扩展芯片特性设计了硬件缓冲中断机制, 当硬件缓冲到达设置参数(fifo_size_1、fifo_size_4、fifo_size_8) 规定的字节数,或者判断没有后续字节到达时发出中断,这样可以大大提高串口数据读写效率。网络驱动针对dm9008芯片特性定制,充分发挥dm9008 全双工属性,提高网络数据交换效率。
4.2 应用服务程序设计
核心应用程序基于uclinux 操作系统设计,主要设计了两线程,串口服务线程和网络服务线程,这两种线程是成对出现的,彼此之间通过两个队列serial_queue和tcpsrv_queue 完成数据共享与交换,主要工作流程如下:
(1) 串口线程tcp_ser_proc()侦听串口,接收数据,然后发送到tcpsrv_queue 队列的数据链上; 同时监测serial_queue 队列,如果有数据则发送到对应的本地串口。
(2) 网络线程tcp_srv_proc()侦听网络连接请求,建立连接,接收网络数据,完成解包,最后发送到serial_queue 队列上;同时监测serial_queue 队列,如果有数据则发送到tcp/ip 远端控制节点。
图2 软件系统架构图
5.系统测试
使用传统串口字符终端, 与串口服务器通过串口连接,后台linux 系统与串口服务器通过网络连接,服务器中设置远端主机为linux 系统的ip 地址,当串口服务器开机的时候直接通过telnet 协议连到linux 系统上,串口终端就能够出现login 登录画面,如同串口终端直接连到网络上一样, 可运行服务器上的后台应用;服务器上的程序也可以直接对串口操作。系统测试性能良好。
6. 结论
本文设计的串口联网服务器,具有操作维护方便、可靠性高、性能稳定等优点,能够将工业控制领域、金融领域等大量使用的串口设备直接连到网络, 可有效通过管理程序对设备进行远程、集中管理,提升了设备适应网络的能力,具有很好的市场前景。
当贝D3X投影仪分享最新简单好用方法
XMLHttP对象在嵌入式Web实时系统中的应用
努比亚Z17发布一个月不到就降价,看濑2300万双摄+6GB并不是那么好卖呀!
厦门首富林秀成斥巨资种菜 亲自揭秘其神秘“植物工厂”
华为在深圳举办了一场“2018华为核心供应商大会
串口联网服务器的性能与软硬件系统的设计介绍
Linux系统vi(vim)编辑器命令使用教程
超声波发射电路原理
英创信息技术WinCE主板接入3G网络教程
三相无刷电机驱动MS8828参数与应用
废旧干电池何去何从?
疫情中的无人机扮演怎样的角色
由UC3846产生PWM进行脉宽调制的移相全桥开关电源的设计
电装机器人发展史解读
下一代显示技术MicroLED什么时候会出现
润开鸿携OpenHarmony走进电子科技大学
电脑打开网页很慢怎么办的解决办法
曙光存储为数字中国建设发展打造坚实的数字底座
网线可以并两个水晶头吗
解读:无线充电要普及,难点在哪里?