CN111181827A - 一种arm处理器下uart总线接口网络化的方法 - Google Patents
一种arm处理器下uart总线接口网络化的方法 Download PDFInfo
- Publication number
- CN111181827A CN111181827A CN202010013689.7A CN202010013689A CN111181827A CN 111181827 A CN111181827 A CN 111181827A CN 202010013689 A CN202010013689 A CN 202010013689A CN 111181827 A CN111181827 A CN 111181827A
- Authority
- CN
- China
- Prior art keywords
- serial port
- arm processor
- server
- client
- uart bus
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
一种ARM处理器下UART总线接口网络化的方法,通过使用ARM处理器实现与多个设备通过网络互连,通过运行服务端程序将ARM处理器的UART总线数据转为网络数据进行传输,这样为UART总线接口在局域网中进行共享提供了一种简便的方法。
Description
技术领域
本发明涉及计算机通信技术领域,具体涉及一种ARM处理器下UART总线接口网络化的方法。
背景技术
UART(Universal Asynchronous Receiver and Transmitter),即通用异步收发器,是一种通用串行数据总线,用于异步通信,可以实现全双工传输和接收,通常用于主机和辅助设备通信。与一般通信总线相比,UART总线具有通信线路简单、成本低且适合远距离传输的优点,目前广泛应用与工控和测量设备及部分通信设备中。
物理资源的网络化不仅可以有效提高资源利用率,而且可以实现对资源的快速和灵活部署,同时还可以减少系统的复杂性,极大的降低系统的物理设备、空间、电力等方面的需求和设计成本。
但是现有的技术中没有能够实现基于UART总线结构在局域网进行共享使用时可以进行简单的数据进行传输的方法。
发明内容
本发明为了克服以上技术的不足,提供了一种使用ARM处理器与多个设备通过网络互连,在UART总线接口在局域网中进行共享使用的方法。
本发明克服其技术问题所采用的技术方案是:
一种ARM处理器下UART总线接口网络化的方法,其特征在于,包括如下步骤:
a)服务端运行在采用ARM处理器的Linux系统中,Linux系统将ARM处理器的串口作为网络设备进行统一管理;
b)Linux系统使用TCP协议创建服务器Socket,服务器Socket调用accept()函数后等待客户端接入;
c)客户端为运行在于服务端同一个局域网中的Windows系统中,客户端程序创建Socket,Windows系统调用connect()函数连接服务端,Windows系统将刚才创建的Socket隐式绑定到一个随机端口上;
d)当客户端通过connect()函数与服务端连接后,客户端调用本地虚拟UART总线驱动模拟出来的虚拟串口,并打开串口监听串口的写队列;
e)当写队列不为空时,表明上层应用对虚拟串口进行了写操作,客户端将写队列的数据发送到服务端并清空写队列,当服务端有数据传输时,客户端将数据写到虚拟串口的读队列中,供上层应用进行读取。
进一步的,步骤a)中Linux系统将ARM处理器的串口作为网络设备进行统一管理的方法为:ARM处理器的串口在Linux系统中被识别为/sys/class/net/com0设备,Linux系统将ARM处理器的串口作为普通网络接口进行读写并完成串口向下通信速率的配置。
进一步的,步骤b)中客户端接入服务端后,服务端的Linux系统创建一个子进程作为业务进程对客户端提供串口数据服务,父进程始终作为监听进程等待下一个客户端的连接进入。
进一步的,步骤d)中虚拟UART总线驱动根据全局设置标识符和驱动对象配置参数在设备管理器中创建虚拟串口,设置I/O请求分发处理方式为串行,创建读、写数据队列和设备GUID接口,通过调用WdfRequest RetrieveInputBuffer()函数输入缓冲区地址,通过调用WdfRequest RetrieveInputBuffer()函数调用输出缓冲区地址。
本发明的有益效果是:通过使用ARM处理器实现与多个设备通过网络互连,通过运行服务端程序将ARM处理器的UART总线数据转为网络数据进行传输,这样为UART总线接口在局域网中进行共享提供了一种简便的方法。
附图说明
图1为本发明的网络连接结构示意图;。
具体实施方式
下面结合附图1对本发明做进一步说明。
一种ARM处理器下UART总线接口网络化的方法,其特征在于,包括如下步骤:
a)服务端运行在采用ARM处理器的Linux系统中,Linux系统将ARM处理器的串口作为网络设备进行统一管理。
b)Linux系统使用TCP协议创建服务器Socket,服务器Socket调用accept()函数后等待客户端接入。每次Linux系统启动的时候,服务端程序自动运行,以读写权限的方式打开UAART总线接口设备,并且对外露出IP地址和端口号,等待客户端连接,多线程的设计支持多客户端同时连接。
c)客户端为运行在于服务端同一个局域网中的Windows系统中,客户端程序创建Socket,Windows系统调用connect()函数连接服务端,Windows系统将刚才创建的Socket隐式绑定到一个随机端口上。
d)当客户端通过connect()函数与服务端连接后,客户端调用本地虚拟UART总线驱动模拟出来的虚拟串口,并打开串口监听串口的写队列。虚拟总线驱动运行在Windows系统下,将虚拟UART总线驱动拷贝到Windows系统下,然后执行安装脚本,脚本安装成功执行后会在设备管理器下创建一个虚拟串口设备,用户的应用程序通过API接口可访问该设备进行读写操作。UART总线接口客户端也运行在Windows系统下,将UART总线接口客户端拷贝到Windows系统下,设置开机自启动,每次系统启动的时候,客户端程序会自动连接服务端和虚拟UART总线驱动,实现物理串口和虚拟串口的映射。
e)当写队列不为空时,表明上层应用对虚拟串口进行了写操作,客户端将写队列的数据发送到服务端并清空写队列,当服务端有数据传输时,客户端将数据写到虚拟串口的读队列中,供上层应用进行读取。
通过使用ARM处理器实现与多个设备通过网络互连,通过运行服务端程序将ARM处理器的UART总线数据转为网络数据进行传输,这样为UART总线接口在局域网中进行共享提供了一种简便的方法。
优选的,步骤a)中Linux系统将ARM处理器的串口作为网络设备进行统一管理的方法为:ARM处理器的串口在Linux系统中被识别为/sys/class/net/com0设备,Linux系统将ARM处理器的串口作为普通网络接口进行读写并完成串口向下通信速率的配置。
优选的,步骤b)中客户端接入服务端后,服务端的Linux系统创建一个子进程作为业务进程对客户端提供串口数据服务,父进程始终作为监听进程等待下一个客户端的连接进入。
优选的,步骤d)中虚拟UART总线驱动根据全局设置标识符和驱动对象配置参数在设备管理器中创建虚拟串口,设置I/O请求分发处理方式为串行,创建读、写数据队列和设备GUID接口,通过调用WdfRequest RetrieveInputBuffer()函数输入缓冲区地址,通过调用WdfRequest RetrieveInputBuffer()函数调用输出缓冲区地址。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (4)
1.一种ARM处理器下UART总线接口网络化的方法,其特征在于,包括如下步骤:
a)服务端运行在采用ARM处理器的Linux系统中,Linux系统将ARM处理器的串口作为网络设备进行统一管理;
b)Linux系统使用TCP协议创建服务器Socket,服务器Socket调用accept()函数后等待客户端接入;
c)客户端为运行在于服务端同一个局域网中的Windows系统中,客户端程序创建Socket,Windows系统调用connect()函数连接服务端,Windows系统将刚才创建的Socket隐式绑定到一个随机端口上;
d)当客户端通过connect()函数与服务端连接后,客户端调用本地虚拟UART总线驱动模拟出来的虚拟串口,并打开串口监听串口的写队列;
e)当写队列不为空时,表明上层应用对虚拟串口进行了写操作,客户端将写队列的数据发送到服务端并清空写队列,当服务端有数据传输时,客户端将数据写到虚拟串口的读队列中,供上层应用进行读取。
2.根据权利要求1所述的ARM处理器下UART总线接口网络化的方法,其特征在于,步骤a)中Linux系统将ARM处理器的串口作为网络设备进行统一管理的方法为:ARM处理器的串口在Linux系统中被识别为/sys/class/net/com0设备,Linux系统将ARM处理器的串口作为普通网络接口进行读写并完成串口向下通信速率的配置。
3.根据权利要求1所述的ARM处理器下UART总线接口网络化的方法,其特征在于:步骤b)中客户端接入服务端后,服务端的Linux系统创建一个子进程作为业务进程对客户端提供串口数据服务,父进程始终作为监听进程等待下一个客户端的连接进入。
4.根据权利要求1所述的ARM处理器下UART总线接口网络化的方法,其特征在于:步骤d)中虚拟UART总线驱动根据全局设置标识符和驱动对象配置参数在设备管理器中创建虚拟串口,设置I/O请求分发处理方式为串行,创建读、写数据队列和设备GUID接口,通过调用WdfRequest RetrieveInputBuffer()函数输入缓冲区地址,通过调用WdfRequestRetrieveInputBuffer()函数调用输出缓冲区地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013689.7A CN111181827A (zh) | 2020-01-07 | 2020-01-07 | 一种arm处理器下uart总线接口网络化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013689.7A CN111181827A (zh) | 2020-01-07 | 2020-01-07 | 一种arm处理器下uart总线接口网络化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111181827A true CN111181827A (zh) | 2020-05-19 |
Family
ID=70658054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013689.7A Pending CN111181827A (zh) | 2020-01-07 | 2020-01-07 | 一种arm处理器下uart总线接口网络化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181827A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667934A (zh) * | 2009-08-25 | 2010-03-10 | 中国工程物理研究院电子工程研究所 | Usb接口设备网络化的集中监管装置及监管方法 |
CN103595801A (zh) * | 2013-11-18 | 2014-02-19 | 中标软件有限公司 | 一种云计算系统及其虚拟机实时监控方法 |
CN104506407A (zh) * | 2014-12-25 | 2015-04-08 | 南京因泰莱电器股份有限公司 | 基于网络传输的串口联网实现方法 |
-
2020
- 2020-01-07 CN CN202010013689.7A patent/CN111181827A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667934A (zh) * | 2009-08-25 | 2010-03-10 | 中国工程物理研究院电子工程研究所 | Usb接口设备网络化的集中监管装置及监管方法 |
CN103595801A (zh) * | 2013-11-18 | 2014-02-19 | 中标软件有限公司 | 一种云计算系统及其虚拟机实时监控方法 |
CN104506407A (zh) * | 2014-12-25 | 2015-04-08 | 南京因泰莱电器股份有限公司 | 基于网络传输的串口联网实现方法 |
Non-Patent Citations (1)
Title |
---|
LYH225: "socket实现单一串口共享读写操作", 《HTTPS://WWW.CNBLOGS.COM/LINYIHAI/ARTICLES/7071538.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986171B2 (en) | Method for unified communication of server, baseboard management controller, and server | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US5884313A (en) | System and method for efficient remote disk I/O | |
EP3776230A1 (en) | Virtual rdma switching for containerized applications | |
CN106301859B (zh) | 一种管理网卡的方法、装置及系统 | |
CN110770708A (zh) | 用于硬件虚拟化的方法和装置 | |
CN111459632B (zh) | 一种供终端应用程序调用的串口代理及实现方法 | |
WO2005089139A2 (en) | Remote usb port system and method | |
CN114077480B (zh) | 一种主机与虚拟机共享内存方法、装置、设备及介质 | |
CN110389936A (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
WO2022127118A1 (zh) | 文件传输方法、装置、电子设备及存储介质 | |
US11940933B2 (en) | Cross address-space bridging | |
CN112948149A (zh) | 一种远端内存共享方法、装置、电子设备及存储介质 | |
CN111343262B (zh) | 分布式集群登录方法、装置、设备和存储介质 | |
CN113010470B (zh) | 边缘节点远程控制系统、方法、设备及存储介质 | |
CN108228309A (zh) | 基于虚拟机的数据包发送和接收方法及装置 | |
US8468551B2 (en) | Hypervisor-based data transfer | |
US20030145122A1 (en) | Apparatus and method of allowing multiple partitions of a partitioned computer system to use a single network adapter | |
CN113127144B (zh) | 一种处理方法、装置及存储介质 | |
CN111181827A (zh) | 一种arm处理器下uart总线接口网络化的方法 | |
CN114124740A (zh) | 一种vnf实例化的方法和装置 | |
CN1956390A (zh) | 用于管理器/代理通信的方法和装置 | |
WO2023198128A1 (zh) | 一种分布式资源共享方法及相关装置 | |
KR102108526B1 (ko) | 서버 내 네트워크 지연시간 측정 방법 및 그 시스템 | |
KR102237991B1 (ko) | Pci 익스프레스 전용 통신 모듈을 이용한 통신 방법과 이를 포함하는 네트워크 장치 |
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: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |