CN109522257A - 通用串行总线集线器 - Google Patents
通用串行总线集线器 Download PDFInfo
- Publication number
- CN109522257A CN109522257A CN201710953684.0A CN201710953684A CN109522257A CN 109522257 A CN109522257 A CN 109522257A CN 201710953684 A CN201710953684 A CN 201710953684A CN 109522257 A CN109522257 A CN 109522257A
- Authority
- CN
- China
- Prior art keywords
- host
- usb
- control unit
- coupled
- multiplexer
- 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.)
- Granted
Links
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 56
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000004804 winding Methods 0.000 abstract 1
- 230000010354 integration Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 239000002131 composite material Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
通用串行总线USB集线器,包括:上游端口;第一USB装置控制单元,以进行分组格式转换;先入先出电路,暂存由第一主机传来的数据;第二USB装置控制单元,以进行分组格式转换;及多个下游端口,耦接至第二USB装置控制单元。当任一下游端口耦接至移动装置时,如果第一主机下令移动装置从装置角色切换至主机角色,移动装置暂时断开与USB集线器之间的连接,且该第一主机下令USB集线器以切换其内部绕线路径,当移动装置切换至主机角色后,第一主机仍扮演主机角色,第一USB装置控制单元扮演该装置角色,移动装置扮演主机角色,第二USB装置控制单元扮演装置角色,第一主机与USB装置控制单元为成对,移动装置与第二USB装置控制单元为成对。
Description
技术领域
本发明涉及一种具有主机对主机功能的复合式(composite)通用串行总线(USB)集线器(hub)。
背景技术
在过往,当移动装置通过USB(Universal Serial Bus,通用串行总线)来连接至主机(笔记型计算机、桌上型计算机或车载系统(Car system))时,移动装置是当成装置(device)(亦即从装置)。
然而,目前移动装置(如智能手机)日渐普及,且硬件功能强大,所以移动装置有可能逐渐取代笔记型计算机、桌上型计算机或车载系统(Car system)等的角色。也就是说,移动装置已从装置转变为主机(host)。
此外,由于USB的应用非常庞大,具备USB主机功能的装置(如手机/桌上型计算机/笔电等)可能需要连接USB集线器(Hub)来连结其他的周边USB装置。然而,以USB集线器的原始设计而言,USB集线器具有一个上游端口(upstream port)来连接至主机,且具有多个下游端口(downstream port)来连接其他周边USB装置。但USB集线器的下游端口只具备主机对装置的功能,并不具备主机对主机的功能。但随着移动装置的快速发展,主机对主机的运作模式已成必然趋势。
亦即,需要有一种新的USB集线器设计,能同时支持“主机对主机”与“主机对装置”的运作模式。当处在主机对主机模式时,移动装置连接至USB集线器设计的下游端口,但移动装置仍是以主机的角色在运作。
发明内容
根据本申请一例,提出一种通用串行总线(USB)集线器,该USB集线器包括:一上游端口,耦接至一第一主机;一第一USB装置控制单元,耦接于该上游端口,用以进行分组格式转换;一先入先出电路,耦接至该第一USB装置控制单元,用以暂存由该第一主机所传来的数据;一第二USB装置控制单元,耦接至该先入先出电路,用以进行分组格式转换;以及多个下游端口,耦接至该第二USB装置控制单元。当这些下游端口的任一下游端口耦接至一移动装置时,如果该第一主机下令该移动装置从一装置角色切换至一主机角色,该移动装置暂时断开与该USB集线器之间的连接,而且,该第一主机下令该USB集线器以切换其内部绕线路径,当该移动装置切换至该主机角色之后,该第一主机仍扮演该主机角色,该第一USB装置控制单元扮演该装置角色,该移动装置扮演该主机角色,该第二USB装置控制单元扮演装置角色,该第一主机与该第一USB装置控制单元为成对,该移动装置与该第二USB装置控制单元为成对。
根据本申请另一例,提出一种通用串行总线(USB)集线器,该USB集线器包括:一上游端口,耦接至一第一主机;一集线器功能模块,耦接至该上游端口,用以执行一集线器功能;一主机对主机功能模块,耦接至该上游端口,当连接至该USB集线器的一移动装置执行一装置角色时,通过该集线器功能模块的控制,该第一主机与该移动装置之间的信号流经一旁通路径或该主机对主机功能模块,该主机对主机功能模块实现一“主机对主机模式”;至少一控制模块,耦接至该上游端口,控制相连接的至少一装置;一虚拟集线器功能单元,耦接至该集线器功能模块、该主机对主机功能模块与该至少一控制模块,该虚拟集线器功能单元支持一虚拟集线器功能且具有存储USB地址和相关装置之间关系的功能,该虚拟集线器功能单元存有多个虚拟USB地址;以及多个下游端口,耦接至该第二USB装置控制单元。根据该第一主机所指定的一USB地址,该虚拟集线器功能单元指定该集线器功能模块、该主机对主机功能模块与该至少一控制模块的各个虚拟USB地址。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下。
附图说明
图1显示根据本申请一实施例的USB集线器的功能方块示意图。
图2显示根据本申请一实施例的USB集线器的功能方块图。
图3显示根据本申请实施例的FIFO电路的功能方块图。
图4A至图4C显示根据本申请实施例的应用端示意图。
【符号说明】
110:第一主机 120:移动装置
130:USB集线器 131:上游端口
132-134:下游端口 141:集线器功能模块
142:主机对主机功能模块 143:第一控制模块
144:第二控制模块 151与152:接口
BY:旁通路径
200:USB集线器 210:重复电路
212:传输转译电路 214:绕线逻辑电路
216:状态机器
218、224:USB装置控制单元
220:虚拟集线器功能单元 222:先入先出电路
226:存储控制单元 228:音效控制单元
242:上游端口 244_1-244_N:下游端口
246_1-246_2:接口 P1、P2、P3:路径
302与304:FIFO 306、308、312:多工器
310:直接存储器存取(DMA)电路
320:缓冲器 322:中央处理器(CPU)
具体实施方式
本说明书的技术用语参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释以本说明书的说明或定义为准。本公开的各个实施例分别具有一或多个技术特征。在可能实施的前提下,本领域技术人员可选择性地实施任一实施例中部分或全部的技术特征,或者选择性地将这些实施例中部分或全部的技术特征加以组合。
现请参照图1,显示根据本申请一实施例的USB集线器的功能方块示意图。如图1所示,USB集线器130包括:上游端口131、多个下游端口132、集线器功能模块141、主机对主机功能模块142、第一控制模块143、第二控制模块144与接口151与152。第一主机(例如是桌上型计算机、笔记型计算机、车载系统等)110通过USB接口连接至USB集线器130的上游端口131,而移动装置(例如是智能手机等)120通过USB接口连接至USB集线器130的下游端口132。
集线器功能模块141用以执行一般的集线器功能(亦即,例如主机对装置之间的信号传输)。
当连接至USB集线器130的移动装置(例如是智能手机等)120执行装置角色时,通过集线器功能模块141的控制,第一主机110与移动装置120之间的信号乃是流经旁通路径BY而不流经主机对主机功能模块142。相反地,当连接至USB集线器130的移动装置(例如是智能手机等)120从装置角色切换至主机角色时,通过集线器功能模块141的控制,第一主机110与移动装置120之间的信号乃是流经主机对主机功能模块142而不流经旁通路径BY。也就是说,在本申请实施例中,“主机对主机模式”可由主机对主机功能模块142实现,其细节将于底下说明。
第一控制模块143与第二控制模块144通过接口151与152而控制相连接的装置。例如,第一控制模块143可以具有存储装置控制的功能,而第二控制模块144可以具音效装置控制的功能。虽然图1显示出2个控制模块143与144,但本申请并不受限于此。在本申请其他可能实施例中,集线器130可以包括更多数量的控制模块。
现请参照图2,其显示根据本申请一实施例的USB集线器200的功能方块图。如图2所示,根据本申请一实施例的USB集线器200包括:重复电路(repeater)210、传输转译电路(transaction translator)212、绕线逻辑电路(routing logic)214、状态机器(statemachine)216、USB装置控制单元218、虚拟集线器功能单元220、FIFO(first in firstoutput,先入先出)电路222、USB装置控制单元224、存储控制单元226、音效控制单元228、上游端口242,多个下游端口244_1-244_N(N为正整数),以及接口246_1与246_2。
重复电路210用以复制由第一主机所传来的信号/数据,并传送给传输转译电路212或绕线逻辑电路214。重复电路210的架构与其细节在此可不多做说明。
传输转译电路212控制掌握高速与低速/全速的数据交易,实现上游端口与下游端口不同速时的数据分组转换,以及执行其他的功能以确保总线上的不同速度数据可以被正确传送。当进行传输转译时,由第一主机所传来的分组流经重复电路210与传输转译电路212,而到达绕线逻辑电路214;当无需进行传输转译时,由第一主机所传来的分组流经重复电路210,而到达绕线逻辑电路214。传输转译电路212的架构与其细节在此可不多做说明。
绕线逻辑电路214用以负责数据的绕线,以让数据在上游端口242与下游端口244_1-244_N之间传输。绕线逻辑电路214的架构与其细节在此可不多做说明。
状态机器216可解码由第一主机所传来信号/数据,来决定该信号/数据该传给哪个下游端口。状态机器216可由硬件加固件所组成。状态机器216的架构与其细节在此可不多做说明。
USB装置控制单元218可由硬件或固件所执行。当由第一主机所传来的分组要送至不同USB类型的USB周边装置时,USB装置控制单元218对该分组进行格式转换。同样地,当由不同USB类型的USB周边装置所传来的分组要送至第一主机时,USB装置控制单元218对该分组进行格式转换。USB装置控制单元218的架构与其细节在此可不多做说明。
虚拟集线器功能单元220用以让USB集线器能支持复合装置(compound device)和/或综合装置(composite device),其细节将于底下说明。另外,在本申请实施例中,虚拟集线器功能单元220支持虚拟集线器(Virtual hub)功能且具有指定虚拟USB地址的功能。虚拟集线器功能单元220内存有多个虚拟USB地址。状态机器216、USB装置控制单元218与虚拟集线器功能单元220可组成集线器控制单元(hub control unit)。
FIFO(先入先出)电路222介于USB装置控制单元218与224之间(或者是介于USB装置控制单元218与存储控制单元226之间,或者是介于USB装置控制单元218与音效控制单元228之间),用以暂存由第一主机和/或USB周边装置和/或移动装置所传来的数据,并传往第一主机和/或USB周边装置和/或移动装置。其细节将于底下参考图3说明。
USB装置控制单元224可由硬件或固件所执行。USB装置控制单元224具有跟USB装置控制单元218相同或相似的功能。此外,在本申请实施例中,当移动装置120从装置角色切换至主机角色时,USB装置控制单元218与224皆扮演装置角色(其中,第一主机110与USB装置控制单元218是一对的,而移动装置与USB装置控制单元224是一对的),以实现本申请实施例的主机对主机模式。细言之,假设移动装置120连接到下游端口244_1。当移动装置120扮演装置角色时,第一主机110与移动装置120之间的信号路径为:上游端口242、重复电路210(和/或传输转译电路212)、绕线逻辑电路214与下游端口244_1。
当第一主机110下令让移动装置120从装置角色切换至主机角色时,移动装置120暂时断开与集线器200之间的连接,而且,第一主机110亦下命令给USB集线器200。响应于此命令,绕线逻辑电路214切换其内部绕线路径。当移动装置120切换至主机角色之后,第一主机110与移动装置120之间的信号路径为:上游端口242、重复电路210、USB装置控制单元218、先入先出电路222、USB装置控制单元224、绕线逻辑电路214与下游端口244_1。也就是说,当移动装置120切换至主机角色之后,第一主机110仍扮演主机角色,USB装置控制单元218仍扮演装置角色;另一方面,移动装置120扮演主机角色,USB装置控制单元224仍扮演装置角色。藉此,本申请实施例可以达成主机对主机模式。
存储控制单元226可以是记忆卡卡的读卡机控制器,用于控制外接至USB集线器200的接口246_1的记忆卡卡。或者,存储控制单元226可以是外接硬盘控制器,用于控制外接至USB集线器200的接口246_1的硬盘机。当然,本申请并不受限于此。存储控制单元226的架构与其细节在此可不多做说明。
音效控制单元228可用于控制外接至USB集线器200的接口246_2的周边音效装置(如喇叭或麦克风等)。音效控制单元228的架构与其细节在此可不多做说明。
上游端口242可连接至第一主机(如图1的第一主机110)。这些下游端口244_1-244_N可连接至USB周边装置(例如但不受限于,USB随身碟、USB外接硬盘等)。此外,这些下游端口244_1-244_N之任一可以连接至移动装置120。
现请再次参考图1与图2。在图1中,集线器功能模块141例如由重复电路210、传输转译电路212与绕线逻辑电路214所实现。主机对主机功能模块142例如由USB装置控制单元218、先入先出电路222与USB装置控制单元224所实现。第一控制模块143例如由USB装置控制单元218、先入先出电路222与存储控制单元226所实现。第二控制模块144例如由USB装置控制单元218、先入先出电路222与音效控制单元228所实现。也就是说,在本申请实施例中,集线器功能模块141、主机对主机功能模块142、第一控制模块143与第二控制模块144可彼此共享某些单元。
USB装置控制单元218、FIFO(先入先出)电路222与USB装置控制单元224可执行USB集线器200的主机对主机模式或者是内建数据缓冲。本申请实施例如何实现“主机对主机模式”已于上面说明。
在本申请实施例中,当要将移动装置的角色从装置切换成主机时,第一主机送出自定义指令(Vendor command)给USB集线器200,以改变USB集线器200的内部信号路径(如上述般),来实现“主机对主机功能”,但不影响其他正在传输中的下游端口244_1-244_N和/或上游端口242。
或者是,在本申请实施例的USB集线器200中,USB装置控制单元224可以自动判定连结到任一下游端口244_1-244_N的移动装置的USB装置描述元(USB Device Descriptor)(如果该USB装置描述元指示该移动装置可以扮演主机角色)来决定是否需要从主机对装置传输模式切换成主机对主机传输模式(改变USB集线器200的内部信号路径,如上述般)并启动装置模式转换,但不影响其他正在传输中的下游端口244_1-244_N和/或上游端口242。
举例而言,假设下游端口244_1连接至移动装置,而下游端口244_2连接至USB随身碟。当移动装置仍当成装置角色时,在绕线逻辑电路214内(请参考图2),移动装置的信号走路径P1,而USB随身碟的信号走路径P2。当移动装置切换成主机角色时,在绕线逻辑电路214内(请参考图2),移动装置的信号改走路径P3,而USB随身碟的信号仍走路径P2。也就是说,在本申请实施例中,当第一主机下令将移动装置的角色从装置角色切换成主机角色时,不会影响到其他下游端口的数据传输。
图3显示根据本申请实施例的FIFO电路222的功能方块图。如图3所示,FIFO电路222包括:FIFO 302与304,多工器306与308、DMA直接存储器存取(Direct Memory Access)电路310与多工器312。FIFO 302耦接于USB装置控制单元218与224之间。另外,FIFO 304通过多工器306与308而分别耦接至USB装置控制单元218与224。
在本申请实施例中,FIFO电路222支持数据快速传输路径,能让数据可以在USB装置控制单元218、FIFO 302、多工器312与USB装置控制单元224(和/或存储控制单元226和/或音效控制单元228)之间快速传输,经由这条路径的数据不会被中央处理器322修改。
另外,在本申请实施例中,如果数据可能需要由中央处理器322进行处理后,才能传给另一端,则数据传输流程如后。底下以数据从第一主机传往移动装置为例做说明,本领域技术人员当可依而推论出知数据从移动装置传往第一主机的流程。第一主机所送出的数据通过USB装置控制单元218与多工器306而写入到FIFO 304。接着,DMA电路310将数据从FIFO 304与多工器308而暂存至第一主机110的缓冲器320。当第一主机110的中央处理器(CPU)322将缓冲器320内的数据处理/修改后,中央处理器(CPU)322告知DMA电路310。由DMA电路310将修改后/处理后的数据从缓冲器320经过多工器306而写入至FIFO 304,再由FIFO304通过多工器308,并通过多工器312来将FIFO304内的数据送给USB装置控制单元224以传给移动装置,或者送给存储控制单元226以传给存储装置(未示出),或者送给音效控制单元228以传给音效装置(未示出)。
或者是,在本申请实施例中,如果CPU 322想要传数据给移动装置或存储装置或音效装置的话,CPU322可以将数据先存在缓冲器320里,然后通过DMA电路310、多工器306而暂存至FIFO 304,之后,通过多工器312来将FIFO304内的数据送给USB装置控制单元224以传给移动装置,或者送给存储控制单元226以传给存储装置(未示出),或者送给音效控制单元228以传给音效装置(未示出)。
或者,在本申请实施例中,数据由第一主机通过USB装置控制单元218与多工器306写入到FIFO 304,接着,DMA电路310将数据从多工器308存进到缓冲器320,等到CPU 322修改完/处理完数据后,CPU 322告知DMA电路310,DMA电路310将修改后/处理后的数据从缓冲器320读出,并经过多工器306而写入至FIFO 304,但不传给USB装置控制单元224、存储控制单元226与音效控制单元228。该修改后/处理后数据存在FIFO 304中,可以等日后有需要才读出。
在本申请实施例中,移动装置(如智能手机)可当主机也可当装置。
现请参考图4A至图4C,其显示根据本申请实施例的应用端示意图。在图4A应用端示意中,对于第一主机110而言,经由USB集线器200的回报,第一主机110可以得知“集线器功能模块141、主机对主机功能模块142、第一控制模块143与第二控制模块144属于同一层,亦即,属于“同一综合装置(Composite device)”。在实现图4A应用端示意时,第一主机会指定USB地址(在此例如但不受限于,USB地址为5)给此一综合装置(此一综合装置包含集线器功能模块141、主机对主机功能模块142、第一控制模块143与第二控制模块144)。亦即,集线器功能模块141、主机对主机功能模块142、第一控制模块143与第二控制模块144共用USB地址5。
当USB集线器200接收到由第一主机所传来的指令/数据时,集线器功能模块141检查该指令/数据的USB地址中的“接口(interface)字段”,以决定该指令/数据要传送至集线器功能模块141、主机对主机功能模块142、第一控制模块143与第二控制模块144的哪一个。
相似地,在图4B应用端示意中,对于第一主机110而言,集线器功能模块141、第一控制模块143与第二控制模块144属于同一层,亦即,属于同一综合装置。在逻辑上而言,主机对主机功能模块142则被第一主机110视为接到集线器功能模块141的下游端口。
在实现图4B应用端示意时,第一主机会指定USB地址(在此例如但不受限于,USB地址为5)给上层综合装置,该上层综合装置包含集线器功能模块141、第一控制模块143与第二控制模块144。亦即,集线器功能模块141、第一控制模块143与第二控制模块144共用USB地址5。而且,第一主机会指定USB地址(在此例如但不受限于,USB地址为6)给主机对主机功能模块142。USB集线器200的虚拟集线器功能单元220可存储USB地址5-6、和其相对应装置之间的关系。
当USB集线器200接收到由第一主机所传来的指令/数据时,USB集线器200会检查该指令/数据的USB地址。如果该指令/数据的USB地址是6,则USB集线器200将该指令/数据传送至主机对主机功能模块142,如果该指令/数据的USB地址是5,则USB集线器200不将该指令/数据传送至下一层,而是传给上层综合装置。另外,如果该指令/数据的USB地址是5,USB集线器200会检查该指令/数据中的“接口(interface)字段”,以决定该指令/数据要传送至集线器功能模块141、第一控制模块143与第二控制模块144之一。
相似地,在图4C应用端示意中,对于第一主机110而言,集线器功能模块141自己一层,而主机对主机功能模块142、第一控制模块143与第二控制模块144则属于同一层(同一综合装置)。在逻辑上,第一主机110将此综合装置视为接到集线器功能模块141的下游端口。在实现图4C应用端示意时,第一主机会指定USB地址(在此例如但不受限于,USB地址为5)给集线器功能模块141。而且,第一主机会指定USB地址(在此例如但不受限于,USB地址为6)给下层综合装置,此综合装置包含主机对主机功能模块142、第一控制模块143与第二控制模块144。USB集线器200的虚拟集线器功能单元220会存储USB地址5-6,和其相对应装置之间的关系。
当USB集线器200接收到由第一主机所传来的指令/数据时,USB集线器200会检查该指令/数据的USB地址。如果该指令/数据的USB地址是5,则集线器功能模块141接收该指令/数据。另外,如果该指令/数据的USB地址是6,USB集线器200会检查该指令中的“接口字段”,以决定该指令/数据要送给主机对主机功能模块142、第一控制模块143与第二控制模块144的哪一个。
亦即,在应用情况下,在移动装置从USB装置模式切换成USB主机模式之后,移动装置可以支持第一主机,而第一主机依然维持USB主机模式。如此一来,第一主机可以通过USB集线器200的其他下游端口连结其他USB周边装置,以进行第一主机与其他USB周边装置之间的传输、应用等。移动装置支持第一主机是指,例如第一主机为车载系统时,移动装置可以将画面显示于第一主机的屏幕上,并让使用者通过在第一主机上操作,而来操作移动装置,就如同使用者在直接操作移动装置般。例如,使用者可以在第一主机上操作,以移动装置所提供的路线指引、拨打电话、收发讯息和聆听音乐等功能。
综上所述,在本申请实施例中,根据第一主机所送出的自定义指令,USB集线器200可以切换内部的信号路径,以支持主机对主机功能,且此内部信号路径切换不影响其他传输中的信号路径。
此外,如上述般,通过USB集线器200的虚拟USB集线功能(存储USB地址),可以支持多种应用端情况(如图4A至图4C),增加使用上的弹性。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。
Claims (9)
1.一种通用串行总线USB集线器,该USB集线器包括:
上游端口,耦接至第一主机;
第一USB装置控制单元,耦接于该上游端口,用以进行分组格式转换;
先入先出电路,耦接至该第一USB装置控制单元,用以暂存由该第一主机所传来的数据;
第二USB装置控制单元,耦接至该先入先出电路,用以进行分组格式转换;以及
多个下游端口,耦接至该第二USB装置控制单元,
其中,当这些下游端口的任一下游端口耦接至移动装置时,
如果该第一主机下令该移动装置从装置角色切换至主机角色,该移动装置暂时断开与该USB集线器之间的连接,而且,该第一主机下令该USB集线器以切换其内部绕线路径,
当该移动装置切换至该主机角色之后,该第一主机仍扮演该主机角色,该第一USB装置控制单元扮演该装置角色,该移动装置扮演该主机角色,该第二USB装置控制单元扮演装置角色,该第一主机与该第一USB装置控制单元为成对,该移动装置与该第二USB装置控制单元为成对。
2.如权利要求1所述的USB集线器,其中,该第一主机送出自定义指令以下令该移动装置从该装置角色切换至该主机角色,且该角色切换不影响正在传输中的其他下游端口。
3.如权利要求1所述的USB集线器,其中,该第二USB装置控制单元自动判定连结到该任一下游端口的该移动装置的USB装置描述元来决定是否需要从主机对装置传输模式切换成主机对主机传输模式,改变该USB集线器的该内部绕线路径,但不影响其他正在传输中的下游端口。
4.如权利要求1所述的USB集线器,其中,该先入先出电路包括:
第一FIFO,耦接于该第一与该第二USB装置控制单元之间;
第二FIFO,
第一多工器、第二多工器与第三多工器,该第二FIFO通过该第一多工器而耦接至该第一USB装置控制单元,且该第二FIFO通过该第二多工器与该第三多工器而耦接至该第二USB装置控制单元,以及
直接存储器存取DMA电路,耦接至该第一与该第二多工器。
5.如权利要求4所述的USB集线器,其中,由该第一主机所传来的数据流经该第一USB装置控制单元、该第一FIFO与该第二USB装置控制单元,而送至该移动装置或连接至这些下游端口的一USB装置。
6.如权利要求4所述的USB集线器,其中,
由该第一主机所传来的数据流经该第一USB装置控制单元与该第一多工器而写入到该第二FIFO,并经过该第二多工器而暂存至该第一主机的缓冲器,
当该第一主机的中央处理器将该缓冲器内的数据处理或修改后,该中央处理器告知该DMA电路,由该DMA电路将修改后或处理后的数据从该缓冲器读出并经过该第一多工器而写入至该第二FIFO,并通过该第二多工器与该第三多工器送给该第二USB装置控制单元,以传给该移动装置或连接至这些下游端口的一USB装置。
7.如权利要求4所述的USB集线器,其中,
由该第一主机所传来的数据流经该第一USB装置控制单元与该第一多工器而写入到该第二FIFO,并经过该第二多工器而暂存至该第一主机的缓冲器,
当该第一主机的中央处理器将该缓冲器内的数据处理或修改后,该中央处理器告知该DMA电路,由该DMA电路将修改后或处理后的数据从该缓冲器读出并经过该第一多工器而写入至该第二FIFO。
8.一种通用串行总线USB集线器,该USB集线器包括:
上游端口,耦接至第一主机;
集线器功能模块,耦接至该上游端口,用以执行集线器功能;
主机对主机功能模块,耦接至该上游端口,当连接至该USB集线器的移动装置执行装置角色时,通过该集线器功能模块的控制,该第一主机与该移动装置之间的信号流经一旁通路径或该主机对主机功能模块,该主机对主机功能模块实现“主机对主机模式”;
至少一控制模块,耦接至该上游端口,控制相连接的至少一装置;
虚拟集线器功能单元,耦接至该集线器功能模块、该主机对主机功能模块与该至少一控制模块,该虚拟集线器功能单元支持虚拟集线器功能且具有存储USB地址和相关装置之间关系的功能,该虚拟集线器功能单元存有多个USB地址;以及
多个下游端口,耦接至该第二USB装置控制单元,
根据该第一主机所指定的USB地址,该虚拟集线器功能单元指定该集线器功能模块、该主机对主机功能模块与该至少一控制模块的各个虚拟USB地址。
9.如权利要求8所述的USB集线器,其中,
根据该第一主机所传来的指令中的接口字段,该USB集线器决定该指令的传送目标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010412979.9A CN111597132B (zh) | 2017-09-20 | 2017-10-13 | 通用串行总线集线器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106132317A TWI647571B (zh) | 2017-09-20 | 2017-09-20 | 萬用串列匯流排集線器 |
TW106132317 | 2017-09-20 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010412979.9A Division CN111597132B (zh) | 2017-09-20 | 2017-10-13 | 通用串行总线集线器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522257A true CN109522257A (zh) | 2019-03-26 |
CN109522257B CN109522257B (zh) | 2020-09-08 |
Family
ID=65720389
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010412979.9A Active CN111597132B (zh) | 2017-09-20 | 2017-10-13 | 通用串行总线集线器 |
CN201710953684.0A Active CN109522257B (zh) | 2017-09-20 | 2017-10-13 | 通用串行总线集线器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010412979.9A Active CN111597132B (zh) | 2017-09-20 | 2017-10-13 | 通用串行总线集线器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10372652B2 (zh) |
CN (2) | CN111597132B (zh) |
TW (1) | TWI647571B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111103827A (zh) * | 2019-12-06 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种服务器工作模式切换装置 |
CN111897753A (zh) * | 2019-05-06 | 2020-11-06 | 旺玖科技股份有限公司 | Usb主机对主机芯片 |
TWI776397B (zh) * | 2021-02-22 | 2022-09-01 | 創惟科技股份有限公司 | 多影像輸出系統及其usb集線器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201933131A (zh) * | 2018-01-30 | 2019-08-16 | 旺玖科技股份有限公司 | 支援usb主機對主機傳輸的虛擬通訊埠橋接器 |
US11892965B2 (en) * | 2019-07-09 | 2024-02-06 | Hewlett-Packard Development Company, L.P. | Routing and converting traffic based on communication protocols |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587462B (zh) * | 2008-05-21 | 2012-02-08 | 上海摩波彼克半导体有限公司 | 高速数据通信链路中的usb数据传输装置及其数据传输方法 |
CN103180816A (zh) * | 2010-10-21 | 2013-06-26 | 马维尔国际贸易有限公司 | Usb至sata的高速桥接器 |
CN105849709A (zh) * | 2013-10-22 | 2016-08-10 | 奥谷嵌入式系统有限公司 | 用于在主机模式与从属模式之间切换下游端口的通用串行总线(usb)集线器 |
CN106170745A (zh) * | 2013-09-26 | 2016-11-30 | 德尔福技术有限公司 | 到具有usb集线器的汽车系统的灵活的移动设备连接性 |
US20170064006A1 (en) * | 2015-08-14 | 2017-03-02 | SZ DJI Technology Co., Ltd. | System and method for supporting data communication in a heterogeneous environment |
CN106897242A (zh) * | 2017-01-17 | 2017-06-27 | 建荣半导体(深圳)有限公司 | 一种usb复合设备及其工作方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100354848C (zh) * | 2004-09-06 | 2007-12-12 | 康奈科技股份有限公司 | 通用串行总线系统和复合装置及设定复合装置地址的方法 |
US20060227759A1 (en) * | 2004-09-14 | 2006-10-12 | Bohm Mark R | Peripheral Sharing USB Hub |
US7480753B2 (en) * | 2006-04-27 | 2009-01-20 | Standard Microsystems Corporation | Switching upstream and downstream logic between ports in a universal serial bus hub |
US7577776B2 (en) * | 2007-05-14 | 2009-08-18 | Aten International Co., Ltd | Multiple virtual USB devices with virtual HUB implemented using one USB device controller |
US7886106B2 (en) * | 2008-11-11 | 2011-02-08 | Aten International Co., Ltd. | USB sharing switch with automatic switching capabilities |
TWI417735B (zh) * | 2010-06-23 | 2013-12-01 | Kye Systems Corp | A universal serial bus hub with signal mode and charge mode |
CN103999066B (zh) * | 2011-12-16 | 2018-04-06 | 英特尔公司 | 用于通用串行总线物理层中的自动下游到上游模式切换的方法和装置 |
CN102541794B (zh) * | 2012-01-05 | 2014-11-26 | 威盛电子股份有限公司 | 集线器及其方法 |
US8832328B2 (en) * | 2012-03-13 | 2014-09-09 | Qualcomm Incorporated | Data redirection for universal serial bus devices |
TWI497306B (zh) * | 2012-11-29 | 2015-08-21 | Faraday Tech Corp | 超高速通用序列匯流排集線器及其相關流量管理方法 |
US9645962B2 (en) * | 2013-09-26 | 2017-05-09 | Delphi Technologies, Inc. | Flexible mobile device connectivity to automotive systems with USB hubs |
CN105981338B (zh) * | 2013-12-08 | 2019-10-08 | 跨端口网路解决公司 | 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路系统 |
US9852097B2 (en) * | 2014-04-29 | 2017-12-26 | Microchip Technology Incorporated | Flexconnect disconnect detection |
US9811488B2 (en) * | 2014-04-29 | 2017-11-07 | Mcci Corporation | Apparatus and methods for dynamic role switching among USB hosts and devices |
TWI541657B (zh) * | 2014-09-12 | 2016-07-11 | 亞信電子股份有限公司 | 提供主機即時切換及分享通用串列匯流排(usb)電子設備之電子裝置 |
US9558144B2 (en) * | 2014-09-26 | 2017-01-31 | Intel Corporation | Serial bus electrical termination control |
US9911011B1 (en) * | 2014-11-19 | 2018-03-06 | Western Digital Technologies, Inc. | Communications device that logically connects an upstream signal line to a downstream signal line |
TWI534627B (zh) * | 2015-02-26 | 2016-05-21 | 威盛電子股份有限公司 | 集線器、操作系統與控制方法 |
CN106339340B (zh) * | 2015-07-07 | 2019-06-25 | 瑞昱半导体股份有限公司 | 内建旁路架构的usb控制电路 |
US10162788B2 (en) * | 2016-08-19 | 2018-12-25 | Microchip Technology Incorporated | USB on the go (OTG) multi-hub endpoint reflector hub |
-
2017
- 2017-09-20 TW TW106132317A patent/TWI647571B/zh active
- 2017-10-13 CN CN202010412979.9A patent/CN111597132B/zh active Active
- 2017-10-13 CN CN201710953684.0A patent/CN109522257B/zh active Active
-
2018
- 2018-06-07 US US16/002,625 patent/US10372652B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587462B (zh) * | 2008-05-21 | 2012-02-08 | 上海摩波彼克半导体有限公司 | 高速数据通信链路中的usb数据传输装置及其数据传输方法 |
CN103180816A (zh) * | 2010-10-21 | 2013-06-26 | 马维尔国际贸易有限公司 | Usb至sata的高速桥接器 |
CN106170745A (zh) * | 2013-09-26 | 2016-11-30 | 德尔福技术有限公司 | 到具有usb集线器的汽车系统的灵活的移动设备连接性 |
CN105849709A (zh) * | 2013-10-22 | 2016-08-10 | 奥谷嵌入式系统有限公司 | 用于在主机模式与从属模式之间切换下游端口的通用串行总线(usb)集线器 |
US20170064006A1 (en) * | 2015-08-14 | 2017-03-02 | SZ DJI Technology Co., Ltd. | System and method for supporting data communication in a heterogeneous environment |
CN106897242A (zh) * | 2017-01-17 | 2017-06-27 | 建荣半导体(深圳)有限公司 | 一种usb复合设备及其工作方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897753A (zh) * | 2019-05-06 | 2020-11-06 | 旺玖科技股份有限公司 | Usb主机对主机芯片 |
US11216401B2 (en) | 2019-05-06 | 2022-01-04 | Prolific Technology Inc. | USB host-to-USB host chip |
CN111103827A (zh) * | 2019-12-06 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种服务器工作模式切换装置 |
TWI776397B (zh) * | 2021-02-22 | 2022-09-01 | 創惟科技股份有限公司 | 多影像輸出系統及其usb集線器 |
US11983130B2 (en) | 2021-02-22 | 2024-05-14 | Genesys Logic, Inc. | Multi-image output system and USB hub thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201915764A (zh) | 2019-04-16 |
CN109522257B (zh) | 2020-09-08 |
CN111597132A (zh) | 2020-08-28 |
TWI647571B (zh) | 2019-01-11 |
US20190087375A1 (en) | 2019-03-21 |
CN111597132B (zh) | 2022-06-03 |
US10372652B2 (en) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522257A (zh) | 通用串行总线集线器 | |
CN104142849B (zh) | 多主机单根输入/输出虚拟化虚拟功能共享的方法及系统 | |
US9141571B2 (en) | PCI express switch with logical device capability | |
US7188209B2 (en) | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets | |
US9280297B1 (en) | Transactional memory that supports a put with low priority ring command | |
KR101051506B1 (ko) | 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기 | |
EP1730646B1 (en) | Shared input/output load-store architecture | |
US7162546B2 (en) | Reordering unrelated transactions from an ordered interface | |
US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
US20050025119A1 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
CN105549916B (zh) | PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法 | |
TW201832089A (zh) | 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術 | |
US10206175B2 (en) | Communications fabric with split paths for control and data packets | |
CN100421424C (zh) | 一种基于PCI Express总线的集中式路由器 | |
CN104461979A (zh) | 基于环形总线的多核片上通信网络实现方法 | |
CN106919529A (zh) | 支持usb和uart串口兼容的无线通信模块设计方法 | |
TWI685752B (zh) | 萬用串列匯流排集線器 | |
CN103023669A (zh) | 基于交换网络的一种广播调度方法 | |
US7370127B2 (en) | High-speed internal bus architecture for an integrated circuit | |
CN103608762B (zh) | 存储设备、存储系统及数据发送方法 | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
US9342313B2 (en) | Transactional memory that supports a get from one of a set of rings command | |
US7313146B2 (en) | Transparent data format within host device supporting differing transaction types | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
CN103036815B (zh) | 一种信息技术和通信技术ict融合系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |