[发明专利]USB虚拟串口实时上传数据的方法及系统、USB主机有效
申请号: | 202210110028.5 | 申请日: | 2022-01-29 |
公开(公告)号: | CN114116577B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 王春华 | 申请(专利权)人: | 南京沁恒微电子股份有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40;G06F13/42 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210012 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | usb 虚拟 串口 实时 上传 数据 方法 系统 主机 | ||
本发明公开了一种USB虚拟串口实时上传数据的方法及系统、USB主机,虚拟串口驱动创建接收线程,预置多个USB事务,USB事务为USB批量上传请求包,USB批量上传请求包请求上传的长度为批量端点大小,将多个USB事务提交至USB主机驱动,当接收线程接收到返回的数据包时,将返回的数据包传至串口应用层缓存,并立即申请新的USB事务,提交至USB主机驱动;USB主机驱动执行USB事务队列中排列第一的USB事务,当接收到USB设备发出的数据后,数据满足批量端点大小时,结束该USB事务并返回数据包至接收线程,立即执行USB事务队列中下一个USB事务。本发明提高了USB虚拟串口传输数据的实时性及传输效率。
技术领域
本发明属于数据通信技术领域,尤其涉及一种USB虚拟串口实时上传数据的方法及系统、USB主机。
背景技术
随着科技的不断进步,电脑上的接口越来越高速和小型化,对于电子产品中仍在广泛使用的UART串口,因串口插座体积和通讯速度等原因,已基本不集成。目前主要是通过现有广泛流行的PC总线接口USB/PCI/E进行扩展。而USB因热插拔特性和USB口数量的优势,USB虚拟串口已成为扩展串口的主要方式,但USB全速(12M)和高速(480M)通讯速率与串口的波特率(9600/115200)已相差至少上千倍,有很多应用对串口数据间隔时间依然保留这个要求,这给USB虚拟串口的兼容性带来挑战。
串口的低速特性会导致每个字节传输时间会较长,如常用115200bps,1ms约11个字节,如接收到64个字节需要约6ms;如果是9600bps,则1ms约1个字节,如接收64个字节则需要64ms。
USB通讯机制,全部由USB主机发起,USB从机无法主动发起通讯,且以定时帧加各传输类型以块传输形式(BULK)加限定带宽的方式来保证高速通讯。如USB全速,每1ms批量端点的带宽会限制在1023字节,对于USB传输而言,以块的方式来保证传输速度,每次块传输的事以Bulk的端点大小为基本单位。如图1所示,USB主机发起640字节的请求,USB传输将拆分多包处理执行,640字节=10*64,因此会拆出10个64字节端点大小的包,待USB事务将640字节的数据收满后,回复请求给USB主机。如图2所示,是端点大小设为32字节的场景,USB主机发起320字节的请求,USB传输将拆分多包处理执行,320字节=10*32,因此会拆出10个32字节端点大小的包,待USB事务将320字节的数据收满后,回复请求给USB主机。
实现USB虚拟串口功能,存在以下几个困难:
1、串口和USB速度有较大差异,串口以字节流方式传输,USB全速以最快1ms的间隔时间传输USB请求和数据;
2、串口数据碎片化和USB块传输有冲突,为提高串口数据到达上层的及时性,就需要USB虚拟串口驱动以最快的速度频繁发起USB BLUK IN事务,以提高串口数据到上层的实时性。
3、USB批量端点传输的实时性又无法充分保障,因为USB批量传输的带宽为USB主机统筹管理,不受控制。如果此时有设备进行高速通讯,就会造成一定时间内USB BULK IN事务无法发起。且驱动程序无法干预统筹。
发明内容
发明目的:为了解决现有技术中串口和USB传输速度差异大、串口数据碎片化与USB块传输冲突导致的虚拟串口传输数据及时性差的问题,本发明提供一种USB虚拟串口实时上传数据的方法及系统、USB主机。
技术方案:一种USB虚拟串口实时上传数据的方法,包括以下步骤:
虚拟串口驱动创建接收线程,所述接收线程预置多个USB事务,所述USB事务为USB批量上传请求包,所述USB批量上传请求包请求上传的长度为批量端点大小,将多个USB事务提交至USB主机驱动,循环执行缓存并申请步骤;
所述缓存并申请步骤包括:当接收线程接收到返回的数据包时,将返回的数据包传至串口应用层缓存,并立即申请新的USB事务,提交至USB主机驱动;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京沁恒微电子股份有限公司,未经南京沁恒微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210110028.5/2.html,转载请声明来源钻瓜专利网。