
用于管道仲裁的电路和方法.docx
5页用于管道仲裁的电路和方法专利名称:用于管道仲裁的电路和方法技术领域:本发明涉及用于管道仲裁的电路和方法具体地,本发明涉及用于嵌入式装置的 管道仲裁的电路和方法背景技术:USB(通用串行总线)是用于将各种外围装置连接到主机装置的串行总线标准中 的一个作为USB的通用主机控制器标准的EHCI (增强型主机控制接口)和OHCI (开放式 主机控制器接口)被假定为经由总线输入并且输出数据图4是图示使用EHCI标准的USB 数据传送的原理的框图在使用EHCI标准的USB数据传送中,控制软件针对其中生成传送请求的端点来创 建符合EHCI标准定义的格式的USB事务列表控制软件将创建的USB事务列表写入系统 存储器21具体地,控制软件创建USB事务列表,并且执行至和从系统存储器21的分配和 释放的存储器管理DMA(直接存储器存取)主设备23经由PCI总线从系统存储器21读 取USB事务列表然后,序列器22根据由DMA主设备23读取的USB事务列表所定义的传 送顺序来执行USB数据传送序列器22是执行数据的传送控制的处理单元然而,不同于PC (个人计算机),诸如数字静态照相机和打印机的嵌入式装置通常 不被安装有高性能CPU(中央处理单元)和PCI总线。
因此,没有被安装有PCI总线的嵌入 式装置不能够使用符合该标准的USB主机控制器此外,使用EHCI标准的USB数据传送要 求软件进行的处理,诸如上述USB事务列表的创建,并且由此引起高负荷的处理专利申请的PCT国际公开No. 2007-502476的公开日文翻译公开了一种涉及用于 嵌入式装置的USB主机控制器的技术该USB主机控制器使得不具有PCI总线的装置能够 执行符合USB主机控制器标准的USB数据传送然而,即使该USB主机控制器也不能减少 用于创建USB事务列表的控制软件的负荷为了减少由于控制软件而导致的处理的复杂性,提供了被安装有USB主机控制器 的产品(例如,由瑞萨电子生产的USB 2.0控制器R8A66597),其不需要创建USB事务列表, 并且使得仅通过I/O访问处理来进行USB传送(在下文中这样的USB主机控制器被称为用 于嵌入式装置的USB主机控制器)图5图示了用于嵌入式装置的USB主机控制器的构造USB主机控制器40包括 CPU接口控制块41、USB传送调度控制块42、USB管道控制电路43、用于USB管道的缓冲存 储器44、USB接口控制块45以及USB下游端口 46。
CPU接口控制块41是与执行用于控制 USB主机控制器40的软件的处理的CPU的接口USB传送调度控制块42根据由USB主机 控制器标准定义的条件来确定有效状态下的端点的数据传送顺序USB管道控制电路43控制被称为管道的虚拟通信路径,来发出USB数据传送,并且执行传送数据的缓冲控制,并且 控制USB协议用于USB管道的缓冲存储器44用于在连接到USB的外部装置、包括USB主 机控制器40的微计算机等在数据传送时进行临时数据输入和输出USB接口控制块45是 调解USB管道控制电路43和USB下游端口 46之间产生的处理的接口USB下游端口 46是 使USB主机控制器40连接到外部装置的端口图6是图示关于安装有图5中图示的USB主机控制器40的USB系统中的涉及USB 控制的部件的提取的框图图6图示了其中多卡读写器55和USB外部硬盘56被物理地连 接到USB主机安装的系统50的状态然而,在通过用于嵌入式装置的USB主机控制器进行的USB数据传送处理中存在 下述问题参考图5和图6来解释通过用于嵌入式装置的USB主机控制器进行的USB数据 传送处理图6中的USB主机控制器40支持六个管道控制电路431至436。
换言之,USB主 机控制器40包括六个管道控制电路431至436在该示例中,USB传送调度控制块42选择 多卡读写器阳的端点作为USB数据传送对象端点多卡读写器将使用六个管道来传送数 据当多卡读写器阳被连接到USB主机控制器40时,多卡读写器55占用并且使用管道控 制电路431至436在该情况下,即使另一 USB外部硬盘56被物理地连接到USB主机安装 的系统50,在USB主机控制器40中也不存在可用管道控制电路因此,USB外部硬盘56无 法经由管道与USB主机控制器51相连接通常,用于嵌入式装置的USB主机控制器支持大约十个管道控制电路通用USB 存储器和USB硬盘使用三个管道控制电路来传送数据此外,精密多功能打印机使用大约 十二个管道控制电路来传送数据因此,在用于嵌入式装置的USB主机控制器中,仅总共大 约三个USB存储器或USB硬盘能够经由管道进行连接此外,在用于嵌入式装置的上述USB 主机控制器中,存在精密多功能打印机没有经由管道进行连接的可能性发明内容本发明已经发现了下述问题,上述用于嵌入式装置的USB主机控制器限制了要经 由管道进行连接的外围装置的数目本发明的示例性方面是一种包括在主机控制器中的仲裁电路,该主机控制器能够 经由多个管道控制电路被连接到外部装置,该仲裁电路包括可用状态信息存储单元,该可 用状态信息存储单元存储可用状态信息,其中,可用状态信息指示多个管道控制电路的可 用状态,并且由管道控制电路按照预定通信尺寸的数据传送单位来进行更新;以及仲裁单 元,该仲裁单元参考可用状态信息存储单元,从可用管道控制电路中选择任意管道控制电 路,并且将所选择的管道控制电路分配给外部装置,同时更新可用状态信息存储单元。
在本发明中,通过预定通信尺寸的每个数据传送来更新管道控制电路的可用信 息仲裁电路分配可用管道控制电路这使得管道控制电路能够在与多个外部装置的数据 传送中被共享本发明使得多个外部装置能够共享在数据传送中使用的管道控制电路结合附图从特定示例性实施例的以下描述中,以上和其它示例性方面、优点和特 征将更加明显,其中图1是根据第一示例性实施例的USB主机控制器的框图;图2是根据第一示例性实施例的USB管道仲裁器的框图;图3图示了根据第一示例性实施例的使用USB主机控制器的装置的连接关系;图4是根据现有技术的使用EHCI标准的USB数据传送的概念图;图5是根据现有技术的USB主机控制器的框图;以及图6图示了根据现有技术的使用USB主机控制器的装置的连接关系具体实施例方式[第一示例性实施例]在下文中,参考附图来描述本发明的示例性实施例首先,参考图1来解释根据该 示例性实施例的USB主机控制器的基本构造USB主机控制器10包括CPU (中央处理单元) 接口控制块11、USB传送调度控制块12、USB管道仲裁器13、管道状态保持存储器14、多个 USB管道控制电路15 (151至15η)、用于USB管道的缓冲存储器16、USB接口控制块17以及 USB下游端口 18。
CPU接口控制块11是与CPU (未示出)的接口CPU执行用于控制USB主机控制 器10的软件USB传送调度控制块12是根据由USB标准定义的条件来确定有效端点的数 据传送顺序的处理单元此外,USB传送调度控制块12保持连接到安装有USB主机控制器 10的装置的外部装置的端点的信息该端点也是用于数据传送的缓冲器端点的信息至少 是使USB主机控制器10识别数据目的地的信息,并且由装置地址、端点号和传送方向组成USB管道仲裁器13保持稍后将描述的USB管道控制电路15的使用状况USB管 道仲裁器13作为用于仲裁USB管道控制电路15的仲裁电路来操作USB管道仲裁器13根 据USB管道控制电路15的使用状况来将USB管道控制电路15分配给每个外部装置的端点 稍后解释USB管道仲裁器13的详细构造和操作管道状态保持存储器14存储物理地连接到USB主机控制器10的外部装置的性能 信息在此,外部装置的性能信息是用于在与数据被传送到的外部装置的USB数据传送中 要使用的USB管道控制电路15的信息例如,存在外部装置的USB传送类型、传送速度和中 断状态的信息当外部装置被物理地连接到USB下游端口 18时,存储外部装置的性能信息。
此外,管道状态保持存储器14保持每个外部装置的端点进行的数据传送的处理 历史信息由USB管道控制电路15使用处理历史信息来参考目前的端点的数据传送状态, 并且从适当的状态开始恢复数据传送例如,处理历史信息包括先前的数据传送中是否出 现错误、数据切换序列的值等的信息注意,数据切换序列是包括在用于数据传送的分组中 的值(分组ID),并且是用于USB主机控制器和外部装置之间的分组发送和接收的同步的序 列信息注意,尽管管道信息保持存储器14被解释为存储外部装置的处理历史信息和性 能信息的存储单元,但是该信息可以被保持在不同的存储器中此外,管道信息保持存储器 14可以被包括在USB管道仲裁器13中USB管道控制电路15(151至15η)是用于控制管道的电路具体地,USB管道控制 电路15(151至15η)发出USB传送,执行传送数据的缓冲控制和USB协议控制通过加载 数据被传送到的端点的信息,USB管道控制电路15能够识别数据目的地组成USB管道控 制电路15的电路的数目是3,通信期间、下一次通信准备以及待机中的每个一个这使得 在没有速率限制因素的情况下进行数据通信组成USB管道控制电路15的电路的数目不 限于3,而是可以是3个或者更多,或者小于3个。
当完成预定通信尺寸的数据传送时,USB 管道控制电路15更新由稍后描述的管道状态管理寄存器132保持的值具体地,当完成预 定通信尺寸的数据传送时,USB管道控制电路15向管道状态管理寄存器132写入USB管道 控制电路已经成为可用的用于USB管道的缓冲存储器16用于在连接到USB的外部装置、包括USB主机控制 器10的微计算机等在数据传送时进行临时的数据输入和输出可以包括多个用于USB管 道的缓冲存储器16USB接口控制块17是调解在USB管道控制电路15和USB下游端口 18之间产生的 处理的接口USB下游端口 18是使USB主机控制器10连接到外部装置的端口USB下游 端口 18的数目根据包括USB主机控制器10的装置而不同USB下游端口 18的数目将与能 够被物理地连接到包括USB主机控制器10的装置的外部装置的数目相同接下来,参考图2来解释USB管道仲裁器13的详细构造USB管道仲裁器13包括 CPU总线接口控制块131、管道状态管理寄存器132、管道呼叫管理寄存器133、管道呼叫完 成通知寄存器134、管道和存储器之间的数据传送控制单元135以及总线控制块136CPU总线接口控制块131是要成为与用于CPU控制的总线的接口的处理单元。
管 道状态管理寄存器132实时地存储USB管道控制电路15的使用状况(是否是可用的或者 正在使用)换言之,管道状态管理寄存器132是可用状态信息存储单元,该可用状态信息 存储单元存储USB管道控制电路15的可用状态当USB管道控制电路15完成预定数据尺 寸的数据传送时,重新写入存储到管道状态管理寄存器132的值管道呼叫管理寄存器133指定用于识别其中生成数据传送请求的端点的信息通 过USB传送调度控制块12来将数据被传送到的端点的信息提供给管道呼叫管理寄存器 133管道呼叫完成通知寄存器134指示已经发出数据传送请求的端点的信息被加载 到USB管道控制电路15当管道和存储器之间的数据传送控制单元135完成了将USB管道 控制电路15分配给端点时,端点的信息被写入管道呼叫完成通知寄存器134管道和存储器之间的数据传送控制单元135用作用于仲裁USB管道控制电路15 的分配的仲裁单元更具体地,管道和存储器之间的数据传送控制单元135如下所述进行 操作管道和存储器之间的数据传送控制单元135定期地参考管道呼叫管理寄存器133 来评估是否存在数据被传送到的端点如果存在数据被传送到的端点,则管道和存储器之 间的数据传送控制单元135。












