WO2012006824A1 - 多虚拟串口系统及其通信方法 - Google Patents

多虚拟串口系统及其通信方法 Download PDF

Info

Publication number
WO2012006824A1
WO2012006824A1 PCT/CN2010/077691 CN2010077691W WO2012006824A1 WO 2012006824 A1 WO2012006824 A1 WO 2012006824A1 CN 2010077691 W CN2010077691 W CN 2010077691W WO 2012006824 A1 WO2012006824 A1 WO 2012006824A1
Authority
WO
WIPO (PCT)
Prior art keywords
serial port
virtual
management module
data
communication
Prior art date
Application number
PCT/CN2010/077691
Other languages
English (en)
French (fr)
Inventor
陈明恩
刘俊峰
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP10854616.9A priority Critical patent/EP2495913B1/en
Publication of WO2012006824A1 publication Critical patent/WO2012006824A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer

Definitions

  • the present invention relates to the field of communications, and in particular to a multi-virtual serial port system and a communication method thereof.
  • BACKGROUND Generally, the physical serial port resources on a general computer are limited, and most of them are 1 to 2 (such as com1, com2, etc.).
  • the traditional method is to expand the number of physical serial ports. Professional companies provide serial physical chip boards and drivers, which enables the configuration and use of multiple physical serial ports. This is often used in traditional industrial applications, but the most direct problem is the increased investment cost. As shown in Figure 1, the architecture of a traditional serial port networking is shown.
  • a method has emerged in the related art, that is, a technology in which a virtual serial port is combined with network communication, thereby realizing switching of a conventional serial port device to an IP network, and realizing transparent transmission of serial port data in the network.
  • the virtual serial port driver can extend the software without expanding the serial port through the hardware, thereby reducing the cost.
  • the virtual serial port can realize the function of serial port accessing the IP network without changing the original serial port application software, that is, the serial port accesses the server.
  • the main object of the present invention is to provide a multi-virtual serial port system and an implementation method thereof, so as to at least solve the problem that the above-mentioned virtual serial port network transmission architecture is not clear enough, and is not conducive to user monitoring development and design maintenance.
  • a multi-virtual serial port system is provided.
  • the multi-virtual serial port system includes a plurality of serial port management modules, which are located in an application layer of a multi-virtual serial port system, and are used to invoke serial port resources of a serial port device for serial port communication.
  • the serial port resource is located in the operating system layer of the multiple virtual serial port system.
  • a communication method for a multi-virtual serial port system comprising: receiving, by a serial port management module in an application layer of a multi-virtual serial port system, a serial communication request from an application; The serial port resource of the corresponding serial device in the operating system of the virtual serial port system is used for serial communication requested by the serial communication request.
  • the present invention uses a multi-virtual serial port system including the following structure: a plurality of serial port management modules, located in an application layer of the multi-virtual serial port system, for invoking a serial port resource of a corresponding serial device for serial communication, wherein
  • the serial port resource is located in the operating system layer of the multi-virtual serial port system, which solves the problem that the virtual serial network transmission structure is not clear enough, and is not conducive to user monitoring, thereby achieving a simple code implementation, a large number of virtual serial ports, and large data traffic. Effect.
  • FIG. 1 is a schematic diagram of a serial port networking according to the related art
  • FIG. 2 is a schematic diagram of a multiple virtual serial port system according to an embodiment of the present invention
  • FIG. 3 is a multi-virtual serial port according to an embodiment of the present invention.
  • FIG. 4 is a flow chart of a method for communicating a multi-virtual serial port system according to an embodiment of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
  • a multi-virtual serial port system and an implementation method thereof are provided.
  • 2 is a schematic diagram of a multiple virtual serial port system in accordance with an embodiment of the present invention. As shown in FIG.
  • the multi-virtual serial port system includes a plurality of serial port management modules, and the plurality of serial port management modules are located in an application layer of the multi-virtual serial port system, and are used to invoke serial port resources of the corresponding serial port device.
  • Serial communication wherein the serial port resource is located in the operating system layer of the upper virtual serial port system.
  • the plurality of serial port management modules can be located in the multiple virtual serial port system In the application layer communication link management program, a serial port management module performs data interaction communication with a corresponding serial port resource located in the virtual serial port driver of the operating system layer. As shown in FIG.
  • the application layer, the operating system layer, and the device data layer are included in the multiple virtual serial port system, and the communication link management program is located in the application layer.
  • the serial port thread is set at the application layer, which makes the code simple and convenient to develop and maintain, and is convenient for user monitoring.
  • the serial port n application opens the serial port behavior, closes the serial port behavior, writes data, and reads data to interact with the corresponding serial device resources in the virtual serial port driver of the multiple virtual serial port system.
  • the corresponding virtual serial port driver in the operating system notifies the serial port management module in the application layer of the multiple virtual serial port system to receive the serial port communication request from the application serial port n application.
  • the serial port management module receives the data of the network device
  • the serial port resource of the corresponding serial device in the operating system of the multiple virtual serial port system is invoked to generate data communication on the network side, so that the application serial port n application reads the network.
  • Side data thus completing the uplink data interaction of the network device TCP/UDP communication to the serial port application.
  • the application serial port n application interacts with the serial port resource of the corresponding serial device in the operating system of the multiple virtual serial port system, including: the application serial port n application opens, closes, reads, writes, etc., and the operating system of the multiple virtual serial port system
  • the serial port driver instance number - corresponding, at the same time, the serial port driver setting event informs the serial port management module of the communication link management program, and thus, the application serial port n application, the serial port driving resource and the serial port management module correspond. In this way, the serial port driver in the operating system to which the application serial port n is applied, the serial port management module of the communication link management program, and the downlink data flow of the network device are implemented.
  • the serial port management module of the communication link management program receives the data of the network device side, it will call the serial port resource of the corresponding serial device in the operating system of the multiple virtual serial port system, and then the application serial port n is applied to perform the network device.
  • the virtual serial port driver's resource write data area event flag is automatically set multiple times, and the serial port management module of the communication link management program is notified to read the data multiple times until the data is read.
  • the first read operation behavior of the communication link management program it automatically detects whether there is valid data in the write data ring buffer area. If it exists, the write data area event flag is set again, and the data is automatically set again until the data is set. Read it out.
  • the serial port management module of the communication link management program located in the application layer of the multiple virtual serial port system whose thread is in the monitoring of the communication link management program, once the thread exits, the monitoring dog automatically restarts the serial port management module of the thread.
  • the virtual serial port driver implements the virtual serial port instance table maintained by the windows operating system itself, and uses the IRP message to realize the number of serial port instances, and the data traffic is 4 ⁇ .
  • the above serial port resources may be multiple, wherein multiple serial port resources correspond to multiple serial port management modules, and multiple serial port resources correspond to multiple serial port applications.
  • I/O Request Package (IRP, I/O Request Packet) messages can be used for communication between serial port resources and multiple serial port management modules.
  • Each serial port resource includes: a read data buffer, a write data buffer, a timer resource, an event resource, and a lock resource.
  • the multi-virtual serial port system further includes: a plurality of read data buffer areas and a plurality of write data buffer areas, which are located in an operating system layer of the multi-virtual serial port system, and each read data buffer area and each write data buffer area are respectively used for Accessed by a serial port management module.
  • the invention can realize the combination of the virtual serial port drive of the windows operating system and the network communication technology. Therefore, it is suitable for the development and application of the virtual serial port driver and network communication of the windows operating system.
  • the invention can realize the replacement of the serial port communication system by the TCP/IP network communication system, and keep the application software serial port mode still working normally.
  • the application layer is a serial port application, which mainly creates a serial port, opens a serial port, reads a serial port, and writes to a serial port, including synchronous and asynchronous operations, such as a serial debugging assistant, a hyper terminal, and the like.
  • the operating system layer is the serial port driver provided by the operating system or the serial port driver provided by a professional manufacturer.
  • the hardware physical layer is a physical serial port or an extended physical serial port, which provides a certain number of actual physical serial port circuit chip boards.
  • the device data layer refers to the RS232/RS422/RS485 network formed by various serial devices with serial ports based on physical serial ports.
  • the virtual serial port driver of the present invention is a program that can be operated under a Windows platform computer. This driver can create several "virtual," serial ports. In the view of serial port applications, these virtual serial ports are physical. The serial port is the same. In the application coding, with the traditional ordinary The operation of the physical serial port is the same as opening the serial port, reading data, writing data, and synchronizing with asynchronous operations. The reading or setting of various parameters of the serial device can be read or set through the relevant application interface (Application Interface, API for short) of windows.
  • Application Interface Application Interface
  • serial port-network and serial port-network-serial port.
  • the former is relatively simple to handle, the serial port data is encapsulated into IP, and the latter needs to be restored to a serial port after transmission through the network.
  • the operation of the serial port application on the virtual serial port such as setting attributes, will eventually be transmitted to the corresponding device physical serial port through the network transmission, and the transmission through the network is equivalent to lengthening the serial port line, and for the serial port application It is still the serial-to-serial point-to-point communication.
  • the original serial port application can be used without any modification.
  • the difference between a virtual serial port driver and a traditional physical serial port driver lies in the transmission of the underlying data.
  • various softwares of the serial port application open, read, write data and other operations through different APIs through related APIs. These data interaction information behaviors interact with the driver.
  • Traditional serial port drivers operate on actual physical serial chips because of these different operating behaviors.
  • the virtual serial port driver performs information interaction with the communication link management program of the application layer directly for these operation behaviors, and the communication link management program further interacts with various communication devices of the device data layer, which includes general Network equipment, network / serial conversion equipment. These data interactions are bidirectional.
  • the communication link management program uses different communication transmission protocols to communicate with various communication devices, including TCP server, TCP client, UDP, etc., and the specific protocol type software can be configured, so that the advantages of long-distance transmission of the network can be fully utilized. Reflected. Therefore, no matter whether the serial device or the serial port application of the computer can distinguish the difference between the real serial and the virtual serial transmission, transparent transmission is realized.
  • the virtual serial port driver compared with the prior art, the implementation principle is not much different from each other, but the design methods are various, and each has its own advantages and disadvantages.
  • Some manufacturers implement multi-threading in the kernel driver, and also provide support for the Windows-related API for the communication link management program.
  • the serial port application and the communication link management program can be operated through the standard API interface.
  • the advantage of the solution is that the program architecture is clear and accessible by using standard API interfaces to facilitate third-party software development.
  • a serial port resource is opened for each virtual serial port, and the kernel does not implement multi-threading, but in the communication link management program, multi-threading technology is used, and each virtual serial port corresponds to one thread, the thread It is only responsible for the various operational behavior message interactions of this virtual serial port resource, while communicating with the relevant communication device data of the device data layer.
  • the driver is driven by the IRP message, and the message queue is maintained by the Windows operating system itself, regardless of the read and write ring data.
  • FIG. 3 is a flowchart of a method for implementing a multi-virtual serial port system according to an embodiment of the present invention. As shown in Figure 3, DriverEntry is the entry of the driver.
  • Step S 1 AddDevice, add the virtual serial device, in this step, open a certain size for the virtual serial port in the kernel driver. Read the data buffer and a certain size of the write data buffer, and other corresponding timers such as KTIMER, KEVENT, KSPIN LOCK and other system resources, 4 bar of these resources are added to the virtual serial port design structure and generate a new instance (IoCreateDevice) maintenance pointer In the middle, simultaneously mount the serial port instance to the device stack resource management list.
  • Step S 1 AddDevice, add the virtual serial device, in this step, open a certain size for the virtual serial port in the kernel driver. Read the data buffer and a certain size of the write data buffer, and other corresponding timers such as KTIMER, KEVENT, KSPIN LOCK and other system resources, 4 bar of these resources are added to the virtual serial port design structure and generate a new instance (IoCreateDevice) maintenance pointer In the middle, simultaneously mount the serial port instance to the device stack resource management
  • Step S2 The IRP MJ WRITE message design method, VSerialWrite, is generated when the serial port application uses WriteFile.
  • the relevant parameters of the current IRP message are obtained through loGetCurrentlrpStackLocation, and the corresponding data of the IRP message is copied into the write cache data area, and the write data cache data area is managed by a ring, and has a cache function of the corresponding number of bytes.
  • Step S3 Corresponding to this, the communication link management program has a management thread for the serial port instance. The thread has a while loop. Whenever there is data in the write data buffer, the corresponding event flag will be set in the driver. WaitForSingleObject returns. WDM IOCTL GET DATA is set by DeviceloControl to read the data of the virtual serial port drive write buffer.
  • the communication link management program simultaneously opens the read data ring buffer area, the DeviceloControl IpOutBuffer is the read buffer area pointer, and the nOutBufferSize data length is the read data area length. It can be set freely. If the data area of the write data area of the virtual drive instance is large, and the write data area event flag is set more than once, the communication link management program will read the data multiple times until the data is read. . This involves how to automatically set the write data area event flag automatically. Whenever the first read operation behavior of the communication link management program occurs, it automatically detects whether there is valid data in the driven write data area. If it exists, it writes the data area. The event flag is set and is automatically set repeatedly until the data is read.
  • Step S4 The communication link management program is corresponding to the configuration of the network device. Because it is a multi-thread design, it is not necessary to maintain a large media forwarding table for querying, and the data read by the driver is sent to the lower-layer related network device, thus implementing Data flow from the serial port application, serial port virtual drive, communication link management program, and network/serial device in the downstream direction.
  • Step S5 Corresponding to the IRP_MJ_READ message method design, the communication link management program, and maintaining a thread corresponding to the serial port instance.
  • the thread while loop, when the network/serial device uploads data, detects that the network port information flag has data coming, and reads the data of the network devices into the corresponding cache data area.
  • Step S6 In the communication link management program, once a thread reads the data of the network device, the thread writes the data to the read ring cache data area of the virtual serial port through parameters such as DeviceloControl, virtual serial port descriptor, and WDM_IOCTL_SET_DATA.
  • the virtual serial port driver detects the presence of the WaitOnMasklrp message and the WaitMask flag bit in the serial port instance, ends the WaitOnMasklrp message, and sets the receive data flag to indicate that the existing data is in the read ring buffer area of the driver.
  • the relevant parameters are set in the IOCTL_SERIAL_GET_COMMSTATUS message to provide an application query status parameter.
  • Step S8 When the timer expires, it checks whether there is valid data in the read ring data area, and if so, copies the data to the corresponding data area of the last suspended IRP message. At the same time, the last pending IRP message is cleared. If there is no data, the last IRP message will be known. This step is an important guarantee for the serial port application to read data asynchronously. This allows data to be read synchronously or asynchronously.
  • the network/serial device, communication link management program, string are realized at the same time.
  • Port virtual drive serial port application data flow in the upstream direction.
  • the dwShareMode flag of each serial port instance CreateFile of the communication link management program needs to be set to FILE SHARE READ
  • 4 is a flow chart of a communication method of a multiple virtual serial port system according to an embodiment of the present invention.
  • the communication method of the multiple virtual serial port system includes: Step S402: The serial port management module in the application layer of the multiple virtual serial port system receives the serial communication request from the application.
  • Step S404 the serial port management module calls the serial port resource of the corresponding serial port device in the operating system of the multiple virtual serial port system, so as to perform the serial port communication requested by the serial port communication request.
  • the serial port management module calls the serial port resources of the corresponding serial device in the operating system of the multiple virtual serial port system, including: the serial port management module calls the operating system of the multi-virtual serial port system and the serial port management module - the corresponding serial port resource, wherein, multiple serial port resources Corresponding to multiple serial devices.
  • the serial port management module calls the serial port resource of the corresponding serial port device in the operating system of the multiple virtual serial port system, and the serial port communication requested by the serial port communication request includes: the application program uses the serial port communication to exchange data with the serial port device.
  • the method may further include: the serial port management module accessing the corresponding read data buffer area and the write data buffer area in the multi-virtual serial port system.
  • the IRP message can be used for communication between the serial port resource and multiple serial port management modules.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种多虚拟串口系统及其通信方法。其中,该多虚拟串口系统包括多个串口管理模块,该串口管理模块位于多虚拟串口系统的应用层中,用于调用对应串口设备的串口资源进行串口通讯,其中,串口资源位于多虚拟串口系统的操作系统层中。通过本发明,能够使代码实现简洁,以及使虚拟串口数据的流量更大。

Description

多虚拟串口系统及其通信方法 技术领域 本发明涉及通信领域, 具体而言, 涉及一种多虚拟串口系统及其通信方 法。 背景技术 通常,普通电脑上物理的串口资源有限,大多为 1到 2个(如 coml、 com2 等), 当实际业务应用需求多于系统实际硬件配置时,传统的方法是扩展物理 串口数量, 由专业公司提供串口物理芯片电路板卡和驱动程序, 这样就实现 了多个物理串口的配置和使用, 这在传统的工业场合经常使用, 但带来的最 直接问题是增加了投资成本。 如图 1所示, 示出了传统的串口组网的架构。 在相关技术中出现了一种方法, 即,虚拟串口与网络通信相结合的技术, 从而实现传统串口设备切换到 IP网络,以及实现串口数据在网络中的透明传 输。 考虑到兼容已有的串口应用软件, 使得底层通信方式的变化对串口应用 完全屏蔽, 因而, 虚拟串口驱动可以不通过硬件扩展串口, 实现软件扩展, 从而降氐了成本。 同时, 虚拟串口可以在不更改原有串口应用软件的前提下 实现串口接入 IP网络的功能, 即串口接入服务器。 在上述的相关技术中, 由于串口线程往往设置在操作系统层, 因而导致 虚拟串口网络架构不够清晰, 且不利于用户进行开发设计和维护监控。 发明内容 本发明的主要目的在于提供一种多虚拟串口系统及其实现方法, 以至少 解决上述的虚拟串口网络传输架构不够清晰, 且不利于用户进行监控开发和 设计维护的问题。 根据本发明的一个方面, 提供了一种多虚拟串口系统, 该多虚拟串口系 统包括多个串口管理模块, 位于多虚拟串口系统的应用层中, 用于调用对应 串口设备的串口资源进行串口通信, 其中, 串口资源位于多虚拟串口系统的 操作系统层中。 根据本发明的另一方面, 提供了一种多虚拟串口系统的通信方法, 该方 法包括: 多虚拟串口系统的应用层中的串口管理模块接收来自应用程序的串 口通信请求; 串口管理模块调用多虚拟串口系统的操作系统中的对应串口设 备的串口资源, 以进行串口通信请求所请求的串口通信。 通过本发明, 釆用包括以下结构的多虚拟串口系统: 多个串口管理模块, 位于所述多虚拟串口系统的应用层中, 用于调用对应串口设备的串口资源进 行串口通讯, 其中,所述串口资源位于所述多虚拟串口系统的操作系统层中 , 解决了虚拟串口网络传输架构不够清晰, 且不利于用户进行监控的问题, 进 而达到了使代码实现简洁、 虚拟串口数量多, 数据流量大的效果。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部 分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的 不当限定。 在附图中: 图 1是根据相关技术的串口组网的示意图; 图 2是才艮据本发明实施例的多虚拟串口系统的示意图; 图 3是才艮据本发明实施例的多虚拟串口系统的实现方法的流程图; 图 4是 居本发明实施例的多虚拟串口系统的通信方法的流程图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。 才艮据本发明实施例, 提供了一种多虚拟串口系统及其实现方法。 图 2是 居本发明实施例的多虚拟串口系统的示意图。 如图 2所示, 根据本发明实施例的多虚拟串口系统包括多个串口管理模 块, 该多个串口管理模块位于上述多虚拟串口系统的应用层中, 用于调用对 应串口设备的串口资源进行串口通信, 其中, 该串口资源位于上多虚拟串口 系统的操作系统层中。 该多个串口管理模块可以位于上述多虚拟串口系统的 应用层通信链路管理程序中, 某个串口管理模块与位于操作系统层虚拟串口 驱动程序中相应的串口资源进行数据交互通信。 如图 2所示, 在多虚拟串口系统中包括应用程序层, 操作系统层以及设 备数据层, 通信链路管理程序位于应用程序层之中。 在该实施例中, 由于多 个串口线程设置于通信链路管理程序中, 因而, 串口线程设置于应用程序层, 使代码实现简洁开发维护更加方便、 便于用户监控。 在下行方向, 串口 n应用打开串口行为、 关闭串口行为、 写入数据, 读 取数据与多虚拟串口系统的虚拟串口驱动程序中的对应串口设备资源产生交 互操作。 操作系统中的对应虚拟串口驱动程序通知多虚拟串口系统的应用层中的 串口管理模块以接收来自应用程序串口 n应用的串口通信请求。 在上行方向, 串口管理模块一旦接收到的网络设备的数据, 调用多虚拟 串口系统的操作系统中的对应串口设备的串口资源以产生网络侧的数据通 信, 从而由应用程序串口 n 应用读取网络侧的数据, 这样就完成网络设备 TCP/UDP通信到串口应用的上行数据交互。 应用程序串口 n应用与多虚拟串口系统的操作系统中的对应串口设备的 串口资源进行交互包括: 应用程序串口 n应用打开, 关闭, 读取, 写入等操 作与多虚拟串口系统的操作系统中的串口驱动实例号——对应, 同时, 的串 口驱动设置事件通知通信链路管理程序的串口管理模块, 因而, 应用程序串 口 n应用、 串口驱动资源和串口管理模块 对应。 这样实现了的应用程序 串口 n应用到的操作系统中的串口驱动,通信链路管理程序的串口管理模块, 网络设备的下行数据流动。 通信链路管理程序串口管理模块一旦接收到的网络设备侧的数据, 就会 调用多虚拟串口系统的操作系统中的对应串口设备的串口资源, 接着到达的 应用程序串口 n应用, 以进行网络设备通信请求的 TCP/UDP通信的上行数 据流动。 虚拟串口驱动的资源写数据区事件标志多次自动置位, 通知通信链路管 理程序的串口管理模块多次读取数据直至数据读完。 每当通信链路管理程序 第一次读操作行为发生后, 自动检测驱动的写数据环形緩存区是否存在有效 数据 , 如果存在, 则对写数据区事件标志再次置位, 自动重复置位直至数据 读出完毕。 位于多虚拟串口系统的应用层中的通信链路管理程序的多个串口管理模 块, 其线程处于通信链路管理程序的监控, 一旦线程退出, 监控狗自动重启 动该线程的串口管理模块。 虚拟串口驱动程序实现由 windows操作系统自身维护虚拟串口实例表, 釆用 IRP消息实现串口实例数量艮多, 数据流量 4艮大的月艮务器工作方式。 上述的串口资源可以为多个, 其中, 多个串口资源和多个串口管理模块 对应, 多个串口资源和多个串口应用程序 对应。 串口资源和多个串口管理模块之间可以釆用 I/O Request Package ( IRP, 输入 /输出请求包) 消息进行通信。 各个串口资源包括: 读数据緩存区、 写数据緩存区、 定时器资源、 事件 资源和锁资源。 上述的多虚拟串口系统还包括:多个读数据緩存区和多个写数据緩存区, 位于多虚拟串口系统的操作系统层中, 每个读数据緩存区和每个写数据緩存 区分别用于被一个串口管理模块访问。 本发明能够实现 windows 操作系统虚拟串口驱动和网络通信技术相结 合。 因而适用于 windows操作系统虚拟串口驱动, 网络通信的开发应用场合。 本发明能够实现 TCP/IP 网络通信系统替换串口通信系统, 保持应用软 件串口方式依然正常工作。 如图 1所示, 本发明釆用以下技术方案。 应用程序层是串口应用, 主要 是创建串口, 打开串口, 读取串口, 写入串口, 包括同步和异步方式操作, 如串口调试助手, 超级终端等。 操作系统层是操作系统自带的串口驱动或者 专业厂家提供的串口驱动程序。 硬件物理层是物理串口或者扩展物理串口, 提供一定数量的实际物理串口的电路芯片板。 设备数据层是指带有串口的各 种终端设备, 基于物理串口而形成的 RS232/RS422/RS485的网络。 本发明中虚拟串口驱动是一个可在 Windows平台计算机下操作的程序, 此驱动程序可以创造数个 "虚拟,, 的串行端口。 在串口应用程序看来, 这些 虚拟的串行端口跟物理的串行端口相同。 在应用程序编码中, 与传统的普通 物理串口的操作如打开串口, 读取数据, 写入数据, 以及同步与异步方式操 作都是一样。 对串口设备的各种参数读取或者设置, 可以通过 windows的相 关应用程序接口 ( Application Interface, 简称为 API )读取或者设置。 然后保 存到通信链路管理程序中, 并与设备数据层的网络 /串口转换设备的物理串口 产生交互, 这里有两种应用场景: 串口-网络和串口-网络-串口。 对前者处理 比较简单, 串口数据封装成 IP即可, 对后者则需要经过网络的传输后还原成 串口的过程。 进一步地, 串口应用程序对虚拟串口的操作, 如设置属性等, 最终会通过网络传输作用到对应的设备物理串口上, 通过网络的传输相当于 把串口线拉长了, 对串口应用而言看到的仍然是串口 -串口的点对点通信。 对比图 1和图 2可以看出, 原有的串口应用程序可以不故任何修改就可 以使用。 虚拟串口驱动与传统的物理串口驱动差异在于底层数据的传输。 在 应用程序层, 串口应用的各种软件, 通过相关 API对不同串口进行打开, 读 取, 写入数据等操作。 这些数据交互信息行为与驱动程序产生交互。 传统串 口驱动程序会因为这些不同操作行为去操作实际的物理串口芯片。 而虚拟串 口驱动程序对这些操作行为, 却是直接与应用程序层的通信链路管理程序产 生信息交互, 并由通信链路管理程序进一步与设备数据层的各类通信设备交 互工作, 这包括一般的网络设备, 网络 /串口转换设备。 这些数据交互是双向 的。 通信链路管理程序釆用不同的通信传输协议与各类通信设备通信, 包括 TCP server, TCP client, UDP等, 具体的协议类型软件可配置, 这样, 网路 的远距离传输等优势可以充分地体现出来。 所以不论串行设备或计算机串口 应用程序都无法辨别真实串行与虚拟串行传输的差异, 实现了透明传输。 对于虚拟串口驱动程序, 与现有技术相比较, 实现目的原理各个厂家差 异不大, 但设计方法多种多样, 也各有优缺点。 有的厂家是在内核驱动程序 中就实现了多线程, 同时对通信链路管理程序也提供了 windows相关 API的 支持, 串口应用程序和通信链路管理程序都可以通过标准的 API接口操作, 此方案的优点是程序架构清晰, 因使用标准 API接口访问从而方便第三方软 件开发使用。 在本发明的虚拟串口驱动设计中, 对每一个虚拟串口对应开辟一个串口 资源, 内核没有实现多线程, 但在通信链路管理程序釆用多线程技术, 每个 虚拟串口对应一个线程, 该线程仅负责对此虚拟串口资源的各种操作行为消 息交互, 同时与设备数据层的相关通信设备数据通信。 驱动程序釆用 IRP消 息驱动, 通过 windows操作系统自身对消息队列维护, 无论读和写环形数据 区都釆用事件通知方式, 多级环形緩存设计, 相对驱动多线程和共享内存等 方式的驱动程序, 结构合理, 逻辑高效, 代码简洁, 可维护性好。 此外, 由 windows操作系统自身维护虚拟串口实例表, 釆用 IRP消息可以实现串口实 例数量很多, 数据流量很大的服务器工作方式。 图 3是才艮据本发明实施例的多虚拟串口系统的实现方法的流程图。 如图 3所示, DriverEntry是驱动程序的入口, 虚拟串口方案主要实现步 骤如下: 步骤 S 1: AddDevice , 增加虚拟串口设备, 在该步骤中, 在内核驱动程 序中为该虚拟串口开辟一定大小的读数据緩存区和一定大小的写数据緩存 区, 以及其他相应的定时器 KTIMER, KEVENT, KSPIN LOCK 等系统资 源,4巴这些资源添加到虚拟串口设计结构体而生成的新实例( IoCreateDevice ) 维护指针中 , 同 时把该 串 口 实例挂载到设备栈资源管理链表
( IoAttachDeviceToDeviceStack ), 这个链表是系统运行维护的重要依据。 步骤 S2: IRP MJ WRITE 消息设计方法, VSerialWrite, 串口应用程序 使用 WriteFile 时, 就产生该写入数据消息。 在该消息方法中, 通过 loGetCurrentlrpStackLocation获取当前 IRP 消息的有关参数, 并拷贝该 IRP 消息的相应数据到写緩存数据区中, 写数据緩存数据区釆用环形管理, 具有 相应字节数量的緩存功能。 在 VSerialWrite 方法中, 每次写数据, 通过 KeSetEvent设置写数据区的事件标志, 用于表明写数据环形緩存区已经有了 数据到来。 步骤 S3 : 与此相应, 通信链路管理程序, 对该串口实例存在一个管理线 程。 该线程存在 while循环, 每当写数据緩存区有数据, 相应事件标志在驱 动程序中会被置位, WaitForSingleObject 返回, 由 DeviceloControl 设置 WDM IOCTL GET DATA读取虚拟串口驱动写緩存区的数据。 对应虚拟驱 动的写环形数据緩存区,通信链路管理程序中同时开辟了读数据环形緩存区, DeviceloControl的 IpOutBuffer为读緩存区指针, nOutBufferSize的数据长度 最大为该读数据区长度, 在此上限条件下可以自由设置, 如果虚拟驱动实例 的写数据区数据很多, 超过每次读取的长度, 写数据区事件标志多次置位, 则通信链路管理程序会多次读取数据直至数据读完。 这里涉及写数据区事件 标志如何自动重复置位问题, 每当通信链路管理程序第一次读操作行为发生 后, 自动检测驱动的写数据区是否存在有效数据, 如果存在, 则对写数据区 事件标志置位, 自动重复置位直至数据读出完毕。 其中, DeviceloControl是 windows操作系统自身的标准函数, WDM IOCTL GET DATA 同 windows 自身的驱动消息定义使用类似。 有效数据是指在读写緩存数据中, 一次没有 被读取过的数据, 一旦被读取过了, 就是无效数据。 步骤 S4: 通信链路管理程序根据与网络设备的配置对应关系, 因为是多 线程设计, 不需要维护查询较大的媒体转发表, 把驱动读出的数据发送到下 层相关网络设备, 这样实现了从串口应用程序, 串口虚拟驱动, 通信链路管 理程序, 网络 /串口设备的下行方向的数据流动。 步骤 S5: 相对应 IRP_MJ_READ消息方法设计, 通信链路管理程序, 对 应该串口实例维护一个线程。 该线程 while循环, 每当网络 /串口设备上传数 据时, 检测网络端口信息标志有数据到来, 就读取这些网络设备的数据到相 应緩存数据区中。 步骤 S6: 通信链路管理程序中, 一旦某线程读取到网络设备的数据, 该 线程则会通过 DeviceloControl, 虚拟串口描述符, WDM_IOCTL_SET_DATA 等参数把数据写入到虚拟串口的读环形緩存数据区。 同时, 虚拟串口驱动程 序会检测该串口实例如果存在 WaitOnMasklrp 消息和 WaitMask的标志位, 结束 WaitOnMasklrp消息, 设置接收数据标志, 表明已有数据到驱动的读环 形緩存区。 IOCTL_SERIAL_GET_COMMSTATUS消息中设置相关参数, 以 提供应用查询状态参数。 步 4聚 S7: IRP_MJ_READ消息设计方法, VSerialRead, 串口应用程序使 用 ReadFile时, 就产生该读取数据消息。 如果该虚拟串口实例的读环形数据 緩存区中存在数据, 就把这些数据拷贝到该 IRP的相应数据区, 如果该 IRP 消息产生时,读数据区不存在有效的数据, 则把该 IRP消息设置为挂起状态, 同时启动该虚拟串口的定时器, 为串口应用程序实现异步读取数据做准备。 步骤 S8: 当定时器超时到达时, 检查读取环形数据区是否存在有效的数 据, 如果存在, 把数据拷贝到上次挂起的 IRP消息的相应数据区。 同时, 把 上次挂起的 IRP消息清除。 如果没有数据, 也会清楚上次的 IRP消息。 该步 骤是串口应用异步读取数据的重要保证。 这样就可以实现同步或异步读取数 据。 通过上述相关步骤, 同时实现了网络 /串口设备, 通信链路管理程序, 串 口虚拟驱动串口应用程序的上行方向的数据流动。 此夕卜, 通信链路管理程序每个串口实例 CreateFile的 dwShareMode标志 位需要设置为 FILE SHARE READ | FILE SHARE WRITE , 只有这样, 才 可以同时操作该串口实例的句柄, 读写数据等多种操作。 同时在该部分程序 中, 分别开辟读取和写入环形緩存数据区。 配置一个串口实例可以对应多个 通信设备数据等, 实现信息交互。 图 4是 居本发明实施例的多虚拟串口系统的通信方法的流程图。 如图 4所示, 才艮据本发明实施例的多虚拟串口系统的通信方法包括: 步骤 S402,多虚拟串口系统的应用层中的串口管理模块接收来自应用程 序的串口通信请求。 步骤 S404 , 串口管理模块调用多虚拟串口系统的操作系统中的对应串口 设备的串口资源, 以进行串口通信请求所请求的串口通信。 串口管理模块调用多虚拟串口系统的操作系统中的对应串口设备的串口 资源包括: 串口管理模块调用多虚拟串口系统的操作系统中与串口管理模块 ——对应的串口资源, 其中, 多个串口资源和多个串口设备——对应。 优选地, 串口管理模块调用多虚拟串口系统的操作系统中的对应串口设 备的串口资源, 以进行串口通信请求所请求的串口通信包括: 应用程序利用 串口通信, 与串口设备交换数据。 上述方法还可以包括: 串口管理模块访问多虚拟串口系统中与其——对 应的读数据緩存区和写数据緩存区。 串口资源和多个串口管理模块之间可以釆用 IRP消息进行通信。 从以上的描述中, 可以看出, 本发明的技术方案具有如下优点:
1 ) 可以不用维护媒体转发表, 即虚拟串口设备和网络通信协议端口号 的对应表, 每个线程负责守护对应的套接字端口, 而线程与虚拟串口之间是 唯一绑定的, 较单线程查询媒体转发表方式效率要高。
2 ) 多线程虽然耗费更多的系统资源, 但由于分布式处理, 可靠性较单 线程集中式处理要高,单线程异常退出只会影响对应的虚拟串口业务流处理, 从而保证故障不扩散到全局。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可 以用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布 在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程 序代码来实现, 从而, 可以将它们存储在存储装置中由计算装置来执行, 并 且在某些情况下, 可以以不同于此处的顺序执行所示出或描述的步骤, 或者 将它们分别制作成各个集成电路模块, 或者将它们中的多个模块或步骤制作 成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件 结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本 领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的 ^"神和 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护 范围之内。

Claims

权 利 要 求 书
1. 一种多虚拟串口系统, 其特征在于, 包括:
多个串口管理模块, 位于所述多虚拟串口系统的应用层中, 用于调 用对应串口设备的串口资源进行串口通信, 其中, 所述串口资源位于所 述多虚拟串口系统的操作系统层中。
2. 根据权利要求 1所述的多虚拟串口系统, 其特征在于, 所述串口资源为 多个, 其中, 所述多个串口资源和所述多个串口管理模块——对应, 所 述多个串口资源和多个串口应用程序——对应。
3. 根据权利要求 2所述的多虚拟串口系统, 其特征在于, 所述串口资源和 所述多个串口管理模块之间釆用输入 /输出请求包 IRP消息进行通信。
4. 根据权利要求 2所述的多虚拟串口系统, 其特征在于, 各个所述串口资 源包括:
读数据緩存区、 写数据緩存区、 定时器资源、 事件资源和锁资源。
5. 根据权利要求 1所述的多虚拟串口系统, 其特征在于, 还包括:
多个读数据緩存区和多个写数据緩存区, 位于所述多虚拟串口系统 的操作系统层中, 每个所述读数据緩存区和每个所述写数据緩存区分别 用于被一个所述串口管理模块访问。
6. —种多虚拟串口系统的通信方法, 其特征在于, 包括:
所述多虚拟串口系统的应用层中的串口管理模块接收来自应用程序 的串口通信请求;
所述串口管理模块调用所述多虚拟串口系统的操作系统中的对应串 口设备的串口资源, 以进行所述串口通信请求所请求的串口通信。
7. 根据权利要求 6所述的方法, 其特征在于, 所述串口管理模块调用所述 多虚拟串口系统的操作系统中的对应串口设备的串口资源包括:
所述串口管理模块调用所述多虚拟串口系统的操作系统中与所述串 口管理模块——对应的串口资源, 其中, 所述多个串口资源和多个串口 应用程序 对应。
8. 根据权利要求 7所述的方法, 其特征在于, 所述串口管理模块调用所述 多虚拟串口系统的操作系统中的对应串口设备的串口资源, 以进行所述 串口通信请求所请求的串口通信包括:
所述应用程序利用所述串口通信, 与所述串口设备交换数据。
9. 根据权利要求 7所述的方法, 其特征在于, 还包括:
所述串口管理模块访问所述多虚拟串口系统中与其——对应的读数 据緩存区和写数据緩存区。
10. 根据权利要求 9所述的方法, 其特征在于, 所述串口资源包括事件资源, 所述串口管理模块访问所述多虚拟串口系统中与其——对应的读数据緩 存区和写数据緩存区包括: 对所述事件资源进行多次自动置位直到所述写数据緩存区中的数据 被访问完。
PCT/CN2010/077691 2010-07-15 2010-10-12 多虚拟串口系统及其通信方法 WO2012006824A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10854616.9A EP2495913B1 (en) 2010-07-15 2010-10-12 Multi-virtual serial port system and communication method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010232240.6 2010-07-15
CN2010102322406A CN101894041A (zh) 2010-07-15 2010-07-15 多虚拟串口系统及其通信方法

Publications (1)

Publication Number Publication Date
WO2012006824A1 true WO2012006824A1 (zh) 2012-01-19

Family

ID=43103239

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/077691 WO2012006824A1 (zh) 2010-07-15 2010-10-12 多虚拟串口系统及其通信方法

Country Status (3)

Country Link
EP (1) EP2495913B1 (zh)
CN (1) CN101894041A (zh)
WO (1) WO2012006824A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346344B2 (en) 2017-06-23 2019-07-09 Goertek Inc. Method, client device and data forwarding device for transmitting data through serial port
CN112306915A (zh) * 2020-10-26 2021-02-02 英业达科技有限公司 通信接口控制系统及其方法
CN113127286A (zh) * 2019-12-30 2021-07-16 深圳Tcl新技术有限公司 多串口通信的数据获取方法、装置、智能终端及存储介质
CN114553753A (zh) * 2022-01-07 2022-05-27 中信科移动通信技术股份有限公司 调测带串行通信接口的通信模块的方法、装置及系统
CN116668464A (zh) * 2023-07-27 2023-08-29 浙江简捷物联科技有限公司 一种多串口服务同步处理方法、装置、电子设备及介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567071A (zh) * 2010-12-15 2012-07-11 中兴通讯股份有限公司 一种虚拟串口系统及其通信方法
CN102546347B (zh) * 2010-12-17 2016-03-30 中兴通讯股份有限公司 基于proc技术的虚拟串口热插拔的实现方法及系统
CN103049401B (zh) * 2011-10-17 2018-02-06 康佳集团股份有限公司 一种控制外围串口设备的方法、系统及控制设备
CN103970584B (zh) * 2013-01-29 2018-01-16 合肥杰发科技有限公司 数据传输方法、多串口驱动器装置以及车载多媒体装置
CN103530159A (zh) * 2013-10-21 2014-01-22 深圳市中兴物联科技有限公司 无线通信模块的升级方法和系统
CN103595503B (zh) * 2013-10-25 2016-08-17 福建升腾资讯有限公司 一种基于串口装置的频率编解码通讯系统
CN104518998B (zh) * 2014-12-12 2018-04-27 北京海尔集成电路设计有限公司 一种两个芯片之间进行数据交换的方法
CN104506407A (zh) * 2014-12-25 2015-04-08 南京因泰莱电器股份有限公司 基于网络传输的串口联网实现方法
CN106529195A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种数据采集解析方法及装置
CN106649186A (zh) * 2016-12-12 2017-05-10 青岛海信电器股份有限公司 应用程序与串口外设的通信方法及装置
WO2018165900A1 (zh) * 2017-03-15 2018-09-20 深圳中兴力维技术有限公司 通信控制方法与控制装置
CN109213673A (zh) * 2017-07-07 2019-01-15 深圳市有方科技股份有限公司 一种基于串口仿真软件的开发方法和装置
CN107562670B (zh) * 2017-08-01 2020-05-12 杭州迪普科技股份有限公司 一种利用串口传输数据的方法及装置
CN109842601B (zh) * 2017-11-29 2023-09-19 中国科学院沈阳自动化研究所 载人潜水器串口数据采集与转发装置
CN111026561B (zh) * 2019-10-30 2022-11-08 烽火通信科技股份有限公司 一种云平台的数据通信方法、系统及计算机可读介质
CN112380096A (zh) * 2020-11-16 2021-02-19 南通先进通信技术研究院有限公司 一种基于虚拟串口的串口通信监视系统方法
CN114116577B (zh) * 2022-01-29 2022-05-03 南京沁恒微电子股份有限公司 Usb虚拟串口实时上传数据的方法及系统、usb主机
CN115374033B (zh) * 2022-10-25 2023-02-03 湖南戎腾网络科技有限公司 一种跨板多路串口访问装置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921431A (zh) * 2005-08-25 2007-02-28 四零四科技股份有限公司 虚拟连接端口
US20090046685A1 (en) * 2007-08-14 2009-02-19 Chen-Hua Chen Method and System for a Wireless Transmission over GPRS Communications Network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651111B2 (en) * 2001-02-16 2003-11-18 Microsoft Corporation System and method for managing a serial port
US6760804B1 (en) * 2001-09-11 2004-07-06 3Com Corporation Apparatus and method for providing an interface between legacy applications and a wireless communication network
US7228265B2 (en) * 2003-05-02 2007-06-05 Egenera, Inc. System and method for emulating serial port communication
CN1332291C (zh) * 2005-11-25 2007-08-15 北京中星微电子有限公司 虚拟串口装置和包括虚拟串口装置的移动通讯设备
US7570917B2 (en) * 2005-12-30 2009-08-04 Psion Teklogix Inc. Bluetooth communication through a single virtual port
KR100772872B1 (ko) * 2006-02-24 2007-11-02 삼성전자주식회사 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법
CN101178694A (zh) * 2006-11-07 2008-05-14 莱克斯信息技术(北京)有限公司 Intel e1000零拷贝的方法
CN101247600B (zh) * 2008-02-26 2012-06-06 中兴通讯股份有限公司 一种多模手机系统中实现多串口复用的装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921431A (zh) * 2005-08-25 2007-02-28 四零四科技股份有限公司 虚拟连接端口
US20090046685A1 (en) * 2007-08-14 2009-02-19 Chen-Hua Chen Method and System for a Wireless Transmission over GPRS Communications Network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CAO, GUIPING.: "Design for vxWorks Serial Port driver program.", MICROCOMPUTER APPLICATIONS., vol. 29, no. 11, November 2008 (2008-11-01), pages 72 - 76, XP008159771 *
NING, SHUANGLONG ET AL.: "Design and Application for Virtual Serial Port in Wireless Protocol Conversion System.", JOURNAL OF HANGZHOU DIANZI UNIVERSITY., vol. 29, no. 5, October 2009 (2009-10-01), pages 83 - 86, XP008159768 *
See also references of EP2495913A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346344B2 (en) 2017-06-23 2019-07-09 Goertek Inc. Method, client device and data forwarding device for transmitting data through serial port
CN113127286A (zh) * 2019-12-30 2021-07-16 深圳Tcl新技术有限公司 多串口通信的数据获取方法、装置、智能终端及存储介质
CN113127286B (zh) * 2019-12-30 2023-01-20 深圳Tcl新技术有限公司 多串口通信的数据获取方法、装置、智能终端及存储介质
CN112306915A (zh) * 2020-10-26 2021-02-02 英业达科技有限公司 通信接口控制系统及其方法
CN114553753A (zh) * 2022-01-07 2022-05-27 中信科移动通信技术股份有限公司 调测带串行通信接口的通信模块的方法、装置及系统
CN114553753B (zh) * 2022-01-07 2024-03-15 中信科移动通信技术股份有限公司 调测带串行通信接口的通信模块的方法、装置及系统
CN116668464A (zh) * 2023-07-27 2023-08-29 浙江简捷物联科技有限公司 一种多串口服务同步处理方法、装置、电子设备及介质
CN116668464B (zh) * 2023-07-27 2023-10-13 浙江简捷物联科技有限公司 一种多串口服务同步处理方法、装置、电子设备及介质

Also Published As

Publication number Publication date
EP2495913A1 (en) 2012-09-05
CN101894041A (zh) 2010-11-24
EP2495913A4 (en) 2014-11-19
EP2495913B1 (en) 2019-07-31

Similar Documents

Publication Publication Date Title
WO2012006824A1 (zh) 多虚拟串口系统及其通信方法
US20190306076A1 (en) Methods and apparatus for active queue management in user space networking
TWI257575B (en) Method of managing power state transitions, and associated apparatus and system thereof
AU2012384904B2 (en) Method, device, system and storage medium for implementing packet transmission in PCIE switching network
TWI244288B (en) Network interface and protocol
TWI239734B (en) Full hardware based TCP/IP traffic offload engine (TOE) device and method thereof
CN111970212A (zh) 一种基于tsn网络和opc ua架构的确定性通信系统
US20020091826A1 (en) Method and apparatus for interprocessor communication and peripheral sharing
WO2022001417A1 (zh) 一种数据传输方法、处理器系统及内存访问系统
US20040054837A1 (en) Controlling flow of data between data processing systems via a memory
US20040054822A1 (en) Transferring interrupts from a peripheral device to a host computer system
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
CN113067849B (zh) 基于Glusterfs的网络通信优化方法及装置
JP2005267118A (ja) シングルプロセッサ向けosによる並列処理システムにおけるプロセッサ間通信システム及びプログラム
KR101558289B1 (ko) 메시지 처리 파이프라인 구성
CN111966446A (zh) 一种容器环境下rdma虚拟化方法
CN111209123A (zh) 一种本地存储io协议栈数据交互方法和装置
CN112929418A (zh) 一种基于发布订阅的RapidIO高速通信方法及系统
CN1300661C (zh) 计算机系统及电源管理状态切换方法
CN110798366B (zh) 任务逻辑的处理方法、装置及设备
US20080313309A1 (en) Client-server data transfer control
WO2012171398A1 (zh) 实时处理系统中的共享资源访问方法和实时处理系统
Reinhardt et al. Mapping CAN-to-ethernet communication channels within virtualized embedded environments
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
JP5317185B2 (ja) ホットスタンバイシステム及びホットスタンバイ方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10854616

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010854616

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 3475/CHENP/2012

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE