TWI647571B - 萬用串列匯流排集線器 - Google Patents

萬用串列匯流排集線器 Download PDF

Info

Publication number
TWI647571B
TWI647571B TW106132317A TW106132317A TWI647571B TW I647571 B TWI647571 B TW I647571B TW 106132317 A TW106132317 A TW 106132317A TW 106132317 A TW106132317 A TW 106132317A TW I647571 B TWI647571 B TW I647571B
Authority
TW
Taiwan
Prior art keywords
host
usb
control unit
role
hub
Prior art date
Application number
TW106132317A
Other languages
English (en)
Other versions
TW201915764A (zh
Inventor
游添為
詹澄勝
陳俊旭
段人傑
Original Assignee
旺玖科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 旺玖科技股份有限公司 filed Critical 旺玖科技股份有限公司
Priority to TW106132317A priority Critical patent/TWI647571B/zh
Priority to CN202010412979.9A priority patent/CN111597132B/zh
Priority to CN201710953684.0A priority patent/CN109522257B/zh
Priority to US16/002,625 priority patent/US10372652B2/en
Application granted granted Critical
Publication of TWI647571B publication Critical patent/TWI647571B/zh
Publication of TW201915764A publication Critical patent/TW201915764A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal 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裝置控制單元扮演裝置角色,該第一主機與該第一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位址。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
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集線器的功能方塊示意圖。
第2圖顯示根據本案一實施例的USB集線器的功能方塊圖。
第3圖顯示根據本案實施例的FIFO電路的功能方塊圖。
第4A圖至第4C圖顯示根據本案實施例的應用端示意圖。
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
現請參照第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、狀態機器(state machine)216、USB裝置控制單元218、虛擬集線器功能單元220、FIFO(first in first output,先入先出)電路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,再由FIFO 304透過多工器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 (7)

  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。
TW106132317A 2017-09-20 2017-09-20 萬用串列匯流排集線器 TWI647571B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW106132317A TWI647571B (zh) 2017-09-20 2017-09-20 萬用串列匯流排集線器
CN202010412979.9A CN111597132B (zh) 2017-09-20 2017-10-13 通用串行总线集线器
CN201710953684.0A CN109522257B (zh) 2017-09-20 2017-10-13 通用串行总线集线器
US16/002,625 US10372652B2 (en) 2017-09-20 2018-06-07 USB hub

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106132317A TWI647571B (zh) 2017-09-20 2017-09-20 萬用串列匯流排集線器

Publications (2)

Publication Number Publication Date
TWI647571B true TWI647571B (zh) 2019-01-11
TW201915764A TW201915764A (zh) 2019-04-16

Family

ID=65720389

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106132317A TWI647571B (zh) 2017-09-20 2017-09-20 萬用串列匯流排集線器

Country Status (3)

Country Link
US (1) US10372652B2 (zh)
CN (2) CN111597132B (zh)
TW (1) TWI647571B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216401B2 (en) 2019-05-06 2022-01-04 Prolific Technology Inc. USB host-to-USB host chip

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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
CN111103827B (zh) * 2019-12-06 2021-06-29 苏州浪潮智能科技有限公司 一种服务器工作模式切换装置
TWI776397B (zh) 2021-02-22 2022-09-01 創惟科技股份有限公司 多影像輸出系統及其usb集線器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122010A1 (en) * 2008-11-11 2010-05-13 Aten International Co., Ltd. Usb sharing switch with automatic switching capabilities
TW201201022A (en) * 2010-06-23 2012-01-01 Kye Systems Corp Universal serial bus hub
TWI497306B (zh) * 2012-11-29 2015-08-21 Faraday Tech Corp 超高速通用序列匯流排集線器及其相關流量管理方法
TW201610690A (zh) * 2014-09-12 2016-03-16 亞信電子股份有限公司 提供主機即時切換及分享通用串列匯流排(usb)電子設備之電子裝置
TW201631487A (zh) * 2015-02-26 2016-09-01 威盛電子股份有限公司 集線器、操作系統與控制方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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
CN101587462B (zh) * 2008-05-21 2012-02-08 上海摩波彼克半导体有限公司 高速数据通信链路中的usb数据传输装置及其数据传输方法
US8595406B2 (en) * 2010-10-21 2013-11-26 Marvell World Trade Ltd. USB-to-SATA high-speed bridge
EP2791807A4 (en) * 2011-12-16 2015-08-05 Intel Corp AUTOMATIC MODE SWITCHING BETWEEN DOWNSTREAM AND UPSTREAM ON A PHYSICAL LAYER OF A USB
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
US9645962B2 (en) * 2013-09-26 2017-05-09 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
US9460037B2 (en) * 2013-09-26 2016-10-04 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
IN2013CH04563A (zh) * 2013-10-22 2015-09-18 Allgo Embedded Systems Private Ltd
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
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
CN106339340B (zh) * 2015-07-07 2019-06-25 瑞昱半导体股份有限公司 内建旁路架构的usb控制电路
WO2017028022A1 (en) * 2015-08-14 2017-02-23 SZ DJI Technology Co., Ltd. System and method for supporting data communication in heterogeneous environment
US10162788B2 (en) * 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
CN106897242B (zh) * 2017-01-17 2020-09-29 建荣集成电路科技(珠海)有限公司 一种usb复合设备及其工作方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122010A1 (en) * 2008-11-11 2010-05-13 Aten International Co., Ltd. Usb sharing switch with automatic switching capabilities
TW201201022A (en) * 2010-06-23 2012-01-01 Kye Systems Corp Universal serial bus hub
TWI497306B (zh) * 2012-11-29 2015-08-21 Faraday Tech Corp 超高速通用序列匯流排集線器及其相關流量管理方法
TW201610690A (zh) * 2014-09-12 2016-03-16 亞信電子股份有限公司 提供主機即時切換及分享通用串列匯流排(usb)電子設備之電子裝置
TW201631487A (zh) * 2015-02-26 2016-09-01 威盛電子股份有限公司 集線器、操作系統與控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216401B2 (en) 2019-05-06 2022-01-04 Prolific Technology Inc. USB host-to-USB host chip
TWI784165B (zh) * 2019-05-06 2022-11-21 旺玖科技股份有限公司 Usb主機對主機晶片

Also Published As

Publication number Publication date
US10372652B2 (en) 2019-08-06
TW201915764A (zh) 2019-04-16
CN111597132A (zh) 2020-08-28
CN109522257A (zh) 2019-03-26
CN111597132B (zh) 2022-06-03
CN109522257B (zh) 2020-09-08
US20190087375A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
TWI647571B (zh) 萬用串列匯流排集線器
US11176072B2 (en) Flexible mobile device connectivity to automotive systems with USB hubs
KR101181150B1 (ko) PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션
US7539797B2 (en) Route aware Serial Advanced Technology Attachment (SATA) Switch
JP5301381B2 (ja) データドリブン型アーキテクチャメッシュアレイ中のメモリアクセスデバイス制御
TW201937381A (zh) 支援多模式及/或多速度之跨架構高速非揮發性記憶體裝置的系統與方法及儲存裝置
US20210334226A1 (en) Systems, methods and apparatus for a storage controller wtih multi-mode pcie functionalities
WO2002077835A1 (fr) Dispositif a semi-conducteurs de commande de communication et systeme d'interface
US8250258B2 (en) Hybrid serial peripheral interface data transmission architecture and method of the same
CN107391419B (zh) 支持多主机的通用序列汇流排集线设备及车用主机
TWI685752B (zh) 萬用串列匯流排集線器
US20070300006A1 (en) Multi-interface conversion device
JP2004062900A (ja) バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
TW201344444A (zh) 主機板及應用於該主機板的資料處理方法
US20070005847A1 (en) Data transfer control device and electronic instrument
JP4442523B2 (ja) データ転送制御装置及び電子機器
TWI784165B (zh) Usb主機對主機晶片
JP5842491B2 (ja) 中継装置および通信システム
KR20160081852A (ko) 스토리지 제어 메커니즘을 구비한 전자 시스템 및 그것의 동작 방법
JP2008204335A (ja) 半導体ストレージ装置
US11537539B2 (en) Acceleration of data between a network and local I/O in a NUMA system
JP2009009250A (ja) 通信システム、通信機器及びそれらに用いるデータ転送方法
JPH02122357A (ja) 入出力制御装置
JP2007011780A (ja) データ転送制御装置及び電子機器
JP2007199839A (ja) 半導体集積回路装置