CN101996150A - 数据传输控制装置和数据传输控制方法 - Google Patents
数据传输控制装置和数据传输控制方法 Download PDFInfo
- Publication number
- CN101996150A CN101996150A CN2010102420818A CN201010242081A CN101996150A CN 101996150 A CN101996150 A CN 101996150A CN 2010102420818 A CN2010102420818 A CN 2010102420818A CN 201010242081 A CN201010242081 A CN 201010242081A CN 101996150 A CN101996150 A CN 101996150A
- Authority
- CN
- China
- Prior art keywords
- communication unit
- data transmission
- transmission
- unit
- peripheral
- 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.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims abstract description 654
- 238000004891 communication Methods 0.000 claims abstract description 357
- 230000002093 peripheral effect Effects 0.000 claims abstract description 298
- 238000012545 processing Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 46
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 11
- 230000036755 cellular response Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 142
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 11
- 238000010276 construction Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 239000003550 marker Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及数据传输控制装置和数据传输控制方法。根据本发明的示例性方面的数据传输控制装置,包括:第一通信单元,该第一通信单元处理与外围装置的数据传输;和第二通信单元,该第二通信单元处理与主机装置的数据传输,其中第一通信单元和第二通信单元中的一个用作其数据传输应具有高优先级的优先通信单元,并且第一通信单元和第二通信单元中的另一个用作非优先通信单元,当在优先通信单元中执行数据传输时,优先通信单元向非优先通信单元通知正在执行数据传输,并且当正在从优先通信单元向非优先通信单元通知正在执行数据传输时,非优先通信单元暂停非优先通信单元中的数据传输。
Description
引用合并
本申请基于并且要求于2009年8月20日提交的日本专利申请No.2009-191046和2010年5月12日提交的日本专利申请No.2010-110009的优先权的权益,通过引用,将二者全部内容整体合并于此。
技术领域
本发明涉及数据传输控制装置和数据传输控制方法,具体地涉及能够同时使用主机功能和外围功能的数据传输控制装置和数据传输控制方法。
背景技术
近年来,已经广泛地使用装备有USB(通用串行总线)接口的装置(下文称为“USB装置”)。通常使用的USB装置的示例包括个人计算机(下文中称为“PC”)、打印机、数码照相机、以及USB存储器。这些USB装置通过USB接口被连接至其它的USB装置,其中依照USB标准来执行数据传输。在使用USB的数据传输中,一个装置用作主机装置(例如,PC)并且另一个装置用作外围装置(例如,USB存储器)。在这些装置之间传输的数据被暂时地存储在设于USB控制器中的缓冲存储器中。
同时,对于支持USB标准当中的被称为“OTG(USB On-The-Go)”的接口标准的装置的需要已经特别地增长。特别地,在OTG中,定义了能够具有主机功能(作为主机装置操作的功能,尽管传输率受到限制)和外围功能(作为外围装置进行操作的功能)的两用装置。即,两用装置能够用作主机装置或者外围装置。此外,如果被连接至两用装置的装置是在传统的USB标准中支持的主机装置或者外围装置,那么两用装置的角色被唯一地确定。即,如果两用装置所连接到的另一个装置是主机装置,那么两用装置执行外围功能,然而如果另一个装置是外围装置,那么两用装置执行主机功能。同时,如果两个通信装置都是支持OTG标准的两用装置,那么根据标准决定哪个装置应作为主机装置进行操作。
日本未经审查的专利申请公开No.2003-316728公布了涉及数据传输控制装置的技术以减少控制传输中的处理负荷或者在主机功能中获得类似的效果。日本未经审查的专利申请公开No.2004-349836公布了涉及数据传输控制装置的技术以通过执行通道(pipe)区域的重建以在内部缓冲存储器中确保各通道区域来增加效率。日本未经审查的专利申请公开No.2005-122372公布了涉及数据传输控制装置的技术以实现数据传输带宽的有效使用并且减少功率消耗。在根据日本未经审查的专利申请公开No.2005-122372的数据传输控制装置中,当数据传输控制装置接收NAK(否定应答)响应时,在等待预定的时段之后发出重新传输事物。
发明内容
注意到,在外围装置和主机装置都能够被连接至上述两用装置的情况下,两用装置能够同时执行主机功能和外围功能。在这样的情况下,对于被连接的主机装置,执行外围功能来执行处理,同时对于被连接的外围装置,执行主机功能来执行处理。
然而,存在下述问题,即,当在两用装置中同时执行主机功能和外围功能时,由于功能中的另一个的操作的影响,很难保持功能中的一个的高的传输性能。这是因为,由于主机功能和外围功能都执行与被连接至两用装置的其它装置的数据传输,存在不能够适当地分配两用装置的资源的问题。例如,存在下述问题,当对于外围功能的控制增加控制两用装置的CPU(中央处理单元)的处理负载时,主机功能的传输性能可能被降低。存在另一问题,即,当相反地对于主机功能的控制增加CPU的处理负载时,外围功能的传输性能可能被降低。
注意,要在上述日本未经审查的专利申请公开No.2003-316728、2004-349836以及2005-122372中解决的问题不同于上述的问题,因为它们没有假定主机功能和外围功能被同时执行的情况。在日本未经审查的专利申请公开No.2003-316728中,传输的类型不限于控制传输并且主要数据传输没有被包括在预期的传输中。此外,日本未经审查的专利申请公开No.2004-349836涉及存储器区域的有效使用。而且,日本未经审查的专利申请公开No.2005-122372涉及在两用装置所连接的主机装置中使用的技术。
本发明的第一示例性实施例是数据传输控制装置,包括:第一通信单元,该第一通信单元处理与外围装置的数据传输;和第二通信单元,该第二通信单元处理与主机装置的数据传输,其中第一通信单元和第二通信单元中的一个用作其数据传输应具有高的优先级的优先通信单元,并且第一通信单元和第二通信单元中的另一个用作非优先通信单元,当在优先通信单元中执行数据传输时,优先通信单元向非优先通信单元通知正在执行数据传输,并且当正在从优先通信单元向非优先通信单元通知正在执行数据传输时,非优先通信单元暂停非优先通信单元中的数据传输。
本发明的另一示例性实施例是数据传输控制方法,该数据传输控制方法控制数据传输控制装置,该数据传输控制装置包括:第一通信单元,该第一通信单元处理与外围装置的数据传输;和第二通信单元,该第二通信单元处理与主机装置的数据传输,其中第一通信单元和第二通信单元中的一个用作其数据传输应具有高的优先级的优先通信单元,并且第一通信单元和第二通信单元中的另一个用作非优先通信单元,当在优先通信单元中执行数据传输时,优先通信单元向非优先通信单元通知正在执行数据传输,并且当正在从优先通信单元向非优先通信单元通知正在执行数据传输时,非优先通信单元暂停非优先通信单元中的数据传输。
通过根据本发明的第一和第二方面的上述数据传输控制装置和数据传输控制方法,当通过优先通信单元执行与外部装置的数据传输时,能够制止通过非优先通信单元执行数据传输。通过这样做,大量的资源能够被分配给优先通信单元的功能中的数据传输处理。例如,当优先通信单元是上述两用装置的主机功能时,在由主机功能执行的与外围装置的数据传输中的传输性能能够被保持在高水平。另一方面,当优先通信单元是上述两用装置的外围功能时,在由外围功能执行的与主机装置的数据传输中的传输性能能够被保持在高水平。
在示例性方面,本发明能够提供数据传输控制装置和数据传输控制方法,当主机功能和外围功能被同时执行时,能够将主机功能和外围功能中的任意一个的传输性能保持在高水平。
附图说明
结合附图,根据某些示例性实施例的以下描述,以上和其它示例性方面、优点和特征将更加明显,其中:
图1是示出根据本发明的第一示例性实施例的数据传输控制装置的整体构造的框图;
图2是示出根据本发明的第一示例性实施例的主机控制器的处理流程的流程图;
图3是示出根据本发明的第一示例性实施例的外围控制器的处理流程的流程图;
图4是用于解释根据本发明的第一示例性实施例的传输状态信号和来自于外围控制器的响应的示例的图;
图5是用于解释根据本发明的第一示例性实施例的传输状态信号和来自于外围控制器的响应的示例的图;
图6是示出根据本发明的第一示例性实施例的主机控制器和传输状态信号的输出之间的关系的图;
图7是示出根据本发明的第一示例性实施例的主机控制器和传输状态信号的输出之间的关系的图;
图8是示出根据本发明的第二示例性实施例的数据传输控制装置的整体构造的框图;
图9是示出根据本发明的第二示例性实施例的主机控制器的处理流程的流程图;
图10是示出根据本发明的第三示例性实施例的数据传输控制装置的整体构造的框图;以及
图11是示出根据本发明的第三示例性实施例的外围控制器或者主机控制器的处理流程的流程图。
具体实施方式
在下文中参考附图详细地解释应用本发明的示例性实施例。在附图中用相同的附图标记来表示相同的组件,并且为了阐明解释,适当地省略重复的解释。
[第一示例性实施例]
图1是示出根据本发明的第一示例性实施例的数据传输控制装置100的整体构造的框图。除了数据传输控制装置100之外,在图1中还示出USB装置201、202以及203、和USB主机300。数据传输控制装置100包括CPU 10和USB两用装置20。USB两用装置20是依照USB标准的两用装置。USB装置201、202以及203中的每一个是依照USB标准进行操作的外围装置。注意,外围装置的数目不限于三,即,USB装置201、202以及203,并且仅要求装置的数目应至少是1。USB主机300是依照USB标准进行操作的主机装置。
注意,根据本发明的第一示例性实施例中的术语“数据传输”意指其中执行至少一个USB事务的基于USB标准的,在数据传输控制装置100和USB装置201、202以及203中的一个,或者在数据传输控制装置100和USB主机300之间执行的传输。
数据传输控制装置100能够同时执行主机功能和外围功能。注意,本说明书中的术语“同时”不限于“完全相同的时间”,而是意指在一个USB装置中一个或者多个USB端口被用于主机功能并且其它的USB端口被用于外围功能,或者相反的状态。例如,打印机能够被用作能够同时执行主机功能和外围功能的多功能装置。在这样的情况下,打印机在其中打印机被连接至PC的状态下进行操作时作为外围设备,并且还在其中数码照相机被连接至打印机的另一端口的状态下进行操作时作为主机。即,当PC和数码照相机被同时连接至打印机时,主机功能和外围功能被同时执行。
图1中所示的使用的具体形式包括下述示例。在下面的示例中,USB装置201是USB存储器;USB主机300是PC;并且数据传输控制装置100是打印机。在这样的情况下,数据传输控制装置100能够通过打印机功能打印被存储在USB装置201中的图像数据。此外,数据传输控制装置100还能够在来自USB主机300的指令下打印从USB主机300发送的图像数据。替代地,数据传输控制装置100能够以交替的方式执行被存储在USB装置201中的图像数据的打印处理以及从USB主机300发送的图像数据的打印处理。注意,数据传输控制装置100、USB装置201、以及USB主机300的具体示例不限于此示例。
CPU 10控制数据传输控制装置100的整体操作。例如,CPU 10读取被存储在系统存储器(未示出)中的控制程序和/或设定值,并且控制USB两用装置20。此外,作为USB控制电路的USB两用装置20提供用于USB装置201、202或者203、或者USB主机300的接口。这样,与其它USB装置的连接变为可能。
接下来,在下文中解释USB两用装置20的细节。USB两用装置20是给予主机功能中的数据传输处理比外围功能中的数据传输处理更高的优先级的装置。USB两用装置20包括主机控制器21、外围控制器22、下游端口241至243、上游端口25、以及总线接口27。例如,可以通过LSI(大规模集成)电路实施USB两用装置20。
下游端口241至243是专用于主机功能的端口。通过将USB装置201至203中的一个通过USB线缆连接至下游端口241至243中的一个,主机控制器21能够与USB装置201至203中的一个执行数据传输。注意,下游端口241至243的数目不限于三,而是仅要求应提供至少一个下游端口。
主机控制器21控制USB装置201至203中的一个的数据传输。换言之,主机控制器21是处理与USB装置201至203中的一个的数据传输的第一通信单元。此外,主机控制器21通过总线接口27被连接至CPU 10。此外,当主机控制器21正在处理与USB装置201至203中的一个的数据传输时,主机控制器21向外围控制器22通知正在处理数据传输。图1示出主机控制器21将表示主机控制器21和USB装置201至203中的一个之间的数据传输状态的传输状态信号26输出到外围控制器22的情况。在下面的解释中,假定当数据正在被传输时传输状态信号26的信号电平处于有效电平(active level),并且当数据没有正在被传输时传输状态信号26的信号电平处于无效电平(inactive level)。注意,数据传输状态的信号电平不限于此示例。例如,有效电平可以是“高(1)”或者“低(0)”。注意,基于有效电平是“1”并且无效电平是“0”的假设进行下面的说明。而且注意,传输状态信号26还能够被称为“传输许可/拒绝信号”,其被用于通知外围控制器22和USB主机300之间的数据传输的许可/拒绝。
主机控制器21包括多个通道P1、P2、…、和Pn,以及发送单元23。多个通道P1、P2、…、和Pn是多个传输执行单元,其中的每一个执行与USB装置201至203中的一个的多个端点中的相应一个的数据传输。注意,通道P1、P2、…、和Pn的数目不限于在附图中所示的数目,并且可以是等于或者小于预定的上限值的任何数目。通道P1、P2、…、和Pn中的每一个保持作为执行数据传输所需要的信息的传输信息,并且能够基于保持的传输信息通过下游端口241至243中的一个执行与USB装置201至203中的一个的数据传输。注意,传输信息包括总数据传输大小、最大分组大小、传输方向(入或者出)、传输类型(控制、批量、中断、或者同步)等等。然而,传输信息不限于本示例。注意,基于USB的数据传输的机制是众所周知的,并且因此其详细的解释被省略。
通道P1包括输出控制寄存器C1和状态寄存器S1,并且通道P2包括输出控制寄存器C2和状态寄存器S2。类似地,通道P3(未示出)、…、以及通道Pn中的每一个的内部构造与通道P1和P2的相类似,并且因此其解释和图示被省略。状态寄存器S1和S2中的每一个保持表示通道P1和P2中的相应的一个是否正在执行数据传输的传输状态信号。例如,当通道P1开始基于传输信息与多个端点中的一个进行数据传输时,“1”(作为示例)被存储在状态寄存器S1中。输出控制寄存器C1和C2中的每一个存储用于控制通道P1和P2中的相应的一个的传输状态信号是否应被输出到发送单元23的标记信息。例如,当被存储在输出控制寄存器C1中的标记信息是“1”时,被保持在状态寄存器S1中的值被直接地输出到发送单元23。另一方面,当被存储在输出控制寄存器C1中的标记信息是“0”时,不管状态寄存器S1的值如何,始终输出“0”(其是无效电平的示例)。注意,在任何给定的时刻能够从外部更改被存储在输出控制寄存器C1或C2中的标记信息。
然后,通道P1计算被存储在输出控制寄存器C1和状态寄存器S1中的值的逻辑积,并且将获得的值输出到发送单元23。类似地,通道P2计算被存储在输出控制寄存器C2和状态寄存器S2中的值的逻辑积,并且将获得的值输出到发送单元23。
发送单元23将从通道P1、P2、…、以及Pn输出的传输状态信号组合成一个传输状态信号,并且将该一个传输状态信号输出到外围控制器22作为具有有效电平或者无效电平的传输状态信号26。发送单元23计算从通道P1、P2、…、以及Pn输出的传输状态信号的逻辑和。然后,当逻辑和的结果是“1”时,发送单元23将传输状态信号26变为“1”电平并且将具有“1”电平的传输状态信号26输出到外围控制器22。此外,当发送单元23计算从通道P1、P2、…、以及Pn输出的传输状态信号的逻辑和并且逻辑和的结果是“0”时,发送单元23将传输状态信号26变为“0”电平并且将具有“0”电平的传输状态信号26输出到外围控制器22。
此外,从当在通道P1、P2以及Pn中的一个开始与USB装置201至203中的一个的数据传输时到当在已经与USB装置201至203中的一个执行数据传输的所有的通道P1、P2、…、以及Pn中完成了数据传输时,主机控制器21将被设置为有效状态的传输状态信号26发送到外围控制器22。这样,主机控制器21的数据传输状态能够被有效地传送到外围控制器22。
注意,发送单元23没有必要必须将从通道P1、P2、…、以及Pn输出的传输状态信号组合成一个传输状态信号并且将该一个传输状态信号输出到外围控制器22作为传输状态信号26。例如,无论何时从通道P1、P2、…、以及Pn输出传输状态信号,发送单元23都可以将传输状态信号输出到外围控制器22。然后,当外围控制器22接受任何传输状态信号时,外围控制器22可以识别主机控制器21正在执行与USB装置200的数据传输。
此外,可以通过通知确定单元实施上述输出控制寄存器C1和C2,该通知确定单元确定是否应向外围控制器22通知正在与USB装置201至203中的一个执行数据传输的情况。在这样的情况下,当在与USB装置201至203中的一个执行数据传输的通道P1、P2、…、以及Pn当中至少存在一个由通知确定单元确定为被通知给外围控制器22的通道时,主机控制器21将被设置为有效状态的传输状态信号26发送到外围控制器22。这样,能够根据通道的负荷状态和/或重要程度对多个通道执行部分控制。例如,在对于特定通道中的数据传输来说主机功能和外围功能的同时操作是可接受的情况下,能够防止外围控制器22的数据传输中的任何不必要的延迟,因此使得能够执行有效数据传输。
此外,当对于其使传输状态信号26变为有效状态的到外围控制器22的发送已经持续预定的时间或者更长时,主机控制器21可以使传输状态信号26变为无效状态并且将无效的传输状态信号26发送到外围控制器22。替代地,可以在发送单元23中控制传输状态信号26的输出。
这样,当主机控制器21的数据传输已经优先执行了预定的时间并且因此对外围控制器22的处理的影响,即,外围控制器22的数据传输中的延迟变得太大时,能够允许主机功能和外围功能的同时操作。此外,在某些情况下,通过解除外围控制器22的处理抑制能够增加传输效率。因此,能够防止外围控制器22的数据传输中的不必要的延迟,因此使得能够执行有效数据传输。
上游端口25是专用于外围功能的端口。通过将USB主机300通过USB线缆连接至上游端口25,外围控制器22执行USB主机300和外围控制器22之间的数据传输。
外围控制器22执行与USB主机300的数据传输。换言之,外围控制器22是处理与USB主机300的数据传输的第二通信单元。此外,外围控制器22通过总线接口27被连接至CPU 10。
当从主机控制器21通知外围控制器22主机控制器21正在执行与USB装置201至203中的一个的数据传输时,外围控制器22响应于来自于USB主机300的数据传输开始请求将表示不能执行数据传输的传输禁止响应发送到USB主机300。这样,即使当同时执行主机功能和外围功能时,通过抑制外围控制器22侧的处理能够保持主机控制器21侧的高传输性能。
外围控制器22包括多个端点E1、E2、…、以及Em。注意,端点E1、E2、…、以及Em的数目不限于在附图中所示的数目,并且可以是等于或者小于预定的上限值的任何数目。端点E1、E2、…、以及Em中的一个能够通过上游端口25执行与USB主机300的数据传输。此外,基于USB标准传输根据本发明的第一示例性实施例中的数据传输。因此,当外围控制器22在批量传输或者中断传输中接收来自USB主机300的IN、OUT、或者PING标志(token)时,外围控制器22发回NAK(否定应答)响应。注意NAK响应仅是上述传输禁止响应的示例。
此外,当在外围控制器22和USB主机300之间的数据传输期间,例如,在USB事务期间,开始USB装置201至203中的一个和主机控制器21之间的数据传输时,外围控制器22响应于在当前数据传输完成时或者当前数据传输完成之后从USB主机300发出的数据传输开始请求而发送传输禁止响应。这样,在保持最小的必要数据传输的同时,能够防止数据传输的不必要中断并且从而能够增加数据传输处理的效率。
换言之,外围控制器22响应于来自于主机控制器21的传输状态信号26进入数据传输禁止模式。在数据传输禁止模式下,外围控制器22响应于来自于USB主机300的数据传输开始请求发送传输禁止响应。
此外,当来自于主机控制器21的传输状态信号26处于有效状态时,外围控制器22进入数据传输禁止模式。另一方面,当来自于主机控制器21的传输状态信号26处于无效状态时,外围控制器22进入除了数据传输禁止模式之外的模式。
此外,如上所述,在根据本发明的第一示例性实施例的数据传输控制装置100中,能够限制外围功能和CPU之间的访问处理并且因此能够减少CPU的整体负荷。
图2是示出根据本发明的第一示例性实施例的主机控制器21的处理流程的流程图。注意,在本示例中,假定“1”被事先存储在输出控制寄存器C1和C2中的每一个中。
首先,主机控制器21确定是否正在执行数据传输(S11)。例如,发送单元23计算从通道P1、P2、…、以及Pn输出的传输状态信号的逻辑和,并且确定逻辑和的结果是否是“1”。
如果在步骤S11中逻辑和的结果是“1”,那么发送单元23将具有有效电平的传输状态信号输出到外围控制器22(S12)。例如,当主机控制器21和USB装置201之间的数据传输开始时,因为“1”被存储在状态寄存器S1中并且“1”被事先存储在输出控制寄存器C1中,所以通道P1将“1”输出到发送单元23。在这样的情况下,不管来自于通道P2、…、以及Pn的输出结果如何,逻辑和的结果变成“1”。在这样的情况下,发送单元23使传输状态信号变为“1”并且将被设置为“1”的传输状态信号输出到外围控制器22。
另一方面,如果在步骤S11中逻辑和的结果是“0”,那么发送单元23将具有无效电平的传输状态信号输出到外围控制器22(S13)。例如,当在主机控制器21和USB装置201至203中的任何一个之间没有正在执行数据传输时,从通道P2、…、以及Pn提供给发送单元23的所有输出结果变成“0”并且逻辑和的结果也变成“0”。在这样的情况下,发送单元23使传输状态信号变为“0”并且将被设置为“0”的传输状态信号输出到外围控制器22。
图3是示出根据本发明的第一示例性实施例的外围控制器22的处理流程的流程图。首先,外围控制器22接收来自于USB主机300的数据传输开始请求(S21)。例如,外围控制器22的端点E1接收来自于USB主机300的作为控制传输、批量传输、中断传输、或者同步传输中的开始请求的标志(token)。
接下来,外围控制器22确定接收到的开始请求是否是预定的传输类型(S22)。在本示例中,外围控制器22确定传输类型是否是批量传输和中断传输中的一个。当传输类型既不是批量传输也不是中断传输时,即,当传输类型是控制传输或者同步传输时,不管传输状态信号26的信号电平如何,外围控制器22根据USB标准对USB主机300进行响应(S25)。例如,外围控制器22根据软件控制的细节和/或内部缓冲器的状态进行响应。
当在步骤S22中传输类型被确定为批量传输和中断传输中的一个时,外围控制器22确定开始请求是否是预定的标志(S23)。在本示例中,外围控制器22确定开始请求是否是IN、OUT、以及PING标志中的一个。当开始请求被确定为是除了IN、OUT、以及PING标志之外的标志时,处理进入步骤S25。
当在步骤S23中开始请求被确定为是IN、OUT、以及PING标志中的一个时,外围控制器22确定传输状态信号26是否处于有效状态(S24)。在本示例中,外围控制器22确定从主机控制器21接收到的传输状态信号26是否是“1”。当传输状态信号26被确定为不是处于有效状态时,处理进入步骤S25。
当在步骤S24中传输状态信号26被确定为处于有效状态中时,外围控制器22以NAK响应来对USB主机300进行响应(S26)。结果,USB主机300和外围控制器22之间的数据传输被暂时地暂停。
图4是用于解释根据本发明的第一示例性实施例的传输状态信号和来自于外围控制器的响应的示例的图。
在图4中,首先,在时间T41和T42之间传输状态信号26变成有效状态。即,在时间T41,主机控制器21将具有有效电平的传输状态信号26输出到外围控制器22。此外,在时间T41之前并且在时间T42之后,主机控制器21将具有无效电平的传输状态信号26输出到外围控制器22。
然后,在时间T41和T42之间,USB主机300将PING标志41发送到外围控制器22。由于这时传输状态信号26处于有效状态,所以外围控制器22将NAK响应42发送到USB主机300。类似地,外围控制器22响应于来自于USB主机300的PING标志43发送NAK响应44。
同时,当在时间T42之后USB主机300将PING标志45发送到外围控制器22时,因为传输状态信号26处于无效状态所以外围控制器22发送ACK响应46。结果,在外围控制器22和USB主机300之间开始USB事务。然后,USB主机300将OUT标志47和数据48发送到外围控制器22。然后,外围控制器22将ACK响应49发送到USB主机300。
注意,尽管在上述示例中为了说明的方便起见,外围控制器22响应于PING标志45和数据48发送ACK响应46和ACK响应49,但是本发明不限于本示例。即,至少在时间T42之后外围控制器22准备执行传输。
图5是用于解释根据本发明的第一示例性实施例的传输状态信号和来自于外围控制器的响应的示例的图。
在图5中,从时间0到T51,传输状态信号26没有处于有效状态,并且在时间T51之后处于有效状态。
首先,当从时间0到T51,USB主机300将PING标志51发送到外围控制器22时,因为传输状态信号26没有处于有效状态中,所以外围控制器22发送ACK响应52。然后,USB主机300将OUT标志53发送到外围控制器22。这样,在时间T51之前开始USB事务。接下来,当在时间T51之后USB主机300将数据54发送到外围控制器22时,因为已经正在执行USB事务,因此尽管传输状态信号26处于有效状态中,外围控制器22发送ACK响应55。
然后,在时间T52外围控制器22和USB主机300之间的USB事务完成。在此状态下,如果在时间T52之后USB主机300将PING标志56发送到外围控制器22,因为传输状态信号26处于有效状态,因此外围控制器22发送NAK响应57。类似地,如果USB主机300将PING标志58发送到外围控制器22,那么外围控制器22发送NAK响应59。
注意,尽管在上述示例中,为了说明的方便起见,外围控制器22响应于PING标志51和数据54发送ACK响应52和ACK响应55,但是本发明不限于本示例。即,外围控制器22至少在时间T52之前处于外围控制器22能够执行正常传输的状态中。
图6是示出根据本发明的第一示例性实施例的主机控制器和传输状态信号的输出之间的关系的图。在图6中,首先,在时间0,“1”被事先存储在通道P1的输出控制寄存器C1和通道P2的输出控制寄存器C2中的每一个中。然后,在时间T61,通道P1开始与USB装置201至203中的一个的数据传输,并且“1”从而被存储在状态寄存器S1中。结果,在时间T61,主机控制器21将被设置为“1”的传输状态信号26输出到外围控制器22。
接下来,在时间T62,通道P2开始与USB装置201至203中的一个的数据传输,并且从而“1”被存储在状态寄存器S2中。结果,在时间T62,主机控制器21将被设置为“1”的传输状态信号26输出到外围控制器22。
接下来,在时间T63,通道P1完成数据传输,并且从而“0”被存储在状态寄存器S1中。然而,由于在时间T63,被存储在输出控制寄存器C2和状态寄存器S2中的值是“1”,所以主机控制器21将到外围控制器22的传输状态信号26的输出保持在“1”。
然后,在时间T64,通道P2完成数据传输,并且从而“0”被存储在状态寄存器S2中。结果,在时间T64,主机控制器21将被设置为“0”的传输状态信号26输出到外围控制器22。
图7是示出根据本发明的第一示例性实施例的主机控制器和传输状态信号的输出之间的关系的图。在图7中,首先,在时间0,“0”被事先存储在通道P1的输出控制寄存器C1中并且“1”被事先存储在通道P2的输出控制寄存器C2中。然后,在时间T71,通道P1开始与USB装置201至203中的一个的数据传输,并且“1”从而被存储在状态寄存器S1中。然而,由于在时间T71被存储在输出控制寄存器C1中的值是“0”,所以从通道P1输出被设置为“0”的传输状态信号。因此,主机控制器21将被设置为“0”的传输状态信号26输出到外围控制器22。
接下来,在时间T72,通道P2开始与USB装置201至203中的一个的数据传输,并且从而“1”被存储在状态寄存器S2中。结果,在时间T72,主机控制器21将被设置为“1”的传输状态信号26输出到外围控制器22。
接下来,在时间T73,通道P1完成数据传输,并且从而“0”被存储在状态寄存器S1中。然而,因为被存储在输出控制寄存器C2和状态寄存器S2中的值都是“1”,因此尽管在时间T73,被存储在输出控制寄存器C1中的值是“0”,主机控制器21将到外围控制器22的传输状态信号26的输出保持在“1”。
然后,在时间T74,通道P2完成数据传输,并且从而“0”被存储在状态寄存器S2中。结果,在时间T74,主机控制器21将被设置为“0”的传输状态信号26输出到外围控制器22。
如上所述,根据本发明的第一示例性实施例,当两用装置通过主机功能与外围装置正在执行数据传输时,上述两用装置能够抑制通过外围功能执行与主机装置的数据传输。通过这样做,大量的资源能够被分配给主机功能中的数据传输处理中。因此,能够提供下述数据传输控制装置和数据传输控制方法,其能够在主机功能和外围功能被同时执行时将主机功能的传输性能保持在高水平。
[第二示例性实施例]
根据本发明的上述第一示例性实施例的目的是提高主机功能的传输性能。与此相反,根据本发明的第二示例性实施例关注外围功能的传输性能被视为比主机功能的传输性能更加重要的情况。图8是示出根据本发明的第二示例性实施例的数据传输控制装置100a的整体构造的框图。在图8中,通过相同的附图标记来表示具有与图1中相类似的功能的结构,并且在下面的解释中省略了它们详细的解释。此外,下面重点解释与本发明的第一示例性实施例的差别。
作为与数据传输控制装置100的差别,数据传输控制装置100a包括替代USB两用装置20的作为依照USB标准的两用装置的USB两用装置20a。USB两用装置20a与USB两用装置20的不同之处在于,USB两用装置20a是给予外围功能中的数据传输处理比主机功能中的数据传输处理更高的优先级的装置。作为与USB两用装置20的差别,USB两用装置20a包括主机控制器21a和外围控制器22a来分别替代主机控制器21和外围控制器22。
当外围控制器22a正在处理与USB主机300的数据传输时,外围控制器22a向主机控制器21a通知正在处理数据传输。图8示出外围控制器22a将表示外围控制器22a和USB主机300之间的数据传输状态的传输状态信号26a输出到主机控制器21a的情况。注意,传输状态信号26a可以是等同于上述传输状态信号26的信号。而且注意,传输状态信号26a还能够被称为“传输挂起请求信号”,其被用于通知用于暂停主机控制器21a和USB装置201至203中的一个之间的数据传输的请求。
外围控制器22a包括多个端点E1a、E2a、…、和Ema、以及发送单元23a。端点E1a、E2a、…、和Ema中的每一个执行与USB主机300的多个通道中的相应的一个数据传输。注意,端点E1a、E2a、…、以及Ema的数目不限于在附图中所示的数目,并且可以是等于或者小于预定的上限值的任何数目。端点E1a、E2a、…、以及Ema中的一个能够通过上游端口25执行与USB主机300的数据传输。
端点E1a包括输出控制寄存器C1a和状态寄存器S1a,并且端点E2a包括输出控制寄存器C2a和状态寄存器S2a。类似地,端点E3a(未示出)、…、以及Ema中的每一个的内部构造与端点E1a和E2a的相类似,并且因此其图示和解释被省略。状态寄存器S1a和S2a中的每一个保持表示端点E1a和E2a中的相应的一个是否正在执行数据传输的传输状态信号。例如,当端点E1a响应于来自于USB主机300的数据传输请求开始与多个通道中的一个进行数据传输时,“1”(作为示例)被存储在状态寄存器S1a中。输出控制寄存器C1a和C2a中的每一个存储被用于控制端点E1a和E2a中的相应的一个的传输状态信号是否应被输出到发送单元23a的标记信息。例如,当被存储在输出控制寄存器C1a中的标记信息是“1”时,被保持在状态寄存器S1a中的值被直接地输出到发送单元23a。另一方面,当被存储在输出控制寄存器C1a中的标记信息是“0”时,不管状态寄存器S1a的值如何,始终输出“0”(无效电平的示例)。注意,在任何给定的时刻能够从外部更改被存储在输出控制寄存器C1a或者C2a中的标记信息。
然后,端点E1a计算被存储在输出控制寄存器C1a和状态寄存器S1a中的值的逻辑积,并且将获得的值输出到发送单元23a。类似地,端点E2a计算被存储在输出控制寄存器C2a和状态寄存器S2a中的值的逻辑积,并且将获得的值输出到发送单元23a。
发送单元23将从端点E1a、E2a、…、以及Ema输出的传输状态信号组合成一个传输状态信号,并且将该一个传输状态信号输出到主机控制器21a作为具有有效电平或者无效电平的传输状态信号26a。发送单元23a计算从端点E1a、E2a、…、以及Ema输出的传输状态信号的逻辑和。然后,当逻辑和的结果是“1”时,发送单元23a使传输状态信号26a变为“1”电平并且将具有“1”电平的传输状态信号26a输出到主机控制器21a。此外,当发送单元23a计算从端点E1a、E2a、…、以及Ema输出的传输状态信号的逻辑和并且逻辑和的结果是“0”时,发送单元23a使传输状态信号26a变为“0”电平并且将具有“0”电平的传输状态信号26a输出到主机控制器21a。
注意,被存储在状态寄存器S1a或者S2a中的标记被保持在状态寄存器中,直到外围控制器22a将握手分组发送到USB主机300。类似地,发送单元23a保持传输状态信号26a的输出,直到外围控制器22a将握手分组发送到USB主机300。
此外,从当在端点E1a、E2a、…、以及Ema中的一个中开始与USB主机300的数据传输时到当在已经执行与USB主机300的数据传输的所有的端点E1a、E2a、…、以及Ema中完成了数据传输时,外围控制器22a将被设置为有效状态的传输状态信号26a发送到主机控制器21a。这样,外围控制器22a的数据传输状态能够被有效率地传送到主机控制器21a。
注意,发送单元23a没有必要必须将从端点E1a、E2a、…、以及Ema输出的传输状态信号合并成一个传输状态信号并且将该一个传输状态信号输出到主机控制器21a作为传输状态信号26a。例如,无论何时从端点E1a、E2a、…、以及Ema输出传输状态信号,发送单元23a可以将传输状态信号输出到主机控制器21a。然后,当主机控制器21a接受任何传输状态信号时,主机控制器21a可以识别外围控制器22a正在执行与USB主机300的数据传输。
此外,可以通过通知确定单元实施上述输出控制寄存器C1a和C2a,该通知确定单元确定是否应向主机控制器21a通知正在与USB主机300执行数据传输的情况。在这样的情况下,当在与USB主机300执行数据传输的端点E1a、E2a、…、以及Ema当中至少存在一个由通知确定单元确定为被通知给主机控制器21a的端点时,外围控制器22a将被设置为有效状态的传输状态信号26a发送到主机控制器21a。这样,能够根据端点的负荷状态和/或重要程度对多个端点执行部分控制。例如,在对于特定端点中的数据传输来说主机功能和外围功能的同时操作是可接受的情况下,能够防止主机控制器21a的数据传输中的任何不必要的延迟,因此能够执行有效率的数据传输。
此外,当对于其使传输状态信号26a变为有效状态的到主机控制器21a的发送已经持续预定的时间或者更长时,外围控制器22a可以使传输状态信号26a变为无效状态并且将无效传输状态信号26a发送到主机控制器21a。替代地,可以在发送单元23a中控制传输状态信号26a的输出。
这样,当外围控制器22a的数据传输已经优先地执行了预定的时间并且因此对主机控制器21a的处理的影响,即,主机控制器21a的数据传输中的延迟变得太大时,能够允许主机功能和外围功能的同时操作。此外,在某些情况下,通过解除主机控制器21a的处理抑制能够增加传输效率。因此,能够防止主机控制器21a的数据传输中的不必要的延迟,因此使得能够执行有效数据传输。
当正在从外围控制器22a向主机控制器21a通知外围控制器22a正在与USB主机300执行数据传输时,主机控制器21a暂停将数据传输开始请求发送到USB装置201至203。然后,在外围控制器22a已经完成与USB主机300的数据传输之后,主机控制器21a将被暂停的数据传输开始请求发送到USB装置201至203中的一个。这样,当同时执行主机功能和外围功能时,通过抑制主机控制器21a侧的处理能够保持外围控制器22a侧的高传输性能。注意,与主机控制器21不同,主机控制器21a不会将传输状态信号26a输出到外围控制器22a。
主机控制器21a包括多个通道P1a、P2a、…、以及Pna。注意,通道P1a、P2a、…、以及Pna的数目不限于在附图中所示的数目,并且可以是等于或者小于预定的上限值的任何数目。通道P1a、P2a、…、以及Pna中的每一个保持作为执行数据传输所需要的信息的传输信息,并且能够基于保持的传输信息通过下游端口241至243中的一个执行与USB装置201至203中的一个的数据传输。注意,根据本发明的第二示例性实施例的数据传输是基于USB标准的传输,并且在批量传输或者控制传输中主机控制器21a暂停数据传输开始请求的发送。关于执行中断和同步传输的通道,由于要保持周期,因此即使当有效传输状态信号26a被输入到主机控制器21a时,主机控制器21不仅执行当前事务而且执行后续事务。
此外,当在主机控制器21a和USB装置201至203中的一个之间的数据传输期间,例如在USB事务期间,开始USB主机300和外围控制器22a之间的数据传输时,主机控制器21a暂停将在当前数据传输完成时或者当前数据传输完成之后执行的到USB装置201至203的数据传输开始请求的发送。这样,在保持最小的必要数据传输的同时,能够防止数据传输的不必要中断并且从而能够增加数据传输处理的效率。
换言之,主机控制器21a响应于来自于外围控制器22a的传输状态信号26a进入数据传输挂起模式。在数据传输挂起模式下,主机控制器21a暂停到USB装置201至203的数据传输开始请求的发送。
此外,当来自于外围控制器22a的传输状态信号26a处于有效状态时,主机控制器21a进入数据传输挂起模式。另一方面,当来自于外围控制器22a的传输状态信号26a处于无效状态时,主机控制器21a进入除了数据传输挂起模式之外的模式。
即,当主机控制器21a识别有效传输状态信号26a,同时主机控制器21a正在与USB装置201至203中的一个进行通信时,在当前处理完成之后,主机控制器21a从后续的事务开始暂停与USB装置201至203中的一个的通信。然后,当主机控制器21a识别传输状态信号26a变成无效状态时,即,当传输挂起模式取消时,暂停的数据传输开始。
此外,如上所述,在根据本发明的第二示例性实施例的数据传输控制装置100a中,能够限制主机功能和CPU之间的访问处理并且因此能够减少CPU的整体负荷。即,根据本发明的第二示例性实施例,当外围功能的传输性能被视为比其中同时执行主机功能和外围功能的系统中的主机功能的传输性能更加重要时,通过在外围功能的操作期间暂停主机功能的操作能够防止外围功能的传输性能的恶化。
注意,假如主机控制器21被替换为外围控制器22a,在根据本发明的第二示例性实施例的外围控制器22a中确定是否应输出传输状态信号26a的处理流程与图2中解释的相类似。因此,它的图示和解释被省略。
图9是示出根据本发明的第二示例性实施例的主机控制器21a的处理流程的流程图。首先,主机控制器21a从外部接受用于与USB装置201至203中的一个进行数据传输的开始指令(S31)。例如,当用户操作数据传输控制装置100a时主机控制器21a从用户接受数据传输开始指令。
接下来,主机控制器21a确定接受的开始指令是否是预定的传输类型(S32)。在本示例中,主机控制器21a确定传输类型是否是批量传输和控制传输中的一个。当传输类型既不是批量传输也不是控制传输时,即,当传输类型是中断传输或者同步传输时,不管传输状态信号26a的信号电平如何,主机控制器21a根据USB标准将数据传输开始请求发送到USB装置201至203中的一个(S35)。例如,主机控制器21a根据软件控制的细节和/或内部缓冲器的状态执行正常操作。
当在步骤S32中传输类型被确定为批量传输和控制传输中的一个时,主机控制器21a确定传输状态信号26a是否处于有效状态(S33)。在本示例中,主机控制器21a确定从外围控制器22a接收到的传输状态信号26a是否是“1”。
当在步骤S33中传输状态信号26被确定为有效状态时,主机控制器21a暂停到USB装置201至203的数据传输开始请求(S34)。结果,USB装置201至203和主机控制器21a之间的数据传输被暂时地暂停。
当在步骤S33中传输状态信号26a被确定为没有处于有效状态时,处理进入步骤S35。这时,如果存在在步骤S34中被暂停的任何数据传输开始请求,那么主机控制器21a将暂停的数据传输开始请求发送到USB装置201至203中的一个。这样,能够开始数据传输。
如上所述,根据本发明的第二示例性实施例,当两用装置正在通过外围功能与主机装置执行数据传输时,上述两用装置能够抑制通过主机功能执行与外围装置的数据传输。通过这样做,大量的资源能够被分配给外围功能中的数据传输处理。因此,能够提供下述数据传输控制装置和数据传输控制方法,其能够在同时执行主机功能和外围功能时将外围功能的传输性能保持在高水平。
[第三示例性实施例]
在根据本发明的第三示例性实施例中,解释了数据传输控制装置100b。数据传输控制装置100b能够选择主机功能和外围功能哪一个中的传输性能应该被改进。图10是示出根据本发明的第三示例性实施例的数据传输控制装置100b的整体构造的框图。注意,通过对上述数据传输控制装置100或者100a进行一些修改可以构造数据传输控制装置100b。在图10中,通过相同的附图标记来表示具有与图1或者图8的相类似的功能的结构,并且在下面的解释中省略了它们详细的解释。此外,下面重点解释与本发明的第一和第二示例性实施例的差别。
数据传输控制装置100b包括CPU 10和USB两用装置20b。USB两用装置20b是依照USB标准的两用装置。数据传输控制装置100b从外部接受优先功能指定信息(优先级标记)281,该优先功能指定信息指定主机功能和外围功能的哪一个中的数据传输处理应具有较高的优先级,并且基于优先功能指定信息281执行与USB主机300以及与USB装置201至203的数据传输处理。
USB两用装置20b包括主机控制器21b、外围控制器22b、下游端口241至243、上游端口25、总线接口27、以及寄存器28。
寄存器28是存储上述优先功能指定信息281的寄存器。例如,数据传输控制装置100b可以接受来自于外部的优先功能指定信息281并且将接受的优先功能指定信息281存储在寄存器28中。注意,优先功能指定信息281是用于控制其数据传输处理应具有较高的优先级的功能的信息。替代地,优先功能指定信息281也能够被称为“通信单元指定信息”,其被用于指定主机控制器21b或者外围控制器22b作为其数据传输应具有较高的优先级的通信单元。此外,在下文中示出优先功能指定信息281的示例。例如,假定优先功能指定信息281被表达为2位数据。在这样的情况下,如果高阶位是“1”,那么允许从主机控制器21b到外围控制器22b的传输状态信号26的发送,然而如果高阶位是“0”,那么不允许传输状态信号26的发送。此外,如果低阶位是“1”,那么允许从外围控制器22b到主机控制器21b的传输状态信号26a的发送,然而如果低阶位是“0”,那么不允许传输状态信号26a的发送。注意,高阶位和低阶位不能同时被设置为“1”。即,在本示例中,当优先功能指定信息281是“10”时,其表示主机控制器21b被指定为其数据传输应具有较高的优先级的通信单元。此外,当优先功能指定信息281是“01”时,其表示外围控制器22b被指定为其数据传输应具有较高的优先级的通信单元。注意,优先功能指定信息281的示例不限于本示例。
只有当在优先功能指定信息281中指定了主机控制器21b本身时,主机控制器21b才将传输状态信号26输出到外围控制器22b。关于其它的功能,主机控制器21b具有与主机控制器21相类似的功能。
此外,只有当在优先功能指定信息281中指定了外围控制器22b本身时,外围控制器22b才将传输状态信号26a输出到主机控制器21b。关于其它的功能,外围控制器22b具有与外围控制器22相类似的功能。
即,当在主机控制器21b和USB装置201至203中的一个之间开始数据传输并且主机控制器21b被指定为其数据传输应具有较高的优先级的通信单元时,主机控制器21b向外围控制器22b通知主机控制器21b正在执行与USB装置201至203中的一个的数据传输。然后,当正在从主机控制器21b向外围控制器22b通知主机控制器21b正在执行与USB装置201至203中的一个的数据传输时,外围控制器22b响应于来自于USB主机300的数据传输开始请求将表示不能够执行数据传输的传输禁止响应发送到USB主机300。
另一方面,当在外围控制器22b和USB主机300之间开始数据传输并且外围控制器22b被指定为其数据传输应具有较高的优先级的通信单元时,外围控制器22b向主机控制器21b通知外围控制器22b正在执行与USB主机300的数据传输。然后,当正在从外围控制器22b向主机控制器21b通知外围控制器22b正在执行与USB主机300的数据传输时,主机控制器21b暂停到USB装置201至203中的一个的数据传输请求的发送。然后,在外围控制器22b已经完成与USB主机300的数据传输之后,主机控制器21b将暂停的数据传输开始请求发送到USB装置201至203中的一个。
此外,主机控制器21b包括通道P1、P2、…、以及Pn、OR电路(或电路)231、以及AND电路(与电路)232。通道P1、P2、…、以及Pn具有与图1中所示相类似的构造和功能,并且因此内部构造的图示和详细解释被省略。OR电路231将从P1、P2、…、以及Pn输出的传输状态信号组合成一个传输状态信号,并且将该一个传输状态信号输出到AND电路232作为具有有效电平或者无效电平的信号。AND电路232计算从OR电路231输入的信号和被存储在寄存器28中的优先功能指定信息281的高阶位的逻辑积。然后,当逻辑积的结果是“1”时,AND电路232使传输状态信号26变为“1”电平并且将具有“1”电平的传输状态信号26输出到外围控制器22b。此外,当逻辑积的结果是“0”时,主机控制器21b使传输状态信号26变为“0”电平并且将具有“0”电平的传输状态信号26输出到外围控制器22b。注意,通过对图1中所示的发送单元23进行一些修改可以构造OR电路231和AND电路232。
即,当主机控制器21b开始与USB装置201至203中的一个的数据传输时,主机控制器21b根据被存储在寄存器28中的优先功能指定信息281通知是否正在执行数据传输。
此外,外围控制器22b包括端点E1a、E2a、…、以及Ema、OR电路233、以及AND电路234。端点E1a、E2a、…、以及Ema具有与图8中所示相类似的构造和功能,并且因此内部构造的图示和详细解释被省略。OR电路233将从端点E1a、E2a、…、以及Ema输出的传输状态信号合并成一个传输状态信号,并且将该一个传输状态信号输出到AND电路234作为具有有效电平或者无效电平的信号。AND电路234计算从OR电路233输入的信号和被存储在寄存器28中的优先功能指定信息281的低阶位的逻辑积。然后,当逻辑积的结果是“1”时,AND电路234使传输状态信号26变为“1”电平并且将具有“1”电平的传输状态信号26a输出到主机控制器21b。此外,当逻辑积的结果是“0”时,外围控制器22b使传输状态信号26a变为“0”电平并且将具有“0”电平的传输状态信号26a输出到主机控制器21b。注意,通过对图8中所示的发送单元23a进行一些修改可以构造OR电路233和AND电路234。
即,当外围控制器22b开始与USB主机300的数据传输时,外围控制器22b根据被存储在寄存器28中的优先功能指定信息281通知是否正在执行数据传输。
此外,主机控制器21b根据优先功能指定信息281将传输状态信号26作为被用于通知允许/拒绝外围控制器22b和USB主机300之间的数据传输的传输允许/拒绝信号输出到外围控制器22b。然后,外围控制器22b进入数据传输禁止模式,其中外围控制器22b响应于来自于USB主机300的数据传输开始请求发送传输禁止响应。
同时,外围控制器22b通过传输状态信号26a根据优先功能指定信息281向主机控制器21b通知在外围控制器22b和USB主机300之间正在执行数据传输。然后,当主机控制器21b接收来自于外围控制器22b的有效传输状态信号26a时,主机控制器21b暂时地暂停到USB装置201至203的数据传输开始请求。
图11是示出根据本发明的第三示例性实施例的外围控制器或者主机控制器的处理流程的流程图。注意,尽管在下面的解释中仅解释了外围控制器22b,但是对于主机控制器21b也执行类似的处理。此外,在本示例中假定“1”被事先存储在输出控制寄存器C1a和C2a中的每一个中。
首先,外围控制器22b确定是否正在执行数据传输(S41)。例如,OR电路233计算从端点E1a、E2a、…、以及Ema输出的传输状态信号的逻辑和,并且确定逻辑和的结果是否是“1”。
如果在步骤S41中逻辑和的结果是“1”,那么外围控制器22b确定数据传输是否应具有较高的优先级(S42)。例如,AND电路234计算从OR电路233输入的信号和被存储在寄存器28中的优先功能指定信息281的低阶位的逻辑积,并且确定逻辑积的结果是否是“1”。
如果在步骤S42中逻辑积的结果是“1”,那么AND电路234将具有有效电平的传输状态信号26a输出到主机控制器21b(S43)。例如,当外围控制器22b和USB主机300之间的数据传输开始时,因为“1”被存储在状态寄存器S1a中并且“1”被事先存储在输出控制寄存器C1a中,端点E1a将“1”输出到OR电路233。在这样的情况下,不管来自于端点E2a、…、以及Ema的输出结果如何,逻辑和的结果变成“1”。此外,当优先功能指定信息281是“01”时,即,当低阶位是“1”时,AND电路234中的逻辑积的结果变成“1”。即,确定外围控制器22b被指定为其数据传输应具有较高的优先级的通信单元。在这样的情况下,AND电路234使传输状态信号26a变为“1”电平并且将具有“1”电平的传输状态信号26a输出到主机控制器21b。
此外,如果在步骤S42中逻辑积的结果是“0”,那么AND电路234将具有无效电平的传输状态信号26a输出到主机控制器21b(S44)。例如,当优先功能指定信息281是“10”时,即,当低阶位是“0”时,不管OR电路233中的逻辑和的结果如何,AND电路234中的逻辑积的结果始终变成“0”。即,确定外围控制器22b没有被指定为其数据传输应具有较高的优先级的通信单元。在这样的情况下,AND电路234使传输状态信号26a变为“0”电平并且将具有“0”电平的传输状态信号26a输出到主机控制器21b。
此外,如果在步骤S41中逻辑和的结果是“0”,那么AND电路234将具有无效电平的传输状态信号26a输出到主机控制器21b(S44)。例如,当在外围控制器22b和USB主机300之间没有正在执行数据传输时,从端点E1a、…、以及Ema提供到OR电路233的所有的输出结果变成“0”并且因此逻辑和的结果也变成“0”。因此,即使当优先功能指定信息281的低阶位是“1”时,AND电路234中的逻辑积的结果变成“0”。在这样的情况下,AND电路234使传输状态信号26a变为“0”电平并且将具有“0”电平的传输状态信号26a输出到主机控制器21b。
如上所述,根据本发明的第三示例性实施例能够被表达为下述实施例,其通过对根据第一示例性实施例的主机控制器21a和根据第二示例性实施例的外围控制器22a进行一些修改从而添加其中存储优先功能指定信息281的寄存器28。因此,能够根据优先功能指定信息281控制主机功能或者外围功能的传输状态信号的输出。这样,使用数据传输控制装置100b的用户能够选择主机功能和外围功能中的哪一个应具有较高的优先级用于其传输性能。特别地,能够通过根据用于USB装置201至203的装置以及连接到数据传输控制装置100b的USB主机300的类型和/或数据传输处理的具体类型更新存储在寄存器28中的优先功能指定信息281,以灵活的方式切换其传输性能应具有较高的优先级的功能。
此外,即使当开发具有高的传输性能的精密的USB主机装置或者USB外围装置时,通过将其连接至具有安装在其中的数据传输控制装置100b的USB两用装置,可以使用想要的功能(多个)。
如上所述,根据本发明的第三示例性实施例,能够在将较高的优先级给予能够任意地指定的主机功能和外围功能中的一个时执行数据传输处理。这样,例如,使用上述两用装置的用户能够以灵活的方式选择哪一个功能应具有较高的优先级。此外,当同时执行主机功能和外围功能时,数据传输控制装置和数据传输控制方法能够将指定的功能的传输性能保持在高水平。
[其它的示例性实施例]
注意,根据本发明的第一示例性实施例的数据传输控制装置100可以进一步包括状态管理寄存器,该状态管理寄存器保持USB装置201至203中的一个与主机控制器21之间的数据传输状态。通过此种构造,当在USB装置201至203中的一个和USB主机300之间开始数据传输时,外围控制器22可以将表示正在执行数据传输的信息存储在状态管理寄存器中。此外,当数据传输完成时,外围控制器22可以清除存储在状态管理寄存器中的信息。这样,通过软件能够获取数据传输状态和负荷状态,并且将其用于调试和/或分析。
注意,根据本发明的第一示例性实施例的外围控制器22可以通过在主机控制器21中的数据传输开始或者完成时切换内部标记(未示出)来管理外围控制器22自身中的数据传输的等待状态。在这样的情况下,外围控制器22可以执行控制以根据内部标记切换对来自于USB主机300的数据传输开始请求的响应。此外,类似的构造还可以被应用于根据本发明的第三示例性实施例的外围控制器22b。
此外,根据本发明的第二示例性实施例的主机控制器21a可以通过在外围控制器22a中的数据传输开始或者完成时切换内部标记(未示出)来管理主机控制器21a自身中的数据传输的等待状态。在这样的情况下,主机控制器21a可以执行控制以根据内部标记更改是否应暂停到USB装置201至203的数据传输开始请求的发送。此外,类似的构造还可以被应用于根据本发明的第三示例性实施例的主机控制器21a。
注意,还能够以下述方式表达根据本发明的第一至第三示例性实施例。即,在根据本发明的第一至第三示例性实施例的数据传输控制装置中:主机控制器和外围控制器中的一个用作其数据传输应具有高优先级的优先通信单元;并且主机控制器和外围控制器中的另一个用作非优先通信单元;当在优先通信单元中正在执行数据传输时,优先通信单元向非优先通信单元通知正在执行数据传输;并且当正在从优先通信单元向非优先通信单元通知正在执行数据传输时,非优先通信单元暂停非优先通信单元中的数据传输。
此外,根据本发明的第一示例性实施例示出下述示例,其中以固定的方式主机控制器21用作优先通信单元并且外围控制器22用作非优先通信单元。此外,还示出外围控制器22通过发送传输禁止响应来暂停与USB主机300的数据传输。
此外,根据本发明的第二示例性实施例示出下述示例,其中以固定的方式外围控制器22a用作优先通信单元并且主机控制器21a用作非优先通信单元。此外,还示出主机控制器21a通过暂停到USB装置201至203的数据传输开始请求的发送来暂停与USB装置201至203中的一个的数据传输。
此外,根据本发明的第三示例性实施例示出下述示例,其中主机控制器21b和外围控制器22b能够被外部地指定为优先通信单元或者非优先通信单元。此外,寄存器28存储将主机控制器21b或者外围控制器22b指定为优先通信单元的优先功能指定信息281。
此外,本发明不限于上述示例性实施例,但是不言而喻的是,在不脱离上述本发明的精神和范围的情况下能够进行各种修改。例如,尽管在上述示例性实施例中本发明被解释为硬件构造,但是本发明不限于硬件构造。在本发明中,通过使CPU 10执行计算机程序也能够实施控制主机控制器21和外围控制器22的处理。在这样的情况下,计算机程序可以监测主机控制器21的数据传输状态,并且当在主机控制器21中正在执行数据传输时可以指示外围控制器22发送传输禁止响应。这样,当主机功能和外围功能被同时执行时,主机功能的数据传输处理性能能够被保持在高水平。
注意,实现上述计算机程序要求实施复杂的处理。因此,当CPU 10执行此种复杂的处理时,可能增加CPU 10上的处理负荷。在根据本发明的上述第一示例性实施例中,在没有要求CPU 10的介入的情况下,用于输出传输禁止信号的指令被实施为从主机控制器21提供到外围控制器22的传输状态信号。这样,进一步减少CPU 10上的处理负荷。
此外,本发明不限于上述示例性实施例,但是不言而喻的是,在不脱离上述本发明的精神和范围的情况下能够进行各种修改。
上面公开的示例性实施例的整个或者部分能够被描述为,但是不限于,下面的补充附注。
(补充附注1)一种数据传输控制装置,包括:
第一通信单元,该第一通信单元处理与外围装置的数据传输;和
第二通信单元,该第二通信单元处理与主机装置的数据传输,
其中,当正在从第一通信单元向第二通信单元通知第一通信单元正在执行与外围装置的数据传输时,第二通信单元响应于来自于主机装置的数据传输开始请求发送表示不能执行到主机装置的数据传输的传输禁止响应。
(补充附注2)在补充附注1中记载的数据传输控制装置,其中
当第一通信单元和外围装置之间的数据传输开始并且第一通信单元被指定为其数据传输应具有较高的优先级的通信单元时,第一通信单元向第二通信单元通知第一通信单元正在执行与外围装置的数据传输,
当第二通信单元和主机装置之间的数据传输开始并且第二通信单元被指定为其数据传输应具有较高的优先级的通信单元时,第二通信单元向第一通信单元通知第二通信单元正在执行与主机装置的数据传输,并且
当正在从第二通信单元向第一通信单元通知第二通信单元正在执行与主机装置的数据传输时,第一通信单元暂停到外围装置的数据传输开始请求的发送;并且在第二通信单元已经完成与主机装置的数据传输之后,第一通信单元将被暂停的数据传输开始请求发送到外围装置。
(补充附注3)在补充附注2中记载的数据传输控制装置,进一步包括寄存器,该寄存器存储将第一通信单元或者第二通信单元指定为其数据传输应具有较高的优先级的通信单元的通信单元指定信息,
其中当数据传输开始时,第一通信单元或者第二通信单元根据被存储在寄存器中的通信单元指定信息通知是否正在执行数据传输。
(补充附注4)在补充附注3中记载的数据传输控制装置,其中
第一通信单元根据通信单元指定信息将用于通知允许/拒绝第二通信单元和主机装置之间的数据传输的传输允许/拒绝信号输出到第二通信单元,
根据传输允许/拒绝信号,该第二通信单元进入数据传输禁止模式,其中响应于来自于主机装置的数据传输开始请求发送传输禁止响应,
第二通信单元根据通信单元指定信息将传输挂起请求信号输出到第一通信单元,该传输挂起请求信号被用于通知用于暂停第一通信单元和外围装置之间的数据传输的请求,并且
根据传输挂起请求信号,第一通信单元进入数据传输挂起模式,其中到外围装置的数据传输开始请求被暂停。
(补充附注5)一种数据传输控制装置,包括:
第一通信单元,该第一通信单元处理与外围装置的数据传输;和
第二通信单元,该第二通信单元处理与主机装置的数据传输,
其中当正在从第二通信单元向第一通信单元通知第二通信单元正在执行与主机装置的数据传输时,第一通信单元暂停到外围装置的数据传输开始请求的发送;并且在第二通信单元已经完成与主机装置的数据传输之后,第一通信单元将被暂停的数据传输开始请求发送到外围装置。
(补充附注6)在补充附注5中记载的数据传输控制装置,其中
基于USB(通用串行总线)标准传输外围装置和第一通信单元之间的数据传输以及主机装置和第二通信单元之间的数据传输,并且
第一通信单元在批量传输或者控制传输中暂停数据传输开始请求的发送。
(补充附注7)一种数据传输控制方法,该数据传输控制方法控制数据传输控制装置,该数据传输控制装置包括第一通信单元和第二通信单元,该第一通信单元处理与外围装置的数据传输,该第二通信单元处理与主机装置的数据传输,其中
当在第一通信单元中开始第一通信单元和外围装置之间的数据传输时,向第二通信单元通知第一通信单元正在执行与外围装置的数据传输,并且
当正在从第一通信单元向第二通信单元通知第一通信单元正在执行与外围装置的数据传输时,响应于来自于主机装置的数据传输开始请求发送表示不能执行到主机装置的数据传输的传输禁止响应。
(补充附注8)一种数据传输控制方法,该数据传输控制方法控制数据传输控制装置,该数据传输控制装置包括第一通信单元和第二通信单元,该第一通信单元处理与外围装置的数据传输,该第二通信单元处理与主机装置的数据传输,其中
当在第二通信单元中开始第二通信单元和主机装置之间的数据传输时,向第一通信单元通知第二通信单元正在执行与主机装置的数据传输,并且
当正在从第二通信单元向第一通信单元通知第二通信单元正在执行与主机装置的数据传输时,暂停到外围装置的数据传输开始请求的发送;并且在第二通信单元已经完成与主机装置的数据传输之后,将被暂停的数据传输开始请求发送到外围装置。
(补充附注9)一种数据传输控制方法,该数据传输控制方法控制数据传输控制装置,该数据传输控制装置包括第一通信单元和第二通信单元,该第一通信单元处理与外围装置的数据传输,该第二通信单元处理与主机装置的数据传输,其中
当在第一通信单元中开始第一通信单元和外围装置之间的数据传输并且第一通信单元被指定为其数据传输应具有较高的优先级的通信单元时,向第二通信单元通知第一通信单元正在执行与外围装置的数据传输,
当正在从第一通信单元向第二通信单元通知第一通信单元正在执行与外围装置的数据传输时,响应于来自于主机装置的数据传输开始请求发送表示不能执行到主机装置的数据传输的传输禁止响应,
当在第二通信单元中开始第二通信单元和主机装置之间的数据传输并且第二通信单元被指定为其数据传输应具有较高的优先级的通信单元时,向第一通信单元通知第二通信单元正在执行与主机装置的数据传输,并且
当正在从第二通信单元向第一通信单元通知第二通信单元正在执行与主机装置的数据传输时,暂停到外围装置的数据传输开始请求的发送;并且在第二通信单元已经完成与主机装置的数据传输之后,将被暂停的数据传输开始请求发送到外围装置。
本领域的技术人员能够根据需要组合第一、第二以及第三示例性实施例。
虽然已经按照若干示例性实施例描述了本发明,但是本领域的技术人员将理解,可以在所附的权利要求的精神和范围内以各种修改来实践本发明,并且本发明并不限于上述的示例。
此外,权利要求的范围不受到上述的示例性实施例的限制。
此外,应当注意的是,申请人意在涵盖所有权利要求要素的等同形式,即使在后期的审查过程中对权利要求进行过修改亦是如此。
Claims (20)
1.一种数据传输控制装置,包括:
第一通信单元,所述第一通信单元处理与外围装置的数据传输;和
第二通信单元,所述第二通信单元处理与主机装置的数据传输,
其中,所述第一通信单元和所述第二通信单元中的一个用作其数据传输应具有高优先级的优先通信单元,并且所述第一通信单元和所述第二通信单元中的另一个用作非优先通信单元,
当在所述优先通信单元中正在执行数据传输时,所述优先通信单元向所述非优先通信单元通知正在执行数据传输,并且
当正在从所述优先通信单元向所述非优先通信单元通知正在执行数据传输时,所述非优先通信单元暂停所述非优先通信单元中的数据传输。
2.根据权利要求1所述的数据传输控制装置,进一步包括寄存器,所述寄存器存储将所述第一通信单元或者所述第二通信单元指定为所述优先通信单元的通信单元指定信息,
其中当开始数据传输时,所述第一通信单元和所述第二通信单元根据被存储在所述寄存器中的所述通信单元指定信息通知是否正在执行数据传输。
3.根据权利要求1所述的数据传输控制装置,其中
所述第一通信单元本身是所述优先通信单元;并且当在所述第一通信单元本身和所述外围装置之间开始数据传输时,所述第一通信单元向所述第二通信单元通知正在执行与所述外围装置的数据传输,并且
当正在从所述第一通信单元向所述第二通信单元通知所述第一通信单元正在执行与所述外围装置的数据传输时,所述第二通信单元响应于来自于所述主机装置的数据传输开始请求发送表示不能执行到所述主机装置的数据传输的传输禁止响应。
4.根据权利要求3所述的数据传输控制装置,其中,当在所述第二通信单元和所述主机装置之间的数据传输期间开始在所述外围装置和所述第一通信单元之间的数据传输时,所述第二通信单元响应于在当前数据传输完成时或者之后从所述主机装置发送的所述数据传输开始请求发送所述传输禁止响应。
5.根据权利要求3所述的数据传输控制装置,其中
所述第一通信单元将传输允许/拒绝信号输出到所述第二通信单元,所述传输允许/拒绝信号用于通知所述第二通信单元和所述主机装置之间的数据传输的允许/拒绝,并且
根据所述传输允许/拒绝信号,所述第二通信单元进入数据传输禁止模式,其中响应于来自于所述主机装置的数据传输开始请求发送所述传输禁止响应。
6.根据权利要求1所述的数据传输控制装置,其中
所述第二通信单元本身是所述优先通信单元;并且当在所述第二通信单元本身和所述主机装置之间开始数据传输时,所述第二通信单元向所述第一通信单元通知正在执行与所述主机装置的数据传输,并且
当正在从所述第二通信单元向所述第一通信单元通知所述第二通信单元正在执行与所述主机装置的数据传输时,所述第一通信单元暂停到所述外围装置的数据传输开始请求的发送;并且当正在向所述第一通信单元通知所述第二通信单元已经完成与所述主机装置的数据传输时,所述第一通信单元将被暂停的所述数据传输开始请求发送到所述外围装置。
7.根据权利要求6所述的数据传输控制装置,其中当在所述第一通信单元和所述外围装置之间的数据传输期间开始在所述主机装置和所述第二通信单元之间的数据传输时,所述第一通信单元暂停要在当前数据传输完成时或者之后执行的到所述外围装置的所述数据传输开始请求的发送。
8.根据权利要求6所述的数据传输控制装置,其中
所述第二通信单元将传输挂起请求信号输出到所述第一通信单元,所述传输挂起请求信号被用于通知用于暂停所述第一通信单元和所述外围装置之间的数据传输的请求,并且
根据所述传输挂起请求信号,所述第一通信单元进入数据传输挂起模式,其中暂停到所述外围装置的数据传输开始请求。
9.根据权利要求5所述的数据传输控制装置,其中
所述第一通信单元包括多个传输执行单元,所述多个传输执行单元中的每一个执行与所述外围装置的多个端点中的相应的一个的数据传输,
从当在所述多个传输执行单元中的一个中开始与所述外围装置的数据传输时到当在已经执行与所述外围装置的数据传输的所有传输执行单元中完成了数据传输时,所述第一通信单元将被设置为有效状态的所述传输允许/拒绝信号发送到所述第二通信单元,并且
当所述传输允许/拒绝信号处于有效状态时,所述第二通信单元进入所述数据传输禁止模式。
10.根据权利要求9所述的数据传输控制装置,所述多个传输执行单元中的每一个包括通知确定单元,所述通知确定单元确定是否应向所述第二通信单元通知正在与所述外围装置执行数据传输的情况,
当在正在与所述外围装置执行数据传输的传输执行单元当中存在由所述通知确定单元确定为被通知给所述第二通信单元的传输执行单元时,所述第一通信单元将被设置为有效状态的所述传输允许/拒绝信号发送到所述第二通信单元,并且
当所述传输允许/拒绝信号处于有效状态时,所述第二通信单元进入所述数据传输禁止模式。
11.根据权利要求9所述的数据传输控制装置,
当对于其使所述传输允许/拒绝信号变为有效状态的到所述第二通信单元的发送已经持续预定的时间或者更长时,所述第一通信单元将所述传输允许/拒绝信号设置为无效状态并且将无效的传输允许/拒绝信号发送到所述第二通信单元,并且
当所述传输允许/拒绝信号处于无效状态时,所述第二通信单元进入除了所述数据传输禁止模式之外的模式。
12.根据权利要求3所述的数据传输控制装置,
在所述外围装置和所述第一通信单元之间的数据传输以及在所述主机装置和所述第二通信单元之间的数据传输是基于USB(通用串行总线)标准的传输,并且
当所述第二通信单元在批量传输或者中断传输中接收来自于所述主机装置的IN、OUT、或者PING标志时,所述第二通信单元发回NAK(否定应答)响应。
13.根据权利要求1所述的数据传输控制装置,进一步包括状态管理寄存器,所述状态管理寄存器保持所述外围装置和所述第一通信单元之间的数据传输状态,
其中,当在所述外围装置和所述第一通信单元之间开始数据传输时,所述第二通信单元将表示正在执行数据传输的信息存储在所述状态管理寄存器中;并且当所述数据传输完成时,所述第二通信单元清除被存储在所述状态管理寄存器中的信息。
14.根据权利要求8所述的数据传输控制装置,其中
所述第二通信单元包括多个端点,所述多个端点中的每一个执行与所述主机装置的多个传输执行单元中的相应的一个的数据传输,
从当在所述多个端点中的一个中开始与所述主机装置的数据传输时到当在已经执行与所述主机装置的数据传输的所有端点中完成了数据传输时,所述第二通信单元将被设置为有效状态的所述传输挂起请求信号发送到所述第一通信单元,并且
当所述传输挂起请求信号处于有效状态时,所述第一通信单元进入所述数据传输挂起模式。
15.根据权利要求14所述的数据传输控制装置,所述多个端点中的每一个包括通知确定单元,所述通知确定单元确定是否应向所述第一通信单元通知正在与所述主机装置执行数据传输的情况,
当在与所述主机装置执行数据传输的端点当中存在由所述通知确定单元确定为被通知给所述第一通信单元的端点时,所述第二通信单元将被设置为有效状态的所述传输挂起请求信号发送到所述第一通信单元,并且
当所述传输挂起请求信号处于有效状态时,所述第一通信单元进入所述数据传输挂起模式。
16.一种控制数据传输控制装置的数据传输控制方法,所述数据传输控制装置包括:第一通信单元,所述第一通信单元处理与外围装置的数据传输;和第二通信单元,所述第二通信单元处理与主机装置的数据传输,其中
所述第一通信单元和所述第二通信单元中的一个用作其数据传输应具有高优先级的优先通信单元,并且所述第一通信单元和所述第二通信单元中的另一个用作非优先通信单元,
当在所述优先通信单元中正在执行数据传输时,所述优先通信单元向所述非优先通信单元通知正在执行数据传输,并且
当正在从所述优先通信单元向所述非优先通信单元通知正在执行数据传输时,所述非优先通信单元暂停所述非优先通信单元中的数据传输。
17.根据权利要求16所述的数据传输控制方法,
其中,所述数据传输控制装置进一步包括寄存器,所述寄存器存储将所述第一通信单元或者所述第二通信单元指定为所述优先通信单元的通信单元指定信息,
所述数据传输控制装置外部地接受将所述第一通信单元或者所述第二通信单元指定为其数据传输应具有较高的优先级的通信单元的通信单元指定信息,并且将所接受的通信单元指定信息存储在所述寄存器中,
当开始所述第一通信单元和所述外围装置之间的数据传输时,根据被存储在所述寄存器中的所述通信单元指定信息,所述第一通信单元向所述第二通信单元通知所述第一通信单元是否正在执行与所述外围装置的数据传输,并且
当开始所述第二通信单元和所述主机装置之间的数据传输时,根据被存储在所述寄存器中的所述通信单元指定信息,所述第二通信单元向所述第一通信单元通知所述第二通信单元是否正在执行与所述主机装置的数据传输。
18.根据权利要求16所述的数据传输控制方法,其中
所述第一通信单元本身是所述优先通信单元;并且当在所述第一通信单元本身和所述外围装置之间开始数据传输时,所述第一通信单元向所述第二通信单元通知所述第一通信单元正在执行与所述外围装置的数据传输,
当正在从所述第一通信单元向所述第二通信单元通知所述第一通信单元正在执行与所述外围装置的数据传输时,所述第二通信单元响应于来自于所述主机装置的数据传输开始请求发送表示不能执行到所述主机装置的数据传输的传输禁止响应,
所述第一通信单元本身是所述优先通信单元;并且当在所述第一通信单元本身和所述外围装置之间的数据传输完成时,所述第一通信单元向所述第二通信单元通知所述第一通信单元已经完成与所述外围装置的数据传输,并且
当正在从所述第一通信单元向所述第二通信单元通知所述第一通信单元已经完成与所述外围装置的数据传输时,所述第二通信单元响应于来自于所述主机装置的数据传输开始请求发送响应,所述响应被用于开始与所述主机装置的数据传输。
19.根据权利要求16所述的数据传输控制方法,其中
所述第二通信单元本身是所述优先通信单元;并且当在所述第二通信单元本身和所述主机装置之间开始数据传输时,所述第二通信单元向所述第一通信单元通知所述第二通信单元正在执行与所述主机装置的数据传输,
当正在从所述第二通信单元向所述第一通信单元通知所述第二通信单元正在执行与所述主机装置的数据传输时,所述第一通信单元暂停到所述外围装置的数据传输开始请求的发送,
所述第二通信单元本身是所述优先通信单元;并且当在所述第二通信单元本身和所述主机装置之间的数据传输完成时,所述第二通信单元向所述第一通信单元通知所述第二通信单元已经完成与所述主机装置的数据传输,并且
当正在从所述第二通信单元向所述第一通信单元通知所述第二通信单元已经完成与所述主机装置的数据传输时,所述第一通信单元将被暂停的所述数据传输开始请求发送到所述外围装置。
20.根据权利要求17所述的数据传输控制方法,其中
根据所述通信单元指定信息,所述第一通信单元将被用于通知允许/拒绝所述第二通信单元和所述主机装置之间的数据传输的传输允许/拒绝信号输出到所述第二通信单元,
根据所述传输允许/拒绝信号,所述第二通信单元进入数据传输禁止模式,其中响应于来自于所述主机装置的数据传输开始请求,发送所述传输禁止响应,
所述第二通信单元根据所述通信单元指定信息将传输挂起请求信号输出到所述第一通信单元,所述传输挂起请求信号被用于通知用于暂停所述第一通信单元和所述外围装置之间的数据传输的请求,并且
根据所述传输挂起请求信号,所述第一通信单元进入数据传输挂起模式,其中到所述外围装置的数据传输开始请求被暂停。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009191046 | 2009-08-20 | ||
JP2009-191046 | 2009-08-20 | ||
JP2010110009A JP2011065630A (ja) | 2009-08-20 | 2010-05-12 | データ転送制御装置及びデータ転送制御方法 |
JP2010-110009 | 2010-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101996150A true CN101996150A (zh) | 2011-03-30 |
Family
ID=43606196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102420818A Pending CN101996150A (zh) | 2009-08-20 | 2010-07-29 | 数据传输控制装置和数据传输控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110047303A1 (zh) |
JP (1) | JP2011065630A (zh) |
CN (1) | CN101996150A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369570A (zh) * | 2015-12-15 | 2018-08-03 | 高通股份有限公司 | 音频总线中断 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6232604B2 (ja) * | 2014-02-10 | 2017-11-22 | サイレックス・テクノロジー株式会社 | デバイスサーバとその制御方法 |
US9588925B2 (en) * | 2014-09-17 | 2017-03-07 | Valens Semiconductor Ltd. | USB extension for lossy channel |
CN106095714A (zh) * | 2016-06-08 | 2016-11-09 | 芯启源电子科技有限公司 | Usb数据传输的存储装置及电子设备 |
US10559351B2 (en) * | 2017-02-20 | 2020-02-11 | Texas Instruments Incorporated | Methods and apparatus for reduced area control register circuit |
CN114116577B (zh) * | 2022-01-29 | 2022-05-03 | 南京沁恒微电子股份有限公司 | Usb虚拟串口实时上传数据的方法及系统、usb主机 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005262A1 (en) * | 2006-06-16 | 2008-01-03 | Henry Wurzburg | Peripheral Sharing USB Hub for a Wireless Host |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751684B2 (en) * | 2000-12-21 | 2004-06-15 | Jonathan M. Owen | System and method of allocating bandwidth to a plurality of devices interconnected by a plurality of point-to-point communication links |
JP3636160B2 (ja) * | 2002-04-26 | 2005-04-06 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及びデータ転送制御方法 |
US7852796B2 (en) * | 2002-05-13 | 2010-12-14 | Xudong Wang | Distributed multichannel wireless communication |
JP3614161B2 (ja) * | 2003-05-20 | 2005-01-26 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及びデータ転送制御方法 |
TW200506637A (en) * | 2003-08-07 | 2005-02-16 | Ali Corp | Host-to-host USB bridge |
KR100557215B1 (ko) * | 2003-08-19 | 2006-03-10 | 삼성전자주식회사 | 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법 |
JP2005122372A (ja) * | 2003-10-15 | 2005-05-12 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
JP4131234B2 (ja) * | 2003-12-17 | 2008-08-13 | セイコーエプソン株式会社 | マクロセル、集積回路装置、及び電子機器 |
US7328849B2 (en) * | 2004-04-21 | 2008-02-12 | Stmicroelectronics, Inc. | Smart card providing data mapping for multiple applications and related methods |
JP2006238413A (ja) * | 2005-01-27 | 2006-09-07 | Nec Electronics Corp | Usbハブ、usb対応装置及び通信システム |
US7969873B2 (en) * | 2005-06-22 | 2011-06-28 | Intel Corporation | Data transmission scheme with scheduling optimization for physical channel group |
KR100703787B1 (ko) * | 2005-08-09 | 2007-04-06 | 삼성전자주식회사 | 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트 |
US8068495B2 (en) * | 2005-09-27 | 2011-11-29 | Intel Corporation | Mechanisms for data rate improvement in a wireless network |
KR20070076726A (ko) * | 2006-01-19 | 2007-07-25 | 삼성전자주식회사 | 엔드포인트 제어 장치 및 방법 |
-
2010
- 2010-05-12 JP JP2010110009A patent/JP2011065630A/ja active Pending
- 2010-06-30 US US12/827,362 patent/US20110047303A1/en not_active Abandoned
- 2010-07-29 CN CN2010102420818A patent/CN101996150A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005262A1 (en) * | 2006-06-16 | 2008-01-03 | Henry Wurzburg | Peripheral Sharing USB Hub for a Wireless Host |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369570A (zh) * | 2015-12-15 | 2018-08-03 | 高通股份有限公司 | 音频总线中断 |
Also Published As
Publication number | Publication date |
---|---|
US20110047303A1 (en) | 2011-02-24 |
JP2011065630A (ja) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110022769A1 (en) | Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device | |
CN101996150A (zh) | 数据传输控制装置和数据传输控制方法 | |
US8156273B2 (en) | Method and system for controlling transmission and execution of commands in an integrated circuit device | |
JPH077374B2 (ja) | インタフェース回路 | |
WO2017056725A1 (ja) | 車載制御装置 | |
KR20150067332A (ko) | 코어 간 통신 장치 및 방법 | |
DE102004042170A1 (de) | Nachrichtenbasierte Interrupttabelle | |
US20200265000A1 (en) | Information processing system | |
JP2004133942A (ja) | データバスシステム及びバス間クロスアクセス方法 | |
CN106844025B (zh) | 一种异步中断处理方法及中断控制器 | |
CN104636280B (zh) | 用于管道仲裁的电路和方法 | |
JP2010134698A (ja) | 情報処理システム | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
US20130111270A1 (en) | Information system and control method of the same | |
JP4853951B2 (ja) | データ処理装置 | |
CN109426643A (zh) | Usb接口请求调度方法、装置及设备 | |
CN110489358B (zh) | 一种交互控制方法及设备系统 | |
WO2012101759A1 (ja) | プロセッサ処理方法、およびプロセッサシステム | |
US6940311B2 (en) | Data transmission system | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
WO2007039933A1 (ja) | 演算処理装置 | |
JP6799265B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP4941212B2 (ja) | 電子デバイス、データ処理装置、及びバス制御方法 | |
JPH07219887A (ja) | Dma転送制御装置 | |
CN118689815A (zh) | 用于串行外设接口spi通信的方法及装置、spi通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110330 |