CN101482854B - Usb多通道传输方法、装置及系统 - Google Patents
Usb多通道传输方法、装置及系统 Download PDFInfo
- Publication number
- CN101482854B CN101482854B CN2009100774228A CN200910077422A CN101482854B CN 101482854 B CN101482854 B CN 101482854B CN 2009100774228 A CN2009100774228 A CN 2009100774228A CN 200910077422 A CN200910077422 A CN 200910077422A CN 101482854 B CN101482854 B CN 101482854B
- Authority
- CN
- China
- Prior art keywords
- transmission
- usb
- transmission requests
- channel
- peripheral hardware
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明实施例涉及一种USB多通道传输方法、装置及系统,其中方法包括:当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设。USB多通道传输装置包括:优先级设定模块、排队模块和发送模块。系统包括:USB多通道传输装置和USB外设。真正解决多功能设备复用USB块传输通道的问题,从而保证具有高优先级的关键业务的正常运行。
Description
技术领域
本发明涉及一种通用串行总线(Universal Serial Bus,简称:USB)多通道传输方法、装置及系统,属于数字通信技术领域。
背景技术
USB技术是一种支持以即插即用方式将外围设备连接到主机的外设连接技术,支持主机与外设之间的数据传送。如果一个外设包含不止一个的接口就可以称之为复合设备(composite device),每个接口都可以有四种数据传送方式:控制(Control)传输方式、同步(isochronous)传输方式传送、中断(interrupt)传输方式和块(bulk)传输方式。其中,块传输方式主要用于接收和发送大量的数据。现有USB接口芯片在出厂时通常提供多个块传输端点,通过多个块传输通道采取USB复合设备方式可以实现多个功能设备。
但是,在现有视窗操作系统下,USB复合设备的多个块传输通道的数据收发通常采用轮询工作机制,由USB复合设备向系统枚举多个虚拟设备,每个块传输通道的优先级均等。因此,如果在这些传输通道中所承载的业务具有优先级差异和时延保证需求,而对各个不同优先级的业务仍然进行同等的通道调度,则不能在这种块传输通道上体现出来,从而不能为业务优先级高的块传输通道提供高优先级的传输响应,也就无法保证具有高优选级的关键业务的传输,并且在USB复合设备中,不能为块传输通道提供时延保证数据业务。
本发明实施例要提供一种USB多通道传输方法、装置及系统,能够为业务优先级高的块传输通道提供高优先级的传输响应,使各个不同优先级的业务按照优先级的顺序得到通道调度即传输机会。
本发明的一个实施例提供了一种USB多通道传输方法,其中包括:
当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;
根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;
根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
本发明的另一个实施例提供了一种通用串行总线USB多通道传输装置,其中包括:
优先级设定模块,用于当检测到通用串行总线USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;
排队模块,用于根据由优先级设定模块设定的要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;
发送模块,用于根据优先级设定模块设定的所述通道优先级由高到低的顺序,将排队模块形成的所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
本发明的又一个实施例提供了一种USB多通道传输系统,其中包括:
通用串行总线USB多通道传输装置,用于当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;并根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设;
USB外设,用于被接入到所述通用串行总线USB多通道传输装置,并逐一接收来自于所述通用串行总线USB多通道传输装置的块传输请求。
本发明实施例通过对多个优先级通道增设通道优先级,采用Qos机制实现了USB块传输通道的优先级调度,从而可以根据不同的业务要求同时管理多个USB块传输通道,以真正解决多功能设备复用USB块传输通道的问题,从而保证具有高优先级的关键业务的正常运行。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明方法实施例一所述USB多通道传输方法的流程图;
附图说明
图2为本发明方法实施例二所述USB多通道传输方法的流程图;
图3为本发明方法实施例二所述USB多通道传输方法用软件程序实现时的驱动程序架构示意图;
图4为本发明装置实施例所述主机的结构示意图;
图5为本发明系统实施例所述USB多通道传输系统的结构示意图。
方法实施例一
具体实施方式
本实施例提供了一种USB多通道传输方法,如图1所示,包括如下步骤:
步骤101,主机当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级。
具体地,可以根据各个块传输通道对应的业务类型设定相应的通道优先级,以方便底层的服务质量(Quality of Service,简称:Qos)管理模块针对不同的应用进行资源预留和分配,并且保证USB外设的应用与主机的程序相对应。其中,Qos管理是网络的一种安全机制,用来解决网络延迟和阻塞等问题,以确保重要业务量不受延迟或丢弃,保证块传输的高效运行。
所述主机为块传输通道设定通道优先级的依据可以来自于USB外设的设备描述符信息中携带的优先级设定信息。具体地,可以为该设备描述符信息中的USB协议不需要使用的周期字节,该周期字节可以为8位,其中低四位用于表征通道优先级,高4位用于表征相应通道的重复周期。其中,设备描述符信息是用于识别USB的符号信息,符合USB规范的主机在识别USB外设时,都会主动向该USB外设请求获得该设备描述符信息。
步骤102,所述主机根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列。
其中,块传输请求是来自于所述主机中需要进行块数据传输的应用程序,该块传输请求中即携带有要传输给USB外设的块数据。例如,假设通过块传输通道1的通道优先级最高,则将通过块传输通道1传输来的块传输请求加入到读写队列中时,使其排在队首;假设通过块传输通道2的通道优先级为次高,则将通过块传输通道2传输来的块传输请求加入到读写队列中时,使其排在队首之后;依次类推,形成按照通道优先级顺序而排成的块传输请求队列。
此处需要说明的是,当要发往USB外设的多个块传输请求来自同一个通道或者多个块传输请求来自被分配有相同优先级的不同通道时,这些块传输请求会对应相同的通道优先级时,此时,还可以按照这些块传输请求的到达时间进行排队。
步骤103,根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
以启动与该块传输请求相应的块数据的传输。
步骤104,所述主机对发往所述USB外设的中断传输请求、同步传输请求及控制传输请求进行透传。
具体地,本实施例可以通过位于主机中的为所述USB外设创建的虚拟功能设备和该主机的总线接口设备间的Qos过滤层驱动模块实现。例如在视窗 操作系统中,实现一个USB总线过滤层驱动,该驱动被系统加载后处理发往USB外设的虚拟功能设备的驱动的输入输出请求包(I/O Request Packet,简称:IRP)。
其中,透传是指使中断传输请求或同步传输请求或控制传输请求穿过该Qos过滤层驱动模块进行传输,而不对这些请求进行排队处理,由于本发明实施例仅考虑块传输的情况,其他类型的传输请求现有的相关协议已有规定,或属于USB芯片物理层需要处理的情况,因此不需要考虑这些请求的优先极。此处需要说明的,如果在实际应用中,主机并不需要向已接入的USB外设传输中断传输请求、同步传输请求或控制传输请求,则当然也就不需要对其进行透传,在此情况下,步骤104也是可以省略的。
本实施例所述方法通过对多个优先级通道增设通道优先级,采用Qos机制实现了USB块传输通道的优先级调度,从而可以根据不同的业务要求同时管理多个USB块传输通道,以真正解决多功能设备复用USB块传输通道的问题,从而保证具有高优先级的关键业务的正常运行。
另外,本实施例的技术方案实际可以应用于USB复合设备中需要区分优先级的数据业务的场合,这些主机可以为使用了嵌入式系统的USB主机(Host)。由于USB外设与主机之间是主-从机协议,因此只需要在主机上实现上述优先级调度策略即可,无需对USB外设进行更改,从而避免USB外设的复杂性和生产设计成本的提高。
方法实施例二
本实施例提供了另一种USB多通道传输方法,如图2所示,步骤201~204与上述方法实施例一中的步骤101~104相同,此处不再赘述。另外,还包括如下步骤:
步骤205,当为所述块传输通道预设的重复周期到达时,根据该块传输通道的通道优先级,将通过该块传输通道传输的块传输请求与所述块传输请求队列中已有的块传输请求重新进行排队,形成第二块传输请求队列。
其中,重复周期是仅针对有实时性要求的块传输通道设定的,例如,如果某个块传输通道要求每秒必须传输一次,那么通过为该块传输通道设定重复周期的机制可以保证该块传输通道传输的块传输请求必然会响应一次。具体地,可以通过启动定时器的方式来获知所述重复周期是否到达。
步骤206,根据所述通道优先级由高到低的顺序,将所述第二块传输请求队列中的块传输请求逐一发送给所述USB外设。
如果该周期性块传输请求所在块传输通道的通道优先级比较高,则重新进行排队时,它仍然会排在队列的前面,使得主机能够对其进行优先处理。
通过本实施例所述方法,对于周期性块传输请求重新进行了排队,从而可以在通道性能允许的情况下,第一时间满足对需要周期性服务的高优先级的块传输请求,为语音等实时性要求高的业务提供了时延保证;本实施例所述方案可以应用到全采用USB块传输的带语音或视频特性的数据卡上,或者应用到USB调制解调器上,解决其高优先级数传业务的优先级问题。
本发明的上述各实施例所述的方法可以通过软件程序实现,例如,如图3所示,其中包括如下驱动程序:
用于运行维护的USB客户端驱动(USB Client Driver for Operation AndMaintenance(OM));
用于语音的USB客户端驱动(USB Client Driver for Voice);
Qos过滤层驱动(Qos Filter Driver),其文件名可以表示为“bulkfilter.sys”;
USB根设备驱动(USB Genetic Parent Driver),其文件名可以表示为“usbccgp.sys”;
USB总线驱动(USB Hub(Bus)Driver),其文件名可以表示为“usbhub.sys”;
主机控制器驱动(Host Controller Driver),其文件名可以表示为“usbport.sys/usbehci.sys”。
其中,Qos过滤层驱动仅对块传输通道采用Qos服务策略,按照既定的优先级访问下层USB设备驱动,保证复合设备的传输优先级得到满足。
装置实施例
本实施例提供了一种主机,如图4所示,该主机10包括优先级设定模块11、排队模块12和发送模块13。
优先级设定模块11,用于当该主机10检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;排队模块12,用于根据由优先级设定模块11设定的要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;发送模块13,用于根据优先级设定模块设定的所述通道优先级由高到低的顺序,将排队模块形成的所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
另外,该主机10中还可以进一步包括透传模块14,用于对发往所述USB外设的中断传输请求、同步传输请求及控制传输请求进行透传。
另外,针对预设有的重复周期的块传输通道,该主机10还可以进一步包括定时模块15,
定时模块15,用于启动定时器判断所述块传输通道预设的重复周期是否到达;当判断出所述重复周期到达时,所述排队模块12将通过该块传输通道传输的块传输请求与所述块传输请求队列中已有的块传输请求重新进行排队,形成第二块传输请求队列;所述发送模块13根据优先级设定模块11设定的所述通道优先级由高到低的顺序,将排队模块12形成的所述第二块传输请求队列中的块传输请求逐一发送给所述USB外设。
本实施例所述装置通过对多个优先级通道增设通道优先级,采用Qos机制实现了USB块传输通道的优先级调度,从而可以根据不同的业务要求同时管理多个USB块传输通道,以真正解决多功能设备复用USB块传输通道的问题,从而保证具有高优先级的关键业务的正常运行。
系统实施例
本实施例提供了一种USB多通道传输系统,如图5所示,包括:主机10和USB外设20。
主机10,用于当检测到USB外设20接入时,为该USB外设20的每个块传输通道设定通道优先级;根据要发往所述USB外设20的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;并根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设20。该主机10的具体结构可参见上述装置实施例,此处不再赘述。
USB外设20,用于被接入到所述主机10后,逐一接收来自于所述主机10的块传输请求。
本实施例所述系统通过对多个优先级通道增设通道优先级,采用Qos机制实现了USB块传输通道的优先级调度,从而可以根据不同的业务要求同时管理多个USB块传输通道,以真正解决多功能设备复用USB块传输通道的问题,从而保证具有高优先级的关键业务的正常运行。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种通用串行总线USB多通道传输方法,其特征在于包括:
当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;
根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;
根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
2.根据权利要求1所述的USB多通道传输方法,其特征在于所述为该USB外设的每个块传输通道设定通道优先级包括:根据所述块传输通道对应的业务类型设定所述通道优先级。
3.根据权利要求1所述的USB多通道传输方法,其特征在于还包括:
对发往所述USB外设的中断传输请求、同步传输请求及控制传输请求进行透传。
4.根据权利要求1所述的USB多通道传输方法,其特征在于还包括:
当为所述块传输通道预设的重复周期到达时,根据该块传输通道的通道优先级,将通过该块传输通道传输的块传输请求与所述块传输请求队列中已有的块传输请求重新进行排队,形成第二块传输请求队列;
根据所述通道优先级由高到低的顺序,将所述第二块传输请求队列中的块传输请求逐一发送给所述USB外设。
5.根据权利要求4所述的USB多通道传输方法,其特征在于所述重复周期到达包括:通过启动定时器的方式获知所述重复周期到达。
6.根据权利要求1所述的USB多通道传输方法,其特征在于对所述块传输请求进行排队包括:当所述当要发往所述USB外设的多个块传输请求对应相同的通道优先级时,根据所述多个块传输请求的到达时间进行排队。
7.一种通用串行总线USB多通道传输装置,其特征在于包括:
优先级设定模块,用于当检测到通用串行总线USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;
排队模块,用于根据由优先级设定模块设定的要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;
发送模块,用于根据优先级设定模块设定的所述通道优先级由高到低的顺序,将排队模块形成的所述块传输请求队列中的块传输请求逐一发送给所述USB外设。
8.根据权利要求7所述的通用串行总线USB多通道传输装置,其特征在于还包括:
透传模块,用于对发往所述USB外设的中断传输请求、同步传输请求及控制传输请求进行透传。
9.根据权利要求7所述的通用串行总线USB多通道传输装置,其特征在于还包括:
定时模块,用于启动定时器判断所述块传输通道预设的重复周期是否到达;
所述排队模块还用于当定时模块判断出所述重复周期到达时,将通过该块传输通道传输的块传输请求与所述块传输请求队列中已有的块传输请求重新进行排队,形成第二块传输请求队列;
所述发送模块还用于根据优先级设定模块设定的所述通道优先级由高到低的顺序,将排队模块形成的所述第二块传输请求队列中的块传输请求逐一发送给所述USB外设。
10.一种通用串行总线USB多通道传输系统,其特征在于包括:
通用串行总线USB多通道传输装置,用于当检测到USB外设接入时,为该USB外设的每个块传输通道设定通道优先级;根据要发往所述USB外设的块传输请求所在块传输通道的通道优先级,对所述块传输请求进行排队形成块传输请求队列;并根据所述通道优先级由高到低的顺序,将所述块传输请求队列中的块传输请求逐一发送给所述USB外设;
USB外设,用于被接入到所述通用串行总线USB多通道传输装置,并逐一接收来自于所述通用串行总线USB多通道传输装置的块传输请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774228A CN101482854B (zh) | 2009-02-10 | 2009-02-10 | Usb多通道传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774228A CN101482854B (zh) | 2009-02-10 | 2009-02-10 | Usb多通道传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101482854A CN101482854A (zh) | 2009-07-15 |
CN101482854B true CN101482854B (zh) | 2011-04-20 |
Family
ID=40879973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100774228A Expired - Fee Related CN101482854B (zh) | 2009-02-10 | 2009-02-10 | Usb多通道传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101482854B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710313B (zh) * | 2009-11-23 | 2011-12-28 | 中兴通讯股份有限公司 | 一种可动态配置的usb端口复用方法、系统和装置 |
CN102387314B (zh) * | 2011-10-28 | 2014-02-19 | 武汉华安科技有限责任公司 | 一种视频矩阵 |
WO2013082783A1 (zh) * | 2011-12-08 | 2013-06-13 | 华为技术有限公司 | 数据处理方法及设备 |
KR20140033562A (ko) * | 2012-08-31 | 2014-03-19 | 삼성전자주식회사 | 데이터 전송 장치 및 이의 데이터 전송 방법 |
CN103324278A (zh) * | 2012-10-30 | 2013-09-25 | 中兴通讯股份有限公司 | 终端设备、系统及接入虚拟桌面的方法 |
CN103246620A (zh) * | 2013-03-26 | 2013-08-14 | 广东威创视讯科技股份有限公司 | 一种基于usb设备的数据交换方法 |
WO2018107346A1 (zh) * | 2016-12-13 | 2018-06-21 | 天彩电子(深圳)有限公司 | 一种基于usb的数据传输方法及其系统 |
CN114189445B (zh) * | 2021-12-03 | 2023-03-10 | 威创集团股份有限公司 | 一种usb信号透传处理方法、装置、终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577307A (zh) * | 2003-07-23 | 2005-02-09 | 乐金电子(中国)研究开发中心有限公司 | 基于通用串行总线的数据传输系统 |
WO2008008040A1 (en) * | 2006-07-13 | 2008-01-17 | Trek 2000 International Ltd. | Non-volatile memory device with usb and wireless connectivity and method for controlling the connectivity |
CN101242395A (zh) * | 2008-02-19 | 2008-08-13 | 深圳华为通信技术有限公司 | 一种数据传输的方法及usb接口 |
-
2009
- 2009-02-10 CN CN2009100774228A patent/CN101482854B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577307A (zh) * | 2003-07-23 | 2005-02-09 | 乐金电子(中国)研究开发中心有限公司 | 基于通用串行总线的数据传输系统 |
WO2008008040A1 (en) * | 2006-07-13 | 2008-01-17 | Trek 2000 International Ltd. | Non-volatile memory device with usb and wireless connectivity and method for controlling the connectivity |
CN101242395A (zh) * | 2008-02-19 | 2008-08-13 | 深圳华为通信技术有限公司 | 一种数据传输的方法及usb接口 |
Also Published As
Publication number | Publication date |
---|---|
CN101482854A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101482854B (zh) | Usb多通道传输方法、装置及系统 | |
EP2530599A1 (en) | Method and mobile terminal for realizing audio transmission | |
CN102035732B (zh) | 业务调度方法及装置 | |
TW528955B (en) | A port manager controller for connecting various function modules | |
US10120820B2 (en) | Direct memory access transmission control method and apparatus | |
EP1508850A2 (en) | Continuous media priority aware storage scheduler | |
JPH09128315A (ja) | データのフローを制御する方法及び装置 | |
CN1179283C (zh) | 数据通信的方法和数据通信的集线器 | |
US20060187905A1 (en) | Communication method, communication system, and bridge device | |
CN1783041A (zh) | 无线usb硬件调度 | |
CN102945215A (zh) | 信息处理设备和方法 | |
US7450610B2 (en) | Apparatus and method for allocating channel time to applications in wireless PAN | |
JP2019165380A (ja) | 転送制御装置、転送制御方法及びプログラム | |
EP1484867A2 (en) | Allocating Channel Time in a Wireless Network | |
JP2009003677A (ja) | Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法 | |
CN101282224A (zh) | 通信适配器及通信适配器的数据传输方法 | |
TW201033813A (en) | Network adaptor optimization and interrupt reduction | |
JPH05216688A (ja) | 共有リソースを割り付けるための決定論的方法 | |
CN101442439B (zh) | 一种上报中断的方法和pci总线系统 | |
CN100547572C (zh) | 动态建立直接内存访问通路的方法及系统 | |
CN106506303A (zh) | 一种控制器实时以太网EtherCAT的主站系统 | |
CN109450817B (zh) | 时间触发以太网多业务消息发送的混合调度方法 | |
CN109426643A (zh) | Usb接口请求调度方法、装置及设备 | |
CN114666285B (zh) | 以太网发送队列调度方法、系统、存储介质及计算设备 | |
JP3633507B2 (ja) | データ転送処理装置、データ転送方法およびデータ転送プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20170210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |