CN102043741B - 用于管道仲裁的电路和方法 - Google Patents
用于管道仲裁的电路和方法 Download PDFInfo
- Publication number
- CN102043741B CN102043741B CN201010516546.4A CN201010516546A CN102043741B CN 102043741 B CN102043741 B CN 102043741B CN 201010516546 A CN201010516546 A CN 201010516546A CN 102043741 B CN102043741 B CN 102043741B
- Authority
- CN
- China
- Prior art keywords
- control circuit
- pipe control
- information
- data
- data transmission
- 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.)
- Active
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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
本发明涉及用于管道仲裁的电路和方法。提供了一种包括在主机控制器中的仲裁电路,该主机控制器能够经由多个管道控制电路被连接到多个外部装置。仲裁电路包括存储可用状态信息的可用状态信息存储单元。可用状态信息指示多个管道控制电路的可用状态,并且由管道控制电路按照预定通信尺寸的数据传送单位来进行更新。仲裁电路进一步包括仲裁单元,该仲裁单元参考可用状态信息存储单元,从可用管道控制电路中选择任意的管道控制电路,并且将所选择的管道控制电路分配给外部装置,同时更新可用状态信息存储单元。
Description
通过引用并入
本申请基于并且要求2009年10月22日提交的日本专利申请No.2009-243245的优先权权益,其全部公开内容在此通过引用被并入。
技术领域
本发明涉及用于管道仲裁的电路和方法。具体地,本发明涉及用于嵌入式装置的管道仲裁的电路和方法。
背景技术
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选择多卡读写器55的端点作为USB数据传送对象端点。多卡读写器将使用六个管道来传送数据。当多卡读写器55被连接到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至15n)、用于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至15n)是用于控制管道的电路。具体地,USB管道控制电路15(151至15n)发出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管道的缓冲存储器16。
USB接口控制块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以及总线控制块136。
CPU总线接口控制块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参考管道状态管理寄存器132,并且识别可用的USB管道控制电路15。此外,管道和存储器之间的数据传送控制单元135从管道状态保持存储器14中获得与数据被传送到的端点相对应的外部装置的装置信息以及该端点的处理历史,并且将获得的处理历史加载到可用的USB管道控制电路15。当完成加载处理时,管道和存储器之间的数据传送控制单元135更新管道状态管理寄存器132的值。此外,当完成加载处理时,管道和存储器之间的数据传送控制单元135将已经完成加载处理的端点的信息写入管道呼叫完成通知寄存器134,并且还将中断信号输出到CPU接口控制块11。
接下来,解释当外部装置被物理地连接到USB下游端口18时USB主机控制器10的操作。USB主机控制器10从外部装置中获得连接的外部装置的端点信息,该连接的外部装置的端点信息是装置地址、端点号以及传送方向。然后,USB传送调度控制块12保持所获得的端点信息。
USB主机控制器10进一步获得连接的外部装置的性能信息,并且将获得的信息存储在管道状态保持存储器14。此时,外部装置的性能信息和上述端点的信息被关联并且被存储。例如,USB主机控制器10获得数据被传送到的被物理连接的外部装置的USB传送类型、传送速度、中断状态信息等,并且将获得的信息存储到管道状态保持存储器14。
接下来,参考图2来解释IN传送,该IN传送是当外部装置从安装有USB主机控制器10的装置读取数据时的处理。首先,USB传送调度控制块12从能够进行USB传送的端点中选择根据USB标准数据被传送到的端点。USB传送调度控制块12将选择的端点的信息写入USB管道仲裁器13中的管道呼叫管理寄存器133,该选择的端点的信息是装置地址、端点信息和传送方向。
管道和存储器之间的数据传送控制单元135定期地参考管道呼叫管理寄存器133以评估是否存在数据被传送到的端点。如果存在数据被传送到的端点,则管道和存储器之间的数据传送控制单元135根据存储到管道呼叫管理寄存器133的端点信息识别应当进行访问的管道状态保持存储器14的区域。管道和存储器之间的数据传送控制单元135参考被识别的区域,并且获得与数据被传送到的端点相对应的外部装置的装置信息和该端点的处理历史。此外,管道和存储器之间的数据传送控制单元135参考管道状态管理寄存器132,并且识别可用的USB管道控制电路15。在该示例中,USB管道控制电路151应当是可用的。然后,管道和存储器之间的数据传送控制单元135将从管道状态保持存储器14获得的处理历史信息和装置信息加载到可用的USB管道控制电路151。例如,管道和存储器之间的控制数据传送单元135将外部装置的USB传送类型、传送速度等作为端点的装置信息加载到USB管道控制电路151。管道和存储器之间的数据传送控制单元135将端点的先前的数据传送不是错误的、数据切换序列的值是“1”等进一步加载到USB管道控制电路151。
在完成上述加载处理之后,管道和存储器之间的数据传送控制单元135向管道状态管理寄存器132通知加载处理的完成。具体地,管道和存储器之间的数据传送控制单元135向管道状态管理寄存器132写入分配有端点的USB管道控制电路151正在使用。此外,管道和存储器之间的数据传送控制单元135向管道呼叫完成通知寄存器134写入已经完成了加载处理的端点的信息,并且还将中断信号输出到CPU接口控制块11。加载有端点信息的USB管道控制电路151发出USB令牌,并且开始UBS IN传送。在该情况下,USB管道控制电路151使用加载的装置信息和处理历史信息来从适当的状态开始执行USB IN传送。
接下来,参考图2解释OUT处理,该OUT处理是当安装有USB主机控制器10的装置将数据写入外部装置时的处理。当生成OUT传送请求时,安装有USB主机控制器10的装置的系统软件经由CPU接口控制块11来从USB调度控制块12获得数据目的地的端点的信息。然后,系统软件将数据目的地的端点信息写入管道呼叫管理寄存器132。
管道和存储器之间的数据传送控制单元135定期地参考管道呼叫管理寄存器133来评估是否存在数据被传送到的端点。当存在数据要被传送到的端点时的后续处理与IN传送的情况相类似。具体地,管道和存储器之间的数据传送控制单元135访问管道状态保持存储器14,选择可用的USB管道控制电路15,并且将装置信息和处理历史信息加载到USB管道控制电路15。然后,USB管道控制电路15发出USB令牌,并且开始USB OUT传送。
接下来,在下面解释当完成IN或OUT传送时的USB主机控制器10的操作。在该示例中,IN或OUT传送的完成是指通过在数据传输中使用的分组单元的传输的完成。例如,当完成预定通信尺寸(例如512个字节)的数据传送时,USB管道控制电路151更新管道状态管理寄存器132。更具体地,USB管道控制电路15中的每一个通过预定通信尺寸的每个数据处理向管道状态管理寄存器132写入USB管道控制电路15已经变成可用。
此外,当完成预定通信尺寸(例如,512个字节)的数据传送时,USB管道控制电路151将数据目的地的端点的处理历史写入管道状态保持存储器14。例如,USB管道控制电路151向管道状态保持存储器14写入与端点的数据传送是否错误地完成、数据符号序列的值等。
图3图示了整合上述USB主机控制器10的USB主机安装的系统。多卡读写器34和USB外部硬盘35经由USB管道仲裁器13使用USB管道控制电路15。通过仲裁USB管道控制电路15的使用的USB管道仲裁器13,能够共享USB管道控制电路15。
接下来,在下文中解释根据该示例性实施例的主机控制器的示例性优点。如上所述,仲裁电路被包括在主机控制器中,并且通过预定通信尺寸的每个数据传送来重新写入管道控制电路的可用信息。通过经由预定通信尺寸的每个数据传送来将可用的管道控制电路分配给与外部装置的端点的仲裁电路,能够共享管道控制电路。因此,即使具有少数管道控制电路,也不限制能够被连接的外围装置的数目。换言之,这支持经由管道进行许多外围装置的连接,同时保持电路尺寸是小的。
在使用USB标准的数据传送中,根据标准,包括在127个外部装置中的最多的4064个端点和包括USB主机控制器的装置能够经由管道进行连接。在根据该示例性实施例的主机控制器中,通过共享管道控制电路,能够经由管道连接与标准的上限相同的数目的外部装置。
在根据该示例性实施例的主机控制器中,被物理连接的外部装置的每个端点的处理历史信息被存储到管道状态保持存储器。在开始传送数据之前,向管道控制电路通知数据要被传送到的端点的处理历史信息。因此,即使管道控制电路的数据传送对象按每个预定通信尺寸而改变,也能够从适当的状态开始数据传送。
虽然已经按照若干示例性实施例描述了本发明,但是本领域的技术人员将认识到,本发明可以在所附的权利要求的精神和范围内通过各种修改来实践,并且本发明并不限于上述示例。
此外,权利要求的范围不受上述的示例性实施例的限制。
此外,应当注意,申请人意在涵盖所有权利要求要素的等同形式,即使在后期的审查过程中对权利要求进行修改亦是如此。
Claims (15)
1.一种包括在主机控制器中的仲裁电路,所述主机控制器能够经由多个管道控制电路被连接到外部装置,所述仲裁电路包括:
可用状态信息存储单元,所述可用状态信息存储单元存储可用状态信息,所述可用状态信息指示所述多个管道控制电路的可用状态,并且由所述管道控制电路按照预定通信尺寸的数据传送单位来进行更新;以及
仲裁单元,所述仲裁单元参考所述可用状态信息存储单元,从可用管道控制电路中选择任意管道控制电路,将所选择的管道控制电路分配给所述外部装置,并且更新所述可用状态信息存储单元,
其中,在所述管道控制电路的所述分配处理中,所述仲裁单元向所选择的管道控制电路通知关于所述数据传送对象的外部装置的处理历史信息。
2.根据权利要求1所述的仲裁电路,其中,所述预定通信尺寸与通过串行总线在所述数据传送中使用的通信分组的尺寸相同。
3.根据权利要求1所述的仲裁电路,进一步包括:
管道呼叫设置存储单元,所述管道呼叫设置存储单元存储包括在由所述外部装置输出的数据传送请求中的用于数据传送的缓冲器的识别信息,
其中,所述仲裁单元读取存储在所述管道呼叫设置存储单元中的所述用于数据传送的缓冲器的所述识别信息,并且开始所述管道控制电路的分配处理。
4.根据权利要求1所述的仲裁电路,进一步包括:
管道呼叫完成通知存储单元,当通过所述管道控制电路的所述预定通信尺寸的数据传送的完成而更新所述可用状态信息存储单元时,所述管道呼叫完成通知存储单元存储已经完成所述预定通信尺寸的数据传送的用于数据传送的缓冲器的信息,
其中,所述仲裁单元向所述管道呼叫完成通知存储单元写入已经完成所述预定通信尺寸的数据传送的所述用于数据传送的缓冲器的信息,并且将中断信号发送到中央处理单元。
5.根据权利要求1所述的仲裁电路,其中,在所述管道控制电路的所述分配处理中,所述仲裁单元向所选择的管道控制电路通知数据传送对象的外部装置的装置信息。
6.一种主机控制器中的管道控制电路的仲裁方法,所述主机控制器能够经由多个管道控制电路被连接到外部装置,所述仲裁方法包括:
基于所述多个管道控制的可用状态从可用管道控制电路中选择任意管道控制电路;
将所选择的管道控制电路分配给所述外部装置;
按照预定通信尺寸的数据传送单位来更新所述可用状态信息;以及
在所述管道控制电路的所述分配处理中,向所选择的管道控制电路通知关于数据传送对象的外部装置的处理历史信息。
7.根据权利要求6所述的仲裁方法,其中,所述预定通信尺寸与通过串行总线在数据传送中使用的通信分组的尺寸相同。
8.根据权利要求6所述的仲裁方法,进一步包括:
当通过所述外部装置提供数据传送请求时,存储包括在所述数据传送请求中的用于数据传送的缓冲器的识别信息;以及
使用所存储的所述用于数据传送的缓冲器的所述识别信息来开始所述管道控制电路的分配处理。
9.根据权利要求6所述的仲裁方法,进一步包括:
当通过所述管道控制电路的所述预定通信尺寸的数据传送的完成而更新所述可用状态信息存储单元时,存储在所述可用状态信息被更新时已经完成所述预定通信尺寸的数据传送的用于数据传送的缓冲器的信息;以及
发送中断信号用于向中央处理单元通知所存储的所述用于数据传送的缓冲器的信息。
10.根据权利要求6所述的仲裁方法,进一步包括:
在所述管道控制电路的所述分配处理中,向所选择的管道控制电路通知数据传送对象的所述外部装置的装置信息。
11.一种主机控制器,所述主机控制器能够经由多个管道控制电路被连接到外部装置,所述主机控制器包括:
可用状态信息存储单元,所述可用状态信息存储单元存储可用状态信息,所述可用状态信息指示所述多个管道控制电路的可用状态,并且由所述管道控制电路按照预定通信尺寸的数据传送单位来进行更新;
仲裁单元,所述仲裁单元参考所述可用状态信息存储单元,从可用管道控制电路中选择任意管道控制电路,将所选择的管道控制电路分配给所述外部装置,并且更新所述可用状态信息存储单元;以及
处理历史存储单元,所述处理历史存储单元存储关于可连接的外部装置的数据传送的处理历史,
其中,在所述预定尺寸的数据传送完成之后,所述管道控制电路更新所述可用状态信息存储单元,
其中,在所述管道控制电路的所述分配处理中,所述仲裁单元获得关于所述数据传送对象的外部装置的处理历史,并且向所选择的管道控制电路通知所获得的处理历史。
12.根据权利要求11所述的主机控制器,其中,所述预定通信尺寸与通过串行总线在所述数据传送中使用的通信分组的尺寸相同。
13.根据权利要求11所述的主机控制器,其中
所述仲裁电路包括管道呼叫设置存储单元,所述管道呼叫设置存储单元接收来自所述外部装置的数据传送请求,并且还存储包括在所述数据传送请求中的用于数据传送的缓冲器的识别信息,以及
所述仲裁单元,所述仲裁单元读取存储到所述管道呼叫设置存储单元的所述用于数据传送的缓冲器的所述识别信息,并且开始所述管道控制电路的分配处理。
14.根据权利要求11所述的主机控制器,其中
所述仲裁电路进一步包括管道呼叫完成通知存储单元,当通过完成所述管道控制电路的预定通信尺寸的数据传送而更新所述可用状态信息存储单元时,所述管道呼叫完成通知存储单元存储已经完成所述预定通信尺寸的数据传送的用于数据传送的缓冲器的信息,以及
所述仲裁单元,所述仲裁单元向所述管道呼叫完成通知存储单元写入已经完成所述预定通信尺寸的数据传送的所述用于数据传送的缓冲器的信息,并且将中断信号发送到中央处理单元。
15.根据权利要求11所述的主机控制器,进一步包括:
装置信息存储单元,所述装置信息存储单元存储可连接的外部装置的性能信息,
其中,在所述管道控制电路的分配处理中,所述仲裁单元从所述装置信息存储单元中获得数据传送对象的外部装置的性能信息,并且向所选择的管道控制电路通知所获得的性能信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075877.1A CN104636280B (zh) | 2009-10-22 | 2010-10-20 | 用于管道仲裁的电路和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009243245A JP5456434B2 (ja) | 2009-10-22 | 2009-10-22 | パイプ調停回路、パイプ調停方法 |
JP2009-243245 | 2009-10-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075877.1A Division CN104636280B (zh) | 2009-10-22 | 2010-10-20 | 用于管道仲裁的电路和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102043741A CN102043741A (zh) | 2011-05-04 |
CN102043741B true CN102043741B (zh) | 2015-02-25 |
Family
ID=43899342
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010516546.4A Active CN102043741B (zh) | 2009-10-22 | 2010-10-20 | 用于管道仲裁的电路和方法 |
CN201510075877.1A Active CN104636280B (zh) | 2009-10-22 | 2010-10-20 | 用于管道仲裁的电路和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075877.1A Active CN104636280B (zh) | 2009-10-22 | 2010-10-20 | 用于管道仲裁的电路和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8423693B2 (zh) |
JP (1) | JP5456434B2 (zh) |
CN (2) | CN102043741B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5506304B2 (ja) * | 2009-09-18 | 2014-05-28 | ルネサスエレクトロニクス株式会社 | データ処理装置及びデータ処理システム |
JP5456434B2 (ja) * | 2009-10-22 | 2014-03-26 | ルネサスエレクトロニクス株式会社 | パイプ調停回路、パイプ調停方法 |
US8930585B2 (en) * | 2012-05-29 | 2015-01-06 | Mediatek Inc. | USB host controller and scheduling methods thereof |
GB202001700D0 (en) * | 2020-02-07 | 2020-03-25 | Blancco Tech Group Ip Oy | USB controller endpoint resource management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196607A (ja) * | 1998-12-24 | 2000-07-14 | Canon Inc | 情報処理システム及びその制御方法並びに情報処理装置 |
JP2004046392A (ja) * | 2002-07-10 | 2004-02-12 | Renesas Technology Corp | Usbホスト制御回路 |
CN1551592A (zh) * | 2003-05-06 | 2004-12-01 | 精工爱普生株式会社 | 数据传输控制装置、电子设备及数据传输控制方法 |
CN101021817A (zh) * | 2006-02-14 | 2007-08-22 | 松下电器产业株式会社 | Usb主机系统、av数据再现装置和av数据记录装置 |
CN101086726A (zh) * | 2006-06-06 | 2007-12-12 | 国际商业机器公司 | 用于禁用通用串行总线端口的方法和设备 |
US7428600B2 (en) * | 2002-04-26 | 2008-09-23 | Seiko Epson Corporation | Data transfer control device, electronic equipment, and data transfer control method |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145045A (en) * | 1998-01-07 | 2000-11-07 | National Semiconductor Corporation | System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points |
US6205501B1 (en) * | 1998-01-07 | 2001-03-20 | National Semiconductor Corp. | Apparatus and method for handling universal serial bus control transfers |
CN1273903C (zh) * | 1998-03-19 | 2006-09-06 | 韩旭 | 通用串行总线多功能转接控制器 |
US6119195A (en) * | 1998-08-04 | 2000-09-12 | Intel Corporation | Virtualizing serial bus information point by address mapping via a parallel port |
JP2002312296A (ja) * | 2001-04-10 | 2002-10-25 | Nec Microsystems Ltd | 周辺装置のusbインタフェース装置、その制御方法およびプログラム並びにusbインタフェースシステム |
TW518502B (en) * | 2001-07-13 | 2003-01-21 | Prolific Technology Inc | USB compound device and the realization method thereof |
US7069373B2 (en) * | 2002-11-07 | 2006-06-27 | Nec Electronics America, Inc. | USB endpoint controller flexible memory management |
US7222201B2 (en) * | 2003-01-06 | 2007-05-22 | Plx Technology, Inc. | Virtual endpoint for USB devices |
JP4127071B2 (ja) * | 2003-02-19 | 2008-07-30 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及びデータ転送制御方法 |
US7340554B2 (en) * | 2003-05-15 | 2008-03-04 | Nxp B.V. | USB host controller with DMA capability |
CN100414523C (zh) | 2003-05-15 | 2008-08-27 | Nxp股份有限公司 | 具有dma能力的usb主机控制器 |
JP2004355117A (ja) * | 2003-05-27 | 2004-12-16 | Noritsu Koki Co Ltd | バス制御システム及びバス制御方法 |
JP2005122372A (ja) * | 2003-10-15 | 2005-05-12 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
CN100385787C (zh) * | 2005-12-12 | 2008-04-30 | 天津理工大学 | 基于dsp芯片的励磁控制器通讯系统及其usb协议实现的方法 |
TWI317882B (en) * | 2006-01-27 | 2009-12-01 | Prolific Technology Inc | An usb interface provided with host/device function and its control method |
US7526590B2 (en) * | 2006-03-31 | 2009-04-28 | Intel Corporation | Systems and methods for remote pipe resource management in wireless adapters |
CN101256452A (zh) * | 2007-03-01 | 2008-09-03 | 昆盈企业股份有限公司 | Usb输入装置及其扩展带宽的方法 |
JP2009015832A (ja) * | 2007-06-07 | 2009-01-22 | Renesas Technology Corp | アクセス間調停回路、半導体装置およびアクセス間調停方法 |
JP5456434B2 (ja) * | 2009-10-22 | 2014-03-26 | ルネサスエレクトロニクス株式会社 | パイプ調停回路、パイプ調停方法 |
-
2009
- 2009-10-22 JP JP2009243245A patent/JP5456434B2/ja active Active
-
2010
- 2010-10-12 US US12/902,855 patent/US8423693B2/en active Active
- 2010-10-20 CN CN201010516546.4A patent/CN102043741B/zh active Active
- 2010-10-20 CN CN201510075877.1A patent/CN104636280B/zh active Active
-
2013
- 2013-03-29 US US13/853,500 patent/US8756356B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196607A (ja) * | 1998-12-24 | 2000-07-14 | Canon Inc | 情報処理システム及びその制御方法並びに情報処理装置 |
US7428600B2 (en) * | 2002-04-26 | 2008-09-23 | Seiko Epson Corporation | Data transfer control device, electronic equipment, and data transfer control method |
JP2004046392A (ja) * | 2002-07-10 | 2004-02-12 | Renesas Technology Corp | Usbホスト制御回路 |
CN1551592A (zh) * | 2003-05-06 | 2004-12-01 | 精工爱普生株式会社 | 数据传输控制装置、电子设备及数据传输控制方法 |
CN101021817A (zh) * | 2006-02-14 | 2007-08-22 | 松下电器产业株式会社 | Usb主机系统、av数据再现装置和av数据记录装置 |
CN101086726A (zh) * | 2006-06-06 | 2007-12-12 | 国际商业机器公司 | 用于禁用通用串行总线端口的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104636280A (zh) | 2015-05-20 |
CN104636280B (zh) | 2018-03-30 |
US20130219095A1 (en) | 2013-08-22 |
JP2011090485A (ja) | 2011-05-06 |
JP5456434B2 (ja) | 2014-03-26 |
US8756356B2 (en) | 2014-06-17 |
US20110099312A1 (en) | 2011-04-28 |
CN102043741A (zh) | 2011-05-04 |
US8423693B2 (en) | 2013-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622316B (zh) | 选择性地使能主机传递中断 | |
US6564271B2 (en) | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter | |
EP2181395B1 (en) | Processing a variable length device command word at a control unit in an i/o processing system | |
CN101946242A (zh) | 在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址 | |
WO2006038717B1 (en) | External data interface in a computer architecture for broadband networks | |
CN102436431B (zh) | 总线系统和其死锁避免电路 | |
CN101673255B (zh) | 通用串行总线主机控制器和通用串行总线主机控制方法 | |
CN102043741B (zh) | 用于管道仲裁的电路和方法 | |
CN103955441A (zh) | 一种设备管理系统、方法及一种io扩展接口 | |
US20100023669A1 (en) | Host controller disposed in multi-function card reader | |
CN105009100A (zh) | 计算机系统及计算机系统的控制方法 | |
CN107273245A (zh) | 运算装置与运作方法 | |
US5940592A (en) | Communication processing method in parallel computer and system therefor | |
CN110647359A (zh) | 半导体装置、其操作方法和具有其的层叠存储装置 | |
CN104615558A (zh) | 一种数据传送方法及电子装置 | |
US20130282971A1 (en) | Computing system and data transmission method | |
CN113986137A (zh) | 存储装置和存储系统 | |
CN101373438B (zh) | 一种基本输入输出系统管理方法、系统和装置 | |
US7437490B2 (en) | Channel communication array queues in hardware system area | |
CN112860595B (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
US7451254B2 (en) | System and method for adaptive buffer allocation in a memory device interface | |
CN101241478B (zh) | 数据传送方法 | |
CN107590088B (zh) | 一种dma读操作的处理方法、系统及相关装置 | |
CN107085557A (zh) | 直接存储器访问系统以及相关方法 | |
JP6836536B2 (ja) | ストレージシステム及びio処理の制御方法 |
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 | ||
CP02 | Change in the address of a patent holder |
Address after: Tokyo, Japan Patentee after: Renesas Electronics Corporation Address before: Kanagawa Patentee before: Renesas Electronics Corporation |
|
CP02 | Change in the address of a patent holder |