TWI757809B - 通用序列匯流排智能集線器 - Google Patents
通用序列匯流排智能集線器 Download PDFInfo
- Publication number
- TWI757809B TWI757809B TW109126084A TW109126084A TWI757809B TW I757809 B TWI757809 B TW I757809B TW 109126084 A TW109126084 A TW 109126084A TW 109126084 A TW109126084 A TW 109126084A TW I757809 B TWI757809 B TW I757809B
- Authority
- TW
- Taiwan
- Prior art keywords
- usb
- hub
- usb device
- processor
- port
- Prior art date
Links
Images
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- 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/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/38—Universal adapter
- G06F2213/3812—USB port controller
-
- 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/40—Bus coupling
- G06F2213/4004—Universal serial bus hub with a plurality of upstream ports
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集線器核心。該智慧型集線器可包含耦合於該等下游埠、該等核心下游埠與該處理器之間的複數個2:1多工器。該處理器可控制該等2:1多工器。該處理器可經組態以偵測一USB裝置何時耦合至一下游埠且運行該USB主機堆疊程式碼且列舉該USB裝置。該處理器可基於該等組態參數提供增強特徵。
Description
本發明係關於結合通用串列匯流排(USB)集線器使用之系統及方法,且更特定言之,係關於用於在一USB集線器裝置處增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換之系統及方法。
在現代電子裝置(例如,個人電腦(「PC」)、桌上型PC、蜂巢式手機、汽車資訊娛樂系統、個人遊戲系統、玩具等)中,USB集線器係普遍存在的。USB集線器係允許鍵盤、監控器、列印機、儲存裝置、相機、電話、玩具、遊戲機及眾多其他電子裝置在一單介面上工作之一「通用」介面。由於係通用的,故其自身帶來一系列挑戰,包含尤其關於鑑認、驗證、安全性及客製資料處置之挑戰。廠商已嘗試藉由客製化作業系統及/或USB堆疊/驅動器來克服此等挑戰。此等類型之客製化可係昂貴的且可導致連接至一USB介面之電子裝置之間的次佳相容性。
因此,需要一種可提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換而無需變更作業系統或USB堆疊/驅動器之改良USB集線器。
根據一實施例,提供一種USB集線器,其可包含:一集線器上游埠;複數個集線器下游埠;一處理器;及一記憶體,其通信地耦合至該處理器以用於儲存USB主機堆疊程式碼及複數個組態參數。USB集線器可進一步包含一USB集線器核心,該USB集線器核心具有一核心上游埠及複數個核心下游埠。該USB集線器核心可係可操作的以實施該核心上游埠與該複數個核心下游埠之間的一USB集線器介面。USB集線器可進一步包含複數個多工器,且各多工器可具有:一第一埠,其通信地耦合至該等集線器下游埠之一者;一第二埠,其通信地耦合至該複數個核心下游埠之一者;一第三埠,其通信地耦合至該處理器;及一選擇輸入端,其通信地耦合至該處理器且可操作以通信地耦合該第一埠與該第二埠、該第三埠或該第二埠及該第三埠兩者。該處理器可經組態以偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者。該處理器可經進一步組態以控制對應於該第一集線器下游埠之一第一多工器之該選擇輸入端使得該第一埠連接至該第三埠。另外,該處理器可經組態以運行該USB主機堆疊程式碼且列舉該USB裝置。
根據一進一步實施例,提供一種用於在一USB集線器中提供增強電池充電之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者且可列舉該USB裝置。該處理器可進一步從該USB裝置獲取一產品ID (PID)及一廠商ID (VID)並使用該PID及該VID以判定該USB裝置之一客製電池充電協定。該處理器接著可促使該USB集線器使用對應於該USB裝置之一特定電池充電協定對該USB裝置充電。
根據一進一步實施例,提供一種用於在一USB集線器中提供資料安全性之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者且可列舉該USB裝置。該處理器可進一步從該USB裝置獲取資訊(例如,裝置類別碼、描述符資訊等)並使用該裝置類別碼以判定應阻擋該USB裝置。該處理器接著可促使該USB集線器阻擋該USB裝置連接。
根據一進一步實施例,提供一種用於在一USB集線器中提供資料安全性之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者且可列舉該USB裝置。該處理器可進一步從該USB裝置獲取資訊(例如,裝置類別碼、描述符資訊等) 並使用該裝置類別碼以判定該USB集線器應在該USB裝置與一上游USB主機之間建立一USB至USB橋接器。該處理器接著可在該USB裝置與該上游USB主機之間實施該USB至USB橋接器。
根據一進一步實施例,提供一種針對在一USB集線器中之廠商裝置偏好之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者且可列舉該USB裝置。該處理器可進一步從該USB裝置獲取一產品ID (PID)及一廠商ID (VID)並使用該PID及該VID以判定該USB裝置不是一精選廠商裝置。該處理器接著可在判定該USB裝置不是一精選廠商裝置之後,促使運用一次佳組態列舉該USB裝置。
根據一進一步實施例,提供一種針對在一USB集線器中之裝置鑑認之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者且可列舉該USB裝置。該處理器可進一步從該USB裝置獲取一產品ID (PID)及一廠商ID (VID)並使用該PID及該VID以判定該USB裝置需要鑑認。該處理器接著可在判定該USB裝置需要鑑認之後,將一鑑認挑戰發出至該USB裝置。該處理器可進一步從該USB裝置獲取一鑑認挑戰回應,且可在判定該回應不正確之後,阻擋該USB裝置連接。
根據另一實施例,提供一種針對在一USB集線器中之裝置反映之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器。該處理器可判定來自該複數個集線器下游埠之一源埠。該處理器亦可判定來自該複數個集線器下游埠之一目的地埠。該處理器可進一步促使在該源埠處之資料反映在該目的地埠處。
根據各項實施例,可提供一種可提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換而無需變更作業系統或USB堆疊/驅動器之USB集線器。
現參考圖式,圖式中示意地繪示例示性實施例之細節。圖式中之相同元件將由相同元件符號表示,且類似元件將由具有一不同小寫字母下標之相同元件符號表示。
圖1繪示根據本發明之某些實施例之可提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換之一例示性USB集線器之一方塊圖。如圖1中所描繪,USB集線器100可包括一USB集線器核心102、上游埠104、控制處理器106、USB主機堆疊+迷你排程器+訊息管道108及2:1多工器/解多工器114a至114d,該等2:1多工器/解多工器114a至114d通信地耦合下游埠116a至116d與例如USB集線器核心102輸出信號110a至110d及信號112a至112d。上游埠104及下游埠116a至116d可能夠載送USB集線器100與上游埠/下游埠之間的USB相容發信。雖然圖1中所描繪之實施例包含一4埠USB集線器,但替代實施例可包含任何數目個埠(例如,2、3、10、16等)。
控制處理器106可包括可操作以解譯及/或執行程式指令及/或程序資料之任何系統、裝置或設備,且可包含但不限於一微處理器、微控制器、數位信號處理器、特定應用積體電路(ASIC)或經組態以解譯及/或執行程式指令及/或程序資料之任何其他數位或類比電路。控制處理器106可通信地耦合至USB集線器核心102以提供適於實施/控制一USB集線器之發信以及由本發明之各項實施例提供之額外特徵。控制處理器106亦可通信地耦合至(例如,實施、控制等) USB主機堆疊108 (包含迷你排程器及訊息管道)。控制處理器106亦可通信地耦合至多工器/解多工器114a至114d,例如以傳輸或接收信號112a至112d及/或將選擇的發信(未展示)提供至多工器/解多工器114a至114d。控制處理器106亦可通信地耦合至其他資源(未展示),包含記憶體(例如,揮發性、非揮發性等)、儲存媒體(例如,快閃記憶體、EEPROM、固態儲存媒體等)等。
USB集線器核心102可包括可操作以實施一USB集線器介面之任何系統、裝置或設備,且可包含但不限於一特定應用積體電路(ASIC)或經組態以實施一USB集線器介面之任何其他數位或類比電路(及必需之軟體/韌體)。在某些實施例中,USB集線器核心可支援USB活動式(OTG)發信。在相同或額外實施例中,USB集線器核心102可係由Microchip Technology, Inc. (Microchip)提供之支援Microchip之FlexConnect特徵之一集線器控制器。該FlexConnect特徵可允許該集線器動態地變更充當上游埠及下游埠之實體埠。此等特徵可允許連接至充當一USB主機及一USB裝置兩者之多個產品而無需兩個專用連接器。
USB主機堆疊108可包括可操作以實施一USB主機控制器之任何軟體、硬體或軟體/硬體之組合。在某些實施例中,USB主機堆疊108可係完全USB相容的,從而支援由任何USB規範定義之所有有效異動。在替代實施例中,USB主機堆疊108可例如藉由以下步驟而僅實施USB規範之某些態樣:(i)僅支援某些周邊裝置及/或某些類別之裝置;(ii)僅支援支援裝置所需之某些傳送類型;(iii)具有不嚴格之功率需求;(iv)其他。在一項實施例中,USB主機堆疊108可係由Microchip提供以結合Microchip控制器使用之免版稅嵌入式主機堆疊。
在操作中,USB集線器100可提供增強USB特徵,諸如電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換。根據本發明之某些實施例,控制處理器106可執行通常可操作以與USB集線器核心102互動且實施USB主機堆疊+迷你排程器+訊息管道108之軟體及/或韌體。在某些實施例中,控制處理器106可執行通常可操作以儲存及擷取資訊之軟體及/或韌體,該資訊包含但不限於類似於圖2至圖3中所繪示之資訊(資料庫表及/或組態資訊。
圖2繪示根據本發明之某些實施例之用於在一USB集線器中提供增強電池充電、廠商匹配及裝置鑑認之一例示性資料庫200之一表。資料庫200可以諸多不同格式實施,包含但不限於以文字檔案、二進位檔案、一關係資料庫之形式等。資料庫200之各列可含有關於由USB集線器100支援之一USB裝置之一條目且可儲存由USB集線器100在涉及該受支援裝置之異動中使用之資訊。在某些例示性實施例中,資料庫200可儲存廠商ID (「VID」)(行A)、產品ID (「PID」)(行B)、增強充電指示符(行C)、充電類型(行D)、充電規範(行E)、精選廠商指示符(行F)、需要鑑認之指示符(行G)、鑑認規範(行H)及FlexConnect指示符(行I)。根據USB規範,各USB組件(裝置、主機、集線器等)可被指派一VID及一PID,例如以允許該組件之容易識別。資料庫200之VID行及PID行可對應於此等預指派的VID/PID值。以此方式,USB集線器100可提供可連接至USB集線器100之不同USB組件所特有的增強電池充電、廠商匹配及裝置鑑認。
在操作中,當一USB組件連接至USB集線器100時,控制處理器106可從該裝置獲取VID/PID資訊。在一項實施例中,USB集線器100可利用USB主機堆疊+迷你排程器+訊息管道108且充當一USB主機以列舉該裝置且獲取裝置描述符(其包含VID/PID資訊)。在一替代實施例中,控制處理器可藉由以下步驟從該裝置獲取VID/PID資訊:在連接至上游埠104之主機經由USB集線器核心102 (標準USB協定)列舉新附接的裝置時「偵聽」列舉程序。在先前實施例中,控制處理器106可對多工器/解多工器114a至114d進行組態使得USB集線器核心102不辨識裝置附接事件。在列舉該裝置之後,USB集線器100可在上游埠104處管理新附接的裝置與USB主機之間的連接使得由該上游埠適當地列舉該裝置。USB集線器100可以熟悉USB協定之技術人員已知之任何數目種方式完成此動作。例如,USB集線器100可強制在該裝置所附接之下游埠上進行一斷接事件且此後允許由該上游主機進行列舉。在一替代實施例中,USB集線器100可重設該裝置且此後允許由該上游主機進行列舉。在一替代實施例中,USB集線器100可仿真該上游主機之一新附接事件且將該裝置之描述符轉遞至上游埠104上之USB主機且接著在適當時間恢復正常集線器發信(即,停止仿真)。在此等實施例中,控制處理器106控制多工器/解多工器114a至114d使得發信適當地路由至(1) USB集線器核心或(2)運行USB主機堆疊之控制處理器。在某些實施例中,當多工器/解多工器114a至114d將下游埠信號路由至控制處理器時,連接至USB集線器核心之信號110a至110d可經組態以反映無附接裝置。因此,藉由變更多工器/解多工器114a至114d上之選擇的輸入(即,導致路由至USB集線器核心),USB集線器核心可判定已發生一裝置附接事件。
無論其中USB集線器100獲取VID/PID資訊之方式為何,在如此做之後,USB集線器100接著可搜尋資料庫200以得到一匹配VID/PID。若在資料庫200中發現該VID/PID,則控制處理器106可判定連接的USB組件係由USB集線器100支援,並取決於儲存於資料庫200中且對應於該USB組件之其他參數而提供某些增強特徵。例如,若為一匹配VID/PID啟用(例如,列2)增強充電指示符(行C),則USB集線器100可在該USB埠上提供增強電池充電。在此情況下,資料庫200中之充電類型(行D)條目及充電規範(行E)條目可提供關於其中應對該USB組件充電之方式之額外資訊。(在圖4之論述中提供關於增強充電之更多細節。)作為另一實例,若為一匹配VID/PID啟用(例如,列4)精選廠商指示符(行F),則USB集線器100可提供增強廠商匹配特徵。(在圖3及圖6之論述中提供關於增強廠商匹配特徵之更多細節。)在又一實例中,若為一匹配VID/PID啟用(例如,列6)需要鑑認之指示符(行G),則USB集線器100可需要在完全連接該USB組件之前進行鑑認。在此情況下,資料庫200中之鑑認規範(行H)條目可提供關於其中應鑑認該USB組件之方式之額外細節。(在圖7之論述中提供關於鑑認特徵之更多細節。)在又一實例中,若為一匹配VID/PID啟用(例如,列1) FlexConnect指示符(行I),則USB集線器100可對該裝置提供用來起始角色切換並充當一USB主機之選項。(在圖9之論述中提供關於角色切換特徵之更多細節。)
儲存於資料庫200中之值可係硬編碼的、可組態的或兩者之某組合。在某些實施例中,USB集線器100之製造商可期望在出售USB集線器100之前對資料庫200之值進行硬編碼使得該資料庫無法被修改。例如,資料庫200可儲存於記憶體之一唯讀區段中或係寫保護的。在其他實施例中,製造商可提供資料庫200之預設值,但可允許由使用者進行後期修改。例如,USB集線器100之一使用者可能夠藉由以下步驟修改資料庫200:將該集線器插入至一USB主機中並使用該USB主機上之軟體以更新該資料庫(例如,藉由從網際網路下載新廠商/產品資訊,手動編輯表等)。在某些實施例中,資料庫200之修改可以一不安全方式執行使得USB集線器100之任何使用者可修改該資料庫。在其他實施例中,資料庫200之修改僅可由具有正確憑證(例如,密碼等)之使用者執行。
圖3繪示根據本發明之某些實施例之用於提供資料儲存安全性、廠商匹配、資料捕捉/除錯及角色切換之例示性組態選項表300。在一些實施例中,組態選項表300可儲存於軟體中,包含但不限於文字檔案、二進位檔案、一關係資料庫等。在其他實施例中,組態選項表300可硬接線於硬體中(例如,繫低(停用)、繫高(啟用)、連接至控制處理器106上之一GPIO引腳等)。組態選項表300中之第一行可對應於可用於本發明之一例示性實施例中之組態選項。在其他實施例中,取決於由特定USB集線器100支援之特徵,可存在更多或更少行。組態選項表300中之第二行可對應於如由USB集線器100之廠商或使用者判定之組態值。
儲存於組態選項表300中之值可係硬編碼的、可組態的或兩者之某組合。在某些實施例中,USB集線器100之製造商可期望在出售USB集線器100之前對組態選項表300之值進行硬編碼使得組態選項無法被修改(即,係不可組態的)。例如,組態選項表300之值可儲存於記憶體之一唯讀區段中。在其他實施例中,製造商可提供組態選項表300之預設值,但可允許由使用者進行後期修改。例如,USB集線器100之一使用者可能夠藉由以下步驟修改組態表300中之值:將該集線器插入至一USB主機中並使用該USB主機上之軟體以設定該等值。在某些實施例中,此修改可以一不安全方式執行使得USB集線器100之任何使用者可修改該等值。在其他實施例中,組態表300中之值之修改僅可由具有正確憑證(例如,密碼等)之使用者執行。
在圖3中所描繪之實施例中,組態選項表300含有以下組態選項:「資料安全性?」選項用來判定是否啟用資料安全性特徵。「資料安全性等級2?」選項用來判定是否啟用資料安全性等級2特徵。「資料安全性規範」條目提供關於USB集線器100應實施資料安全性特徵所用之方式之額外資訊。(在圖5之論述中提供關於資料安全性特徵之更多細節。)「精選廠商」選項用來判定是否啟用精選廠商特徵。「精選廠商規範」條目提供關於USB集線器100應實施精選廠商特徵所用之方式之額外資訊。(在圖3及圖6之論述中提供關於增強廠商匹配特徵之更多細節。)「自動回應?」選項用來判定是否啟用自動回應特徵。「自動回應規範」條目提供關於USB集線器100應實施自動回應特徵所用之方式之額外資訊。「資料反映?」選項用來判定是否啟用資料反映特徵。「資料反映規範」條目提供關於USB集線器100應實施資料反映特徵所用之方式之額外資訊。(在圖8之論述中提供關於自動回應特徵及資料反映特徵之更多細節。)「Flexconnect切換?」選項用來判定是否啟用Flexconnect切換特徵。(在圖9之論述中提供關於Flexconnect切換特徵之更多細節。)
電池充電
USB連接器用於對所有類型之電子裝置充電,包含但不限於智慧型手機、桌上型電腦、遊戲機、玩具及類似物。USB規範定義用於透過一USB連接對USB裝置充電之一協定。然而,諸多USB裝置不遵循此協定,且相反地實施廠商或產品特定充電協定,諸如一客製的電交握或一客製的基於USB訊息之交握。此可在使用標準USB充電協定以對此等裝置充電時(即,由一通用USB集線器使用之方法)導致次佳充電速率。藉由儲存廠商及/或產品特定充電資訊,USB集線器100可對連接至USB集線器100之任何裝置實施最佳充電協定。
圖4繪示根據本發明之某些實施例之用於在一USB集線器中提供增強電池充電之一例示性方法400之一流程圖。根據一項實施例,方法400較佳開始於步驟402處。如上所述,本發明之教示可以USB集線器100之各種組態實施。如此,方法400之較佳起始化點及步驟402至418 (包括方法400)之次序可取決於所選擇的實施方案。
在步驟402處,USB集線器100可起始化。例如,可使USB集線器100通電(經由電源或至USB主機之連接),且USB集線器核心102可起始化。在步驟404處,USB集線器100可持續檢驗以判定一下游裝置是否已附接至例如下游埠116a至116d之一者。若尚未附接下游裝置,則USB集線器100可返回至步驟404且以此方式繼續操作直至偵測到一下游裝置為止。在偵測到一下游裝置連接時,在步驟406處USB集線器100可連接至該偵測到之裝置,且在步驟408處可列舉該裝置。在列舉期間,USB集線器100可讀取該新附接的裝置之VID及PID。
在步驟410處,USB集線器100可判定該新附接的裝置是否實施一非標準充電協定。例如,可將VID/PID提供至控制處理器106,且控制處理器106可詢問資料庫200以判定其是否含有匹配該新附接的裝置之VID/PID之一條目(列)且判定任何匹配條目是否指示該裝置遵循一廠商或產品特定充電協定(即,啟用行C「充電?」)。若資料庫200中不存在VID/PID匹配,則方法400可從步驟410前進至步驟412且可嘗試使用標準USB充電協定對該新附接的裝置充電。類似地,若資料庫200中存在VID/PID匹配但未啟用該匹配列之「充電?」行,則方法400可從步驟410前進至步驟412且可嘗試使用標準USB充電協定對該新附接的裝置充電。若資料庫200中存在VID/PID匹配且啟用該匹配列之「充電?」行,則方法400可前進至步驟414。
在步驟414處,USB集線器100可判定該匹配資料庫條目是否指示一客製的電交握充電協定。在圖2中所描繪之實例中,「充電類型」行中之零(0)可指示一客製的電交握充電協定(例如,列2),而「充電類型」行中之一(1)可指示一客製的基於訊息之交握充電協定(例如,列3)。根據此實施例,若在步驟414處USB集線器100判定「充電類型」被設定為零(0)(其指示一客製的電交握),則方法400可前進至步驟418。若在步驟414處USB集線器100判定「充電類型」被設定為一(1)(其指示一客製的基於訊息之交握),則方法400可前進至步驟416。
在步驟416處,USB集線器100可使用一客製的基於訊息之交握協定對該新附接的裝置充電。在某些實施例中,此協定之細節可作為一「基於訊息之交握規範」(例如,列3)保存於資料庫200中之「充電規範」行中。該基於訊息之交握規範可包括描述由USB組件實施之客製的基於訊息之交握協定之一指令、描述符或多個指令/描述符。所需指令/描述符之數目可係實施方案相依的且可基於由USB集線器100支援之裝置之數目而變化。控制處理器106可係可操作的以對任何受支援裝置之基於訊息之交握規範解碼並使用該資訊以控制下游埠上之協定。以此方式,USB集線器100可實施最佳廠商或產品特定的基於訊息之交握充電協定。
在步驟418處,USB集線器100可使用一客製的電交握協定(例如藉由設定下游埠之一特定電阻、電壓或電流)對該新附接的裝置充電。在某些實施例中,此協定之細節可作為一「電發信規範」(例如,列3)保存於資料庫200中之「充電規範」行中。該電發信規範可包括描述由USB組件實施之客製的電交握協定之一指令、描述符或多個指令/描述符。所需指令/描述符之數目可係實施方案相依的且可基於由USB集線器100支援之裝置之數目而變化。控制處理器106可係可操作的以對任何受支援裝置之電發信規範解碼並可使用該資訊以控制下游埠上之協定。以此方式,USB集線器100可實施最佳廠商或產品特定的電交握充電協定。
資料安全性
在安全設施中,安全資料之失竊係一主要關注的問題。用來連接一鍵盤、滑鼠或列印機之USB埠亦可用來連接一儲存裝置,其中可在一極短時間內下載大量資料。為禁止未經授權資料存取,USB集線器100之某些實施例可實施資料安全性特徵。例如,USB集線器100可判定一裝置是例如一鍵盤、滑鼠或儲存裝置。USB集線器100可在列舉期間藉由查看該裝置之類別而獲取此資訊。USB集線器100接著可選擇性地阻擋一儲存裝置使得資料不可傳送至該儲存裝置。在某些實施例中,USB集線器100可藉由暫停連接程序而阻擋儲存裝置使得不完全列舉該裝置。在其他實施例中,USB集線器100可藉由強制進行一拆卸事件而阻擋儲存裝置。在又其他實施例中,USB集線器100可藉由強制連接以一極低速度通信而阻擋儲存裝置。雖然此後一特徵不可完全阻擋連接,但其可藉由不允許在短時間週期內下載大量資料而提供資料安全性。USB集線器100可在一儲存裝置嘗試連接時實施此等不同阻擋方案。在相同或不同實施例中,可阻擋所有列印機類別裝置。在相同或又其他實施例中,可阻擋具有批量輸出(BULK OUT)端點(即,傳出資料)之所有裝置。因此,USB集線器100可藉由阻擋來自潛在危險的裝置類型之連接而提供資料安全性。相反地,USB集線器100可允許一鍵盤或滑鼠裝置正常地列舉及操作。
在其他實施例中,USB集線器100可藉由充當一USB至USB橋接器而提供資料安全性。例如,在一裝置嘗試連接至USB集線器100之下游埠116a至116d之一者時,USB集線器100可判定嘗試連接之裝置之類型。在此實施例中,USB集線器100可阻擋除鍵盤及滑鼠以外之所有裝置。在一鍵盤或滑鼠嘗試連接至下游埠116a至116b之一者時,USB集線器100可將該埠分別列舉為一仿真鍵盤或一仿真滑鼠。在此案例中,控制處理器106可實施仿真一USB鍵盤或USB滑鼠之軟體,且USB集線器100接著可管理上游主機埠與鍵盤/滑鼠裝置之間的訊務,而該主機或該裝置不知道該USB至USB橋接器。例如,控制處理器106可控制多工器/解多工器114a至114d以促使從該裝置發送至該主機之資料被引導至控制處理器106而非USB集線器核心102。類似地,控制處理器106將能夠經由上游埠104接收來自該主機之傳輸。藉由仿真該滑鼠/鍵盤裝置,控制處理器106可僅允許安全資料訊務。因此,資料訊務可係單向的且雙向訊務可被該橋接器終止。根據某些實施例,可由該USB至USB橋接器阻擋可需要特殊驅動器之新產生裝置之特殊模式或功能。
圖5繪示根據本發明之某些實施例之用於在一USB集線器中提供增強資料儲存安全性之一例示性方法500之一流程圖。根據一項實施例,方法500較佳開始於步驟502處。如上所述,本發明之教示可以USB集線器100之各種組態實施。如此,方法500之較佳起始化點及步驟502至526 (包括方法500)之次序可取決於選擇的實施方案。
在步驟502處,USB集線器100可起始化。例如,可使USB集線器100通電(經由電源或至USB主機之連接),且USB集線器核心102可起始化。在步驟504處,USB集線器100可持續檢驗以判定一下游裝置是否已附接至例如下游埠116a至116d之一者。若尚未附接下游裝置,則USB集線器100可返回至步驟504且以此方式繼續操作直至偵測到一下游裝置為止。在偵測到一下游裝置連接時,在步驟506處USB集線器100可連接至該偵測到之裝置,且在步驟508處可列舉該裝置。在列舉期間,USB集線器100可讀取該新附接的裝置之VID、PID及裝置類別。
在步驟510處,USB集線器100可例如藉由檢驗組態表300中之「資料安全性?」值而判定是否啟用資料安全性特徵。若不啟用「資料安全性?」值,則方法500可前進至步驟512且根據標準USB協定列舉該裝置。若啟用「資料安全性?」值,則方法500可前進至步驟514且例如藉由檢驗組態表300中之「資料安全性等級2」值而判定是否啟用資料安全性等級2特徵(即,USB至USB橋接器特徵)。若不啟用,則方法500可前進至步驟516且可判定嘗試附接至USB集線器100之裝置是否為應由資料安全性特徵阻擋之一類別或類型。在一項實施例中,USB集線器100可使用組態表300中之「資料安全性規範」值(DS_Specification)以判定在啟用資料安全性特徵時應阻擋哪些類別或類型之裝置。例如但不限於,DS_Specification可含有應被阻擋之裝置之裝置類別(例如,大容量儲存設備、列印機等)或類型(例如,具有批量輸出端點之裝置等)之一清單。
方法500可使用DS_Specification中之此資訊以在步驟516處判定是否應阻擋嘗試連接至USB集線器100之裝置。若嘗試連接至USB集線器100之裝置不屬於DS_Specification中所列之該等裝置,則方法可前進至步驟512且根據標準USB協定列舉該裝置。否則,方法可前進至步驟518且判定資料安全性特徵是否實施上文所述之「低速」阻擋特徵。在某些實施例中,在DS_Specification組態值中提供此組態選項(連同應被阻擋之裝置類別/類型)。在替代實施例中,組態表300可含有一單獨「低速阻擋?」組態選項。若在步驟518處USB集線器100判定啟用低速阻擋特徵,則方法500可前進至步驟522,其中該裝置可列舉且可被組態為一低速裝置。若在步驟518處USB集線器100判定不啟用低速阻擋特徵,則方法500前進至步驟520,其中可阻擋裝置連接。
返回至步驟514,若USB集線器100判定啟用等級2安全性特徵,則方法500可前進至步驟524且可判定嘗試附接至USB集線器100之裝置是否為應由等級2安全性特徵阻擋之一類別或類型。方法500可在步驟524中以類似於關於步驟516所論述之一方式作出該判定。若USB集線器100判定應阻擋嘗試附接之裝置,則方法500可前進至步驟512,其中可阻擋裝置連接。否則,方法500可前進至步驟526,其中USB集線器100可建立一USB至USB橋接器(如上文所論述)。
廠商匹配
USB集線器100可提供偏愛由一或多個廠商製造之裝置之一廠商匹配特徵。例如,由一較佳廠商製造之一裝置可被賦予最高頻寬連接或最多可用功率。相比之下,由一非較佳廠商製造之一裝置可被賦予一較低頻寬連接或一較低功率連接。以此方式,由較佳廠商提供之裝置可表現為具有優越效能。
圖6繪示根據本發明之某些實施例之用於在一USB集線器中提供增強廠商匹配之一例示性方法600之一流程圖。根據一項實施例,方法600較佳開始於步驟602處。如上所述,本發明之教示可以USB集線器100之各種組態實施。如此,方法600之較佳起始化點及步驟602至616 (包括方法600)之次序可取決於所選擇的實施方案。
在步驟602處,USB集線器100可起始化。例如,可使USB集線器100通電(經由電源或至USB主機之連接),且USB集線器核心102可起始化。在步驟604處,USB集線器100可持續檢驗以判定一下游裝置是否已附接至例如下游埠116a至116d之一者。若尚未附接下游裝置,則USB集線器100可返回至步驟604且以此方式繼續操作直至偵測到一下游裝置為止。在偵測到一下游裝置連接時,在步驟606處USB集線器100可連接至該偵測到之裝置,且在步驟608處可列舉該裝置。在列舉期間,USB集線器100可讀取該新附接的裝置之VID及PID。
在步驟610處,USB集線器100可例如藉由檢驗組態表300中之「精選廠商?」值而判定是否啟用精選廠商特徵。若不啟用「精選廠商?」值,則方法600可前進至步驟612且根據標準USB協定列舉該裝置。若啟用「精選廠商?」值,則方法600可前進至步驟614且判定嘗試連接之裝置是否由一精選廠商提供。根據一項實施例,USB集線器100可使用組態表300中之「精選廠商規範」值(VoC_Specification)以判定哪個(哪些)廠商係較佳廠商。例如但不限於,VoC_Specification可含有對應於較佳廠商之一或多個廠商ID (VID)之一清單。在此實施例中,USB集線器100可簡單地判定嘗試連接之裝置之VID是否匹配VoC_Specification清單中之一VID。在替代實施例中,USB集線器100可藉由搜尋資料庫200以得到一匹配VID/PID組合而判定嘗試連接之裝置是否由一較佳廠商提供,且若發現一匹配,則判定啟用資料庫200之匹配列中之「精選廠商?」行。若在步驟614處USB集線器100判定該裝置係由一較佳廠商提供,則方法600可前進至步驟612且根據標準(或增強-例如,更大功率等) USB協定列舉該裝置。若在步驟614處USB集線器100判定該裝置並非由一較佳廠商提供,則方法600可前進至步驟616且可運用一次佳功率及/或速度組態列舉該裝置。在一項實施例中,組態表300中之VoC_Specification提供應指派給由非較佳廠商提供之裝置之設定(例如,是否運用次佳功率、速度或兩者對該裝置進行組態)。
裝置鑑認
USB集線器100可提供防止一裝置在無正確憑證之情況下附接至上游USB主機之一裝置鑑認特徵。在一項實施例中,在一裝置嘗試附接至USB集線器100時,USB集線器100可利用USB主機堆疊+迷你排程器+訊息管道108且可列舉該裝置,從而USB集線器100作為一USB主機連接至該裝置。在此實施例中,USB集線器100可起始包括一鑑認挑戰之異動。若該裝置不回應於該鑑認挑戰或不正確地作出回應,則USB集線器100可阻擋連接。在一些實施例中,USB集線器100可經組態以在該裝置不正確地回應於第一挑戰之情況下發出一個以上鑑認挑戰。
圖7繪示根據本發明之某些實施例之用於在一USB集線器中提供增強裝置鑑認之一例示性方法700之一流程圖。根據一項實施例,方法700較佳開始於步驟702處。如上所述,本發明之教示可以USB集線器100之各種組態實施。如此,方法700之較佳起始化點及步驟702至718 (包括方法700)之次序可取決於所選擇的實施方案。
在步驟702處,USB集線器100可起始化。例如,可使USB集線器100通電(經由電源或至USB主機之連接),且USB集線器核心102可起始化。在步驟704處,USB集線器100可持續檢驗以判定一下游裝置是否已附接至例如下游埠116a至116d之一者。若尚未附接下游裝置,則USB集線器100可返回至步驟704且以此方式繼續操作直至偵測到一下游裝置為止。在偵測到一下游裝置連接時,在步驟706處USB集線器100可連接至該偵測到之裝置,且在步驟708處可列舉該裝置。在一項實施例中,USB集線器100可利用USB主機堆疊+迷你排程器+訊息管道108以列舉該裝置使得USB集線器100作為一USB主機連接至該裝置。在列舉期間,USB集線器100可讀取該新附接的裝置之VID及PID。
在步驟710處,USB集線器100可判定該新附接的裝置是否需要鑑認。例如,可將VID/PID提供至控制處理器106,且控制處理器106可詢問資料庫200以判定其是否含有匹配該新附接的裝置之VID/PID之一條目(列)且判定任何匹配條目是否指示該裝置需要鑑認(即,啟用行G「需要鑑認?(Auth Req’d?)」)。若資料庫200中不存在VID/PID匹配,則方法700可從步驟710前進至步驟712且可允許該裝置以上文關於其中USB集線器100已作為一USB主機連接至該裝置之實例所論述之任何方式連接至上游USB埠104。若在步驟710處USB集線器100判定資料庫200中存在一VID/PID匹配,則方法700可從步驟710前進至步驟714。
在步驟714處,USB集線器100可將一鑑認挑戰發出至該裝置。該鑑認挑戰可採取熟習此項技術者已知之任何數目種形式且通常可在資料庫200中對應於新附接的裝置VID/PID之鑑認規範(行H)中作定義。例如,該鑑認規範可指示該裝置應運用一特定pin號碼或密碼回應於該鑑認挑戰。在其他實施例中(即,USB集線器100連接至網際網路),該鑑認規範可提供更複雜之鑑認方法,包含但不限於遠端鑑認等。
在步驟716處,USB集線器100可判定該裝置是否已正確地回應於該鑑認挑戰。若該裝置提供一正確回應,則方法700可從步驟716前進至步驟712且可允許該裝置以上文關於其中USB集線器100已作為一USB主機連接至該裝置之實例所論述之任何方式連接至上游USB埠104。若該裝置提供一不正確回應,則USB集線器100可嘗試藉由返回到步驟714 (虛線720)而重新發出該挑戰,前提是該鑑認規範允許重試。否則,方法700可前進至步驟718且該裝置不被允許在上游埠104處連接至USB主機。
資料捕捉/除錯
USB集線器100可提供資料捕捉及/或除錯特徵。例如,USB集線器100可經程式化以依一特定方式回應於某些USB訊務。替代地或另外,USB集線器100可經程式化以將來自一個下游埠之訊務反映至另一下游埠。
根據一項實施例,USB集線器100可提供對某些類型之USB訊務之一自動回應。USB集線器100可例如藉由檢驗組態表300中之「自動回應?」值而判定是否啟用自動回應特徵。在一項實施例中,USB集線器100可使用組態表300中之「自動回應規範」值(AR_Specification)以判定哪些異動需要一自動回應及應作出什麼回應。例如但不限於,AR_Specification可含有下游埠、應針對某些類型之訊務進行監控之裝置之裝置類別(例如,大容量儲存設備、列印機等)或類型(例如,具有批量輸入(BULK IN)端點之裝置等)之一清單。類似地,AR_Specification可含有應接收一自動回應之訊務(例如,批量輸入封包、控制讀取等)之類型之一清單。此外,AR_Specification可提供USB集線器100應在遭遇指定的訊務時提供之回應。作為一非限制性實例,AR_Specification可指定下游埠116c上之一批量輸入異動之資料階段應接收一NAK交握。在此實例中,USB集線器100可監控下游埠116c,且接著係藉由該裝置對批量輸入資料之一傳送,USB主機100可促使多工器/解多工器114c將一NAK交握而非將以其他方式從上游主機傳輸(經由連接至USB集線器核心102之多工器/解多工器114c,經由信號110c)之回應從控制處理器106傳遞至下游埠116c。藉由控制多工器/解多工器114a至114d,USB控制處理器106可在任一方向上(即,上游或下游)提供自動回應。
根據相同或替代實施例,USB集線器100可將資料反映從一個下游埠提供至另一下游埠(根據USB規範,將源於上游埠104處之所有訊務播送至所有下游裝置)。USB集線器100可例如藉由檢驗組態表300中之「資料反映?」值而判定是否啟用資料反映特徵。在一項實施例中,USB集線器100可使用組態表300中之「資料反映規範」值(DR_Specification)以判定哪些異動需要資料反映。例如但不限於,DR_Specification可包含下游埠、其資料應被反映之裝置之裝置類別(例如,大容量儲存設備、列印機等)或類型(例如,具有批量輸入端點之裝置等)之一清單。此外,DR_Specification可指定該資料應被反映至其上之目的地埠。
圖8繪示根據本發明之某些實施例之使用資料反映特徵之USB集線器800中之一例示性資料反映之一方塊圖。在此實例中,DR_Specification可指定應將來自下游埠D之信號810反映為下游埠A上之信號812。藉由控制多工器/解多工器814a及814d,USB控制處理器106可將資料反映從信號810提供至信號812 (虛線)。同時,經由連接816將下游埠D上之發信810傳遞通過至USB集線器核心802 (且隨後傳遞至上游埠818)。根據此實施例,下游埠A可連接至能夠監控該經反映資料之一裝置,例如以用於除錯或其他目的。
在一替代實施例中,可經由USB集線器800上之實體輸入端控制資料反映。在此一實施例中,控制處理器可包括連接至實體切換器之通用I/O引腳。類似於DR_Specification,此等實體切換器可指定以下項之一或多者:(1)是否啟用資料反映;及(2)資料反映特徵之源埠及目的地埠。例如,本發明之一4埠集線器實施例(諸如圖8中所展示)可提供一實體「DR接通/關斷」按鈕、一4位置「DR源」切換器及一4位置「DR目的地」切換器。USB集線器800之使用者可將該「DR源」切換器設定至下游埠D且將該「DR目的地」切換器設定至下游埠A且可藉由將該「DR接通/關斷」切換器轉至接通(On)位置而啟用資料反映。運用此等設定,USB集線器800將如參考圖8所述般表現為:將來自下游埠D之資料反映至下游埠A。本發明之某些實施例可組合實體切換器之使用連同DR_Specification以提供資料反映特徵之各種位準之實體控制對軟體控制。
角色切換
FlexConnect係Microchip USB集線器所特有的一特徵。此特徵允許該集線器動態地變更充當上游埠及下游埠之實體埠。此允許一系統設計者開發充當一USB主機及一USB裝置之一產品而無需兩個專用連接器。此亦允許在一個埠上具有此能力之一系統擴展透過一FlexConnect集線器連接至該埠之裝置。在其全文以引用方式併入本文中之Microchip Application Note AN1700中進一步描述Microchip之 FlexConnect特徵。當前,該FlexConnect特徵需要該裝置及該主機兩者係FlexConnect察覺的。
USB集線器100可實施允許連接至USB集線器100之一FlexConnect裝置切換角色並充當USB主機之一角色切換特徵,其中連接至USB集線器100之上游埠104之USB主機不是FlexConnect察覺的或其中上游USB主機係不存在的。
圖9繪示根據本發明之某些實施例之用於在一USB集線器中提供增強角色切換之一例示性方法900之一流程圖。根據一項實施例,方法900較佳開始於步驟902處。如上所述,本發明之教示可以USB集線器100之各種組態實施。如此,方法900之較佳起始化點及步驟902至918 (包括方法900)之次序可取決於所選擇的實施方案。
在步驟902處,USB集線器100可起始化。例如,可使USB集線器100通電(經由電源或至USB主機之連接),且USB集線器核心102可起始化。在步驟904處,USB集線器100可持續檢驗以判定一下游裝置是否已附接至例如下游埠116a至116d之一者。若尚未附接下游裝置,則USB集線器100可返回至步驟904且以此方式繼續操作直至偵測到一下游裝置為止。在偵測到一下游裝置連接時,在步驟906處USB集線器100可連接至該偵測到之裝置,且在步驟908處可列舉該裝置。USB集線器100可利用USB主機堆疊+迷你排程器+訊息管道108以列舉該裝置使得USB集線器100作為一USB主機連接至該裝置。在列舉期間,USB集線器100可讀取該新附接的裝置之VID及PID。
在步驟910處,USB集線器100可判定該新附接的裝置是否係FlexConnect察覺的。例如,可將VID/PID提供至控制處理器106,且控制處理器106可詢問資料庫200以判定其是否含有匹配該新附接的裝置之VID/PID之一條目(列)且判定任何匹配條目是否指示該裝置係FlexConnect察覺的(即,啟用行I「Flex Connect?」)。若資料庫200中不存在VID/PID匹配,則方法900可從步驟910前進至步驟912且可允許該裝置以上文關於其中USB集線器100已作為一USB主機連接至該裝置之實例所論述之任何方式連接至上游USB埠104。若在步驟910處USB集線器100判定資料庫200中存在一VID/PID匹配且該匹配指示一FlexConnect察覺裝置,則方法900可從步驟910前進至步驟914。
在步驟914處,USB集線器100可判定該FlexConnect察覺裝置希望變為USB主機。例如,USB集線器100可起始一控制讀取異動且判定角色切換應基於由該裝置提供之回應而執行。在某些實施例中,該裝置可經組態以總是促使角色切換。在其他實施例中,該裝置可包含一使用者介面使得該裝置之使用者可請求該裝置變為USB主機。例如,該裝置可係連接至USB集線器100之一智慧型手機,其中一汽車資訊娛樂系統之頭端單元作為USB主機連接至USB集線器100之上游埠104。該智慧型手機可對該使用者呈現一切換器使得該使用者可選擇從該智慧型手機控制該資訊娛樂系統。若在步驟914處方法900判定無需角色切換,則方法900可從步驟910前進至步驟912且可允許該裝置以上文關於其中USB集線器100已作為一USB主機連接至該裝置之實例所論述之任何方式連接至上游USB埠104。
若在步驟914處方法900判定需要角色切換,則方法900可前進至步驟916。在步驟916處,USB集線器100可促使當前USB主機(若存在)切換至裝置模式。例如,USB集線器100可使用USB OTG主機協商協定或會話請求協定以起始方向變更。替代地,USB集線器100可將一封包發送至USB主機,該封包指示該主機應切換角色。在步驟918處,USB集線器可促使新附接的裝置切換至主機模式。例如,USB集線器100可使用USB OTG主機協商協定或工作階段請求協定或Microchip FlexConnect協定以起始方向變更。替代地,USB集線器100可將指示角色切換之一封包發送至該裝置。在步驟918處,USB集線器100亦可通知該裝置其可汲取多少功率用於電池充電。新主機可列舉匯流排上之所有裝置使得其可控制該等裝置。在包含智慧型手機及汽車資訊娛樂系統之先前實例中,此角色切換可允許該智慧型手機控制該娛樂系統,例如藉由在汽車中播放音樂、調整音量等。在新主機(例如,智慧型手機)斷接之情況下,USB集線器100可通知舊主機(若存在)切換角色且再次充當USB主機。
儘管圖4至圖7及圖9揭示關於其中描繪之方法所採取之特定數目個步驟,但該等方法可以比所描繪之步驟更多或更少的步驟執行。另外,儘管圖4至圖7及圖9揭示關於該處描繪之方法所採取之特定次序之步驟,但該等步驟可以任何合適次序完成。
使用本文中所揭示之方法及系統,可提供一種可提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換而無需變更作業系統或USB堆疊/驅動器之USB集線器。
儘管已詳細描述本發明,但應瞭解,在不背離如由隨附申請專利範圍所定義之本發明精神及範疇之情況下可對本發明作出各種變更、替換及變動。
100:通用串列匯流排(USB)集線器100
102:USB集線器核心
104:上游USB埠/上游埠
106:控制處理器
108:USB主機堆疊+迷你排程器+訊息管道/USB主機堆疊
110a:USB集線器核心102輸出信號
110b:USB集線器核心102輸出信號
110c:USB集線器核心102輸出信號
110d:USB集線器核心102輸出信號
112a:信號
112b:信號
112c:信號
112d:信號
114a: 2:1多工器/解多工器
114b: 2:1多工器/解多工器
114c: 2:1多工器/解多工器
114d: 2:1多工器/解多工器
116a:下游埠
116b:下游埠
116c:下游埠
116d:下游埠
200:資料庫
300:組態選項表
400:方法
402:步驟
404:步驟
406:步驟
408:步驟
410:步驟
412:步驟
414:步驟
416:步驟
418:步驟
500:方法
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
514:步驟
516:步驟
518:步驟
520:步驟
522:步驟
524:步驟
526:步驟
600:方法
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
612:步驟
614:步驟
616:步驟
700:方法
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
712:步驟
714:步驟
716:步驟
718:步驟
720:步驟
800:USB集線器
802:USB集線器核心
806:控制處理器
808:USB主機堆疊+迷你排程器+信息管道
810:信號/發信
812:信號
814a:多工器/解多工器
814b:多工器/解多工器
814c:多工器/解多工器
814d:多工器/解多工器
816:連接件
818:下游埠
900:方法
902:步驟
904:步驟
906:步驟
908:步驟
910:步驟
912:步驟
914:步驟
916:步驟
918:步驟
A:下游埠
D:下游埠
藉由參考結合隨附圖式所作之下文描述,可獲得本發明之一更完全理解,其中:
圖1繪示根據本發明之某些實施例之可提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換之一例示性USB集線器之一方塊圖;
圖2繪示根據本發明之某些實施例之用於在一USB集線器中提供增強電池充電、廠商匹配及裝置鑑認之一例示性資料庫之一表;
圖3繪示根據本發明之某些實施例之用於提供增強電池充電、資料儲存安全性、廠商匹配、裝置鑑認、資料捕捉/除錯及角色切換之例示性組態選項;
圖4繪示根據本發明之某些實施例之用於在一USB集線器中提供增強電池充電之一例示性方法之一流程圖;
圖5繪示根據本發明之某些實施例之用於在一USB集線器中提供增強資料儲存安全性之一例示性方法之一流程圖;
圖6繪示根據本發明之某些實施例之用於在一USB集線器中提供增強廠商匹配之一例示性方法之一流程圖;
圖7繪示根據本發明之某些實施例之用於在一USB集線器中提供增強裝置鑑認之一例示性方法之一流程圖;
圖8繪示根據本發明之某些實施例之可提供資料捕捉/除錯之一例示性USB集線器之一方塊圖;
圖9繪示根據本發明之某些實施例之用於在一USB集線器中提供增強角色切換之一例示性方法之一流程圖;
雖然本發明可具有各種修改及替代形式,但在圖式中展示且在本文中詳細描述本發明之特定例示性實施例。然而,應瞭解,本文中對特定例示性實施例之描述並非旨在將本發明限於本文中所揭示之特定形式,而是相反,本發明將涵蓋如由隨附申請專利範圍所定義之所有修改及等效物。
100:通用串列匯流排(USB)集線器100
102:USB集線器核心
104:上游USB埠/上游埠
106:控制處理=
108:USB主機堆疊+迷你排程器+訊息管道/USB主機堆疊
110a:USB集線器核心102輸出信號
110b:USB集線器核心102輸出信號
110c:USB集線器核心102輸出信號
110d:USB集線器核心102輸出信號
112a:信號
112b:信號
112c:信號
112d:信號
114a:2:1多工器/解多工器
114b:2:1多工器/解多工器
114c:2:1多工器/解多工器
114d:2:1多工器/解多工器
116a:下游埠
116b:下游埠
116c:下游埠
116d:下游埠
Claims (19)
- 一種用於在一USB集線器中之廠商(vendor)裝置偏好之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼(host stack code)之一處理器,該方法包括: 該處理器偵測一USB裝置係耦合至該複數個集線器下游埠之一第一者; 該處理器列舉(enumerate)該USB裝置; 該處理器從該USB裝置獲取一產品ID (PID)及一廠商ID (VID); 該處理器使用該PID及該VID以判定該USB裝置不是來自一優選的(preferred)廠商;及 該處理器在判定該USB裝置不是來自一優選的廠商之後,使該USB裝置運用一次佳組態(sub-optimal configuration)進行列舉; 其中該次佳組態係以下之一或多者:一次佳功率組態及一次佳速度組態。
- 一種USB集線器(hub),其包括: 一集線器上游(upstream)埠; 複數個集線器下游埠; 一處理器; 一記憶體,其通信地耦合至該處理器以用於儲存USB主機堆疊程式碼及複數個組態參數; 一USB集線器核心,其具有一核心上游埠及複數個核心下游埠,該USB集線器核心可操作以實施該核心上游埠與該複數個核心下游埠之間的一USB集線器介面;及 複數個多工器(multiplexors),各多工器具有: 一第一埠,其通信地耦合至該等集線器下游埠之一者, 一第二埠,其通信地耦合至該複數個核心下游埠之一者, 一第三埠,其通信地耦合至該處理器,及 一選擇輸入端,其通信地耦合至該處理器且可操作以通信地耦合該第一埠與該第二埠、該第三埠或該第二埠及該第三埠兩者; 其中該處理器經組態以: 偵測一USB裝置何時耦合至該複數個集線器下游埠之一第一者; 控制對應於該第一集線器下游埠之一第一多工器之該選擇輸入端使得該第一埠連接至該第三埠, 運行(run)該USB主機堆疊程式碼,列舉(enumerate)該USB裝置; 從該USB裝置獲取一產品ID (PID)及一廠商ID (VID); 使用該PID及該VID以判定該USB裝置不是來自一優選的廠商;及 基於判定該USB裝置不是來自一優選的廠商,使該USB裝置運用一次佳組態進行列舉; 其中該次佳組態係以下之一或多者:一次佳功率組態及一次佳速度組態。
- 如請求項2之USB集線器,其中在列舉該USB裝置之後,該處理器經進一步組態以使由耦合至該集線器上游埠之一上游USB主機列舉該USB裝置。
- 一種用於操作一USB集線器之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器,該方法包括: 該處理器偵測一USB裝置係耦合至該複數個集線器下游埠之一第一者; 該處理器列舉該USB裝置; 該處理器獲取識別該USB裝置之資訊;及 基於識別該USB裝置之該資訊,該處理器判定該USB裝置應被阻擋;及 該處理器使該USB集線器阻擋該USB裝置連接。
- 如請求項4之方法,其中識別該USB裝置之該資訊係一裝置類別碼 device class code),且判定該USB裝置應被阻擋係基於該裝置類別碼。
- 如請求項4之方法,其中該資訊識別該USB裝置係一大容量儲存(mass storage)裝置,且判定該USB裝置應被阻擋係基於該USB裝置係一大容量儲存裝置之識別。
- 如請求項4之方法,其中該資訊識別該USB裝置係一列印機,且判定該USB裝置應被阻擋係基於該USB裝置係一列印機之識別。
- 如請求項4之方法,其中該資訊識別該USB裝置係一批量輸出端點(BULK OUT endpoint),且判定該USB裝置應被阻擋係基於該USB裝置係一批量輸出端點之識別。
- 如請求項4之方法,其中該USB裝置連接被阻擋係藉由組態該USB裝置為一低速裝置。
- 如請求項4之方法,其中該USB裝置連接被阻擋係藉由暫停(halting)一連接程序俾使該USB裝置不完全列舉。
- 一種USB集線器,其包括: 一集線器上游埠; 複數個集線器下游埠; 一處理器; 一記憶體,其通信地耦合至該處理器以用於儲存USB主機堆疊程式碼及複數個組態參數; 一USB集線器核心,其具有一核心上游埠及複數個核心下游埠,該USB集線器核心可操作以實施該核心上游埠與該複數個核心下游埠之間的一USB集線器介面;及 複數個多工器,各多工器具有: 一第一埠,其通信地耦合至該等集線器下游埠之一者, 一第二埠,其通信地耦合至該複數個核心下游埠之一者, 一第三埠,其通信地耦合至該處理器,及 一選擇輸入端,其通信地耦合至該處理器且可操作以通信地耦合該第一埠與該第二埠、該第三埠或該第二埠及該第三埠兩者; 其中該處理器經組態以: 偵測一USB裝置係耦合至該複數個集線器下游埠之一第一者; 列舉該USB裝置; 獲取識別該USB裝置之資訊;及 基於識別該USB裝置之該資訊,判定該USB裝置應被阻擋;及 使該USB集線器阻擋該USB裝置連接。
- 如請求項11之USB集線器,其中識別該USB裝置之該資訊係一裝置類別碼,且該USB裝置應被阻擋之判定係基於該裝置類別碼。
- 如請求項11之USB集線器,其中該資訊識別該USB裝置係一大容量儲存裝置,且該USB裝置應被阻擋之判定係基於該USB裝置係一大容量儲存裝置之識別。
- 如請求項11之USB集線器,其中該資訊識別該USB裝置係一列印機,且該USB裝置應被阻擋之判定係基於該USB裝置係一列印機之識別。
- 如請求項11之USB集線器,其中該資訊識別該USB裝置係一批量輸出端點,且該USB裝置應被阻擋之判定係基於該USB裝置係一批量輸出端點之識別。
- 如請求項11之USB集線器,其中該處理器進一步經組態以阻擋該USB裝置連接,其係藉由組態該USB裝置為一低速裝置。
- 如請求項11之USB集線器,其中該處理器進一步經組態以阻擋該USB裝置,其係藉由暫停一連接程序俾使該USB裝置不完全列舉來。
- 一種用於操作一USB集線器之方法,該USB集線器包含複數個集線器下游埠及運行USB主機堆疊程式碼之一處理器,該方法包括: 該處理器偵測一USB裝置係耦合至該複數個集線器下游埠之一第一者; 該處理器列舉該USB裝置; 該處理器從該USB裝置獲取一產品ID (PID)及一廠商ID (VID); 該處理器使用該PID及該VID以判定該USB裝置支援FlexConnect角色切換協定;及 基於判定該USB裝置支援FlexConnect,該處理器使該USB裝置切換角色,且當沒有USB主連接至該集線器上游埠時或當該USB主機連接至該集線器上游埠而不支援該FlexConnect角色切換協定時,該處理器使該USB裝置變成(become)一USB主機。
- 一種USB集線器,其包括: 一集線器上游埠; 複數個集線器下游埠; 一處理器; 一記憶體,其通信地耦合至該處理器以用於儲存USB主機堆疊程式碼及複數個組態參數; 一USB集線器核心,其具有一核心上游埠及複數個核心下游埠,該USB集線器核心可操作以實施該核心上游埠與該複數個核心下游埠之間的一USB集線器介面;及 複數個多工器,各多工器具有: 一第一埠,其通信地耦合至該等集線器下游埠之一者, 一第二埠,其通信地耦合至該複數個核心下游埠之一者, 一第三埠,其通信地耦合至該處理器,及 一選擇輸入端,其通信地耦合至該處理器且可操作以通信地耦合該第一埠與該第二埠、該第三埠或該第二埠及該第三埠兩者; 其中該處理器經組態以: 從該USB裝置獲取一產品ID (PID)及一廠商ID (VID); 使用該PID及該VID以判定該USB裝置支援FlexConnect角色切換協定;及 基於判定該USB裝置支援FlexConnect,使該USB裝置切換角色,且當沒有USB主連接至該集線器上游埠時或當該USB主機連接至該集線器上游埠而不支援該FlexConnect角色切換協定時,該處理器使該USB裝置變成(become)一USB主機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/698,428 US9804977B2 (en) | 2015-04-28 | 2015-04-28 | Universal serial bus smart hub |
US14/698,428 | 2015-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202105123A TW202105123A (zh) | 2021-02-01 |
TWI757809B true TWI757809B (zh) | 2022-03-11 |
Family
ID=55861156
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109126084A TWI757809B (zh) | 2015-04-28 | 2016-04-25 | 通用序列匯流排智能集線器 |
TW105112853A TWI701549B (zh) | 2015-04-28 | 2016-04-25 | 通用序列匯流排智能集線器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105112853A TWI701549B (zh) | 2015-04-28 | 2016-04-25 | 通用序列匯流排智能集線器 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9804977B2 (zh) |
EP (1) | EP3289469B1 (zh) |
JP (1) | JP2018514871A (zh) |
KR (1) | KR20170140267A (zh) |
CN (2) | CN107533529B (zh) |
TW (2) | TWI757809B (zh) |
WO (1) | WO2016175983A1 (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9841904B2 (en) * | 2015-03-02 | 2017-12-12 | Samsung Electronics Co., Ltd. | Scalable and configurable non-volatile memory module array |
US9804977B2 (en) | 2015-04-28 | 2017-10-31 | Microchip Technology Incorporated | Universal serial bus smart hub |
US10468893B2 (en) * | 2015-08-19 | 2019-11-05 | Delta Electronics, Inc. | USB charging method having protection function |
TWI597608B (zh) * | 2016-08-12 | 2017-09-01 | The hub-to-bus converter that supports master-slave translation operates as a hub | |
US10572644B2 (en) | 2017-01-26 | 2020-02-25 | Microsoft Technology Licensing, Llc | Interacting with a computing device via identity-bearing peripheral devices |
JP6625076B2 (ja) | 2017-01-30 | 2019-12-25 | 株式会社日立製作所 | Usb中継装置を用いたusb管理システム及びusb管理方法 |
US10725939B2 (en) | 2017-02-13 | 2020-07-28 | Microchip Technology Incorporated | Host-detecting USB hub |
US10331604B2 (en) * | 2017-05-17 | 2019-06-25 | Microchip Technology Incorporated | USB host-to-host auto-switching |
US10231273B2 (en) * | 2017-06-02 | 2019-03-12 | GM Global Technology Operations LLC | Vehicle wireless device connection management with switchover of primary connected device |
CN107453428B (zh) * | 2017-08-08 | 2019-05-17 | 天津瑞发科半导体技术有限公司 | 一种自动识别苹果和安卓设备的方法 |
TWI634428B (zh) * | 2017-10-20 | 2018-09-01 | 致伸科技股份有限公司 | 集線裝置 |
CN109709833A (zh) * | 2017-10-25 | 2019-05-03 | 致伸科技股份有限公司 | 集线装置/ hub |
US10684972B2 (en) | 2017-12-29 | 2020-06-16 | Barco Nv | Method and system for making functional devices available to participants of meetings |
CN108268398A (zh) * | 2018-02-01 | 2018-07-10 | 百度在线网络技术(北京)有限公司 | 用于操作外围设备的方法、设备和计算机可读存储介质 |
JP6808666B2 (ja) * | 2018-02-20 | 2021-01-06 | Jmacs株式会社 | 認証デバイスおよびこれを備えるデバイス管理システム |
US20210048850A1 (en) * | 2018-04-17 | 2021-02-18 | Hewlett-Packard Development Company, L.P. | Firmware setup menu options for docking stations |
JP6540980B1 (ja) * | 2018-05-29 | 2019-07-10 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、制御方法、及びプログラム |
CN109063459A (zh) * | 2018-07-17 | 2018-12-21 | 北京云智信安科技有限公司 | 一种usb设备过滤装置和方法 |
US11068613B2 (en) * | 2018-08-07 | 2021-07-20 | Dell Products L.P. | Differentiating and managing identical USB devices |
US11923084B2 (en) | 2018-09-07 | 2024-03-05 | Cilag Gmbh International | First and second communication protocol arrangement for driving primary and secondary devices through a single port |
US11696789B2 (en) | 2018-09-07 | 2023-07-11 | Cilag Gmbh International | Consolidated user interface for modular energy system |
US20200078117A1 (en) | 2018-09-07 | 2020-03-12 | Ethicon Llc | Energy module for drivig multiple energy modalities through a port |
US11804679B2 (en) | 2018-09-07 | 2023-10-31 | Cilag Gmbh International | Flexible hand-switch circuit |
US10635618B2 (en) * | 2018-09-17 | 2020-04-28 | 2236008 Ontario Inc. | Modifying a configuration of a port hub |
CN111522762B (zh) * | 2019-02-02 | 2022-03-29 | 智微科技股份有限公司 | 传输接口电路 |
US11016919B2 (en) * | 2019-02-22 | 2021-05-25 | Seagate Technology Llc | Intelligent switching peripheral connector |
US11743665B2 (en) | 2019-03-29 | 2023-08-29 | Cilag Gmbh International | Modular surgical energy system with module positional awareness sensing with time counter |
IT201900005822A1 (it) | 2019-04-15 | 2020-10-15 | Phoenix Ict S R L S | Adattore di periferiche general purpose per computer |
US11599641B2 (en) * | 2019-04-24 | 2023-03-07 | Crowdstrike, Inc. | Firmware retrieval and analysis |
USD939545S1 (en) | 2019-09-05 | 2021-12-28 | Cilag Gmbh International | Display panel or portion thereof with graphical user interface for energy module |
US11169584B2 (en) * | 2020-03-31 | 2021-11-09 | Western Digital Technologies, Inc. | Dual-connector storage system and method for simultaneously providing power and memory access to a computing device |
CN112000374B (zh) * | 2020-07-13 | 2024-01-02 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
CN113971146B (zh) * | 2020-07-22 | 2024-05-28 | 旺玖科技股份有限公司 | 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统 |
TWI749658B (zh) * | 2020-07-22 | 2021-12-11 | 旺玖科技股份有限公司 | 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統 |
KR102195564B1 (ko) * | 2020-09-25 | 2020-12-28 | 조성호 | 데이터 복사 시스템 및 그 동작 방법 |
US11768529B2 (en) * | 2021-01-12 | 2023-09-26 | Siliconch Systems Pvt Ltd | System and method for enabling power sharing in a multiport power sourcing device |
KR20220124006A (ko) * | 2021-03-02 | 2022-09-13 | 삼성전자주식회사 | 전원 공급 장치 및 전원 공급 장치의 전원 공급 제어 방법 |
US20220318179A1 (en) * | 2021-03-30 | 2022-10-06 | Cilag Gmbh International | Intelligent data ports for modular energy systems |
US11968776B2 (en) | 2021-03-30 | 2024-04-23 | Cilag Gmbh International | Method for mechanical packaging for modular energy system |
US11980411B2 (en) | 2021-03-30 | 2024-05-14 | Cilag Gmbh International | Header for modular energy system |
US11963727B2 (en) | 2021-03-30 | 2024-04-23 | Cilag Gmbh International | Method for system architecture for modular energy system |
US11978554B2 (en) | 2021-03-30 | 2024-05-07 | Cilag Gmbh International | Radio frequency identification token for wireless surgical instruments |
US20220313369A1 (en) * | 2021-03-30 | 2022-10-06 | Cilag Gmbh International | Method for intelligent instruments for modular energy system |
US11857252B2 (en) | 2021-03-30 | 2024-01-02 | Cilag Gmbh International | Bezel with light blocking features for modular energy system |
US11950860B2 (en) | 2021-03-30 | 2024-04-09 | Cilag Gmbh International | User interface mitigation techniques for modular energy systems |
CN113839274B (zh) * | 2021-08-10 | 2024-02-06 | 立讯精密工业股份有限公司 | 一种用于数码设备与vr、ar或mr设备之间的供电装置及供电方法 |
TWI802065B (zh) * | 2021-10-29 | 2023-05-11 | 飛捷科技股份有限公司 | 可控制周邊裝置電源與訊號的通信介面轉接器、動態分配通信介面轉接器識別碼的方法及自動化診斷周邊裝置並修復問題的方法 |
TWI810032B (zh) * | 2021-12-01 | 2023-07-21 | 威鋒電子股份有限公司 | Usb積體電路、usb積體電路的操作方法及usb裝置 |
WO2023128219A1 (ko) * | 2021-12-31 | 2023-07-06 | 삼성전자 주식회사 | 외부 전자 장치들과의 연결을 제어하기 위한 전자 장치 및 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317165A (zh) * | 2005-09-30 | 2008-12-03 | 赛普拉斯半导体公司 | 简化通用串行总线(usb)集线器体系结构 |
US20090248904A1 (en) * | 2008-03-25 | 2009-10-01 | Seiko Epson Corporation | USB host, control method thereof, computer program, USB hub and USB device |
TW201140322A (en) * | 2010-05-05 | 2011-11-16 | Genesys Logic Inc | USB charging system and method thereof |
TW201235857A (en) * | 2010-12-23 | 2012-09-01 | Standard Microsyst Smc | Method and system for determining an arbitrary charging protocol in USB charging ports |
CN103309835A (zh) * | 2012-03-12 | 2013-09-18 | 祥硕科技股份有限公司 | 通用串行总线装置及其供电方法 |
CN104220957A (zh) * | 2011-10-31 | 2014-12-17 | Smsc控股有限责任公司 | 通过usb使用多个信号交换的装置充电 |
US20150074312A1 (en) * | 2013-09-09 | 2015-03-12 | International Business Machines Corporation | Multi-channel universal serial bus (usb) to subrate channel systems and methods |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845329A (en) | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
US5675813A (en) | 1995-10-26 | 1997-10-07 | Microsoft Corporation | System and method for power control in a universal serial bus |
US5983327A (en) | 1995-12-01 | 1999-11-09 | Nortel Networks Corporation | Data path architecture and arbitration scheme for providing access to a shared system resource |
US5784581A (en) | 1996-05-03 | 1998-07-21 | Intel Corporation | Apparatus and method for operating a peripheral device as either a master device or a slave device |
KR100189781B1 (ko) | 1996-05-07 | 1999-06-01 | 윤종용 | 디스플레이 장치 및 그의 전원공급제어방법 |
US6119190A (en) | 1996-11-06 | 2000-09-12 | Intel Corporation | Method to reduce system bus load due to USB bandwidth reclamation |
US6308239B1 (en) | 1996-11-07 | 2001-10-23 | Hitachi, Ltd. | Interface switching apparatus and switching control method |
US6205501B1 (en) | 1998-01-07 | 2001-03-20 | National Semiconductor Corp. | Apparatus and method for handling universal serial bus control transfers |
US6408351B1 (en) | 1998-03-31 | 2002-06-18 | Compaq Computer Corporation | Host modem having a peripheral codec powered by a peripheral bus |
JP2000076038A (ja) | 1998-08-28 | 2000-03-14 | Matsushita Electric Ind Co Ltd | Usbハブ回路及びディスプレイ装置 |
GB2350212B (en) | 1999-02-09 | 2003-10-08 | Adder Tech Ltd | Data routing device and system |
US6601109B1 (en) | 1999-03-31 | 2003-07-29 | International Business Machines Corporation | USB-based networking and I/O hub |
GB9909849D0 (en) | 1999-04-28 | 1999-06-23 | Adder Tech Ltd | Usb switching device and system |
JP2000316006A (ja) | 1999-04-28 | 2000-11-14 | Nec Corp | バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム |
US6704824B1 (en) | 1999-07-27 | 2004-03-09 | Inline Connection Corporation | Universal serial bus adapter with automatic installation |
FR2799288B1 (fr) | 1999-09-23 | 2005-02-25 | Ibm | Systeme de communication sans fil utilisant un bus serie universel (usb) |
US6957287B2 (en) | 2001-11-09 | 2005-10-18 | Aten International Co., Ltd. | Asynchronous/synchronous KVMP switch for console and peripheral devices |
JP2003256351A (ja) | 2002-03-04 | 2003-09-12 | Yamaha Corp | Usbハブ |
KR20040008365A (ko) | 2002-07-18 | 2004-01-31 | 삼성전자주식회사 | 디스플레이 장치 및 방법 |
US6732218B2 (en) | 2002-07-26 | 2004-05-04 | Motorola, Inc. | Dual-role compatible USB hub device and method |
AU2003901297A0 (en) | 2003-03-20 | 2003-04-03 | Silverbrook Research Pty Ltd | Systems and apparatus (fpd001) |
EP1654819B1 (en) | 2003-08-15 | 2013-05-15 | Napatech A/S | A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network |
US7073010B2 (en) | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
US20060059293A1 (en) | 2004-09-14 | 2006-03-16 | Henry Wurzburg | Universal serial bus switching hub |
US20060227759A1 (en) | 2004-09-14 | 2006-10-12 | Bohm Mark R | Peripheral Sharing USB Hub |
US20060056401A1 (en) | 2004-09-14 | 2006-03-16 | Standard Microsystems Corporation | Peripheral sharing USB hub |
JP2006127252A (ja) | 2004-10-29 | 2006-05-18 | Fujitsu Component Ltd | 切替機、切替方法及びプログラム |
US7346728B1 (en) | 2005-04-18 | 2008-03-18 | Intel Corporation | Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system |
CN1976310B (zh) * | 2005-07-08 | 2014-04-16 | 美国博通公司 | 在网络中通过总线接口进行通信的方法 |
CN100493018C (zh) * | 2005-07-08 | 2009-05-27 | 美国博通公司 | 一种通过网络中的总线接口进行通信的方法和系统 |
DE602005005065T2 (de) * | 2005-10-13 | 2009-03-19 | Research In Motion Ltd., Waterloo | Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts |
US7246189B2 (en) | 2005-11-18 | 2007-07-17 | Vetra Systems Corporation | Method and apparatus for enhancing universal serial bus |
US7523243B2 (en) | 2006-04-14 | 2009-04-21 | Standard Microsystems Corporation | Multi-host USB device controller |
US7478191B2 (en) | 2006-04-14 | 2009-01-13 | Standard Microsystems Corporation | Method for automatically switching USB peripherals between USB hosts |
US7644217B2 (en) * | 2007-03-02 | 2010-01-05 | Microchip Technology Incorporated | Detecting connection to a USB host or hub without using an extra status input |
KR101329014B1 (ko) * | 2008-10-30 | 2013-11-12 | 삼성전자주식회사 | 휴대단말에서 스위칭 회로의 모드 제어 방법 및 장치 |
US20100262726A1 (en) | 2009-01-13 | 2010-10-14 | Tauscher Brian E | Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port |
US8055919B2 (en) | 2009-02-06 | 2011-11-08 | Standard Microsystems Corporation | Port power controller for USB hubs with legacy battery charge support |
US7882297B2 (en) * | 2009-02-20 | 2011-02-01 | Standard Microsystems Corporation | Serial bus hub with low power devices |
DE102009038760B3 (de) * | 2009-08-27 | 2011-01-05 | Wago Verwaltungsgesellschaft Mbh | Verfahren zur Datenkommunikation zwischen einem Automatisierungsgerät und einem Datenverarbeitungsgerät sowie Schnittstellentreiberprogramm und Schnittstellenumsetzer hierzu |
US8850082B2 (en) * | 2010-08-30 | 2014-09-30 | Qualcomm Incorporated | Virtual USB compound device enumeration |
US20120105201A1 (en) * | 2010-10-29 | 2012-05-03 | Cisco Technology, Inc. | Validating Sensor Data at a Property Sensor-Coordinating Entity |
CN102064582B (zh) * | 2010-12-28 | 2012-11-21 | 鸿富锦精密工业(深圳)有限公司 | 可对外供电的终端 |
US9958507B2 (en) * | 2011-05-09 | 2018-05-01 | Analog Devices, Inc. | Channel verification of multiple channels on one chip |
IN2014CN02713A (zh) * | 2011-10-08 | 2015-07-03 | Qualcomm Inc | |
EP2602721B1 (en) * | 2011-12-07 | 2017-07-12 | VIA Technologies, Inc. | USB charging module |
EP2602722B1 (en) * | 2011-12-07 | 2020-04-08 | VIA Technologies, Inc. | USB charging module |
WO2013147789A1 (en) * | 2012-03-29 | 2013-10-03 | Intel Corporation | Buffer-related usb communication |
US9026712B2 (en) * | 2012-06-25 | 2015-05-05 | Intel Corporation | USB device control using endpoint type detection during enumeration |
JP2014115687A (ja) * | 2012-12-06 | 2014-06-26 | Canon Inc | データ処理装置、データ処理装置の制御方法、及びプログラム |
US9081705B2 (en) * | 2013-06-11 | 2015-07-14 | Apple Inc. | Methods and apparatus for reliable detection and enumeration of devices |
US9460037B2 (en) | 2013-09-26 | 2016-10-04 | Delphi Technologies, Inc. | Flexible mobile device connectivity to automotive systems with USB hubs |
US9804977B2 (en) | 2015-04-28 | 2017-10-31 | Microchip Technology Incorporated | Universal serial bus smart hub |
-
2015
- 2015-04-28 US US14/698,428 patent/US9804977B2/en active Active
-
2016
- 2016-04-03 WO PCT/US2016/025798 patent/WO2016175983A1/en active Application Filing
- 2016-04-03 CN CN201680024554.2A patent/CN107533529B/zh active Active
- 2016-04-03 JP JP2017555496A patent/JP2018514871A/ja active Pending
- 2016-04-03 KR KR1020177032674A patent/KR20170140267A/ko unknown
- 2016-04-03 EP EP16719590.8A patent/EP3289469B1/en active Active
- 2016-04-03 CN CN202110942412.7A patent/CN113609050A/zh active Pending
- 2016-04-25 TW TW109126084A patent/TWI757809B/zh active
- 2016-04-25 TW TW105112853A patent/TWI701549B/zh active
-
2017
- 2017-10-31 US US15/799,883 patent/US10282313B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317165A (zh) * | 2005-09-30 | 2008-12-03 | 赛普拉斯半导体公司 | 简化通用串行总线(usb)集线器体系结构 |
US20090248904A1 (en) * | 2008-03-25 | 2009-10-01 | Seiko Epson Corporation | USB host, control method thereof, computer program, USB hub and USB device |
TW201140322A (en) * | 2010-05-05 | 2011-11-16 | Genesys Logic Inc | USB charging system and method thereof |
TW201235857A (en) * | 2010-12-23 | 2012-09-01 | Standard Microsyst Smc | Method and system for determining an arbitrary charging protocol in USB charging ports |
CN104220957A (zh) * | 2011-10-31 | 2014-12-17 | Smsc控股有限责任公司 | 通过usb使用多个信号交换的装置充电 |
CN103309835A (zh) * | 2012-03-12 | 2013-09-18 | 祥硕科技股份有限公司 | 通用串行总线装置及其供电方法 |
US20150074312A1 (en) * | 2013-09-09 | 2015-03-12 | International Business Machines Corporation | Multi-channel universal serial bus (usb) to subrate channel systems and methods |
Also Published As
Publication number | Publication date |
---|---|
KR20170140267A (ko) | 2017-12-20 |
TW201706772A (zh) | 2017-02-16 |
TWI701549B (zh) | 2020-08-11 |
JP2018514871A (ja) | 2018-06-07 |
US10282313B2 (en) | 2019-05-07 |
US9804977B2 (en) | 2017-10-31 |
CN113609050A (zh) | 2021-11-05 |
CN107533529B (zh) | 2021-09-03 |
WO2016175983A1 (en) | 2016-11-03 |
EP3289469A1 (en) | 2018-03-07 |
US20180067875A1 (en) | 2018-03-08 |
US20160321195A1 (en) | 2016-11-03 |
EP3289469B1 (en) | 2021-11-10 |
TW202105123A (zh) | 2021-02-01 |
CN107533529A (zh) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI757809B (zh) | 通用序列匯流排智能集線器 | |
US20180011718A1 (en) | Re-enumeration of usb 3.0 compatible devices | |
US9201827B2 (en) | Device dependent selection between modes for asymmetric serial protocols | |
US8171502B2 (en) | Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer | |
US20080126628A1 (en) | Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer | |
US9747237B2 (en) | Methods and apparatus for reliable detection and enumeration of devices | |
US9032107B2 (en) | USB key and a method for communication between the USB key and a terminal | |
TWI358665B (zh) | ||
WO2011130975A1 (zh) | 一种linux系统数据卡设备端口识别的方法及装置 | |
WO2015013428A1 (en) | Using usb signaling on a usb host to trigger a usb device to enter a mode of operation | |
WO2013189388A2 (zh) | 一种接入usb网卡的方法、usb网卡及pc | |
WO2005116845A1 (ja) | Usb機器 | |
EP3413205A1 (en) | Re-enumeration of usb 3.0 compatible devices | |
KR101592591B1 (ko) | Usb 호스트 및 usb 디바이스 간의 전환이 가능한 멀티미디어 시스템 |