一种Linux系统下提升usb批量传输速度的方法及系统技术方案

技术编号:24352963 阅读:38 留言:0更新日期:2020-06-03 01:58
一种Linux系统下提升usb批量传输速度的方法,该方法包括以下步骤:发送多个urb请求;在struct usbdevfs_urb结构体的usercontext填充循环标号;调用接收数据的ioctl函数,接收系统传输的结果数据urb;回传urb的usercontext的循环标号;利用循环标号继续发送多个urb请求。本发明专利技术实施例还包括一种Linux系统下提升usb批量传输速度的系统。系统的urb队列中会有多个urb请求,对应的该usb总线上会传输多个我们的usb数据包,一方面提高了总线使用率,使系统尽快与usb设备通信,另一方面,urb请求一次性批量出现在队列中,usb数据包也大批量存在于该usb设备所在总线中,会使得系统和硬件优先处理该usb传输请求,后处理其他usb设备的请求,从而提高该usb设备的传输速度。

A method and system of improving USB batch transfer speed under Linux system

【技术实现步骤摘要】
一种Linux系统下提升usb批量传输速度的方法及系统
本专利技术涉及通信传输
,具体地说是一种Linux系统下提升usb批量传输速度的方法及系统。
技术介绍
Linux系统访问usb设备有两种方式:编写内核驱动模块ko和在用户空间编写程序,通过内核提供的usbfs功能访问usb设备两种方案。编写用户空间程序相对于内核模块有很多优势(用户程序开发可选库多,开发便捷,对系统的影响比内核模块小,不会因为程序出错导致整个系统崩溃等等),因此越来越多人选择用户空间程序来编写usb“设备驱动”访问usb设备。在Linux系统下一般选择使用libusb开源库(http://libusb.info)来编写用户空间的usb驱动程序。libusb作为通用usb库,支持多平台使用(windows、Linux、OSX等),因为需要兼顾多种平台、多种使用方式,libusb库在某些条件要求严格的环境下,性能上会有达不到要求的情况,在进行批量传输需要快速发送、接收大量数据时,效率不高。
技术实现思路
本专利技术的目的在于提供一种Linux本文档来自技高网...

【技术保护点】
1.一种Linux系统下提升usb批量传输速度的方法,其特征是,该方法包括以下步骤:/n发送多个urb请求;/n在struct usbdevfs_urb结构体的usercontext填充循环标号;/n调用接收数据的ioctl函数,接收系统传输的结果数据urb;/n回传urb的usercontext的循环标号;/n利用循环标号继续发送多个urb请求。/n

【技术特征摘要】
1.一种Linux系统下提升usb批量传输速度的方法,其特征是,该方法包括以下步骤:
发送多个urb请求;
在structusbdevfs_urb结构体的usercontext填充循环标号;
调用接收数据的ioctl函数,接收系统传输的结果数据urb;
回传urb的usercontext的循环标号;
利用循环标号继续发送多个urb请求。


2.根据权利要求1所述的方法,其特征是,在上述方法中,urb请求队列中的urb请求...

【专利技术属性】
技术研发人员:苗功勋谷涛刘晓萌魏东晓孙强
申请(专利权)人:中孚安全技术有限公司中孚信息股份有限公司北京中孚泰和科技发展股份有限公司南京中孚信息技术有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1