0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串口联网服务器的性能与软硬件系统的设计介绍

电子设计 作者:电子设计 2018-11-21 08:08 次阅读

1. 引言

传统行业中, 特别是工业控制领域大量设备采用RS232RS485 串口与主机通讯,比如:数控机床、数字水表、数字电表、基于字符界面的串口终端等。串口通讯中距离短、速率低是这一类设备的主要缺点,无法进行集中、远程管理。本项目的研究与开发旨在为工控领域的串行设备接入以太网、互联网提供全面的解决方案。行业用户在不浪费原有设备资源的基础上,通过架设串口联网服务器就可以把原有的串行设备无缝接入以太网、互连网,实现集中控制、远程控制,并能使所有设备共享主机资源, 大大节约了人力成本和时间成本,提高了生产率。

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. 结论

本文设计的串口联网服务器,具有操作维护方便、可靠性高、性能稳定等优点,能够将工业控制领域、金融领域等大量使用的串口设备直接连到网络, 可有效通过管理程序对设备进行远程、集中管理,提升了设备适应网络的能力,具有很好的市场前景。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5076

    浏览量

    166234
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68456
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206733
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82507
收藏 人收藏

    评论

    相关推荐

    单片机软硬件联合仿真解决方案

    现经过测试的软件部分将会正常工作,这会节省项目后期的大量时间及努力。软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,软件通过
    发表于 07-17 08:56

    支持过程级动态软硬件划分的RSoC设计与实现

    。实验表明该系统能够较好的支持过程级的动态软硬件划分,实现了节省资源、简化设计,提高性能等目的。【关键词】:可重构片上系统;;动态软硬件划分
    发表于 05-28 13:40

    串口数据采集储存联网服务器应用方案

    前言随着网络和信息技术的发展使得原来以串口、RS232、RS485方式管理的串口监测设备不再适应信息化的步伐,通过网络进行数据传输促进了现代监测系统自动化的发展,使串口设备
    发表于 04-06 17:01

    基于Altera FPGA的软硬件协同仿真方法介绍

    摘要:简要介绍软硬件协同仿真技术,指出了在大规模FPGA开发中软硬件协同仿真的重要性和必要性,给出基于Altera FPGA的门级软硬件协同仿真实例。 关键词:
    发表于 07-04 06:49

    基于VxWorks和MPC860T的嵌入式串口通信服务器设计

    和应用的一个热点。论文以嵌入式实时操作系统VxWorks和高性能的嵌入式微处理MPC860T为软硬件平台,提出了一个适合各种速率的串行设备接入IP网络的高
    发表于 07-19 07:07

    基于VxWorks和MPC860T的嵌入式串口通信服务器设计

    和应用的一个热点。论文以嵌入式实时操作系统VxWorks和高性能的嵌入式微处理MPC860T为软硬件平台,提出了一个适合各种速率的串行设备接入IP网络的高
    发表于 07-25 08:05

    如何利用C8051F310和FM1702SL实现射频通信系统软硬件设计?

      本文使用C8051F310 和FM1702SL 实现了射频通信系统软硬件设计,论述了主要电路的设计原理,介绍了部分程序的设计。本文射频读写的设计具有实际意义。射频识别技术也是物
    发表于 02-23 06:29

    如何实现波形发生软硬件系统设计?

    本文针对高精度波形发生的开发,进行了以AD760为核心的波形发生软硬件系统设计。
    发表于 04-12 06:54

    嵌入式Web服务器的设计与实现

    概况,工作原理,软硬件设计及其在远程温度监控系统中的应用作了一个较为系统的研究.首先介绍了嵌入式Web服务器的原理与应用,然后针对嵌入式We
    发表于 11-09 08:41

    Purple Pi R1 开发板软硬件资源介绍

    Purple Pi R1 开发板软硬件资源介绍*附件:Purple Pi R1 开发板软硬件资源介绍.pdf
    发表于 09-06 14:27

    单片机测控系统软硬件平台技术

    本文探讨了一种用于工业测控系统的单片机软硬件综合设计方法——软硬件平台技术,重点阐述了其基本原理、设计思想、实现方法,并给出了一个单片机测控系统软硬
    发表于 08-13 09:38 12次下载

    基于软硬件协同设计的低功耗生理信号处理ASIC设计

    摘 要 文主要介绍了一种采用软硬件协同设计策略的用于生理信号处理的低功耗医学集成芯片。软硬件协同设计能达到性能和设计灵活性的最大化。系统
    发表于 06-19 10:29 24次下载

    软硬件协同设计是系统芯片的基础设计方法学

    软硬件协同仿真验证是对软硬件功能设计的正确性及性能进行验证和评估。传统设计中,硬件和软件通常是分开独立开发设计的,到系统设计后期才将
    的头像 发表于 08-12 11:28 2825次阅读

    为什么要从“软硬件协同”走向“软硬件融合”?

    软件和硬件需要定义好交互的“接口”,通过接口实现软硬件的“解耦”。例如,对CPU来说,软硬件的接口是指令集架构ISA:ISA之下的CPU处理器是硬件,指令集之上的各种程序、数据集、文件
    的头像 发表于 12-07 14:23 1924次阅读

    电池管理系统(BMS)软硬件介绍

    电子发烧友网站提供《电池管理系统(BMS)软硬件介绍.pdf》资料免费下载
    发表于 03-27 09:20 6次下载