用于经由通用串行总线传送分组的方法和装置的制作方法

文档序号:6576916阅读:80来源:国知局
专利名称:用于经由通用串行总线传送分组的方法和装置的制作方法
技术领域
本发明涉及用于经由通用串行总线(USB)传送分组的方法和装置。
背景技术
通用串行总线(USB)是个人计算机架构的工业标准扩展。可以在网站胃w. usb. org/developers/docs/ 找至Ij USB 的规范。如USB的规范所定义的,USB系统一般包括USB互连(USB interconnect)、USB主 机(USB host)和多个USB设备(USB device)。该USB互连连接该USB主机和该多个USB 设备,以实现在该多个USB设备的每一个和该USB主机之间的USB传送。在USB设备和USB 主机之间的USB传送通常由多个事务(transaction)构成。在每一个事务中,在USB设备 和USB主机之间传送多个分组(packet),每个分组包含需要在USB设备和USB主机之间传 送的信息。为了实现USB传送,USB设备和USB主机的每一个可以包括有设备端点(device endpoint) 0设备端点可以是用于存储分组的缓存,其例如可以是USB设备或USB主机中的 一块存储区或寄存器。设备端点可以存储接收的分组或者等待传送的分组。在USB设备或USB主机中可以包括多个设备端点,以存储大量的等待传送的分组。 该多个设备端点中所存储的分组按照一个设备端点接一个设备端点的方式来进行传送。换 言之,仅在一个设备端点中所存储的分组被传送后,才传送另一设备端点中所存储的分组。 例如,如果在USB设备(或USB主机)具有用于存储等待传送给USB主机(或USB设备)的 分组的三个设备端点Endpoint UEndpoint 2和Endpoint 3,以及如果相对于Endpoint 2 和Endpoint 3, Endpoint 1中所存储的分组首先发送,则仅在Endpoint 1中所存储的所有 分组都被从USB设备(或USB主机)传送到USB主机(或USB设备)之后,才将Endpoint 2中所存储的分组从USB设备(或USB主机)向USB主机(或USB设备)传送,以及仅在 Endpoint 2中所存储的所有分组都被从USB设备(或USB主机)传送到USB主机(或USB 设备)之后,才将Endpoint 3中所存储的分组从USB设备(或USB主机)向USB主机(或 USB设备)传送,如图1所示。该多个设备端点中所存储的分组可以仅包括包含诸如文本、视频片断、音频片断 或图片等这样的普通数据的分组,或者仅包括包含命令的分组,或者包括这两种分组。通 常,普通数据很少关心时延并且可以利用尽力传送(best effort)的方式来进行传送,然而 命令要求低时延从而要求快速传送。即,普通数据对时延要求不严格,而命令对时延要求严 格。在现有的传送机制中,普通数据和命令不被区分,都当作信息来传送。例如,再次 参考图UPHEndpoint 1和Endpoint 3中所存储的分组包含普通数据以及Endpoint 2 中所存储的分组包含命令,也仅在Endpoint 1中所存储的所有分组都被从USB设备(或 USB主机)传送到USB主机(或USB设备)之后,才将Endpoint 2中所存储的分组从USB设 备(或USB主机)向USB主机(或USB设备)传送,以及,仅在Endpoint 2中所存储的所有分组都被从USB设备(或USB主机)传送到USB主机(或USB设备)之后,才将Endpoint 3中所存储的分组从USB设备(或USB主机)向USB主机(或USB设备)传送。这导致时 延要求严格的命令较大的传送时延。

发明内容
考虑到现有技术的上述缺陷,本公开提供一种用于经由USB传送分组的方法和装 置,利用该方法和装置,时延要求严格的信息能够以低时延进行传送。按照本发明的一个方面,提供了一种用于经由通用串行总线(USB)传送分组的方 法,包括步骤检查关于USB装置的各个设备端点中所存储的分组的每一个分组中所包含 的信息的类型的类型信息,以从所述USB装置的所述各个设备端点中所存储的所述分组 中,确定出包含时延要求严格的信息的分组;以及,在将所述USB装置的所述各个设备端点 中所存储的所述分组传送给另一 USB装置的过程中,相对于在所述USB装置的所述各个设 备端点中所存储的所述分组中的包含时延要求不严格的信息的分组,更早地传送所述确定 的分组。按照本发明的另一方面,提供了一种用于经由通用串行总线(USB)传送分组的装 置,包括检查模块,用于检查关于USB装置的各个设备端点中所存储的分组的每一个分组 中所包含的信息的类型的类型信息,以从所述USB装置的所述各个设备端点中所存储的所 述分组中,确定出包含时延要求严格的信息的分组;以及,传送模块,用于在将所述USB装 置的所述各个设备端点中所存储的所述分组传送给另一 USB装置的过程中,相对于在所述 USB装置的所述各个设备端点中所存储的所述分组中的包含时延要求不严格的信息的分 组,更早地传送所述确定的分组。


本发明的其他特点、优点和益处通过以下结合附图的详细说明将变得更加显而易 见,其中图1是示出按照现有技术的用于经由USB传送分组的机制的示意图。图2是示出按照本发明一个实施例的用于经由USB传送分组的机制的示意图。图3是示出按照本发明一个实施例的用于经由USB传送分组的方法的流程图。图4是示出按照本发明另一实施例的用于经由USB传送分组的机制的示意图。
具体实施例方式下面,将结合附图来详细描述本发明的各个实施例。图2是示出按照本发明一个实施例的用于经由USB传送分组的机制的示意图。如 图2所示,当USB主机请求或指示USB设备将其设备端点Endpoint 1所存储的分组传送给 该USB主机(如箭头(1)所示)时,该USB设备发现其设备端点Endpoint 1和Endpoint 3 所存储的分组包含普通数据,而其设备端点Endpoint 2所存储的分组包含命令。所以,该 USB设备首先将Endpoint 2所存储的分组而不是Endpoint 1和Endpoint 3所存储的分组 传送给该USB主机(如箭头(2)所示),然后将Endpoint 1所存储的分组(如箭头(3)所 示)和Endpoint 3所存储的分组(如箭头(4)所示)分别传送给该USB主机。这里,将该USB设备和该USB主机都称为USB装置。在这个实施例中,由于在包含时延要求不严格的普通数据的分组之前,首先传送 包含时延要求严格的命令的分组,所以时延要求严格的命令具有低的传送时延。本领域技术人员应当理解,虽然在上面的描述,以USB设备包括有三个设备端点 为例进行举例说明本发明,然而,本发明不局限于此。在本发明的其他实施例中,USB设备 可以包括一个、两个或三个以上的设备端点。本领域技术人员应当理解,按照本发明这个实施例的用于经由USB传送分组的机 制不但可以应用在USB设备上,也可以应用在USB主机上,即可以应用在任何USB装置上。
图3是示出按照本发明一个实施例的用于经由USB传送分组的方法的流程图。这 里,把经由USB从USB设备向USB主机传送分组作为例子来举例说明这个实施例的方法。然 而,本领域技术人员应当理解,这个实施例的方法也可以应用到经由USB从USB主机向USB 设备传送分组的情形中。如图3所示,在从USB设备向USB主机传送分组的过程中,当USB主机请求或指示 USB设备将该USB设备的各个设备端点的其中一个设备端点(以下称为Endpoint P)所存 储的分组传送给该USB主机时,检查该USB设备的各个设备端点中所存储的分组的每一个 分组中所包括的分组标识(PID)字段,以从该USB设备的各个设备端点中所存储的分组中, 确定出包含时延要求严格的命令的分组(步骤S300)。在现有技术中,每一个分组中所包括的PID字段表示这个分组的分组标识符。在 本发明的这个实施例中,每一个分组中所包括的PID字段进一步包括关于包含在这个分组 中的信息(普通数据或命令)的类型的类型信息,即普通数据类型或命令类型,并且该关于 每个分组中所包含的信息的类型的类型信息可以在这个分组被生成时加入到这个分组的 PID字段中。在这里,检查每一个分组中所包括的分组标识(PID)字段就是检查每一个分组 中所包括的分组标识(PID)字段中所包括的类型信息。将所确定的包含时延要求严格的命令的分组从该USB设备传送到该USB主机(步 骤 S310)。在将所有所确定的包含时延要求严格的命令的分组从该USB设备传送到该USB主 机后,将该USB设备的Endpoint P和其它设备端点中所存储的包含时延要求不严格的普通 数据的分组从该USB设备传送到该USB主机(步骤S320)。在上面的实施例中,用于确定包含时延要求严格的命令的分组的操作和用于从一 个USB装置(例如USB设备)向另一 USB装置(例如USB主机)传送分组的操作是串行进 行的,即仅在用于确定包含时延要求严格的命令的分组的操作被执行后,才执行用于从一 个USB装置向另一 USB装置传送分组的操作。然而,本发明并不局限于此。在本发明的其 它实施例中,用于确定包含时延要求严格的命令的分组的操作和用于从一个USB装置向另 一 USB装置传送分组的操作可以并行进行,S卩用于确定包含时延要求严格的命令的分组 的操作和用于从一个USB装置向另一 USB装置传送分组的操作可以同时被执行。图4是示出按照本发明另一实施例的用于经由USB传送分组的机制的示意图。在 这个实施例中,用于确定包含时延要求严格的命令的分组的操作和用于从一个USB装置向 另一 USB装置传送分组的操作被同时执行。如图4所示,在从USB设备向USB主机传送分组的过程中,当USB主机请求或指示USB设备将其设备端点Endpoint 1所存储的分组传送给该USB主机(如箭头(1)所示)时, 该USB设备开始将Endpoint 1所存储的分组传送给该USB主机,同时,检查该USB设备的设 备端点Endpoint l-Endpoint3中所存储的分组的每一个分组中所包括的分组标识(PID) 字段中所包括的类型信息,以确定出包含时延要求严格的命令的分组。在完成Endpoint 1 中的分组1的传送之前,用于确定包含时延要求严格的命令的分组的操作已经完成,并且 发现该USB设备的Endpoint 2所存储的分组包含时延要求严格的命令。在完成Endpoint 1中的分组1的传送之后,从该USB设备向该USB主机传送Endpoint 2所存储的分组,而不 是Endpoint 1中剩余的分组(如箭头(2)所示)。在Endpoint 2所存储的所有分组被传 送后,从该USB设备向该USB主机传送Endpoint 1中剩余的分组(如箭头(3)所示)。在 Endpoint 1中剩余的分组被传送后,从该USB设备向该USB主机传送Endpoint 3中所存储 的分组(如箭头⑷所示)。在这个实施例中,相对于包含时延要求不严格的普通数据的分组,包含时延要求 严格的命令的分组被更早地传送,从而时延要求严格的命令具有低的传送时延。本领域技术人员应当理解,虽然在上面的描述,以USB设备包括有三个设备端点 为例进行举例说明本发明,然而,本发明不局限于此。在本发明的其他实施例中,USB设备 可以包括一个、两个或三个以上的设备端点。
本领域技术人员应当理解,按照本发明这个实施例的用于经由USB传送分组的机 制不但可以应用在USB设备上,也可以应用在USB主机上,即可以应用在任何USB装置上。本领域技术人员应当理解,虽然在上面的各个实施例中,关于每一个分组所包含 的信息的类型的类型信息被包括在每一个分组的PID字段中,然而,本发明并不局限于此。 在本发明的其它实施例中,关于每一个分组所包含的信息的类型的类型信息可以被包括在 每一个分组的除了 PID字段的其它字段中;或者,给每一个分组增加一个新字段,并且关于 每一个分组所包含的信息的类型的类型信息被包括在每一个分组的该新字段中;或者,可 以在USB装置中分配一个存储区域以存储关于该USB装置的各个设备端点中所存储的每一 个分组所包含的信息的类型的类型信息。在这种情况下,可以检查每个分组的该其它字段 或该新字段中所包括的或者该USB装置中的该存储区域中所包括的该类型信息,以确定包 含时延要求严格的命令的分组。本领域技术人员应当理解,虽然在上面的各个实施例中,只有当一个USB装置被 另一 USB装置请求将该一个USB装置的各个设备端点中所存储的分组传送给该另一 USB 装置时,才执行用于确定包含时延要求严格的命令的分组的操作,然而,本发明并不局限于 此。在本发明的其它实施例中,在分组被存储在该一个USB装置的各个设备端点之后和在 该一个USB装置被该另一 USB装置请求将该一个USB装置的各个设备端点中所存储的分 组传送给该另一 USB装置之前,可以执行该用于确定包含时延要求严格的命令的分组的操 作。本领域技术人员应当理解,虽然在上面的各个实施例中,时延要求不严格的普通 数据和时延要求严格的命令被作为分组中所包含的信息的例子,来举例说明本发明,然而, 本发明并不局限于此。在本发明的其它实施例中,除了普通数据和命令之外,分组中所包含 的信息可以其它类型的时延要求不严格的信息和时延要求严格的信息。本领域技术人员应当理解,上面的各个实施例中所披露的方法可以利用软件、硬件或两者的结合来实现。 本领域技术人员应当理解,可以在没有偏离发明实质的情况下对本发明的上述各个实施例做出各种变形和修改,这些变形和修改都应当在本发明的保护范围之内。因此,本 发明的保护范围应当由所附的权利要求书来限定。
权利要求
一种用于经由通用串行总线(USB)传送分组的方法,包括步骤检查关于USB装置的各个设备端点中所存储的分组的每一个分组中所包含的信息的类型的类型信息,以从所述USB装置的所述各个设备端点中所存储的所述分组中,确定出包含时延要求严格的信息的分组;以及在将所述USB装置的所述各个设备端点中所存储的所述分组传送给另一USB装置的过程中,相对于在所述USB装置的所述各个设备端点中所存储的所述分组中的包含时延要求不严格的信息的分组,更早地传送所述确定的分组。
2.如权利要求1所述的方法,其中,所述传送步骤进一步包括在传送所述包含时延要求不严格的信息的分组之前,传送所述确定的分组。
3.如权利要求1所述的方法,其中所述时延要求严格的信息包括命令,以及,所述时延不要求严格的信息包括普通数据。
4.如权利要求1所述的方法,其中所述USB装置是USB主机和所述另一 USB装置是USB设备,或者,所述USB装置是USB 设备和所述另一 USB装置是USB主机。
5.如权利要求1所述的方法,其中关于所述USB装置的所述各个设备端点中所存储的所述分组的每一个分组中所包含 的信息的类型的所述类型信息被包括在所述每一个分组的分组标识字段中。
6.一种用于经由通用串行总线(USB)传送分组的装置,包括检查模块,用于检查关于USB装置的各个设备端点中所存储的分组的每一个分组中所 包含的信息的类型的类型信息,以从所述USB装置的所述各个设备端点中所存储的所述分 组中,确定出包含时延要求严格的信息的分组;以及传送模块,用于在将所述USB装置的所述各个设备端点中所存储的所述分组传送给另 一 USB装置的过程中,相对于在所述USB装置的所述各个设备端点中所存储的所述分组中 的包含时延要求不严格的信息的分组,更早地传送所述确定的分组。
7.如权利要求6所述的装置,其中所述传送模块进一步用于在传送所述包含时延要求不严格的信息的分组之前,传送所 述确定的分组。
8.如权利要求6所述的装置,其中所述时延要求严格的信息包括命令,以及,所述时延不要求严格的信息包括普通数据。
9.如权利要求6所述的装置,其中所述USB装置是USB主机和所述另一 USB装置是USB设备,或者,所述USB装置是USB 设备和所述另一 USB装置是USB主机。
10.如权利要求6所述的装置,其中关于所述USB装置的所述各个设备端点中所存储的所述分组的每一个分组中所包含 的信息的类型的所述类型信息被包括在所述每一个分组的分组标识字段中。
全文摘要
本发明涉及一种用于经由通用串行总线(USB)传送分组的方法和装置,该办法包括步骤检查关于USB装置的各个设备端点中所存储的分组的每一个分组中所包含的信息的类型的类型信息,以从所述USB装置的所述各个设备端点中所存储的所述分组中,确定出包含时延要求严格的信息的分组;以及,在将所述USB装置的所述各个设备端点中所存储的所述分组传送给另一USB装置的过程中,相对于在所述USB装置的所述各个设备端点中所存储的所述分组中的包含时延要求不严格的信息的分组,更早地传送所述确定的分组。利用该方法和装置,时延要求严格的信息能够以低时延进行传送。
文档编号G06F13/38GK101826066SQ200910118300
公开日2010年9月8日 申请日期2009年3月3日 优先权日2009年3月3日
发明者李相研, 殷律, 罗栋元, 黄超 申请人:爱思开电讯投资(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1