亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于树莓派的多串口多总线服务器设计

发布时间:2020-07-16
分享到:

基于树莓派的多串口多总线服务器设计

发布时间:2020-07-16
分享到:

工业控制中,各设备的信号采集和监控只靠串口总线难以实现扩展,要将现场控制网络和信息网络相连,就需要解决串口通信协议和因特网通信协议的转换问题,即把原有设备转换为具备网络接口的外设,这样可以将传统串行链路上的数据传输到信息网络上,而无需更换原有设备。如此,可以提高原有设备利用率、增加多终端连接数、节约成本、简化布线的复杂度及延长通信距离。

  近年来,因信息化和物联网发展的需要,串口服务器大量涌现,它们不占用主机资源,且具有终端服务器的功能。不过,设备体积庞大、价格昂贵、串口不易裁剪或扩展、传输大量数据帧时丢包、参数配置繁杂等问题也随之出现。

  本设计采用的串口服务器的核心设备--树莓派,是一款体积小、价格便宜但功能非常强大的平台,可通过多种通信方式接入互联网,支持多种完整网络协议,结合USB-hub及USB/串口转换器使用,可保证串口服务器使用方便,并实现实时、准确、长时间稳定的数据传输。

  1 总体设计

  根据当今工业现场数据传输需求,应具备的技术指标和设置参数如下。

  1.1 技术指标

  ①主控芯片:32位700 MHz的ARM1176JZF-S处理器;

  ②操作系统:Linux;

  ③支持协议:TCP/IP、UDP、HTTP、FTP;

  ④网络接口:10/100 Mbps自适应以太网接口;

  ⑤串口类型:1~16个RS 232/RS485/RS422接口,1个TTL电平串口;

  ⑥参数配置方式:WEB浏览器配置;

  ⑦会话数:支持多连接,满足5个以内用户同时管理一个模块设备;

  ⑧工作模式:TCP客户端、TCP服务器、UDP广播模式;

  ⑨指示灯:电源指示灯、通信指示灯;

  ⑩供电电压:5 V.

  1.2 设置参数

  该设备选择WEB浏览器设置方式,内置WEB服务器,用户可进行IP地址、串口通信参数、工作模式等的管理和配置。以下主要介绍串口通信和工作模式参数的设置。

  (1)串口通信参数

  ①波特率为2 400~115 200 bps;

  ②数据位为6/7/8/9;

  ③校验位为None/Even/Odd;

  ④停止位为1/1.5/2;

  ⑤成帧长度为1~15000字节;

  ⑥成帧间隔为30~500位。

  其中,成帧长度指每一帧接收数据的长度,接收端缓冲区一旦接收到该长度的数据就转发出去;成帧间隔就是所谓的串口超时,超时时间T(s)、成帧间隔N(位)、波特率B(b/s)的关系如下。一旦超时,不管已有数据长度是不是达到成帧长度,接收端缓冲区就将已有数据组帧转发出去。

  T= N/B (1)

  (2)工作模式参数

  ①单个串口支持会话数为1~5个,每个会话模式间相互独立;

  ②TCP服务器模式为绑定端口范围为1025~65535;

  ③TCP客户端模式为需配置目标服务器IP、端口及自动重连时间,其中自动重连时间指网络连接中断或者服务器异常时,重新发起主动连接的时间间隔,循环自动重连直到正常连接上为止;

  ④UDP广播模式为需配置本地端口、目标服务器IP和目标端口。

  2 硬件设计

  此串口服务器根据以上指标选用最新的树莓派、USB-hub及北京世纪联信公司生产的USB/四串口转换器组合而成。

  2.1 硬件结构组成

  串口服务器硬件结构组成如图1所示,树莓派具有两个USB接口、一个TTL串口及一个10/100 MHz自适应以太网接口。一个USB接口通过USB-hub和n(可据情况选择,最多时n=4)个USB/串口转换器扩展出4n个RS232/RS422/RS455串口,另一个可外接无线USB网卡,从而实现局域网或广域网中有线或无线数据传输。

图1 硬件结构框图

  2.2 树莓派简介

  树莓派(Raspberry Pi)是一款基于Linux系统的只有一张信用卡大小的单板计算机,配备一枚博通生产的700 MHzARM架构BCM2835处理器,512 MB内存,使用SD卡当作存储介质,操作系统采用开源的Linux系统,提供并支持Python作为主要编程语言。

  2.3 USB-hub简介

  USB-hub(USB集线器)是一个将多个USB设备连接到计算机上的USB接口或另一个USB集线器上某时候,它们都来自于主板内部一个或者两个主USB接口,而不是相互独立的硬件。一个USB接口、一个USB集线器和若干个外围设备可以构建一个USB网络。本系统选用的USB-hub由一个USB接口扩展出4个USB接口。

  2.4 USB/串口转换器简介

  USB/串口转换器选用北京世纪联信LENSYS-USB2COM-4模块。它是一种导轨安装式串口扩展模块,实现了用USB口扩展4串口的功能,可以通过USB快速扩展四个计算机串口,通过拨码开关设定RS 232/422/485接口方式,还可以实现4个RS 232转4个RS422/485的功能。通过该模块能够可靠、实时、便捷地完成工业现场RS232/485/422信号的传输和转换,广泛应用于石油天然气、水利、电力调度、市政调度等行业。

  3 软件设计

  此串口服务器软件设计基本结构如图2所示,客户端只是WEB浏览器,软件设计则主要体现为服务器端的网页展现、业务逻辑和数据存储。

  WEB服务器负责串口服务器通信参数的手动配置和存储、通信程序的手动启停等;应用服务器负责实现TCP/IP网络与串行接口设备的互通,完成TCP/IP协议格式的数据与串行数据间的相互转换;数据库主要包含用户管理数据表、串口参数配置数据表、工作模式配置数据表。

图2 软件设计基本结构图

  下面介绍串口服务器软件设计中3个主要任务:WEB服务器的设计、WEB配置页面的设计和串口联网通信程序的设计。

  3.1 WEB服务器的设计

  由于串口数量较多,所以在树莓派中植入WEB服务器,由WEB服务器将用户的请求转换为对后台数据的查询或更新,并将友好的图形界面在浏览器上展示给用户,实现简便统一的远程通信参数配置、设备管理、用户管理、监控串口服务器运行状态。

  本串口联网服务器选择树莓派自带的Python作为开发语言,采用小巧而灵活的web.py开发框架提供HTTP服务,其轻量级满足采集系统对数据传输模块的要求,可以提高系统的使用效率,WEB服务器设计流程如图3所示。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论