CN113419983A - 一种串口服务器及串口服务器的实现方法 - Google Patents

一种串口服务器及串口服务器的实现方法 Download PDF

Info

Publication number
CN113419983A
CN113419983A CN202110971424.2A CN202110971424A CN113419983A CN 113419983 A CN113419983 A CN 113419983A CN 202110971424 A CN202110971424 A CN 202110971424A CN 113419983 A CN113419983 A CN 113419983A
Authority
CN
China
Prior art keywords
serial port
serial
module
usb
main control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110971424.2A
Other languages
English (en)
Inventor
张朋飞
郑松峰
周厚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Maiwei Communications Co ltd
Original Assignee
Wuhan Maiwei Communications Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Maiwei Communications Co ltd filed Critical Wuhan Maiwei Communications Co ltd
Priority to CN202110971424.2A priority Critical patent/CN113419983A/zh
Publication of CN113419983A publication Critical patent/CN113419983A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供一种串口服务器及串口服务器的实现方法,串口服务器包括主控单元和多个串口模块,主控单元通过USB接口与每一个串口模块通信连接,每一个串口模块自带多路串口,每一个串口模块通过自带串口与外界串口设备进行数据通信。本发明采用多串口模块方案,将串口分布于多个独立的串口模块上,一台主控单元通过USB接口和其他负责串口业务的串口模块进行通讯;通过这种措施,“串口中断”由多个独立串口模块承担,主控单元负责“网络中断”和少量的USB中断,从而解决单个主控单元由于过多的“网络中断”+“串口中断”无法实现多个串口的串口服务器的难题,降低多口串口服务器的实现难度和成本。

Description

一种串口服务器及串口服务器的实现方法
技术领域
本发明涉及串口通信领域,更具体地,涉及一种串口服务器及串口服务器的实现方法。
背景技术
目前工业现场仍然存在很多利用RS485/422/233,CAN等工业总线实现工业自动化数据采集和控制的工业自动化应用;由于此类工业总线通常通信距离比较有限,无法满足当前工业4.0的需求;所以很多厂家推出了RS485/422/233转Ethernet的串口服务器,以及CAN转Ethernet的CAN服务器来利用无处不在的以太网技术,扩展工业现场总线的通信距离。
1)比较常见的串口服务器是1/2/4/8/16/32口串口服务器,最多也是32口串口服务器。当现场需要超过32口服务器时,将面临无设备可用的场景。
2)在单个CPU上通过总线扩展多路串口设备时,由于串口和网络接口的硬件中断和软中断过多,导致CPU负载过重,从而使整机的性能下降,无法满足多口串口服务器高波特率数据传输需求。如果使用高性能CPU,将导致产品成本直线上升,并且不能有效降低中断过多对CPU性能的负面影响。例如在一款Intel i3的 4核 CPU主频2.8GHz+8G内存的PC上,通过PCIe转串口扩展卡,同时运行27路串口,每个串口只开一个socket进行串口和网络数据互发通讯,串口波特率在115200bps时,CPU占有率已经达到90%左右,其中CPU被大量串口软硬中断占用,导致系统卡顿无法正常工作。
发明内容
本发明针对现有技术中存在的技术问题,提供一种串口服务器及串口服务器的实现方法。
根据本发明的第一方面,提供了一种串口服务器,包括主控单元和多个串口模块,所述主控单元集成有USB(Universal Serial Bus,通用串行总线)主机设备,每一个所述串口模块集成有USB从机设备,每一个USB从机设备通过USB集线器与所述USB主机设备通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述主控单元为主控CPU(central processing unit,中央处理器),每一个所述串口模块为MCU(Microcontroller Unit,微控制单元),每一个所述串口模块自带8路串口。
可选的,每一个所述串口模块包括MCU单元、电阻R1、电阻R2、电阻R3和电阻R4;所述电阻R1和电阻R2串联连接在VCC和地线之间,所述电阻R3和所述电阻R4串联连接在VCC和地线之间,所述MCU单元的引脚Gpio1连接在电阻R1和电阻R2之间,所述MCU单元的引脚Gpio2连接在电阻R3和电阻R4之间;通过MCU单元的引脚Gpio1和引脚Gpio2的不同电平确定本串口模块在所有串口模块中的序列号。
可选的,所述主控单元中还包括网络接口,所述串口服务器通过网络接口与客户网络端通信连接,所述串口服务器通过每一个串口模块自带的串口与客户串口设备通信连接;客户网络端基于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备;客户串口设备的数据发送到对应的串口模块,所述串口模块将接收到的数据按照内部通讯协议组装数据包,将数据包通过USB接口发送给主控单元,所述主控单元对接收到的数据包进行解析,并将解析后的数据转发至对应的网络接口上,通过网络接口将数据发送给客户网络端;其中,所述网络接口通过每一个串口模块的序列号,与每一个串口模块建立对应关系。
可选的,所述主控单元包括调试串口子模块、Web配置管理子模块、网络协议处理子模块、串口管理子模块、数据处理子模块、串口LED管理子模块和固件升级处理子模块;所述调试串口子模块,通过电路与每一个串口模块的调试串口连接,通过切换开关控制与每一个所述串口模块信号的连通,用于对每一个所述串口模块进行调试;以及对主控单元自身进行调试;所述Web配置管理子模块,用于对外提供web服务,通过web服务完成设备网络配置、串口功能配置以及固件升级功能;所述网络协议处理子模块,用于对外提供不同的网络协议,所述不同的网络协议包括TCP Server、TCP Client、UDP(User DatagramProtocol,用户数据报协议)、UDP组播、Modbus TCP网络协议;所述串口模块管理子模块,用于负责主控单元和各串口模块之间的参数配置管理、心跳监测、逻辑串口与实际物理串口之间映射规则建立;所述数据处理子模块,用于处理与各串口模块之间的USB数据通信,同时负责根据内部协议添加或者删除协议信息;所述串口LED管理子模块,用于管理控制每一个串口模块的每路串口的接收和发送LED,在有数据传输的时候进行闪烁指示;所述固件升级处理子模块,用于负责主控单元的固件升级和每个串口模块的固件升级。
可选的,每一个所述串口模块包括管理子模块、串口子模块、USB子模块和固件升级子模块;所述管理子模块,用于处理内部通讯协议、数据分发和组包、串口参数配置和串口模块的运行状态上报;所述串口子模块,用于对外提供物理串口服务以及接收和发送串口数据;所述USB子模块,用于负责USB协议栈的初始化、USB驱动加载枚举和USB数据收发;所述固件升级子模块,用于对串口模块的固件进行升级。
根据本发明的第二方面,提供一种串口服务器的实现方法,包括:
配置一个主控单元和多个串口模块,所述主控单元集成有USB主机设备,每一个所述串口模块集成有USB从机设备;通过USB集线器连接所述USB主机设备和每一个USB从机设备,以实现所述主控单元和每一个所述串口模块之间的通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信。
可选的,所述实现方法还包括:确定每一个串口模块在所有串口模块中的序列号;在Linux系统的udev脚本中编写相应规则,根据每一个串口模块的VID(Vender ID,供应商识别码)、PID(Product ID,产品识别码)和设备序列号建立绑定串口模块节点。其中,每一个USB设备都有其对应的VID和PID,VID是由供应商向USB-IF(Implementers Forum 应用者论坛)申请,每一个供应商的VID是唯一,PID是由供应商自行决定,主机通过VID和PID来识别不同的设备,根据它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序,VID和PID的长度都是两个字节。
在Linux系统的设备目录下面产生与实际硬件串口具有确定性顺序的串口模块节点。
可选的,所述每一个串口模块启动后,分别初始化USB从机设备协议栈和串口驱动,等待USB主机枚举加载驱动,所述USB接口每一个串口采用中断接收方式。
可选的,所述待USB枚举加载驱动结束后,所述方法还包括:客户网络端基于TCP/IP协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备;
本发明提供的一种串口服务器及串口服务器的实现方法,采用多串口模块方案,将串口分布于多个独立的串口模块上,一台主控单元通过USB接口和其他负责串口业务的串口模块进行通讯;通过这种措施,“串口中断”由多个独立串口模块承担,主控单元负责“网络中断”和少量的USB中断,从而解决单个主控单元由于过多的“网络中断”+“串口中断”无法实现多个串口的串口服务器的难题,降低多口串口服务器的实现难度和成本。
附图说明
图1为本发明提供的一种串口服务器的结构示意图;
图2为串口服务器的结构示意图;
图3为每一个串口模块的结构示意图;
图4为USB接口和串口接口之间的数据传输流程图;
图5为客户网络端、串口服务器和客户串口设备之间的连接结构示意图;
图6为串口模块的内部结构示意图;
图7为本发明提供的一种串口服务器的实现方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明提供的一种串口服务器,还串口服务器包括主控单元和多个串口模块,所述主控单元集成有USB主机设备,每一个所述串口模块集成有USB从机设备,每一个USB从机设备通过USB集线器与所述USB主机设备通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信。
可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种能够实现多个串口的串口服务器,串口服务器主要包括一个主控单元和多个串口模块,主控单元中集成USB主机设备,每一个串口模块中集成USB从机设备,USB主机设备和每一个USB从机设备通过USB集线器连接,USB主机设备、USB从机设备和USB集线器共同构成USB接口,也就是主控单元和每一个串口模块通过USB接口通信连接。每一个串口模块自带多路串口,实现一个主控单元控制多个串口模块,进而实现控制很多路串口的目的。
本发明实施例采用多串口模块方案,将串口分布于多个独立的串口模块上,一台主控单元通过USB接口和其他负责串口业务的串口模块进行通讯;通过这种措施,“串口中断”由多个独立串口模块承担,主控单元负责“网络中断”和少量的USB中断,从而解决单个主控单元由于过多的“网络中断”+“串口中断”无法实现多个串口的串口服务器的难题,降低多口串口服务器的实现难度和成本。
在一种可能的实施例方式中,主控单元为主控CPU,每一个所述串口模块为MCU,每一个所述串口模块自带8路串口。
其中,参见图2,本发明实施例采用IPQ6010 CPU(主控单元)作为USB Host(USB主机设备),RT1061/RT1021 MCU(串口模块)为USB从机设备。每片RT1061/RT1021MCU自带8个串口,四片RT1061/RT1021通过USB HUB(USB集线器)接入到主控CPU即可组成32个串口。每片RT1061/RT1021在Linux系统下作为一个USB CDC ACM类设备,由这一个USB CDC ACM类设备管理8路串口。该串口服务器总共实现32路串口。
在一种可能的实施例方式中,参见图3,每一个串口模块包括MCU单元、电阻R1、电阻R2、电阻R3和电阻R4;电阻R1和电阻R2串联连接在VCC和地线之间,电阻R3和电阻R4串联连接在VCC和地线之间,MCU单元的引脚Gpio1连接在电阻R1和电阻R2之间,MCU单元的引脚Gpio2连接在电阻R3和电阻R4之间;通过MCU单元的引脚Gpio1和引脚Gpio2的不同电平确定本串口模块在所有串口模块中的序列号。
可以理解的是,每片RT1061/RT1021使用两个GPIO作为输入引脚,根据其在电路板上的次序,选择性的焊接R1~R4电阻,设备启动时根据外置上/下拉电阻产生的不同的电平来确定本串口模块在整机系统中的次序,并根据该次序在USB枚举加载驱动阶段作为本从机设备的序列号上报给Linux系统。
其中,在Linux系统的udev脚本中编写相应规则,根据USB从设备(MCU)的VID、PID和设备序列号来建立绑定设备节点,在Linux系统的设备目录下面产生USB从机设备与实际硬件串口具有确定性顺序的设备节点。无论这些USB从机设备的上电先后顺序如何,或是某个USB从机设备重启,都不会出现USB设备节点与实际硬件串口无法准确对应的问题。
其中,参见图4,MCU启动后分别初始化USB从机设备协议栈和串口驱动,等待USB主机枚举加载驱动。由于USB接口和串口接收到数据的时间和长度不固定,所以MCU对数据一般采用中断接收的方式。具体的,待USB枚举过程结束后,MCU将分别等待USB接口和串口接收中断。如果USB接口接收到主机发来的数据报文,根据内部通讯协议将数据发送到指定的串口。如果某个串口收到数据,则按照内部通讯协议将数据组包,并附带上该串口的序号信息,发送到USB接口,即传送到USB主机。
在一种可能的实施例方式中,参见图5,主控单元中还包括网络接口,串口服务器通过网络接口与客户网络端通信连接,串口服务器通过每一个串口模块自带的串口与客户串口设备通信连接,可实现客户网络端、串口服务器以及客户串口设备之间的数据通信。
具体的,客户网络端基于TCP/IP协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备。同样的,客户串口设备的数据发送到对应的串口模块,所述串口模块将接收到的数据按照内部通讯协议组装数据包,将数据包通过USB接口发送给主控单元,所述主控单元对接收到的数据包进行解析,并将解析后的数据转发至对应的网络接口上,通过网络接口将数据发送给客户网络端;其中,网络接口通过每一个串口模块的序列号,与每一个串口模块建立对应关系,网络接口接收到的数据,可以发送到对应的串口模块。
按照上述设计方案,通常需要主控CPU来处理的串口中断被USB从机的MCU接管,使其专注于处理网络协议和USB传输。而主控CPU的网络和USB接口通常是具有DMA加速单元,可以进行高速数据传输处理,这样就会大大降低主控CPU的负荷。 在串口高波特率、长时间、大量数据收发的场景下,该方案的串口服务器具有优良的性能表现。
在一种可能的实施例方式中,参见图6,为串口服务器的内部结构示意图,串口服务器主要包括主控单元和各个串口模块,主控单元和多个串口模块通过USB接口连接。
主控单元主要包括调试串口子模块、Web配置管理子模块、网络协议处理子模块、串口管理子模块、数据处理子模块、串口LED管理子模块和固件升级处理子模块。
其中,调试串口子模块,通过电路与每一个串口模块的调试串口连接,通过切换开关控制与每一个所述串口模块信号的连通,用于对每一个所述串口模块进行调试;以及对主控单元自身进行调试。
Web配置管理子模块,用于对外提供web服务,通过web服务完成设备网络配置、串口功能配置以及固件升级功能。
网络协议处理子模块,用于对外提供不同的网络协议,所述不同的网络协议包括TCP Server、TCP Client、UDP、UDP组播、Modbus TCP网络协议。
串口模块管理子模块,用于负责主控单元和各串口模块之间的参数配置管理、心跳监测、逻辑串口与实际物理串口之间映射规则建立。
数据处理子模块,用于处理与各串口模块之间的USB数据通信,同时负责根据内部协议添加或者删除协议信息。其中,由于串口模块8个串口的数据通过同一个USB接口发送给串口服务器的主控单元,需要在内部定义一套协议,来区分数据来自哪个串口,以及应该转发到哪个串口。
数据处理子模块对于来自串口模块的数据,需要解析数据,判断数据来自该串口模块的那一路串口,并且删除内部协议数据;发往串口模块的数据,需要添加内部协议,以便于串口模块的主控收到数据后,发往对应的物理串口。
串口LED管理子模块,用于管理控制每一个串口模块的每路串口的接收和发送LED,在有数据传输的时候进行闪烁指示。
固件升级处理子模块,用于负责主控单元的固件升级和每个串口模块的固件升级。
在一种可能的实施例方式中,每一个串口模块包括管理子模块、串口子模块、USB子模块和固件升级子模块。
其中,管理子模块,用于处理内部通讯协议、数据分发和组包、串口参数配置和串口模块的运行状态上报;串口子模块,用于对外提供物理串口服务以及接收和发送串口数据;USB子模块,用于负责USB协议栈的初始化、USB驱动加载枚举和USB数据收发;固件升级子模块,用于对串口模块的固件进行升级。
图7为本发明实施例提供的一种串口服务器的实现方法,包括:701、配置一个主控单元和多个串口模块,所述主控单元集成有USB主机设备,每一个所述串口模块集成有USB从机设备;702、通过USB集线器连接所述USB主机设备和每一个USB从机设备,以实现所述主控单元和每一个所述串口模块之间的通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信。
其中,实现方法还包括:确定每一个串口模块在所有串口模块中的序列号;在Linux系统的udev脚本中编写相应规则,根据每一个串口模块的VID、PID和设备序列号建立绑定串口模块节点,在Linux系统的设备目录下面产生与实际硬件串口具有确定性顺序的串口模块节点。
其中,每一个串口模块启动后,分别初始化USB从机设备协议栈和串口驱动,等待USB主机枚举加载驱动,所述USB接口每一个串口采用中断接收方式。
其中,待USB枚举加载驱动结束后,方法还包括:客户网络端基于TCP/IP协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备;客户串口设备的数据发送到对应的串口模块,所述串口模块将接收到的数据按照内部通讯协议组装数据包,将数据包通过USB接口发送给主控单元,所述主控单元对接收到的数据包进行解析,并将解析后的数据转发至对应的网络接口上,通过网络接口将数据发送给客户网络端;其中,网络接口通过每一个串口模块的序列号,与每一个串口模块建立对应关系。
本发明实施例提供的一种串口服务器及串口服务器的实现方法,采用多串口模块方案,将串口分布于多个独立的串口模块上,一台主控单元通过USB接口和其他负责串口业务的串口模块进行通讯;通过这种措施,“串口中断”由多个独立串口模块承担,主控单元负责“网络中断”和少量的USB中断,从而解决单个主控单元由于过多的“网络中断”+“串口中断”无法实现多个串口的串口服务器的难题,降低多口串口服务器的实现难度和成本。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种串口服务器,其特征在于,所述串口服务器包括主控单元和多个串口模块,所述主控单元集成有USB主机设备,每一个所述串口模块集成有USB从机设备,每一个USB从机设备通过USB集线器与所述USB主机设备通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信。
2.根据权利要求1所述的串口服务器,其特征在于,所述主控单元为主控CPU,每一个所述串口模块为MCU,每一个所述串口模块自带8路串口。
3.根据权利要求1或2所述的串口服务器,其特征在于,每一个所述串口模块包括MCU单元、电阻R1、电阻R2、电阻R3和电阻R4;
所述电阻R1和电阻R2串联连接在VCC和地线之间,所述电阻R3和所述电阻R4串联连接在VCC和地线之间,所述MCU单元的引脚Gpio1连接在电阻R1和电阻R2之间,所述MCU单元的引脚Gpio2连接在电阻R3和电阻R4之间;
通过MCU单元的引脚Gpio1和引脚Gpio2的不同电平确定本串口模块在所有串口模块中的序列号。
4.根据权利要求3所述的串口服务器,其特征在于,所述主控单元中还包括网络接口,所述串口服务器通过网络接口与客户网络端通信连接,所述串口服务器通过每一个串口模块自带的串口与客户串口设备通信连接;
客户网络端基于TCP/IP协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备;
客户串口设备的数据发送到对应的串口模块,所述串口模块将接收到的数据按照内部通讯协议组装数据包,将数据包通过USB接口发送给主控单元,所述主控单元对接收到的数据包进行解析,并将解析后的数据转发至对应的网络接口上,通过网络接口将数据发送给客户网络端;
其中,所述网络接口通过每一个串口模块的序列号,与每一个串口模块建立对应关系。
5.根据权利要求1或4所述的串口服务器,其特征在于,所述主控单元包括调试串口子模块、Web配置管理子模块、网络协议处理子模块、串口管理子模块、数据处理子模块、串口LED管理子模块和固件升级处理子模块;
所述调试串口子模块,通过电路与每一个串口模块的调试串口连接,通过切换开关控制与每一个所述串口模块信号的连通,用于对每一个所述串口模块进行调试;以及对主控单元自身进行调试;
所述Web配置管理子模块,用于对外提供web服务,通过web服务完成设备网络配置、串口功能配置以及固件升级功能;
所述网络协议处理子模块,用于对外提供不同的网络协议,所述不同的网络协议包括TCP Server、TCP Client、UDP、UDP组播、Modbus TCP网络协议;
所述串口模块管理子模块,用于负责主控单元和各串口模块之间的参数配置管理、心跳监测、逻辑串口与实际物理串口之间映射规则建立;
所述数据处理子模块,用于处理与各串口模块之间的USB数据通信,同时负责根据内部协议添加或者删除协议信息;
所述串口LED管理子模块,用于管理控制每一个串口模块的每路串口的接收和发送LED,在有数据传输的时候进行闪烁指示;
所述固件升级处理子模块,用于负责主控单元的固件升级和每个串口模块的固件升级。
6.根据权利要求5所述的串口服务器,其特征在于,每一个所述串口模块包括管理子模块、串口子模块、USB子模块和固件升级子模块;
所述管理子模块,用于处理内部通讯协议、数据分发和组包、串口参数配置和串口模块的运行状态上报;
所述串口子模块,用于对外提供物理串口服务以及接收和发送串口数据;
所述USB子模块,用于负责USB协议栈的初始化、USB驱动加载枚举和USB数据收发;
所述固件升级子模块,用于对串口模块的固件进行升级。
7.一种串口服务器的实现方法,其特征在于,包括:
配置一个主控单元和多个串口模块,所述主控单元集成有USB主机设备,每一个所述串口模块集成有USB从机设备;
通过USB集线器连接所述USB主机设备和每一个USB从机设备,以实现所述主控单元和每一个所述串口模块之间的通信连接,每一个所述串口模块自带多路串口,每一个所述串口模块通过自带串口与外界串口设备进行数据通信,其中,所述USB主机设备、USB从机设备和USB集线器共同构成USB接口。
8.根据权利要求7所述的串口服务器的实现方法,其特征在于,所述实现方法还包括:
确定每一个串口模块在所有串口模块中的序列号;
在Linux系统的udev脚本中编写相应规则,根据每一个串口模块的VID、PID和设备序列号建立绑定串口模块节点,在Linux系统的设备目录下面产生与实际硬件串口具有确定性顺序的串口模块节点。
9.根据权利要求8所述的串口服务器的实现方法,其特征在于,所述每一个串口模块启动后,分别初始化USB从机设备协议栈和串口驱动,等待USB主机枚举加载驱动,所述USB接口和每一个串口采用中断接收方式。
10.根据权利要求9所述的串口服务器的实现方法,其特征在于,所述待USB枚举加载驱动结束后,所述方法还包括:
客户网络端基于TCP/IP协议,通过所述主控单元的网络接口向所述串口服务器发送数据,所述串口服务器将接收到的数据按照内部通讯协议组装数据包发送到对应的串口模块,所述串口模块对数据包进行解析,将解析后的数据通过自带的串口发送至客户串口设备;
客户串口设备的数据发送到对应的串口模块,所述串口模块将接收到的数据按照内部通讯协议组装数据包,将数据包通过USB接口发送给主控单元,所述主控单元对接收到的数据包进行解析,并将解析后的数据转发至对应的网络接口上,通过网络接口将数据发送给客户网络端;
其中,所述网络接口通过每一个串口模块的序列号,与每一个串口模块建立对应关系。
CN202110971424.2A 2021-08-24 2021-08-24 一种串口服务器及串口服务器的实现方法 Pending CN113419983A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110971424.2A CN113419983A (zh) 2021-08-24 2021-08-24 一种串口服务器及串口服务器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110971424.2A CN113419983A (zh) 2021-08-24 2021-08-24 一种串口服务器及串口服务器的实现方法

Publications (1)

Publication Number Publication Date
CN113419983A true CN113419983A (zh) 2021-09-21

Family

ID=77719832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110971424.2A Pending CN113419983A (zh) 2021-08-24 2021-08-24 一种串口服务器及串口服务器的实现方法

Country Status (1)

Country Link
CN (1) CN113419983A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490454A (zh) * 2021-12-29 2022-05-13 广州河东科技有限公司 一种设备串口自适应驱动的方法、装置和串口设备
CN115086104A (zh) * 2022-06-23 2022-09-20 武汉迈威通信股份有限公司 一种支持数据断线重传的方法及串口服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103280090A (zh) * 2013-06-21 2013-09-04 国家电网公司 一种移动采集控制系统及其控制方法
CN105574801A (zh) * 2016-02-07 2016-05-11 湖南易通科技有限公司 出租车车载信息交换终端及其召车方法
CN206021259U (zh) * 2016-08-04 2017-03-15 研华科技(中国)有限公司 虚拟串口序列号可固定的usb‑uart集线器
CN210072603U (zh) * 2019-09-06 2020-02-14 成都乐创自动化技术股份有限公司 一种usb2.0转多通道串口输出装置
CN210955050U (zh) * 2019-11-20 2020-07-07 电子科技大学 一种usb多串口转换器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103280090A (zh) * 2013-06-21 2013-09-04 国家电网公司 一种移动采集控制系统及其控制方法
CN105574801A (zh) * 2016-02-07 2016-05-11 湖南易通科技有限公司 出租车车载信息交换终端及其召车方法
CN206021259U (zh) * 2016-08-04 2017-03-15 研华科技(中国)有限公司 虚拟串口序列号可固定的usb‑uart集线器
CN210072603U (zh) * 2019-09-06 2020-02-14 成都乐创自动化技术股份有限公司 一种usb2.0转多通道串口输出装置
CN210955050U (zh) * 2019-11-20 2020-07-07 电子科技大学 一种usb多串口转换器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490454A (zh) * 2021-12-29 2022-05-13 广州河东科技有限公司 一种设备串口自适应驱动的方法、装置和串口设备
CN114490454B (zh) * 2021-12-29 2023-07-18 广州河东科技有限公司 一种设备串口自适应驱动的方法、装置和串口设备
CN115086104A (zh) * 2022-06-23 2022-09-20 武汉迈威通信股份有限公司 一种支持数据断线重传的方法及串口服务器
CN115086104B (zh) * 2022-06-23 2023-11-21 武汉迈威通信股份有限公司 一种支持数据断线重传的方法及串口服务器

Similar Documents

Publication Publication Date Title
CN110489365B (zh) 交换设备、外围部件互连高速系统及其初始化方法
US8296469B2 (en) Scalable method and apparatus for link with reconfigurable ports
US8898358B2 (en) Multi-protocol communication on an I2C bus
CN113419983A (zh) 一种串口服务器及串口服务器的实现方法
CN112055096B (zh) 自动设置设备通信地址的方法及装置
CN108920173B (zh) 一种配置均衡时间的方法、芯片和通信系统
CN104899170A (zh) 分布式智能平台管理总线ipmb连接方法及atca机框
US9779037B2 (en) Establishing connectivity of modular nodes in a pre-boot environment
US9824052B2 (en) Backplane bus structure of communication system and board recognition method using same
US11288223B2 (en) Bridge chip with function of expanding external devices and associated expansion method
CN103412838A (zh) 一种扩展系统、通信方法、地址配置方法、设备及装置
CN116032746B (zh) 资源池的信息处理方法及装置、存储介质及电子装置
CN111948971A (zh) 一种智能卡管理装置及其数据转接方法
CN112202600A (zh) 一种多节点单主机与多主机通信自动切换装置及方法
CN102253686B (zh) 服务器系统及其切换方法
WO2004077230A2 (en) System and method for configuring and deploying input/output cards in a communications environment
CN115687223A (zh) 用于嵌入式设备串口通信的方法及装置、嵌入式设备、存储介质
CN112631979A (zh) 一种自动分配pcie信号的服务器及方法
CN106921548A (zh) 一种基于can总线的全自动凝血分析仪通信系统
CN113949745A (zh) 可配置多路接口的串口/can转以太网服务器及其实现方法
CN113630294B (zh) 一种交换机模块化检测方法和装置
CN113778927B (zh) 基于基板管理控制器的服务器网口芯片管理方法、装置、设备
US8307145B2 (en) Method and system for connecting multiple IDE devices to a USB apparatus using a single USB-to-IDE adapter
CN216014148U (zh) 一种服务器和服务器背板
CN111506179B (zh) 多主机适配器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921

RJ01 Rejection of invention patent application after publication