CN109426643A - Usb接口请求调度方法、装置及设备 - Google Patents
Usb接口请求调度方法、装置及设备 Download PDFInfo
- Publication number
- CN109426643A CN109426643A CN201710743636.9A CN201710743636A CN109426643A CN 109426643 A CN109426643 A CN 109426643A CN 201710743636 A CN201710743636 A CN 201710743636A CN 109426643 A CN109426643 A CN 109426643A
- Authority
- CN
- China
- Prior art keywords
- usb
- interface
- usb interface
- scheduling
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种USB接口请求调度方法、装置及USB多接口复合设备,该方法包括:接收所述USB接口的数据传输请求,并判断所述USB接口的类型;根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。在本发明中,通过根据USB接口的不同类型,采用不同的频率对该接口的请求进行灵活调度,提高了USB接口的效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种USB(Universal Serial Bus,通用串行总线)接口请求调度方法、装置及USB多接口复合设备。
背景技术
随着无线通讯技术的发展,数据传输的速度越来越快。目前LTE(Long TermEvolution,长期演进)CAT(Category)6的理论下行速率可以达到300M,LTE CAT 11下行速率达到了600M,未来LTE的下行速率可能更快。目前大多数无线数据模块/数据卡类设备均使用USB接口与主机相连,因此,USB接口的效率对实现整机速率最优至关重要。
以USB 2.0结合LTE CAT 6模块为例,由于USB 2.0的理论带宽是480M,考虑减去USB协议等损耗,结合实际测量,这个值应该在320~350M之间。而LTE模块的端口形态除了用于网络数据传输的NDIS(Network Driver Interface Specification,网络驱动接口规范)等网卡接口外,还有用于发送AT(Attention,一种通讯指令)的AT接口,用于传输诊断信息的DIAG(Diagnostics)口,以及用于调试的ADB(Android Debug Bridge,安卓调试桥)接口等,即,现有的支持LTE CAT6的多接口USB设备是一个典型的USB复合设备。由于USB接口实质上采用的是一种轮询机制,每个接口在工作时都要不停的往USB控制器上下发读(Read)的URB(USB Request Block)请求,这就意味着即使这个接口上没有数据传输也会占用不少的USB总线资源。由此可见,现有的支持LTE CAT6的多接口USB复合设备,由于AT/ADB/DIAG等端口的总线操作会影响网络端口的数据传输效率,使得下载速率低于无线网络理论值300M,从而影响设备整体性能。
发明内容
本发明提供了一种USB接口请求调度方法、装置及USB多接口复合设备,以至少解决相关技术中USB接口效率的问题。
根据本发明的一个方面,提供一种USB接口请求调度方法,包括:接收所述USB接口的数据传输请求,并判断所述USB接口的类型;根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
根据本发明的另一方面,还提供一种USB接口请求调度装置,包括:接收模块,用于接收所述USB接口的数据传输请求,并判断所述USB接口的类型;调度模块,用于根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
根据本发明的又一方面,还提供一种USB多接口复合设备,包括:中央处理器CPU和USB控制器,USB控制器通过外设部件互连标准PCI总线与所述CPU相连,其中,所述USB控制器包括USB请求块调度器和USB物理层接口,其中,所述USB请求块调度器,用于接收USB多接口复合设备的用户驱动下发的URB请求,并根据所述USB URB请求中携带的接口类型,采用对应的调度频率将所述URB请求发送至所述USB物理层接口。
根据本发明的又一方面,还提供一种USB接口请求调度方法,包括:在所述USB接口的调度时刻到来时,判断USB总线上是否有需要读取的数据;根据判断结果动态地调整所述USB接口的下一次调度间隔时长。
在本发明上述实施例中,根据USB接口的不同类型,采用不同的频率对该接口的请求进行灵活调度,提高了USB接口的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的USB设备硬件总线示意图;
图2是根据相关技术的USB设备驱动软件结构示意图;
图3是根据本发明实施例的USB系统结构示意图;
图4是根据本发明实施例的USB接口请求调度方法流程图;
图5是根据本发明实施例一的USB接口的URB调度流程图;
图6是根据本发明实施例三的USB接口的URB调度流程图;
图7是根据本发明实施例五的USB接口的URB调度流程图;
图8是根据本发明实施例六的USB系统结构示意图;
图9是根据本发明实施例的USB接口请求调度装置结构示意图;
图10是根据本发明实施例的USB多接口复合设备结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
目前在通讯设备领域,尤其是LTE数据卡类/模块类设备大都采用USB接口技术与主机(Host)相连,由于通讯设备的复杂性,LTE无线模块往往是一种USB复合设备,即它不仅提供用于网络数据传输的NDIS接口,也提供其它的用于控制或者调试的USB接口,例如,用于发送AT命令的AT接口,用于调试的ADB接口以及用于诊断日志(Log)传输的DIAG接口等。
USB协议规范定义了4中传输模式:控制传输、批量(Bulk)传输、同步传输和中断传输。如上所述、无线模块中DIAG/AT/NDIS/ADB接口在数据传输中均基于Bulk传输模式,每个接口提供1个bulk in端点和1个bulk out端点。这就意味着从USB层面4个接口并没差异,数据传输的调度机制以及USB资源分配并无差别。然而,USB接口技术的读操作本质上是一种轮询机制,主机侧的端口驱动并不知道设备何时会发送数据,所以就需要不停的向USB总线发送读令牌包(In Token)。如果设备是一个多接口的USB复合设备,每个接口均会频繁地产生In Token,占用了大量USB总线资源。
在无线通讯领域,当LTE无线模块的下行速率非常接近USB物理接口最大速率时,此时以上所述的USB轮询机制对网络接口的数据传输影响就非常明显,在主机侧多个接口同时使用时往往造成下行速率低于LTE理论速率,对设备性能造成了很大影响。
图1为USB设备硬件总线示意图,如图1所示,中央处理器(CPU)与内存储器相连,包括USB控制器在内的外围控制器通过外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线与CPU相连,USB设备通过USB控制器接入系统之中,运行中的系统软件存储在内存储器中,CPU读取内存储器中的软件指令执行相应的命令,包括控制USB设备、存取USB设备等等。
目前主流的USB控制器不仅支持USB 2.0设备,也支持USB 1.1和USB 3.0/3.1等设备,所以USB控制器内部包含多种主机控制器接口(Host Controller Interface)类型。例如,包括USB 2.0设备使用的增强型主机控制器接口(Enhanced Host ControllerInterface,EHCI)、USB1.1设备使用的开放式主机控制器接口/通用主机控制器接口(OpenHost Controller Interface/Universal Host Controller Interface,OHCI/UHCI)和USB3.0/3.1设备使用的可扩展的主机控制器接口(eXtensible Host Controller Interface,XHCI),在下面的描述中,将这些接口统一称之为USB物理层(USB physical layer,USBPHY)。
图2为USB设备驱动软件架构图,如图2所示,根据USB设备的类型不同,系统软件层面分别加载UHCI/OHCI和EHCI的驱动软件,USBD软件负责向用户驱动(Client Driver)提供统一的USB总线操作方法。其中,Client Driver是设备功能驱动的统称,在USB系统架构中,如果当前的USB设备是一个单接口的功能设备,那么Client Driver就只有一个;如果当前的USB设备是一个包含了多个接口的复合设备,那么每个功能接口都会对应一个ClientDriver。
在主机USB驱动软件设计中,所有的USB操作都会以USB请求块(USB RequestBlock,URB)的形式下发给USB总线,USB总线驱动(USBD)再转换为USB PHY可以识别的硬件操作指令。影响无线数据传输下行速率主要是各个端口的IN方向的URB,频繁的URB操作会严重影响USB PHY的性能,从而影响设备最终性能。
本专利将对各接口下发的URB按照权重系统规则,重新调配URB的工作方式,以减少USB PHY的负载,将对网络传输接口的影响降到最低。
图3为根据本发明实施例的USB系统框图,如图3所示,在本发明实施例中,在Client Driver与USB总线驱动(USBD)之间增加一个调度器,称之为USB URB调度器(USBURB Scheduler)。USB设备工作时,所有的URB请求都会首先交由USB URB Scheduler来进行统一地调度,根据一定的算法规则决定调度发往USB PHY。所以USB URB Scheduler包括执行体和算法体两个部分,USB URB Schedule和Client Driver的配合机制以及USB URBSchedule中的算法机制将在下面的实施例中具体描述。
在本实施例中提供了一种USB接口的数据传输请求调度方法,图4是根据本发明实施例的USB接口的数据传输请求调度流程图,如图4所示,该流程包括如下步骤:
步骤S402,接收所述USB接口驱动下发的数据传输请求,并判断所述USB接口的类型;
步骤S404,根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
在上述实施例中,通过根据USB接口的不同类型,采用不同的频率对该接口的请求进行灵活调度,提高了USB接口的效率。
实施例一
在本实施例中,USB多接口复合设备在与主机通讯过程中,USB URB scheduler判断每个URB对应的功能接口类型,对其进行不同的处理,流程如下:
步骤S501:USB多接口复合设备的每个接口所使用的功能驱动在产生URB的同时为其做出标记;
步骤S502:USB URB scheduler在接收到URB的时候根据其标记判断出所对应的接口以及功能;
步骤S503:USB URB scheduler根据每个接口功能对通讯效率的不同要求采用不同的调度频率。如果该URB对应接口的功能对通讯效率要求不高,例如,对实时性和时延不敏感,则可延迟一段时间再将该URB发送到USB总线,即,可通过增加该接口URB调度的调度间隔时长减小其调度频率。如果该URB对应接口的功能对通讯效率有很高的要求,例如,对实时性和时延敏感,则缩小该接口的调度间隔时长,以便立即将该URB发送到USB总线。
通过本实施例,可以显著提升USB多接口复合设备中某一特定接口的通讯效率,提升用户体验。
实施例二
本实施例主要从时间调度算法的角度进行详细的说明。在数据通信中,数据传输往往具有以下两个特性:突发性和集中性。
突发性意味着数据的产生不可预估,所以URB的时间间隔不宜过长,以免造成数据的延误和丢失;集中性意味着数据传输往往是集中的,所以设置固定的URB时间间隔也会造成空闲时的浪费。
下面是本专利实施例中URB调度时间计算公式以及各个参数详细的解释和说明:
f(X)=nt(2)x (x<=5) (公式1)
参数x为空闲时段重新调度的次数;
参数n为权重系数;
参数t为基准调度时间;
时间参数t意味着调度最小时延,它的取值需要根据实际的应用场景确定,如果USB接口对应的业务需要更高的及时性,则可以将t设置的更小;如果USB接口对应业务对时效性不敏感,则可以取较大的值。本专利并不对公式中的各参数取值做具体限制,应用中可根据实际需要做调整。为讲述方便,本例假设t为1ms,那么调度时间分布如下表1所示,调度时间初始值为1ms,倘若USB接口一直无数据,其随着调度算法递增并在第5次时达到最大值16ms,之后保持在16ms不再增加。该实施例可以同时满足数据突发性和集中性的要求。
表1
调度次数 | 1 | 2 | 3 | 4 | 5 |
调度时间 | 1ms | 2ms | 4ms | 8ms | 16ms |
在本发明的另一实施例中涉及的是单一接口的USB设备,同样可将本发明实施例中的调URB度算法应用于此单一接口的USB设备,以实现动态地调整该USB设备接口的数据调度间隔时长,具体调度步骤可参见上述的实施例,在此不再累述。
实施例三
本实施例主要描述了URB调度中策略的具体流程和方案,在本实施例中,可根据接口功能对通讯效率的要求不同,将URB的调度进行分类,如果URB对应接口对实时性和时延有很高的要求,对于这类URB不应用调度算法,直接发送到USB PHY,对于其他类的URB则需要参与调度,具体的调度方式如图6所示,包括以下流程:
步骤S601:设备插入主机后,用户态应用APP可以通过设备节点打开USB各接口对应的虚拟设备
步骤S602:内核驱动产生URB请求;
步骤S603:内核驱动根据USB接口类型,判断是否需要进行URB调度;
步骤S604:如果该接口对应的URB不需要调度,那么直接发送到USB PHY;
步骤S605:如果该接口对应的URB需要参与调度,那么就设定调度标记,用于告知USB总线驱动;
步骤S606:USB总线驱动首先按照调度算法的初始时间调度URB;
步骤S607:判断当前URB对应的USB接口上是否读到了数据,如果是,下次URB调度时间继续保持初始时间;
步骤S608:如果该接口上没有数据传输,那么URB调度时间按照既定算法递增;
步骤S609:继续判断当前USB总线上是否有数据传输,任意时间读到数据,都需要将调度时间恢复到初始时间;
步骤S610:如果一直没有,则调度时间继续按照既定算法增加,直至到最大值。
实施例四
本实施例详细描述了多接口USB设备中URB的调度方法和策略,实施例中的多接口USB复合设备有4个接口需要参与调度。在前文的公式1中,仍然设定t为1ms,但每个接口对应的权重系统不同,如下表2是各个接口的调度时间策略。
表2
由上表可知,接口1的权重系数为1,理论上数据读取时最多有16ms的时延;接口2和3的权重系数为2,理论上数据读取时最多有32ms的时延;接口4的权重系统为3,理论上数据读取时最多有48ms的时延。
通过本实施例,调整每个接口的权重系数,可以影响每个接口的读取效率,在实际使用时可以根据每个接口的功能特征,最大程度的优化USB通讯效率。
实施例五
在本实施例中,无线通讯领域的CPE(Customer Premise Equipment,客户终端设备)类设备由一个主机大板和一个无线通讯设备模块组成,两者之间通过USB接口连接。其中,无线通讯设备模块通过USB枚举多个接口,如用于发送AT命令的AT接口,用于调试的ADB接口、用于诊断log的DIAG接口和网络数据传输的NDIS端口。
为了降低AT/ADB/DIAG端口工作时对网络NDIS端口的影响,提升NDIS端口的通讯效率,达到满足LTE CAT6 300M的理论下行速率要求,结合本专利实施策略如下:
NDIS端口保持高效传输,不参与调度;AT/ADB/DIAG端口对应的USB URB参与调度,设置权重系统均为1,其调度时间仍如表1所示。
本实施例的流程如下图7所示,包括以下步骤:
步骤S701,主机内核功能驱动产生URB请求;
步骤S702,判断URB对应的接口;
步骤S703,如果为NDIS端口,则不参与调度,将URB请求直接发送到USB PHY;
步骤S704,如果是其它端口,例如,AT/ADB/DIAG端口,则设置URB调度标志;
步骤S705,按照公式1的调度算法进行调度以及进行数据传输。
通过本实施例,可以大幅降低在数据高速下载时,AT/DIAG/ADB等端口占用USB总线资源而导致网络下载速率受限,无法满足300M下行速率的状况。
实施例六
本发明的技术方案并不局限应用与USB主机侧,同样可应用在USB模块/设备侧,达到提升USB复合设备接口通讯效率的效果。
如图8所示是Linux系统USB主机/设备的系统架构图,如图8所示,在本实施例中,在主机侧增加USB URB Scheduler,同样也可应用在设备侧,本例中在Gadget ClientDriver Software(小工具用户驱动软件)和UDC(USB Device Controller)Driver(USB设备控制器驱动)之间增加USB IO request Scheduler(USB输入输出请求调度器)层,对每个client driver产生的USB IO request进行重新调度,调度策略和算法和主机实施例相同,这里不再赘述。
通过本实施例,可以在设备侧对每个client driver产生的USB IO request进行重新调度,达到提升USB复合设备某一接口通讯效率的方法。
例如,将本实施例的技术方案应用在USB接口连接的CPE类设备中,主机主板可以对无线通讯模块各端口的传输效率进行动态调节,以提升主要业务的通讯指标。
本实施例也可以应用在芯片互联技术HSIC(High-Speed Inter-Chip)系统中,HISC系统中的主机上可以采用本实施例的技术方案,对HISC系统中从设备的各业务端口进行调度,提升芯片间的通讯效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种USB接口的数据传输请求调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的USB接口请求调度装置的结构框图,如图9所示,该装置100包括接收模块10和调度模块20。其中,接收模块10用于接收所述USB接口驱动下发的数据传输请求,并判断所述USB接口的类型。调度模块20用于根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
图10是根据本发明实施例的USB多接口复合设备结构框图,如图10所示,该USB多接口复合设备200除包括图9所示的USB接口请求调度装置100外,还包括多个不同类似USB接口。这些接口包括,例如用于发送AT命令的AT接口,用于调试的ADB接口、用于诊断log的DIAG接口和网络数据传输的NDIS接口。该复合设备的这些USB接口与数据传输请求调度装置100之间的数据交互同前文中的实施例,再此不再累述。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。该存储介质中存储有计算机程序,这些计算机程序被运行可以执行前文中实施例中的步骤。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
通过本发明的上述实施例,与现有技术相比,具有如下技术效果:通过公式1可以具体设置每个接口的调度参数和调度时间;结合实际的应用场景,为不同的接口设定不同的权重系统,达到降低其对USB总线影响的目的;针对CPE项目中遇到的由于AT/DIAG/ADB端口影响而导致NDIS网络下行无法到达LTE CAT6 300M下行速率的问题,本专利可以有效解决该问题并且不会对其它功能模块产生较大波及。本发明的实施可以大幅度的提升接口通讯效率,在一定情况下避免因为速率问题更换USB控制器硬件的情况,产生较大的经济效益;本发明实施提供的技术方案同样可以应用到USB 1.1、USB 3.0等其它设备上,提升用户体验;本发明提供的技术方案也可以应用到USB设备侧,同样可以提升USB复合设备中某一接口的通讯效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种通用串行总线USB接口请求调度方法,其特征在于,包括:
接收所述USB接口的数据传输请求,并判断所述USB接口的类型;
根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
2.根据权利要求1所述的方法,其特征在于,判断所述USB接口的类型,包括:
根据所述数据传输请求中携带的接口类型标识判断所述USB接口的类型。
3.根据权利要求1所述的方法,其特征在于,采用对应的调度频率对所述数据传输请求进行调度之前,还包括:
根据所述USB接口的类型,确定是否需要对所述数据传输请求进行调度。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当确认不需要对所述数据传输请求进行调度时,将所述数据传输请求直接发送至USB物理层接口。
5.根据权利要求1所述的方法,其特征在于,根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度,包括:
针对不同的USB接口的类型设置对应的基准调度间隔时长,根据所述基准调度间隔时长对所述数据传输请求进行调度。
6.根据权利要求5所述的方法,其特征在于,根据所述基准调度间隔时长对所述数据传输请求进行调度包括:
在所述USB接口的调度时刻到来时,判断USB总线上是否有需要读取的数据,如果无,则增大所述USB接口的下一次调度间隔时长,如果有,则对所述数据进行调度,并将所述USB接口的下一次调度间隔时长恢复为所述基准调度间隔时长,。
7.根据权利要求6所述的方法,其特征在于,如果所述USB总线上没有需要读取的数据,则按照t(2)x增大所述USB接口的下一次调度间隔时长,其中,t为基准调度间隔时长,X为空闲时段重新调度的次数。
8.根据权利要求1所述的方法,其特征在于,所述USB接口的类型包括以下至少之一:
网卡接口、AT接口、诊断DIAG接口、安卓调试桥ADB接口。
9.根据权利要求1所述的方法,其特征在于,所述数据传输为下行传输,所述数据传输请求为通用串行总线请求块URB;或者,所述数据传输为上行传输,所述数据传输请求为通用串行总线输入输出USB IO。
10.一种通用串行总线USB接口请求调度装置,其特征在于,包括:
接收模块,用于接收所述USB接口的数据传输请求,并判断所述USB接口的类型;
调度模块,用于根据所述USB接口的类型,采用对应的调度频率对所述数据传输请求进行调度。
11.根据权利要求10所述的装置,其特征在于,所述接收模块包括:
判断单元,用于根据所述数据传输请求中携带的接口类型标识判断所述USB接口的类型。
12.根据权利要求11所述的装置,其特征在于,
所述判断单元,还用于根据所述USB接口的类型,确定是否需要对所述数据传输请求进行调度。
13.根据权利要求10所述的装置,其特征在于,
所述调度模块,还用于在确认不需要对所述数据传输请求进行调度情况下,将所述数据传输请求直接发送至USB物理层接口。
14.根据权利要求10所述的装置,其特征在于,所述调度模块还包括:
设置单元,用于针对不同的USB接口的类型设置对应的基准调度间隔时长。
15.根据权利要求14所述的装置,其特征在于,
所述调度模块,还用于在所述USB接口的调度时刻到来时,判断USB总线上是否有需要读取的数据,如果无,则增大所述USB接口的下一次调度间隔时长,如果有,则对所述数据进行调度,并将所述USB接口的下一次调度间隔时长恢复为所述基准调度间隔时长。
16.根据权利要求15所述的装置,其特征在于,在所述USB总线上没有需要读取的数据的情况下,所述调度模块按照t(2)x增大所述USB接口的下一次调度间隔时长,其中,t为基准调度间隔时长,X为空闲时段重新调度的次数。
17.根据权利要求10所述的装置,其特征在于,所述USB接口的类型包括以下至少之一:
网卡接口、AT接口、诊断DIAG接口、安卓调试桥ADB接口。
18.根据权利要求10所述的装置,其特征在于,所述数据传输为下行传输,所述数据传输请求为通用串行总线请求块URB;或者,所述数据传输为上行传输,所述数据传输请求为通用串行总线输入输出USB IO。
19.一种通用串行总线USB多接口复合设备,其特征在于,包括中央处理器CPU和USB控制器,USB控制器通过外设部件互连标准PCI总线与所述CPU相连,其中,所述USB控制器包括USB请求块调度器和USB物理层接口,其中
所述USB请求块调度器,用于接收USB多接口复合设备的用户驱动下发的URB请求,并根据所述USB URB请求中携带的接口类型,采用对应的调度频率将所述URB请求发送至所述USB物理层接口。
20.根据权利要求19所述的USB多接口复合设备,其特征在于,所述接口类型包括以下至少之一:
网卡接口、AT接口、诊断DIAG接口、安卓调试桥ADB接口。
21.一种通用串行总线USB接口请求调度方法,其特征在于,包括:
在所述USB接口的调度时刻到来时,判断USB总线上是否有需要读取的数据;
根据判断结果动态地调整所述USB接口的下一次调度间隔时长。
22.根据权利要求21所述的方法,其特征在于,根据判断结果动态地调整所述USB接口的下一次调度间隔时长,包括:
如果所述USB总线上没有需要读取的数据,则增大所述USB接口的下一次调度间隔时长。
23.根据权利要求22所述的方法,其特征在于,按照t(2)x增大所述USB接口的下一次调度间隔时长,其中,t为所述USB接口的基准调度间隔时长,X为空闲时段重新调度的次数。
24.根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
在所述USB接口的下一次调度时刻到来时,继续判断USB总线上是否有需要读取的数据;
如果USB总线上有需要读取的数据,则对所述数据进行调度,并将所述USB接口的下一次调度间隔时长恢复为所述USB接口的基准调度间隔时长。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743636.9A CN109426643A (zh) | 2017-08-25 | 2017-08-25 | Usb接口请求调度方法、装置及设备 |
PCT/CN2018/091791 WO2019037527A1 (zh) | 2017-08-25 | 2018-06-19 | Usb接口请求调度方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743636.9A CN109426643A (zh) | 2017-08-25 | 2017-08-25 | Usb接口请求调度方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109426643A true CN109426643A (zh) | 2019-03-05 |
Family
ID=65439776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710743636.9A Withdrawn CN109426643A (zh) | 2017-08-25 | 2017-08-25 | Usb接口请求调度方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109426643A (zh) |
WO (1) | WO2019037527A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090608A (zh) * | 2019-12-26 | 2020-05-01 | 深圳市优博讯科技股份有限公司 | 一种基于usb设备的数据传输方法及系统 |
CN111221751A (zh) * | 2020-01-13 | 2020-06-02 | 中孚安全技术有限公司 | 一种Linux系统下提升usb批量传输速度的方法及系统 |
CN114490489A (zh) * | 2020-11-13 | 2022-05-13 | 大唐联仪科技有限公司 | 请求处理方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050028172A1 (en) * | 2003-07-30 | 2005-02-03 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for installing software |
CN101359303A (zh) * | 2007-08-03 | 2009-02-04 | 深圳艾科创新微电子有限公司 | 一种在线调试微控制器及其外设器件的装置及调试方法 |
CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
CN106026232A (zh) * | 2016-06-01 | 2016-10-12 | 北京小米移动软件有限公司 | Usb端口类型的检测方法及装置 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
CN106844251A (zh) * | 2015-12-03 | 2017-06-13 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002312296A (ja) * | 2001-04-10 | 2002-10-25 | Nec Microsystems Ltd | 周辺装置のusbインタフェース装置、その制御方法およびプログラム並びにusbインタフェースシステム |
CN102306133B (zh) * | 2011-07-04 | 2014-07-02 | 珠海全志科技股份有限公司 | Usb主机控制器及其数据传送方法 |
CN106897242B (zh) * | 2017-01-17 | 2020-09-29 | 建荣集成电路科技(珠海)有限公司 | 一种usb复合设备及其工作方法 |
-
2017
- 2017-08-25 CN CN201710743636.9A patent/CN109426643A/zh not_active Withdrawn
-
2018
- 2018-06-19 WO PCT/CN2018/091791 patent/WO2019037527A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050028172A1 (en) * | 2003-07-30 | 2005-02-03 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for installing software |
CN101359303A (zh) * | 2007-08-03 | 2009-02-04 | 深圳艾科创新微电子有限公司 | 一种在线调试微控制器及其外设器件的装置及调试方法 |
CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
CN106844251A (zh) * | 2015-12-03 | 2017-06-13 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN106026232A (zh) * | 2016-06-01 | 2016-10-12 | 北京小米移动软件有限公司 | Usb端口类型的检测方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090608A (zh) * | 2019-12-26 | 2020-05-01 | 深圳市优博讯科技股份有限公司 | 一种基于usb设备的数据传输方法及系统 |
CN111090608B (zh) * | 2019-12-26 | 2021-07-09 | 深圳市优博讯科技股份有限公司 | 一种基于usb设备的数据传输方法及系统 |
CN111221751A (zh) * | 2020-01-13 | 2020-06-02 | 中孚安全技术有限公司 | 一种Linux系统下提升usb批量传输速度的方法及系统 |
CN111221751B (zh) * | 2020-01-13 | 2023-10-27 | 中孚安全技术有限公司 | Linux系统下提升usb批量传输速度的方法及系统 |
CN114490489A (zh) * | 2020-11-13 | 2022-05-13 | 大唐联仪科技有限公司 | 请求处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019037527A1 (zh) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772879B2 (en) | System and method for isolating I/O execution via compiler and OS support | |
CN101419579B (zh) | 一种在动态随机存储器上提供服务质量的装置和方法 | |
KR101137073B1 (ko) | 병렬 컴퓨터에서의 사전적 전력 관리 | |
CN100570566C (zh) | 一种异构多核间协调调度的方法及异构多核系统 | |
US20130198389A1 (en) | Dynamic resource adjustment for a distributed process on a multi-node computer system | |
US8191073B2 (en) | Method and system for polling network controllers | |
CN101957808B (zh) | 多cpu间的通信方法、系统及cpu | |
CN101149726A (zh) | 用于可管理性引擎背景的控制器链路 | |
CN109426643A (zh) | Usb接口请求调度方法、装置及设备 | |
CN107967227A (zh) | 一种基于spi的通信方法及spi主机、spi从机 | |
CN110519138B (zh) | 一种Profibus-DP主站协议的实现方法及系统 | |
CN109992403A (zh) | 多租户资源调度的优化方法、装置、终端设备及存储介质 | |
CN112039722A (zh) | 一种mqtt协议仿真方法及仿真设备 | |
WO2009024437A1 (en) | Managing power in a parallel computer | |
CN105487403A (zh) | 一种基于can的运动控制系统建立及其仿真建模方法 | |
CN105718396B (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN105393234B (zh) | 用于管理usb数据传送的系统和方法 | |
Golchin et al. | Tuned pipes: end-to-end throughput and delay guarantees for USB devices | |
CN108055186B (zh) | 一种主从处理器通信方法及装置 | |
CN112380001A (zh) | 日志输出方法、负载均衡设备及计算机可读存储介质 | |
CN101996150A (zh) | 数据传输控制装置和数据传输控制方法 | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
EP2113841A1 (en) | Allocating resources in a multicore environment | |
CN112131169B (zh) | 高速数据通信系统及方法 | |
CN109101457B (zh) | 一种基于c6678的单核实现ndk通信与srio传输的方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190305 |
|
WW01 | Invention patent application withdrawn after publication |