CN115357535A - 一种虚拟串口设计方法及装置 - Google Patents

一种虚拟串口设计方法及装置 Download PDF

Info

Publication number
CN115357535A
CN115357535A CN202210916288.1A CN202210916288A CN115357535A CN 115357535 A CN115357535 A CN 115357535A CN 202210916288 A CN202210916288 A CN 202210916288A CN 115357535 A CN115357535 A CN 115357535A
Authority
CN
China
Prior art keywords
serial port
data
virtual serial
buffer area
frame
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
CN202210916288.1A
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.)
Shenzhen Clou Electronics Co Ltd
Original Assignee
Shenzhen Clou Electronics 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 Shenzhen Clou Electronics Co Ltd filed Critical Shenzhen Clou Electronics Co Ltd
Priority to CN202210916288.1A priority Critical patent/CN115357535A/zh
Publication of CN115357535A publication Critical patent/CN115357535A/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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

本发明公开了一种虚拟串口设计方法及装置,该方法包括以下步骤:S1.接收外部设备发送的枚举信息;S2.根据接收到的枚举信息生成多路虚拟串口,根据不同的应用需求对多路虚拟串口进行分配;S3.接收多路虚拟串口通路上用于传输需求指令的数据帧,将其预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;S4.将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。本发明所提供的一种虚拟串口设计方法和装置,最多能够实现七路虚拟串口,扩展了串口资源,可以应用于国网数据一体化抄表业务之中,降低了成本,同时还设置有备用通道,为之后升级留有空间。

Description

一种虚拟串口设计方法及装置
技术领域
本发明属于通信技术领域,具体涉及一种虚拟串口设计方法及装置。
背景技术
为满足国网新型融合终端中所需的串口资源,在串口资源本身有限的情况下,除常用的蓝牙、红外等等串口业务之外,还需要实现其它不同路的串口通信需求,因而可以通过USB虚拟串口技术,实现一路USB虚拟出多路串口资源,并且将这些虚拟出来的串口进行分配及管理,从而达到不同的需求。
然而在现有的虚拟串口技术中,一路USB只能虚拟3-5路串口,远远达不到国网新型融合终端对串口资源的使用要求。现提出一种虚拟串口设计方法及装置来解决上述提出的问题。
发明内容
本发明提供了一种虚拟串口设计方法及装置,以解决现有技术中一路USB只能虚拟3-5路串口,串口资源不足的问题。
为了解决上述技术问题,本发明提供的一种虚拟串口设计方法,包括以下步骤:
S1.接收外部设备发送的枚举信息;
S2.根据接收到的枚举信息生成多路虚拟串口,根据不同的应用需求对多路虚拟串口进行分配;
S3.接收多路虚拟串口通路上用于传输需求指令的数据帧,将其预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
S4.将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
进一步地,所述待清分文件包括待清分源文件和其转换生成的.chk结尾的待清分签名文件;所述分账结果文件包括分账结果源文件和其转换生成的.chk结尾的分账结果签名文件。
进一步地,所述步骤S1具体包括:
S10.接入外部设备,获取外部设备的设备描述符;
S11.确认设备描述符无误后,依次获取外部设备的配置描述符、接口描述符、端点描述符、字符串描述符,并对获取得到的描述符进行数据配置;
S12.获取外部设备的描述信息,对虚拟串口进行初始配置。
进一步地,所述描述信息包括外部设备的波特率和奇偶校验信息。
进一步地,所述步骤S2具体包括:
S20.接收外部设备发送的枚举信息,确认枚举信息符合USB协议格式要求后,根据接收到的枚举信息生成多路虚拟串口;
S21.根据不同的应用需求对生成的多路虚拟串口进行分配;其中,不同的应用需求包括模组管理需求、遥信数据管控需求、抄表业务需求、和备用升级需求。
进一步地,所述步骤S3具体包括:
S30.获取多路虚拟串口通路上用于传输需求指令的数据帧,数据帧长度记为Len;
S31.将步骤S30中获取的数据帧预存至第一缓冲区,其中单次数据帧接收长度recv_length≤32,此时剩余数据帧长度Len’=Len-32;
S32.将第一缓冲区内预存的数据帧逐步拷贝至对应通路的第二缓冲区中备用。
进一步地,所述步骤S4具体包括:
S40.通过读写下标偏移逐步将第二缓冲区内存储的数据帧逐步偏移,直至剩余数据帧长度Len’=0;
S41.结合应用需求所对应的应用协议对取出的数据帧进行校验,校验通过后结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据;
S42.将回帧数据以32字节为最大长度批量写入发送缓冲区后,传输至对应的应用需求方。
进一步地,每路虚拟串口均设置有第一缓冲区和第二缓冲区。
进一步地,根据接收到的枚举信息最多可生成7路虚拟串口。
进一步地,第二缓冲区设置有2048个字节。
本发明还提供了一种虚拟串口设计装置,所述装置包括数据传输模块、虚拟串口管理模块、数据处理模块、业务应用模块;
所述数据传输模块用于接收外部设备发送的枚举信息;
所述虚拟串口管理模块用于根据接收到的枚举信息生成多路虚拟串口,根据业务应用模块的不同应用需求对多路虚拟串口进行分配;
所述数据传输模块还用于接收所述业务应用模块向对应虚拟串口通路传输需求指令的数据帧,所述数据处理模块用于将数据帧预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
所述数据处理模块还用于将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
与现有技术相比,本发明所提供的一种虚拟串口设计方法和装置,最多能够实现七路虚拟串口,扩展了串口资源,可以应用于国网数据一体化抄表业务之中,极大的降低了成本,优化了效率,同时还设置有备用通道,为以后的升级留有空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟串口设计方法的示意图;
图2是本发明实施例提供的一种虚拟串口设计方法的流程图;
图3是本发明实施例提供的一种虚拟串口设计方法步骤S1的流程图;
图4是本发明实施例提供的一种虚拟串口设计方法步骤S2的流程图;
图5是本发明实施例提供的一种虚拟串口设计方法步骤S3的流程图;
图6是本发明实施例提供的一种虚拟串口设计方法步骤S4的流程图;
图7是本发明实施例提供的一种虚拟串口设计装置的模块图;
图8是本发明实施例提供的一种虚拟串口设计装置的信息交互图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。
请参照图1-图6,为了解决现有技术中一路USB只能虚拟3-5路串口,串口资源不足的问题,本发明提供了一种虚拟串口设计方法,该方法包含步骤:
S1.接收外部设备发送的枚举信息;
其中,步骤S1具体包含:
S10.接入外部设备,获取外部设备的设备描述符;
S11.确认设备描述符无误后,依次获取外部设备的配置描述符、接口描述符、端点描述符、字符串描述符,并对获取得到的描述符进行数据配置;
S12.获取外部设备的描述信息,对虚拟串口进行初始配置。
本发明实施例中使用到的USB通讯端分为Host主机端和Device设备端,为了便于区分,在下文说明书的描述中将Host主机端描述为主机端,将Device设备端描述为外部设备或者是设备端。首先,设备端提前配置好描述符信息,接入主机端中,主机端接收设备端发送的枚举信息并根据该枚举信息生成7路虚拟串口。
具体的枚举过程如下:主机端检测到设备端接入后,会向设备端的零端点发送获取设备描述符的标准请求,设备端接收到请求之后,将设备描述符发送给主机端,主机端确认接收到的设备描述符格式准确后,对其进行正确应答;再获取设备端的配置描述符,并根据配置描述符来分配设备端在总线中的地址等信息,虚拟出7路串口;再获取设备端的接口描述符和端点描述符,用于完善每路串口每个端点的通信地址、传输方式、最大传输长度等信息;之后再获取设备端的字符串描述符,获取设备端的Line_Coding即各串口的波特率、奇偶验证等信息,对虚拟串口进行初始配置,同时对虚拟出的串口配置初始默认通讯参数。
常见的标准描述符一般都包含上述的设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。
其中,设备描述符给出了设备端的一般信息,包括对设备及在设备配置中起到全程信息的作用,包括制造商标识号ID、产品序列号、所述设备类号、默认端点的最大包长度和配置描述符的个数等,设备端必须有且仅有一个设备描述符,设备描述符也是将设备端连接到主机端时,主机端所读取的第一个描述符,设备描述符的实现脚本如下:
Figure BDA0003775774920000051
Figure BDA0003775774920000061
配置描述符中包含了一个或多个接口描述符,主机端根据配置描述符来分配设备端在总线中的地址等信息,接口描述符的实现脚本如下:
Figure BDA0003775774920000062
端点是主机端和设备端之间进行数据传输的逻辑接口,除配置使用的端点0为双向端口外,同时端点0还是默认的控制型端点,一般一个设备端只有一个控制端点,其余端点均为单向端口,接口描述符和端点描述符描述了数据的传输类型、传输方向、数据包大小和端点号(也可以称之为端点地址)等信息,主机端通过该默认的控制型端点0向设备端发送命令,获取设备端的各种描述符的信息,并通过该默认的控制型端点0完善每个端点的通信地址、传输方式、最大传输长度等信息。
其中,控制型端点0的实现脚本如下:
Figure BDA0003775774920000071
进一步地,字符串描述符是一种可选的标准描述符,它描述了如制造商、设备名称或序列号等信息,由于字符串描述符是可选的,因此当设备端没有字符串描述符时,其它描述符中与该字符串相关的牵引值都必须为0。
本发明实施例中,字符串使用的是Unicode编码,主机端请示得到某个字符串描述符时一般分成两步:首先主机端向设备被发出标准命令Get_Descriptor,其中所使用的字符串的索引值为0,之后再由设备端返回一个字符串描述符。
需要进行说明的是,在本发明实施例中,设备端设置有16个端点,其中包括8个IN和8个OUT,除去上述设置的端点0为默认的控制型端点外,剩余端点可以分配为7对输入输出,因此在理想状态下,最大可虚拟出的串口数量为7路。
进一步地,关于上述提到的控制端点描述符和输入输出端点描述符,其中控制端点配置为中断模式,输入输出端点配置为批量传输模式,这些配置信息会在枚举的过程中由设备端传输至主机端,由主机端对虚拟串口进行初始配置,同时对虚拟出的串口配置初始默认通讯参数。
S2.根据接收到的枚举信息生成多路虚拟串口,根据不同的应用需求对多路虚拟串口进行分配;
其中,步骤S2具体包括:
S20.接收外部设备发送的枚举信息,确认枚举信息符合USB协议格式要求后,根据接收到的枚举信息生成多路虚拟串口;
S21.根据不同的应用需求对生成的多路虚拟串口进行分配;其中,不同的应用需求包括模组管理需求、遥信数据管控需求、抄表业务需求、和备用升级需求。
具体的,主机端接收设备端发送的枚举信息,当主机端检测到相关枚举信息后,若该枚举信息符合USB协议格式要求,使用dmesg则会正确的显示出相关驱动节点信息,且在终端/dev下可以发现ttyACM类串口字符设备。
主机端根据符合USB协议格式要求的枚举信息生成7路虚拟串口,并根据不同的应用需求对生成的7路虚拟串口通道进行分配。其中,本发明实施例提供的可供分配的通道有管理通道、遥信通道、四路485抄表通道以及备用通道,当然本领域技术人员可以根据实际的应用需求对生成的7路虚拟串口进行分配;此外,上述分配的管理通道、遥信通道、四路485抄表通道以及备用通道是并行通道,可以同时传输数据实现其相应功能。
S3.接收多路虚拟串口通路上用于传输需求指令的数据帧,将其预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
其中,步骤S3具体包括:
S30.获取多路虚拟串口通路上用于传输需求指令的数据帧,数据帧长度记为Len;
S31.将步骤S30中获取的数据帧预存至第一缓冲区,其中单次数据帧接收长度recv_length≤32,此时剩余数据帧长度Len’=Len-32;
S32.将第一缓冲区内预存的数据帧逐步拷贝至对应通路的第二缓冲区中备用。
具体的,每一各虚拟串口都有一个对应的串口数据管理缓冲区域,即7路虚拟串口对应有7路串口数据管理缓冲区域,在进行数据传输的过程中,对应通路的微应用发送数据帧,这里提到的微应用对应的是实现上述管理通道、遥信通道、四路485抄表通道以及备用通道的应用端,由对应通路的应用端向主机端发送数据帧,将该数据帧长度记为Len,
对应通路批量接收传输通路上用于传输应用端指令的数据帧,并将获取到的数据帧预存至usb_recv_buffer缓冲之中,即第一缓冲区中,其中单次数据帧的接收长度最大为32字节,即recv_length≤32,此时剩余的数据帧长度Len’=Len-32。
之后将第一缓冲区内预存的数据帧通过读写下标偏移的方式逐步拷贝至bComRbuf缓冲之中,即第二缓冲区中备用。
需要进行说明的是,第二缓冲区也可以称为循环缓冲区,此缓冲区大小设计为2048字节,足够实现虚拟通路中数据传输的功能,不会出现把数据帧预存起来但还未读取处理就被覆盖了的情况,而且本发明实施例中利用读写下标偏移来控制第一缓冲区和第二缓冲区数据帧的处理,可以更有效的管理应用端传输过来的数据帧。
由于本发明实施例中使用到的设备端本身的端点逻辑缓冲为512字节,而所有的端点共同使用这512字节,理论上使用的端点越多,分配到每个端点的缓冲长度越小,光本实施例中7路虚拟串口的收发端点就使用了14*32=448字节长度,而且设置的控制型端点0的数据传输也是在使用此缓冲,因此设计上最为合适的单次数据帧的接收长度最大为32字节即recv_length≤32,以确保7路虚拟串口的输入输出及控制端点都能使用该512字节的正常逻辑缓冲。
因此,当虚拟通路来大量数据时,单次数据帧的接收长度最大为32字节,因此主机端不可能接收一帧数据就处理及判断这一帧数据是何种协议,做何种应用,面对多个通路都陆续有数据到来时,来一帧处理一帧数据,这种方法必然是行不通的,因此为了确保所有的数据都能有效的得到处理,最合适的方法就是先将数据预存至第一缓冲区内,之后再将第一缓冲区内预存的数据帧通过读写下标的方式逐步拷贝至第二缓冲区中备用,实际应用过程中,整个预存以及拷贝的过程都是很快的,不会影响到与应用端之间的数据传输,应当理解的是,每路虚拟串口都设置有第一缓冲区和第二缓冲区。
S4.将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
其中,步骤S4具体包括:
S40.通过读写下标偏移逐步将第二缓冲区内存储的数据帧逐步偏移,直至剩余数据帧长度Len’=0;
S41.结合应用需求所对应的应用协议对取出的数据帧进行校验,校验通过后结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据;
S42.将回帧数据以32字节为最大长度批量写入发送缓冲区后,传输至对应的应用需求方。
当传输的数据帧进入处理时,则将第二缓冲区内未被处理的数据取出,通过读写下标偏移逐步将第二缓冲区内存储的数据帧逐步偏移,直至剩余数据帧长度Len’=0,随后结合实际应用的数据协议对取出的数据帧先进行校验,等校验通过后结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据,并将回帧数据传输至对应的应用端。
进一步地,本发明实施例是根据具体的应用场景做出了相应的应用场景设计,如根据国网的传输需求,按照国网模组协议,接收对应通路上的协议数据,结合国网的应用协议对数据进行处理,生后回帧数据后传输至国网方,即对微应用端发送的数据做出了响应回复;如接收遥信数据采集APP的数据,或者是接收485抄表APP的数据,同时还提供有备用通道,为后续的功能升级留有空间。
需要进行说明的是,上述提到的国网传输需求、国网模组协议、遥信数据采集APP以及485抄表APP都是本领域中所能应用到的现有技术,应当理解的是,这里的举例是为了更好的解释说明,同时重在阐述相较现有技术本发明实施例可以实现7路虚拟串口,并不代表本发明虚拟出的7路串口只能作此应用。
基于上述虚拟串口设计方法,本发明实施例还提供了一种虚拟串口设计装置,请参考图7-图8,该装置包括数据传输模块、虚拟串口管理模块、数据处理模块、业务应用模块。
数据传输模块用于接收外部设备发送的枚举信息;
具体的,主机端接入设备端后,由数据传输模块获取设备端的设备描述符;
主机端确认该设备描述符无误后,再依次获取设备端的配置描述符、接口描述符、端点描述符和字符串描述符。
虚拟串口管理模块用于根据接收到的枚举信息生成多路虚拟串口,根据业务应用模块的不同应用需求对多路虚拟串口进行分配;
具体的,主机端接收设备端发送的枚举信息,确认该枚举信息符合USB协议格式要求后,由虚拟串口管理模块根据接收到的枚举信息生成7路虚拟串口;
虚拟串口管理模块根据不同的应用需求对生成的多路虚拟串口进行分配。
数据传输模块还用于接收业务应用模块向对应虚拟串口通路传输需求指令的数据帧,数据处理模块用于将数据帧预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
其中,业务应用模块包括模组管理业务、遥信数据管控业务、抄表业务、备用升级业务。
具体的,数据传输模块还用于获取多路虚拟串口通路上用于传输需求指令的数据帧,数据帧长度记为Len;数据处理模块用于将获取的数据帧预存至第一缓冲区,其中单次数据帧接收长度recv_length≤32,此时剩余数据帧长度Len’=Len-32;数据处理模块还用于将第一缓冲区内预存的数据帧逐步拷贝至对应通路的第二缓冲区中备用。
数据处理模块还用于将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
具体的,数据处理模块通过通过读写下标偏移逐步将第二缓冲区内存储的数据帧逐步偏移,直至剩余数据帧长度Len’=0;还用于结合应用需求所对应的应用协议对取出的数据帧进行校验,校验通过后结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据;数据传输模块用于将生成的回传数据传输至业务应用模块,以实现业务端的工作需求。
本发明提供的一种虚拟串口设计方法及装置,最多能够实现七路虚拟串口,扩展了串口资源,可以应用于国网数据一体化抄表业务之中,极大的降低了成本,优化了效率,同时还设置有备用通道,为以后的升级留有空间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种虚拟串口设计方法,其特征在于,包括以下步骤:
S1.接收外部设备发送的枚举信息;
S2.根据接收到的枚举信息生成多路虚拟串口,根据不同的应用需求对多路虚拟串口进行分配;
S3.接收多路虚拟串口通路上用于传输需求指令的数据帧,将其预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
S4.将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
2.如权利要求1所述的一种虚拟串口设计方法,其特征在于,所述步骤S1具体包括:
S10.接入外部设备,获取外部设备的设备描述符;
S11.确认设备描述符无误后,依次获取外部设备的配置描述符、接口描述符、端点描述符、字符串描述符。
3.如权利要求2所述的一种虚拟串口设计方法,其特征在于,所述描述信息包括外部设备的波特率和奇偶校验信息。
4.如权利要求1所述的一种虚拟串口设计方法,其特征在于,所述步骤S2具体包括:
S20.接收外部设备发送的枚举信息,确认枚举信息符合USB协议格式要求后,根据接收到的枚举信息生成多路虚拟串口;
S21.根据不同的应用需求对生成的多路虚拟串口进行分配;其中,不同的应用需求包括模组管理需求、遥信数据管控需求、抄表业务需求、和备用升级需求。
5.如权利要求1所述的一种虚拟串口设计方法,其特征在于,所述步骤S3具体包括:
S30.获取多路虚拟串口通路上用于传输需求指令的数据帧,数据帧长度记为Len;
S31.将步骤S30中获取的数据帧预存至第一缓冲区,其中单次数据帧接收长度recv_length≤32,此时剩余数据帧长度Len’=Len-32;
S32.将第一缓冲区内预存的数据帧逐步拷贝至对应通路的第二缓冲区中备用。
6.如权利要求5所述的一种虚拟串口设计方法,其特征在于,所述步骤S4具体包括:
S40.通过读写下标偏移逐步将第二缓冲区内存储的数据帧逐步偏移,直至剩余数据帧长度Len’=0;
S41.结合应用需求所对应的应用协议对取出的数据帧进行校验,校验通过后结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据;
S42.将回帧数据以32字节为最大长度批量写入发送缓冲区后,传输至对应的应用需求方。
7.如权利要求5所述的一种虚拟串口设计方法,其特征在于,每路虚拟串口均设置有第一缓冲区和第二缓冲区。
8.如权利要求1所述的一种虚拟串口设计方法,其特征在于,根据接收到的枚举信息最多可生成7路虚拟串口。
9.如权利要求1所述的一种虚拟串口设计方法,其特征在于,第二缓冲区设置有2048个字节。
10.一种虚拟串口设计装置,其特征在于,包括数据传输模块、虚拟串口管理模块、数据处理模块、业务应用模块;
所述数据传输模块用于接收外部设备发送的枚举信息;
所述虚拟串口管理模块用于根据接收到的枚举信息生成多路虚拟串口,根据业务应用模块的不同应用需求对多路虚拟串口进行分配;
所述数据传输模块还用于接收所述业务应用模块向对应虚拟串口通路传输需求指令的数据帧,所述数据处理模块用于将数据帧预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;
所述数据处理模块还用于将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。
CN202210916288.1A 2022-08-01 2022-08-01 一种虚拟串口设计方法及装置 Pending CN115357535A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210916288.1A CN115357535A (zh) 2022-08-01 2022-08-01 一种虚拟串口设计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210916288.1A CN115357535A (zh) 2022-08-01 2022-08-01 一种虚拟串口设计方法及装置

Publications (1)

Publication Number Publication Date
CN115357535A true CN115357535A (zh) 2022-11-18

Family

ID=84031876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210916288.1A Pending CN115357535A (zh) 2022-08-01 2022-08-01 一种虚拟串口设计方法及装置

Country Status (1)

Country Link
CN (1) CN115357535A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112581A (zh) * 2022-12-27 2023-05-12 卡斯柯信号有限公司 一种串口通信大数据分包传输与处理方法、设备及介质
CN116909962A (zh) * 2023-06-06 2023-10-20 麦格纳汽车镜像(天津)有限公司 适用于usb扫码枪的数据传输方法、装置、电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112581A (zh) * 2022-12-27 2023-05-12 卡斯柯信号有限公司 一种串口通信大数据分包传输与处理方法、设备及介质
CN116909962A (zh) * 2023-06-06 2023-10-20 麦格纳汽车镜像(天津)有限公司 适用于usb扫码枪的数据传输方法、装置、电子设备

Similar Documents

Publication Publication Date Title
EP1750401B1 (en) USB 1.1 over a high speed link
CN115357535A (zh) 一种虚拟串口设计方法及装置
US10261930B2 (en) System, device and method for transmitting signals between different communication interfaces
US7200641B1 (en) Method and system for encoding SCSI requests for transmission using TCP/IP
US7320071B1 (en) Secure universal serial bus
US8819125B2 (en) Method of transmitting data of USB device to server, and client terminal performing the method
JPH07325767A (ja) 入出力通信サブシステム及び方法
CN102598625B (zh) 利用通用即插即用在输入系统改变输入类型的方法和装置
US8566416B2 (en) Method and system for accessing storage device
CN102073611A (zh) 一种i2c总线控制系统及方法
CN105786732A (zh) 数据访问方法及装置
CN105630718A (zh) 提供主机即时切换分享通用串行总线电子设备的电子装置
US9760315B2 (en) Dynamic device allocation apparatus, dynamic device allocation system, dynamic device allocation method and storage medium storing dynamic device allocation program
US10135752B2 (en) Expansion device for virtual interface and network server system thereof
CN1609819B (zh) 一种计算机外围设备接口的测试方法
CN102932193A (zh) 一种网络设备、管理终端及配置管理系统
CN109753461B (zh) 一种dma设备及数据传输的方法
CN106874792A (zh) 一种电子签名方法及电子签名终端
US10599588B1 (en) Interconnection of peripheral devices on different electronic devices
CN108132900A (zh) 转接设备、远程通信系统以及数据传输方法
CN104660403A (zh) 一种设备授权方法及服务器
US11520728B2 (en) Techniques for configuring endpoints within a USB extension environment
TWI345711B (zh)
CN102693206B (zh) 在终点中无线usb同步的缓冲器管理
CN115454895A (zh) 一种usb接口扩展方法、系统、设备及可读存储介质

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