预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115357535A(43)申请公布日2022.11.18(21)申请号202210916288.1(22)申请日2022.08.01(71)申请人深圳市科陆电子科技股份有限公司地址518000广东省深圳市光明区玉塘街道田寮社区光侨路高科科技园第1栋425(72)发明人丁毅珲贾俊瑞吴钧霈(74)专利代理机构深圳国新南方知识产权代理有限公司44374专利代理师张亚娟(51)Int.Cl.G06F13/38(2006.01)G06F13/42(2006.01)权利要求书2页说明书8页附图4页(54)发明名称一种虚拟串口设计方法及装置(57)摘要本发明公开了一种虚拟串口设计方法及装置,该方法包括以下步骤:S1.接收外部设备发送的枚举信息;S2.根据接收到的枚举信息生成多路虚拟串口,根据不同的应用需求对多路虚拟串口进行分配;S3.接收多路虚拟串口通路上用于传输需求指令的数据帧,将其预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;S4.将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,并生成回帧数据。本发明所提供的一种虚拟串口设计方法和装置,最多能够实现七路虚拟串口,扩展了串口资源,可以应用于国网数据一体化抄表业务之中,降低了成本,同时还设置有备用通道,为之后升级留有空间。CN115357535ACN115357535A权利要求书1/2页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.一种虚拟串口设计装置,其特征在于,包括数据传输模块、虚拟串口管理模块、数据处理模块、业务应用模块;2CN115357535A权利要求书2/2页所述数据传输模块用于接收外部设备发送的枚举信息;所述虚拟串口管理模块用于根据接收到的枚举信息生成多路虚拟串口,根据业务应用模块的不同应用需求对多路虚拟串口进行分配;所述数据传输模块还用于接收所述业务应用模块向对应虚拟串口通路传输需求指令的数据帧,所述数据处理模块用于将数据帧预存至对应通路的第一缓冲区,并将第一缓冲区内预存的数据帧逐步拷贝至第二缓冲区;所述数据处理模块还用于将第二缓冲区内存储的数据帧逐步偏移,结合应用需求所对应的应用协议对其进行数据处理,