CN101894041A - 多虚拟串口系统及其通信方法 - Google Patents
多虚拟串口系统及其通信方法 Download PDFInfo
- Publication number
- CN101894041A CN101894041A CN2010102322406A CN201010232240A CN101894041A CN 101894041 A CN101894041 A CN 101894041A CN 2010102322406 A CN2010102322406 A CN 2010102322406A CN 201010232240 A CN201010232240 A CN 201010232240A CN 101894041 A CN101894041 A CN 101894041A
- Authority
- CN
- China
- Prior art keywords
- serial
- serial ports
- serial port
- many virtual
- interface management
- 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/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
-
- 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/40032—Details regarding a bus interface enhancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种多虚拟串口系统及其通信方法。其中,该多虚拟串口系统包括多个串口管理模块,该串口管理模块位于所述多虚拟串口系统的应用层中,用于调用对应串口设备的串口资源进行串口通讯,其中,所述串口资源位于所述多虚拟串口系统的操作系统层中。通过本发明,能够使代码实现简洁,以及使虚拟串口数据的流量更大。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种多虚拟串口系统及其通信方法。
背景技术
通常,普通电脑上物理的串口资源有限,大多为1到2个(如com1、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消息实现串口实例数量很多,数据流量很大的服务器工作方式。
上述的串口资源可以为多个,其中,多个串口资源和多个串口管理模块一一对应,多个串口资源和多个串口应用程序一一对应。
串口资源和多个串口管理模块之间可以采用I/O Request Package(IRP,输入/输出请求包)消息进行通信。
各个串口资源包括以下至少之一:读数据缓存区、写数据缓存区、定时器资源、事件资源、锁资源。
上述的多虚拟串口系统还包括:多个读数据缓存区和多个写数据缓存区,位于多虚拟串口系统的操作系统层中,每个读数据缓存区和每个写数据缓存区分别用于被一个串口管理模块访问。
本发明能够实现windows操作系统虚拟串口驱动和网络通信技术相结合。因而适用于windows操作系统虚拟串口驱动,网络通信的开发应用场合。
本发明能够实现TCP/IP网络通信系统替换串口通信系统,保持应用软件串口方式依然正常工作。
如图1所示,本发明采用以下技术方案。应用程序层是串口应用,主要是创建串口,打开串口,读取串口,写入串口,包括同步和异步方式操作,如串口调试助手,超级终端等。操作系统层是操作系统自带的串口驱动或者专业厂家提供的串口驱动程序。硬件物理层是物理串口或者扩展物理串口,提供一定数量的实际物理串口的电路芯片板。设备数据层是指带有串口的各种终端设备,基于物理串口而形成的RS232/RS422/RS485的网络。
本发明中虚拟串口驱动是一个可在Windows平台计算机下操作的程序,此驱动程序可以创造数个“虚拟”的串行端口。在串口应用程序看来,这些虚拟的串行端口跟物理的串行端口相同。在应用程序编码中,与传统的普通物理串口的操作如打开串口,读取数据,写入数据,以及同步与异步方式操作都是一样。对串口设备的各种参数读取或者设置,可以通过windows的相关API读取或者设置。然后保存到通信链路管理程序中,并与设备数据层的网络/串口转换设备的物理串口产生交互,这里有两种应用场景:串口-网络和串口-网络-串口。对前者处理比较简单,串口数据封装成IP即可,对后者则需要经过网络的传输后还原成串口的过程。进一步地,串口应用程序对虚拟串口的操作,如设置属性等,最终会通过网络传输作用到对应的设备物理串口上,通过网络的传输相当于把串口线拉长了,对串口应用而言看到的仍然是串口-串口的点对点通信。
对比图1和图2可以看出,原有的串口应用程序可以不做任何修改就可以使用。虚拟串口驱动与传统的物理串口驱动差异在于底层数据的传输。在应用程序层,串口应用的各种软件,通过相关API对不同串口进行打开,读取,写入数据等操作。这些数据交互信息行为与驱动程序产生交互。传统串口驱动程序会因为这些不同操作行为去操作实际的物理串口芯片。而虚拟串口驱动程序对这些操作行为,却是直接与应用程序层的通信链路管理程序产生信息交互,并由通信链路管理程序进一步与设备数据层的各类通信设备交互工作,这包括一般的网络设备,网络/串口转换设备。这些数据交互是双向的。通信链路管理程序采用不同的通信传输协议与各类通信设备通信,包括TCP server,TCP client,UDP等,具体的协议类型软件可配置,这样,网路的远距离传输等优势可以充分地体现出来。所以不论串行设备或计算机串口应用程序都无法辨别真实串行与虚拟串行传输的差异,实现了透明传输。
对于虚拟串口驱动程序,与现有技术相比较,实现目的原理各个厂家差异不大,但设计方法多种多样,也各有优缺点。有的厂家是在内核驱动程序中就实现了多线程,同时对通信链路管理程序也提供了windows相关API的支持,串口应用程序和通信链路管理程序都可以通过标准的API接口操作,此方案的优点是程序架构清晰,因使用标准API接口访问从而方便第三方软件开发使用。
在本发明的虚拟串口驱动设计中,对每一个虚拟串口对应开辟一个串口资源,内核没有实现多线程,但在通信链路管理程序采用多线程技术,每个虚拟串口对应一个线程,该线程仅负责对此虚拟串口资源的各种操作行为消息交互,同时与设备数据层的相关通信设备数据通信。驱动程序采用IRP消息驱动,通过windows操作系统自身对消息队列维护,无论读和写环形数据区都采用事件通知方式,多级环形缓存设计,相对驱动多线程和共享内存等方式的驱动程序,结构合理,逻辑高效,代码简洁,可维护性好。此外,由windows操作系统自身维护虚拟串口实例表,采用IRP消息可以实现串口实例数量很多,数据流量很大的服务器工作方式。
图3是根据本发明实施例的多虚拟串口系统的实现方法的流程图。
如图3所示,DriverEntry是驱动程序的入口,虚拟串口方案主要实现步骤如下:
步骤S1:AddDevice,增加虚拟串口设备,在该步骤中,在内核驱动程序中为该虚拟串口开辟一定大小的读数据缓存区和一定大小的写数据缓存区,以及其他相应的定时器KTIMER,KEVENT,KSPIN_LOCK等系统资源,把这些资源添加到虚拟串口设计结构体而生成的新实例(IoCreateDevice)维护指针中,同时把该串口实例挂载到设备栈资源管理链表(IoAttachDeviceToDeviceStack),这个链表是系统运行维护的重要依据。
步骤S2:IRP_MJ_WRITE消息设计方法,VSerialWrite,串口应用程序使用WriteFile时,就产生该写入数据消息。在该消息方法中,通过IoGetCurrentIrpStackLocation获取当前IRP消息的有关参数,并拷贝该IRP消息的相应数据到写缓存数据区中,写数据缓存数据区采用环形管理,具有相应字节数量的缓存功能。在VSerialWrite方法中,每次写数据,通过KeSetEvent设置写数据区的事件标志,用于表明写数据环形缓存区已经有了数据到来。
步骤S3:与此相应,通信链路管理程序,对该串口实例存在一个管理线程。该线程存在while循环,每当写数据缓存区有数据,相应事件标志在驱动程序中会被置位,WaitForSingleObject返回,由DeviceIoControl设置WDM_IOCTL_GET_DATA读取虚拟串口驱动写缓存区的数据。对应虚拟驱动的写环形数据缓存区,通信链路管理程序中同时开辟了读数据环形缓存区,DeviceIoControl的lpOutBuffer为读缓存区指针,nOutBufferSize的数据长度最大为该读数据区长度,在此上限条件下可以自由设置,如果虚拟驱动实例的写数据区数据很多,超过每次读取的长度,写数据区事件标志多次置位,则通信链路管理程序会多次读取数据直至数据读完。这里涉及写数据区事件标志如何自动重复置位问题,每当通信链路管理程序第一次读操作行为发生后,自动检测驱动的写数据区是否存在有效数据,如果存在,则对写数据区事件标志置位,自动重复置位直至数据读出完毕。其中,DeviceIoControl是windows操作系统自身的标准函数,WDM_IOCTL_GET_DATA同windows自身的驱动消息定义使用类似。有效数据是指在读写缓存数据中,一次没有被读取过的数据,一旦被读取过了,就是无效数据。
步骤S4:通信链路管理程序根据与网络设备的配置对应关系,因为是多线程设计,不需要维护查询较大的媒体转发表,把驱动读出的数据发送到下层相关网络设备,这样实现了从串口应用程序,串口虚拟驱动,通信链路管理程序,网络/串口设备的下行方向的数据流动。
步骤S5:相对应IRP_MJ_READ消息方法设计,通信链路管理程序,对应该串口实例维护一个线程。该线程while循环,每当网络/串口设备上传数据时,检测网络端口信息标志有数据到来,就读取这些网络设备的数据到相应缓存数据区中。
步骤S6:通信链路管理程序中,一旦某线程读取到网络设备的数据,该线程则会通过DeviceIoComrol,虚拟串口描述符,WDM_IOCTL_SET_DATA等参数把数据写入到虚拟串口的读环形缓存数据区。同时,虚拟串口驱动程序会检测该串口实例如果存在WaitOnMaskIrp消息和WaitMask的标志位,结束WaitOnMaskIrp消息,设置接收数据标志,表明已有数据到驱动的读环形缓存区。IOCTL_SERIAL_GET_COMMSTATUS消息中设置相关参数,以提供应用查询状态参数。
步骤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 (10)
1.一种多虚拟串口系统,其特征在于,包括:
多个串口管理模块,位于所述多虚拟串口系统的应用层中,用于调用对应串口设备的串口资源进行串口通信,其中,所述串口资源位于所述多虚拟串口系统的操作系统层中。
2.根据权利要求1所述的多虚拟串口系统,其特征在于,所述串口资源为多个,其中,所述多个串口资源和所述多个串口管理模块一一对应,所述多个串口资源和多个串口应用程序一一对应。
3.根据权利要求2所述的多虚拟串口系统,其特征在于,所述串口资源和所述多个串口管理模块之间采用IRP消息进行通信。
4.根据权利要求2所述的多虚拟串口系统,其特征在于,各个所述串口资源包括以下至少之一:
读数据缓存区、写数据缓存区、定时器资源、事件资源、锁资源。
5.根据权利要求1所述的多虚拟串口系统,其特征在于,还包括:
多个读数据缓存区和多个写数据缓存区,位于所述多虚拟串口系统的操作系统层中,每个所述读数据缓存区和每个所述写数据缓存区分别用于被一个所述串口管理模块访问。
6.一种多虚拟串口系统的通信方法,其特征在于,包括:
所述多虚拟串口系统的应用层中的串口管理模块接收来自应用程序的串口通信请求;
所述串口管理模块调用所述多虚拟串口系统的操作系统中的对应串口设备的串口资源,以进行所述串口通信请求所请求的串口通信。
7.根据权利要求6所述的方法,其特征在于,所述串口管理模块调用所述多虚拟串口系统的操作系统中的对应串口设备的串口资源包括:
所述串口管理模块调用所述多虚拟串口系统的操作系统中与所述串口管理模块一一对应的串口资源,其中,所述多个串口资源和多个串口应用程序一一对应。
8.根据权利要求7所述的方法,其特征在于,所述串口管理模块调用所述多虚拟串口系统的操作系统中的对应串口设备的串口资源,以进行所述串口通信请求所请求的串口通信包括:
所述应用程序利用所述串口通信,与所述串口设备交换数据。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述串口管理模块访问所述多虚拟串口系统中与其一一对应的读数据缓存区和写数据缓存区。
10.根据权利要求9所述的方法,其特征在于,所述串口资源包括事件资源,所述串口管理模块访问所述多虚拟串口系统中与其一一对应的读数据缓存区和写数据缓存区包括:
对所述事件资源进行多次自动置位直到所述写数据缓存区中的数据被访问完。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102322406A CN101894041A (zh) | 2010-07-15 | 2010-07-15 | 多虚拟串口系统及其通信方法 |
PCT/CN2010/077691 WO2012006824A1 (zh) | 2010-07-15 | 2010-10-12 | 多虚拟串口系统及其通信方法 |
EP10854616.9A EP2495913B1 (en) | 2010-07-15 | 2010-10-12 | Multi-virtual serial port system and communication method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102322406A CN101894041A (zh) | 2010-07-15 | 2010-07-15 | 多虚拟串口系统及其通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101894041A true CN101894041A (zh) | 2010-11-24 |
Family
ID=43103239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102322406A Pending CN101894041A (zh) | 2010-07-15 | 2010-07-15 | 多虚拟串口系统及其通信方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2495913B1 (zh) |
CN (1) | CN101894041A (zh) |
WO (1) | WO2012006824A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079401A1 (zh) * | 2010-12-15 | 2012-06-21 | 中兴通讯股份有限公司 | 一种虚拟串口系统及其通信方法 |
CN102546347A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 基于proc技术的虚拟串口热插拔的实现方法及系统 |
CN103530159A (zh) * | 2013-10-21 | 2014-01-22 | 深圳市中兴物联科技有限公司 | 无线通信模块的升级方法和系统 |
CN103970584A (zh) * | 2013-01-29 | 2014-08-06 | 杰发科技(合肥)有限公司 | 数据传输方法、多串口驱动器装置以及车载多媒体装置 |
CN104506407A (zh) * | 2014-12-25 | 2015-04-08 | 南京因泰莱电器股份有限公司 | 基于网络传输的串口联网实现方法 |
CN104518998A (zh) * | 2014-12-12 | 2015-04-15 | 北京海尔集成电路设计有限公司 | 一种两个芯片之间进行数据交换的方法 |
CN106529195A (zh) * | 2016-12-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种数据采集解析方法及装置 |
CN106649186A (zh) * | 2016-12-12 | 2017-05-10 | 青岛海信电器股份有限公司 | 应用程序与串口外设的通信方法及装置 |
CN107562670A (zh) * | 2017-08-01 | 2018-01-09 | 杭州迪普科技股份有限公司 | 一种利用串口传输数据的方法及装置 |
CN107729264A (zh) * | 2011-10-17 | 2018-02-23 | 康佳集团股份有限公司 | 一种控制外围串口设备的方法 |
CN108235802A (zh) * | 2017-03-15 | 2018-06-29 | 深圳中兴力维技术有限公司 | 通信控制方法与控制装置 |
WO2018232899A1 (zh) * | 2017-06-23 | 2018-12-27 | 歌尔股份有限公司 | 通过串口传输数据的方法、客户端装置及数据转发装置 |
CN109213673A (zh) * | 2017-07-07 | 2019-01-15 | 深圳市有方科技股份有限公司 | 一种基于串口仿真软件的开发方法和装置 |
CN111026561A (zh) * | 2019-10-30 | 2020-04-17 | 烽火通信科技股份有限公司 | 一种云平台的数据通信方法、系统及计算机可读介质 |
CN112380096A (zh) * | 2020-11-16 | 2021-02-19 | 南通先进通信技术研究院有限公司 | 一种基于虚拟串口的串口通信监视系统方法 |
CN113127286A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 多串口通信的数据获取方法、装置、智能终端及存储介质 |
CN113868063A (zh) * | 2021-09-30 | 2021-12-31 | 中国电子科技集团公司第五十八研究所 | 多板卡多通道串口卡的验证方法及验证系统 |
CN115374033A (zh) * | 2022-10-25 | 2022-11-22 | 湖南戎腾网络科技有限公司 | 一种跨板多路串口访问装置及方法 |
WO2023142301A1 (zh) * | 2022-01-29 | 2023-08-03 | 南京沁恒微电子股份有限公司 | Usb虚拟串口实时上传数据的方法及系统、usb主机 |
CN117971525A (zh) * | 2024-04-01 | 2024-05-03 | 江苏小牛电子科技有限公司 | 一种串口多路通信方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595503B (zh) * | 2013-10-25 | 2016-08-17 | 福建升腾资讯有限公司 | 一种基于串口装置的频率编解码通讯系统 |
CN109842601B (zh) * | 2017-11-29 | 2023-09-19 | 中国科学院沈阳自动化研究所 | 载人潜水器串口数据采集与转发装置 |
CN112306915A (zh) * | 2020-10-26 | 2021-02-02 | 英业达科技有限公司 | 通信接口控制系统及其方法 |
CN114553753B (zh) * | 2022-01-07 | 2024-03-15 | 中信科移动通信技术股份有限公司 | 调测带串行通信接口的通信模块的方法、装置及系统 |
CN116668464B (zh) * | 2023-07-27 | 2023-10-13 | 浙江简捷物联科技有限公司 | 一种多串口服务同步处理方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220795A1 (en) * | 2003-05-02 | 2004-11-04 | Egenera, Inc. | System and method for emulating serial port communication |
CN1758187A (zh) * | 2005-11-25 | 2006-04-12 | 北京中星微电子有限公司 | 虚拟串口装置 |
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
CN101247600A (zh) * | 2008-02-26 | 2008-08-20 | 中兴通讯股份有限公司 | 一种多模手机系统中实现多串口复用的装置 |
Family Cites Families (6)
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 |
US20070050525A1 (en) * | 2005-08-25 | 2007-03-01 | Moxa Technologies Co., Ltd. | [virtual com port for remote i/o controller] |
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 | 삼성전자주식회사 | 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법 |
TW200908613A (en) * | 2007-08-14 | 2009-02-16 | Nxn Technology Co Ltd | Method and system for a wireless transmission over GPRS communications network |
-
2010
- 2010-07-15 CN CN2010102322406A patent/CN101894041A/zh active Pending
- 2010-10-12 EP EP10854616.9A patent/EP2495913B1/en not_active Not-in-force
- 2010-10-12 WO PCT/CN2010/077691 patent/WO2012006824A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220795A1 (en) * | 2003-05-02 | 2004-11-04 | Egenera, Inc. | System and method for emulating serial port communication |
CN1758187A (zh) * | 2005-11-25 | 2006-04-12 | 北京中星微电子有限公司 | 虚拟串口装置 |
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
CN101247600A (zh) * | 2008-02-26 | 2008-08-20 | 中兴通讯股份有限公司 | 一种多模手机系统中实现多串口复用的装置 |
Non-Patent Citations (2)
Title |
---|
宁双龙等: "无线协议转换系统中虚拟串口的设计与应用", 《杭州电子科技大学学报》 * |
王军等: "多线程技术在虚拟多串口通信中的应用", 《计算机与数字工程》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079401A1 (zh) * | 2010-12-15 | 2012-06-21 | 中兴通讯股份有限公司 | 一种虚拟串口系统及其通信方法 |
CN102546347A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 基于proc技术的虚拟串口热插拔的实现方法及系统 |
CN107729264B (zh) * | 2011-10-17 | 2020-06-16 | 康佳集团股份有限公司 | 一种控制外围串口设备的方法 |
CN107729264A (zh) * | 2011-10-17 | 2018-02-23 | 康佳集团股份有限公司 | 一种控制外围串口设备的方法 |
CN103970584B (zh) * | 2013-01-29 | 2018-01-16 | 合肥杰发科技有限公司 | 数据传输方法、多串口驱动器装置以及车载多媒体装置 |
CN103970584A (zh) * | 2013-01-29 | 2014-08-06 | 杰发科技(合肥)有限公司 | 数据传输方法、多串口驱动器装置以及车载多媒体装置 |
CN103530159A (zh) * | 2013-10-21 | 2014-01-22 | 深圳市中兴物联科技有限公司 | 无线通信模块的升级方法和系统 |
CN104518998A (zh) * | 2014-12-12 | 2015-04-15 | 北京海尔集成电路设计有限公司 | 一种两个芯片之间进行数据交换的方法 |
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 | 青岛海信电器股份有限公司 | 应用程序与串口外设的通信方法及装置 |
CN108235802A (zh) * | 2017-03-15 | 2018-06-29 | 深圳中兴力维技术有限公司 | 通信控制方法与控制装置 |
WO2018232899A1 (zh) * | 2017-06-23 | 2018-12-27 | 歌尔股份有限公司 | 通过串口传输数据的方法、客户端装置及数据转发装置 |
CN109213673A (zh) * | 2017-07-07 | 2019-01-15 | 深圳市有方科技股份有限公司 | 一种基于串口仿真软件的开发方法和装置 |
CN107562670B (zh) * | 2017-08-01 | 2020-05-12 | 杭州迪普科技股份有限公司 | 一种利用串口传输数据的方法及装置 |
CN107562670A (zh) * | 2017-08-01 | 2018-01-09 | 杭州迪普科技股份有限公司 | 一种利用串口传输数据的方法及装置 |
CN111026561B (zh) * | 2019-10-30 | 2022-11-08 | 烽火通信科技股份有限公司 | 一种云平台的数据通信方法、系统及计算机可读介质 |
CN111026561A (zh) * | 2019-10-30 | 2020-04-17 | 烽火通信科技股份有限公司 | 一种云平台的数据通信方法、系统及计算机可读介质 |
CN113127286A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 多串口通信的数据获取方法、装置、智能终端及存储介质 |
CN113127286B (zh) * | 2019-12-30 | 2023-01-20 | 深圳Tcl新技术有限公司 | 多串口通信的数据获取方法、装置、智能终端及存储介质 |
CN112380096A (zh) * | 2020-11-16 | 2021-02-19 | 南通先进通信技术研究院有限公司 | 一种基于虚拟串口的串口通信监视系统方法 |
CN113868063A (zh) * | 2021-09-30 | 2021-12-31 | 中国电子科技集团公司第五十八研究所 | 多板卡多通道串口卡的验证方法及验证系统 |
CN113868063B (zh) * | 2021-09-30 | 2024-05-14 | 中国电子科技集团公司第五十八研究所 | 多板卡多通道串口卡的验证方法及验证系统 |
WO2023142301A1 (zh) * | 2022-01-29 | 2023-08-03 | 南京沁恒微电子股份有限公司 | Usb虚拟串口实时上传数据的方法及系统、usb主机 |
GB2618707A (en) * | 2022-01-29 | 2023-11-15 | Nanjing Qinheng Microelectronics Co Ltd | Method and system for real-time data uploading by USB virtual serial port, and USB host |
GB2618707B (en) * | 2022-01-29 | 2024-04-03 | Nanjing Qinheng Microelectronics Co Ltd | Method and system for real-time data uploading by USB virtual serial port and USB host |
CN115374033A (zh) * | 2022-10-25 | 2022-11-22 | 湖南戎腾网络科技有限公司 | 一种跨板多路串口访问装置及方法 |
CN117971525A (zh) * | 2024-04-01 | 2024-05-03 | 江苏小牛电子科技有限公司 | 一种串口多路通信方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2495913B1 (en) | 2019-07-31 |
EP2495913A1 (en) | 2012-09-05 |
WO2012006824A1 (zh) | 2012-01-19 |
EP2495913A4 (en) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101894041A (zh) | 多虚拟串口系统及其通信方法 | |
CN101859263B (zh) | 一种支持在线迁移的虚拟机间快速通信方法 | |
Li et al. | Socksdirect: Datacenter sockets can be fast and compatible | |
Baskett et al. | Task communication in DEMOS | |
CN103634150B (zh) | 一种冗余的高安全性can总线通信方法 | |
CN103049268B (zh) | 一种基于Naplet的应用开发管理系统 | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
CN102693162A (zh) | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
CN103455380A (zh) | 多进程通信系统及其建立和通信方法 | |
CN113852656B (zh) | 一种数据传输方法、处理器系统及内存访问系统 | |
CN101286830A (zh) | 用于卡件的基于双核控制器的双冗余高速io网络系统 | |
CN103593189A (zh) | 一种嵌入式Linux下用户态驱动程序的实现方法 | |
CN101957808A (zh) | 多cpu间的通信方法、系统及cpu | |
CN103558812B (zh) | 基于fpga和arm的mvb网络四类设备网卡 | |
CN103051683B (zh) | 一种虚拟电表集抄集中器的创建方法 | |
CN100452757C (zh) | 报文转发方法和装置 | |
EP1561163A2 (en) | A communication method with reduced response time in a distributed data processing system | |
CN100409150C (zh) | 一种提高hid设备通讯速度的方法 | |
CN103019809A (zh) | 业务处理装置和方法、及业务处理控制装置 | |
CN103995789A (zh) | 一种直接内存存取的实现系统及方法 | |
CN2684479Y (zh) | 单向连接网络安全隔离装置 | |
CN100518193C (zh) | 用于为命令/响应对的多重交换跟踪及监视多个逻辑流的小程序执行的系统 | |
CN100538690C (zh) | 一种多cpu系统及cpu之间消息传递的方法 | |
CN108389131A (zh) | 一种金融系统微服务交易监控实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101124 |