TWI810032B - Usb積體電路、usb積體電路的操作方法及usb裝置 - Google Patents
Usb積體電路、usb積體電路的操作方法及usb裝置 Download PDFInfo
- Publication number
- TWI810032B TWI810032B TW111131560A TW111131560A TWI810032B TW I810032 B TWI810032 B TW I810032B TW 111131560 A TW111131560 A TW 111131560A TW 111131560 A TW111131560 A TW 111131560A TW I810032 B TWI810032 B TW I810032B
- Authority
- TW
- Taiwan
- Prior art keywords
- usb
- adapter configuration
- connection manager
- usb host
- control circuit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000006399 behavior Effects 0.000 claims description 29
- 230000005641 tunneling Effects 0.000 claims description 12
- 238000011017 operating method Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
Abstract
一種USB積體電路、USB積體電路的操作方法及USB裝置。USB積體電路配置在USB裝置中,包括邊帶使用介面電路及控制電路。邊帶使用介面電路耦接至USB裝置的USB連接器的邊帶使用接腳。控制電路耦接至邊帶使用介面電路,通過邊帶使用介面電路向USB主機提報第一配接器組態以使USB主機列舉USB裝置。控制電路在USB裝置被列舉後觀察USB主機對USB裝置的行為,控制電路依據行為決定第一配接器組態是否適用於USB主機的連接管理器。當第一配接器組態不適用於連接管理器時控制電路改以第二配接器組態提報給USB主機以使USB主機重新列舉USB裝置。
Description
本發明是有關於一種電子電路,且特別是有關於一種通用串列匯流排(Universal Serial Bus,USB)積體電路、USB積體電路的操作方法及USB裝置。
一般而言,通用串列匯流排4(Universal Serial Bus Generation 4,USB4)中的連接管理器(Connection Manager,CM)負責列舉(enumerate)、配置及管理工作,其職責包括:USB4的初始化、路徑設置及拆除、已配置隧道之間的頻寬管理、電源狀態管理等。顯然,連接管理器對於USB4裝置及集線器的正常運作至關重要。
不幸的是,內建在USB4主機中的連接管理器具有多種版本,因此連接管理器的工作行為在不同的操作系統或韌體版本之間不一定正確或者一致,此可能會導致可交互運作性(interoperability)問題。
具體地,英特爾(Intel)USB4主機的連接管理器是基於韌體的連接管理器(在韌體中所實施),並且已開發了很長一段時間。早期,Intel USB4主機的連接管理器(NVM FW版本V34)僅支持Intel其USB4裝置,而不支持其他供應商通用的USB4裝置。然而,此款Intel USB4主機的連接管理器(NVM FW版本V34)已經上市許久,且並非所有電腦供應商都提供新的NVM FW版本V41韌體更新工具。
據此,如何設計出可與任意版本的連接管理器具有相容性的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積體電路適於配置在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主機提報相對應的配接器組態,因而可與任意版本的連接管理器具有相容性。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。本案說明書全文(包括申請專利範圍)中提及的「第一」、「第二」等用語是用以命名元件(element)的名稱,或區別不同實施例或範圍,而並非用來限制元件數量的上限或下限,亦非用來限制元件的次序。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
本發明的優點在於可交互運作性。具體來說,Intel早期基於韌體(firmware-based)的連接管理器(NVM FW版本V34)未符合USB4規格,因此無法與USB4裝置(USB4積體電路)一起使用。原因是這些未符合USB4規格的連接管理器(NVM FW版本V34)需要快速週邊組件互連(Peripheral Component Interconnect Express,PCIe)配接器。因此,若USB4積體電路提報具有偽PCIe配接器(fake PCIe adapter)的配接器組態至USB4主機,那麼這些未符合USB4規格的連接管理器(NVM FW版本V34)將可以正常運作。然而,若USB4積體電路提報具有偽PCIe配接器的配接器組態至具有符合USB4規格的連接管理器的USB4主機,則在從「自動暫停(automatic suspend)」喚醒的期間可能導致交互運作性問題。下述諸實施例所揭露的USB積體電路、USB積體電路的操作方法及USB裝置,其可以透過觀察USB主機對USB裝置的行為來判斷連接管理器的版本(是否符合USB4規格)以向USB主機提報相對應的配接器組態。因此,USB裝置可與任意版本的連接管理器具有相容性而不會導致交互運作性問題。
圖1為依照本發明一實施例所繪示的USB傳輸系統的電路方塊示意圖。請參照圖1,USB傳輸系統1包括USB裝置10及USB主機20。USB裝置10具有USB連接器100且包括USB積體電路120。USB主機20具有USB連接器200且包括連接管理器220。依照應用需求,USB主機20可以是個人電腦、筆記型電腦或是具有USB Type-C連接器(又可稱為USB-C連接器)的其他電子裝置。
在本實施例中,USB連接器100可以經由電纜線連接(或是直接連接)至USB主機20的USB連接器200。USB連接器100(或是USB連接器200)可以是USB-C連接器。USB連接器100的通道接腳102(或是USB連接器200的通道接腳202)可以包括USB規格所規範的TX1+接腳、TX1-接腳、RX1+接腳、RX1-接腳、TX2+接腳、TX2-接腳、RX2+接腳以及(或是)RX2-接腳。USB連接器100的邊帶使用(Side Band Use,SBU)接腳104(或是USB連接器200的SBU接腳204)可以包括USB規格所規範的SBU1接腳以及(或是)SBU2接腳。
在一實施例中,USB連接器100的配置通道(Configuration Channel,CC)接腳(或是USB連接器200的CC接腳)(圖1中未繪示)可以包括USB規格所規範的CC1接腳以及(或是)CC2接腳。USB裝置10還包括電力傳輸(Power Delivery, PD)控制器(圖1中未繪示),USB連接器100的CC接腳耦接至PD控制器。當USB主機20連接至USB連接器100時,PD控制器可以經由CC接腳向USB主機20交換配置資訊。因此,依據CC接腳的配置資訊,PD控制器可以獲知連接至USB連接器100的USB主機20是支持USB4規格的電子裝置還是支持USB規格(例如USB 3.2規格)的顯示埠替代模式(ALT模式)的電子裝置。PD(電力傳輸)控制與CC接腳的相關操作被規範於USB規格,故在此不予贅述。
在USB4規格中,USB連接器100的通道接腳102與USB連接器200的通道接腳202所建立的雙線資料通道在USB裝置10與USB主機20之間傳輸USB4資料封包。通道接腳102、通道接腳202與USB4資料封包被規範於USB4規格,因此在此不予贅述。
此外,在USB4規格中,USB連接器100的SBU接腳104與USB連接器200的SBU接腳204所建立的雙線邊帶(Side Band,SB)通道在USB裝置10與USB主機20之間傳輸符合USB4規格的SB訊號。USB連接器200的SBU接腳204耦接至連接管理器220藉由在USB裝置10與USB主機20之間傳輸的SB訊號,USB積體電路120可以判斷:USB裝置10與USB主機20是否建立連接、通道的起始與關閉、通道的初始化,以及進入或離開睡眠模式。此外,USB積體電路120也可以通過SBU接腳104取得有關USB主機20的基本訊息(例如供應商識別碼(vender ID,VID)或產品識別碼(product ID,PID))。SBU接腳104、SBU接腳204與SB訊號被規範於USB4規格,因此在此不予贅述。
在本實施例中,USB積體電路120包括SBU介面電路122及控制電路124。SBU介面電路122耦接至USB連接器100的SBU接腳104。SBU介面電路122可以透過USB連接器100的SBU接腳104來傳輸符合USB4規格的SB訊號。
控制電路124耦接至SBU介面電路122。控制電路124例如是中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)或其他類似裝置或這些裝置的組合。在本實施例中,控制電路124可從儲存裝置(圖1中未繪示)載入韌體碼,以執行本發明實施例的USB積體電路的操作方法,此操作方法將於圖2進一步詳細說明。
在一實施例中,USB積體電路120包括通道配接器(Lane Adapter,例如圖1所示126a、126b、126c、126d)及USB傳輸層(transport layer)電路128。USB傳輸層電路128耦接在USB連接器100的通道接腳102與通道配接器126a、126b、126c、126d之間,並且耦接至控制電路124。USB傳輸層電路128可以是符合USB4規格的傳輸層電路,而通道配接器126a、126b、126c與126d可以是符合USB4規格的通道配接器。
值得注意的是,這些通道配接器(例如圖1所示126a、126b、126c、126d)的配接器組態可以依照實際設計來設定。舉例來說(不限於此),這些通道配接器126a、126b、126c、126d中的一者可以是USB4通道配接器、USB3配接器、顯示埠(DisplayPort,DP)輸出(DP OUT)配接器或是其他配接器。需說明的是,為簡化說明,圖1所示USB積體電路120中的通道配接器僅繪示四個通道配接器126a、126b、126c、126d作為範例,然本領域具通常知識者可依據實際應用情境適當調整通道配接器的數量,本實施例並不予以限制。在一些實施例中,USB積體電路120還包括符合USB4規格的其他配接器及其相關的電路,在此不另論述。
基於連接管理器220的列舉(enumeration)與通道結成(lane bonding),USB傳輸層電路128能夠將來自邏輯層電路(圖1中未繪示)的資料封包選擇性地分配給通道配接器126a、126b、126c與126d中的對應配接器。舉例來說,當目前USB4資料封包帶有USB3資料時,USB傳輸層電路128可以將此目前USB4資料封包傳輸至USB3配接器。USB3配接器能夠將此目前USB4資料封包還原為USB3資料封包,並且將USB3資料封包傳輸給USB3介面電路(圖1中未繪示)。當目前USB4資料封包帶有DP資料封包時,USB傳輸層電路128可以將此目前USB4資料封包傳輸至DP輸出配接器。DP輸出配接器能夠將此目前USB4資料封包還原為DP資料封包,並且將DP資料封包傳輸給DP介面電路(圖1中未繪示)。
在一實施例中,USB主機20包括通道配接器226a、226b、226c、226d及USB傳輸層電路228。USB傳輸層電路228耦接在USB連接器200的通道接腳202與通道配接器226a、226b、226c、226d之間,並且耦接至連接管理器220。USB主機20中的USB傳輸層電路228可以是符合USB4規格的傳輸層電路,故不再贅述。通道配接器226a、226b、226c、226d與USB傳輸層電路228之間的操作可以參照上述關於通道配接器126a、126b、126c、126d及USB傳輸層電路128的相關說明並且加以類推,故不再贅述。需特別說明的是,為簡化說明,本實施例的圖1 USB主機20中的通道配接器僅繪示四個通道配接器226a、226b、226c、226d作為範例,然本領域具通常知識者可依據實際應用情境適當調整通道配接器的數量,本實施例並不予以限制。在一些實施例中,USB主機20包括符合USB4規格的USB4通道配接器、USB3配接器、DP輸出(DP OUT)配接器或是其他配接器及其相關的電路。
在一實施例中,USB傳輸系統1更包括記憶體(圖1中未繪示),記憶體例如是隨機存取記憶體(Random Access Memory;RAM)、快閃記憶體(Flash Memory)、可規化唯讀記憶體(Programmable Read-Only Memory;PROM)、電可改寫唯讀記憶體(Electrically Alterable Read Only Memory;EAROM)、可擦可規化唯讀記憶體(Erasable Programmable Read Only Memory;EPROM)及/或電可擦可規化唯讀記憶體(Electrically Erasable Programmable Read Only Memory;EEPROM)等。在本實施例中,記憶體耦接至控制電路124,且用於儲存連接管理器220的有效資訊。在一實施例中,連接管理器220的有效資訊包括連接管理器220的版本或適用於連接管理器220的配接器組態。
圖2為依照本發明一實施例所繪示的USB積體電路的操作方法的流程示意圖。圖2所示操作方法2適用於圖1所示USB裝置10中的USB積體電路120。以下將參照圖1實施例的各項元件來詳細說明圖2所示操作方法2。
請參照圖1與圖2。首先,在步驟S202中,控制電路124通過SBU介面電路122向USB主機20提報第一配接器組態,以使USB主機20依據第一配接器組態列舉USB裝置10。在步驟S204中,在USB裝置10被列舉後,控制電路124觀察USB主機20對USB裝置10的行為。接著,在步驟S206中,控制電路124依據USB主機20的行為決定提報給USB主機20的所述第一配接器組態是否適用於USB主機20的連接管理器220。
當第一配接器組態適用於連接管理器220時(步驟S206的判斷結果為「是」),控制電路124可以進行步驟S208。在步驟S208中,控制電路124判斷USB裝置10與USB主機20的連接管理器220具有相容性而不需有進一步的操作。當第一配接器組態不適用於連接管理器220時(步驟S206的判斷結果為「否」),控制電路124可以進行步驟S210。在步驟S210中,控制電路124改以第二配接器組態提報給USB主機20,以使USB主機20依據第二配接器組態重新列舉USB裝置10。
在一實施例中,第一配接器組態為配接器組態AC1,第二配接器組態為配接器組態AC2。在另一實施例中,第一配接器組態為配接器組態AC2,第二配接器組態為配接器組態AC1。其中,所述配接器組態AC1忠實表示USB積體電路120的多個配接器(例如圖1所示126a、126b、126c與126d),而所述配接器組態AC2包括一個(或多個)偽通道配接器。偽通道配接器(例如偽PCIe配接器等)是在USB積體電路120中實際上沒有的通道配接器。配接器組態AC2可以依照實際應用來決定其內容。舉例來說,配接器組態AC1例如包括2個USB4通道配接器、1個USB3上行(USB3 upstream)配接器及1個DP輸出配接器,而配接器組態AC2例如包括8個USB4通道配接器、1個不支援(Un-Supported)配接器、1個PCIe上行(PCIe upstream)配接器、3個PCIe下行(PCIe downstream)配接器、1個USB3上行配接器、3個USB3下行(USB3 downstream)配接器及2個DP輸出配接器。
圖3A至圖3C為依照本發明另一實施例所繪示的USB積體電路的操作方法的流程示意圖。圖3A至圖3C所示操作方法3適用於圖1所示USB裝置10中的USB積體電路120。以下將參照圖1實施例的各項元件來詳細說明圖3A至圖3C所示操作方法3。
請參照圖1與圖3A至圖3C。首先,在步驟S302中,USB積體電路120執行上電操作。在步驟S304中,在USB積體電路120上電後,控制電路124判斷記憶體(圖1中未繪示)中是否儲存連接管理器220的有效資訊。在一實施例中,連接管理器220的有效資訊包括連接管理器220的版本或適用於連接管理器220的配接器組態,但本發明並不以此為限。
若控制電路124判斷記憶體中儲存連接管理器220的有效資訊(步驟S304的判斷結果為「是」),則控制電路124可以進行步驟S306。在步驟S306中,控制電路124依據有效資訊來配置初始配接器組態,並且向USB主機20提報初始配接器組態以使USB主機20列舉USB裝置10。具體來說,所述初始配接器組態可以是配接器組態AC1(忠實表示USB積體電路120的多個配接器的配接器組態),也可以是配接器組態AC2(包括一個或多個偽通道配接器的配接器組態)。控制電路124依據連接管理器220的版本或適用於連接管理器220的配接器組態通過SBU介面電路122向USB主機20提報相對應的初始配接器組態以使USB主機20列舉USB裝置10。
若控制電路124判斷記憶體中未儲存連接管理器220的有效資訊時(步驟S304的判斷結果為「否」),則控制電路124可以進行步驟S308。在步驟S308中,控制電路124以預設配接器組態作為目前使用的配接器組態(第一配接器組態),並且向USB主機20提報預設配接器組態以使USB主機20列舉USB裝置10。在一實施例中,所述預設配接器組態可以是配接器組態AC1(忠實表示USB積體電路120的多個配接器的配接器組態)。在另一實施例中,所述預設配接器組態可以是配接器組態AC2(包括一個或多個偽通道配接器的配接器組態)。詳細來說,控制電路124通過SBU介面電路122向USB主機20提報預設配接器組態(配接器組態AC1或配接器組態AC2)以使USB主機20列舉USB裝置10。
在步驟S310中,控制電路124通過SBU介面電路122發出讀取命令至USB主機20以取得USB主機20的VID和/或PID。接著,控制電路124依據USB主機20的VID和/或PID來決定是否續用預設配接器組態作為目前使用的配接器組態。具體地,在步驟S312中,控制電路124依據USB主機20的VID和/或PID來判斷USB主機20是否為某一廠商的USB連接管理器。在圖3A所示應用情境例中,所述某一廠商的連接管理器存在版本相容性問題。
若控制電路124判斷USB主機20的連接管理器220非為所述某一廠商的USB連接管理器(步驟S312的判斷結果為「否」),則控制電路124可以進行步驟S314。在步驟S314中,控制電路124判斷USB裝置10與USB主機20的連接管理器220具有相容性(步驟S308所提報的所述預設配接器組態適用於連接管理器220)而不需有進一步的操作。
若控制電路124判斷USB主機20的連接管理器220為所述某一廠商的USB連接管理器(步驟S312的判斷結果為「是」),則控制電路124可以進行步驟S316。在步驟S316中,控制電路124判斷步驟S308所提報的所述預設配接器組態為配接器組態AC1(忠實表示USB積體電路120的多個配接器的配接器組態)還是配接器組態AC2(包括一個或多個偽通道配接器的配接器組態)。
若控制電路124判斷步驟S308所提報的所述預設配接器組態為配接器組態AC1(步驟S316的判斷結果為「配接器組態AC1」),則控制電路124可以進行圖3B所示步驟S318a。在步驟S318a中,控制電路124在USB裝置10被列舉後,觀察USB主機20對USB裝置10的行為。接著,在步驟S320a中,控制電路124依據USB主機20的行為判斷/決定配接器組態AC1是否適用於USB主機20的連接管理器220。具體來說,在一實施例中,控制電路124在以配接器組態AC1作為目前使用的配接器組態的情況下,當控制電路124所觀察到USB主機20的行為表示「在USB主機20與USB裝置10之間未建立USB3穿隧路徑(tunneling path)」時,控制電路124決定/判斷配接器組態AC1不適用於連接管理器220(步驟S320a的判斷結果為「否」)。反之,控制電路124決定/判斷配接器組態AC1適用於連接管理器220。
當配接器組態AC1適用於連接管理器220時(步驟S320a的判斷結果為「是」),則控制電路124可以進行步驟S322a。在步驟S322a中,控制電路124判斷USB裝置10與USB主機20的連接管理器220具有相容性而不需有進一步的操作。
當配接器組態AC1不適用於連接管理器220時(步驟S320a的判斷結果為「否」),則控制電路124可以進行步驟S324a。在步驟S324a中,控制電路124改以配接器組態AC2(第二配接器組態)作為目前使用的配接器組態。亦即,控制電路124改以配接器組態AC2提報給USB主機20以使USB主機20重新列舉USB裝置10。在一實施例中,藉由重新建立USB連接器100的SBU接腳104與USB連接器200的SBU接腳204之間的SB通道,控制電路124可以使USB主機20重新列舉USB裝置10,此使得連接管理器220成功地在USB主機20與USB裝置10之間建立USB3穿隧路徑。
在步驟S326a中,在USB主機20重新列舉USB裝置10後,連接管理器220在USB主機20與USB裝置10之間建立具有第一標識碼的USB3穿隧路徑,以及控制電路124將連接管理器220所對應的有效資訊儲存至記憶體(未繪示)中。特別地,所述第一標識碼為傳輸在USB3穿隧路徑上的封包所記錄的HopID值,且在本實施例中,HopID值為0X10。在一實施例中,所述有效資訊包括連接管理器220的版本(例如NVM FW版本V34)或適用於連接管理器220的配接器組態AC2。在另一實施例中,有效資訊還包括所述第一標識碼,本實施例並不以此為限。
回到圖3A所示步驟S316,若控制電路124判斷步驟S308所提報的所述預設配接器組態為配接器組態AC2(步驟S316的判斷結果為「配接器組態AC2」),則控制電路124可以進行圖3C所示步驟S318b。在步驟S318b中,控制電路124在USB裝置10被列舉後,觀察USB主機20對USB裝置10的行為。接著,在步驟S320b中,控制電路124依據USB主機20的行為判斷/決定配接器組態AC2是否適用於USB主機20的連接管理器220。具體來說,若控制電路124在以配接器組態AC2作為目前使用的配接器組態的情況下,當控制電路124觀察到USB主機20的行為表示「在USB主機20與USB裝置10之間建立具有第二標識碼的USB3穿隧路徑」時,控制電路124決定配接器組態AC2不適用於連接管理器220(步驟S320b的判斷結果為「否」)。反之,控制電路124決定/判斷配接器組態AC2適用於連接管理器220。在一實施例中,所述第二標識碼為傳輸在USB3穿隧路徑上的封包所記錄的HopID值(在本實施例中,HopID值為0X08)。
當配接器組態AC2適用於連接管理器220時(步驟S320b的判斷結果為「是」),則控制電路124可以進行步驟S322b。在步驟S322b中,控制電路124判斷USB裝置10與USB主機20的連接管理器220具有相容性而不需有進一步的操作。
當配接器組態AC2不適用於連接管理器220時(步驟S320b的判斷結果為「否」),則控制電路124可以進行步驟S324b。在步驟S324b中,控制電路124改以配接器組態AC1(第二配接器組態)作為目前使用的配接器組態。亦即,控制電路124改以以配接器組態AC1提報給USB主機20以使USB主機20重新列舉USB裝置10。在一實施例中,藉由重新建立USB連接器100的SBU接腳104與USB連接器200的SBU接腳204之間的SB通道,控制電路124可以使USB主機20重新列舉USB裝置10,此使得USB4裝置從睡眠模式恢復後,連接管理器220不會在USB3穿隧路徑中發出異常的重置(reset)。
在步驟S326b中,在USB主機20重新列舉USB裝置10後,控制電路124將連接管理器220所對應的有效資訊儲存至記憶體(未繪示)中。在一實施例中,所述有效資訊包括連接管理器220的版本(例如NVM FW版本V41)或適用於連接管理器220的配接器組態AC1。在另一實施例中,有效資訊還包括所述第二標識碼,本實施例並不以此為限。
值得注意的是,在本發明實施例的方法中步驟的特定順序及/或層次僅是示例性途徑。基於設計偏好,所公開的方法或過程的步驟的特定順序或層次可在保持在本發明實施例的範圍內的同時被重新佈置。因此,所屬領域中的一般技術人員將理解,本發明實施例的方法及技術以樣本順序呈現各種步驟或動作,且本發明實施例不限於所呈現的特定順序或層次,除非另有明確說明。
依照不同的設計需求,上述SBU介面電路122以及(或是)控制電路124的方塊的實現方式可以是硬體(hardware)、韌體(firmware)、軟體(software,即程式)或是前述三者中的多者的組合形式。
以硬體形式而言,上述SBU介面電路122以及(或是)控制電路124的方塊可以實現於積體電路(integrated circuit)上的邏輯電路。上述SBU介面電路122以及(或是)控制電路124的相關功能可以利用硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為硬體。舉例來說,上述SBU介面電路122以及(或是)控制電路124的相關功能可以被實現於一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路。
以軟體形式及/或韌體形式而言,上述SBU介面電路122以及(或是)控制電路124的相關功能可以被實現為編程碼(programming codes)。例如,利用一般的編程語言(programming languages,例如C、C++或組合語言)或其他合適的編程語言來實現上述SBU介面電路122以及(或是)控制電路124。所述編程碼可以被記錄/存放在記錄媒體中,所述記錄媒體中例如包括唯讀記憶體(Read Only Memory,ROM)、存儲裝置及/或隨機存取記憶體(Random Access Memory,RAM)。電腦、中央處理器(Central Processing Unit,CPU)、控制器、微控制器或微處理器可以從所述記錄媒體中讀取並執行所述編程碼,從而達成相關功能。作為所述記錄媒體,可使用「非臨時的電腦可讀取媒體(non-transitory computer readable medium)」,例如可使用帶(tape)、碟(disk)、卡(card)、半導體記憶體、可程式設計的邏輯電路等。而且,所述程式也可經由任意傳輸媒體(通信網路或廣播電波等)而提供給所述電腦(或CPU)。所述通信網路例如是互聯網(Internet)、有線通信(wired communication)、無線通信(wireless communication)或其它通信介質。
綜上所述,上述諸實施例所提供的USB積體電路、USB積體電路的操作方法及USB裝置,能夠向USB主機提報預設配接器組態,然後在USB主機列舉USB裝置後觀察USB主機對USB裝置的行為來判斷連接管理器的版本以及預設配接器組態是否適用於USB主機的連接管理器。在預設配接器組態不適用於連接管理器時,USB積體電路可以改向USB主機提報另一配接器組態以使USB主機重新列舉USB裝置。如此一來,USB裝置可依據連接管理器的版本向USB主機提報相對應的配接器組態,因而可與任意版本的連接管理器具有相容性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
1: USB傳輸系統
2、3: 操作方法
10: USB裝置
20: USB主機
100、200: USB連接器
102、202: 通道接腳
104、204: 邊帶使用(SBU)接腳
120: USB積體電路
122: SBU介面電路
124: 控制電路
126a、126b、126c、126d、226a、226b、226c、226d: 通道配接器
128、228: USB傳輸層電路
220: 連接管理器
AC1、AC2: 配接器組態
S202、S204、S206、S208、S210、S302、S304、S306、S308、S310、S312、S314、S316、S318a、S318b、S320a、S320b、S322a、S322b、S324a、S324b、S326a、S326b:步驟
圖1為依照本發明一實施例所繪示的USB傳輸系統的電路方塊(circuit block)示意圖。
圖2為依照本發明一實施例所繪示的USB積體電路的操作方法的流程示意圖。
圖3A至圖3C為依照本發明另一實施例所繪示的USB積體電路的操作方法的流程示意圖。
1: USB傳輸系統
10: USB裝置
20: USB主機
100、200: USB連接器
102、202: 通道接腳
104、204: 邊帶使用(SBU)接腳
120: USB積體電路
122: SBU介面電路
124: 控制電路
126a、126b、126c、126d、226a、226b、226c、226d: 通道配接器
128、228: USB傳輸層電路
220: 連接管理器
Claims (20)
- 一種USB積體電路,適於配置在一USB裝置中,包括: 一邊帶使用介面電路,適於耦接至該USB裝置的一USB連接器的一邊帶使用接腳;以及 一控制電路,適於耦接至該邊帶使用介面電路,用以通過該邊帶使用介面電路向一USB主機提報一第一配接器組態以使該USB主機列舉該USB裝置,其中該控制電路在該USB裝置被列舉後觀察該USB主機對該USB裝置的一行為,該控制電路依據該行為決定該第一配接器組態是否適用於該USB主機的一連接管理器,以及當該第一配接器組態不適用於該連接管理器時該控制電路改以一第二配接器組態提報給該USB主機以使該USB主機重新列舉該USB裝置。
- 如請求項1所述的USB積體電路,其中當該行為表示在該USB主機與該USB裝置之間未建立一USB3穿隧路徑時,該控制電路決定該第一配接器組態不適用於該連接管理器,其中該第一配接器組態忠實表示該USB積體電路的多個配接器以及該第二配接器組態包括多個偽通道配接器。
- 如請求項2所述的USB積體電路,其中在該USB主機重新列舉該USB裝置後,該連接管理器在該USB主機與該USB裝置之間建立具有一第一標識碼的一USB3穿隧路徑,以及該控制電路將該連接管理器的一有效資訊儲存至一記憶體中,其中該有效資訊包括該連接管理器的版本或適用於該連接管理器的一配接器組態。
- 如請求項1所述的USB積體電路,其中當該行為表示在該USB主機與該USB裝置之間建立具有一第二標識碼的一USB3穿隧路徑時,該控制電路決定該第一配接器組態不適用於該連接管理器,其中該第一配接器組態包括多個偽通道配接器以及該第二配接器組態忠實表示該USB積體電路的多個配接器。
- 如請求項4所述的USB積體電路,其中在該USB主機重新列舉該USB裝置後,該控制電路將該連接管理器的一有效資訊儲存至一記憶體中,其中該有效資訊包括該連接管理器的版本或適用於該連接管理器的一配接器組態。
- 如請求項1所述的USB積體電路,其中在該USB積體電路上電後,該控制電路判斷一記憶體中是否儲存該連接管理器的一有效資訊, 當該控制電路判斷該記憶體中儲存該連接管理器的該有效資訊時,該控制電路依據該有效資訊來配置一初始配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 如請求項6所述的USB積體電路,其中該有效資訊包括該連接管理器的版本或適用於該連接管理器的一配接器組態。
- 如請求項6所述的USB積體電路,其中當該控制電路判斷該記憶體中未儲存該連接管理器的該有效資訊時,該控制電路以一預設配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 如請求項8所述的USB積體電路,其中該預設配接器組態忠實表示該USB積體電路的多個配接器。
- 如請求項1所述的USB積體電路,其中該控制電路通過該邊帶使用介面電路發出一讀取命令至該USB主機以取得該USB主機的一供應商識別碼或一產品識別碼, 該控制電路依據該供應商識別碼或該產品識別碼來決定是否以一預設配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 一種USB積體電路的操作方法,該USB積體電路適於配置在一USB裝置中,所述操作方法包括: 向一USB主機提報一第一配接器組態,以使該USB主機列舉該USB裝置; 在該USB裝置被列舉後,觀察該USB主機對該USB裝置的一行為; 依據該行為決定該第一配接器組態是否適用於該USB主機的一連接管理器;以及 當該第一配接器組態不適用於該連接管理器時,改以一第二配接器組態提報給該USB主機,以使該USB主機重新列舉該USB裝置。
- 如請求項11所述的操作方法,更包括: 當該行為表示在該USB主機與該USB裝置之間未建立一USB3穿隧路徑時,決定該第一配接器組態不適用於該連接管理器,其中該第一配接器組態忠實表示該USB積體電路的多個配接器以及該第二配接器組態包括多個偽通道配接器。
- 如請求項12所述的操作方法,其中在該USB主機重新列舉該USB裝置後,該連接管理器在該USB主機與該USB裝置之間建立具有一第一標識碼的一USB3穿隧路徑,以及所述操作方法更包括: 將該連接管理器的一有效資訊儲存至一記憶體中,其中該有效資訊包括該連接管理器的版本或適用於該連接管理器的一配接器組態。
- 如請求項11所述的操作方法,更包括: 當該行為表示在該USB主機與該USB裝置之間建立具有一第二標識碼的一USB3穿隧路徑時,決定該第一配接器組態不適用於該USB主機的該連接管理器,其中該第一配接器組態包括多個偽通道配接器以及該第二配接器組態忠實表示該USB積體電路的多個配接器。
- 如請求項14所述的操作方法,更包括: 將該連接管理器的一有效資訊儲存至一記憶體中,其中該有效資訊包括該連接管理器的版本或適用於該連接管理器的一配接器組態。
- 如請求項11所述的操作方法,更包括: 在該USB積體電路上電後,判斷一記憶體中是否儲存該連接管理器的一有效資訊;以及 當判斷該記憶體中儲存該連接管理器的該有效資訊時,依據該有效資訊來配置一初始配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 如請求項16所述的操作方法,該操作方法更包括: 當判斷該記憶體中未儲存該連接管理器的該有效資訊時,以一預設配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 如請求項17所述的操作方法,其中該預設配接器組態忠實表示該USB積體電路的多個配接器。
- 如請求項11所述的操作方法,該操作方法更包括: 發出一讀取命令至該USB主機,以取得該USB主機的一供應商識別碼或一產品識別碼;以及 依據該供應商識別碼或該產品識別碼來決定是否以一預設配接器組態作為該第一配接器組態以使該USB主機列舉該USB裝置。
- 一種USB裝置,包括: 一USB連接器,包括至少一個通道接腳及至少一個邊帶使用接腳;以及 一USB積體電路,包括: 一邊帶使用介面電路,適於耦接至該至少一個邊帶使用接腳中的一邊帶使用接腳;以及 一控制電路,適於耦接至該邊帶使用介面電路,用以通過該邊帶使用介面電路向一USB主機提報一第一配接器組態以使該USB主機列舉該USB裝置,其中該控制電路在該USB裝置被列舉後觀察該USB主機對該USB裝置的一行為,該控制電路依據該行為決定該第一配接器組態是否適用於該USB主機的一連接管理器,以及當該第一配接器組態不適用於該連接管理器時該控制電路改以一第二配接器組態提報給該USB主機以使該USB主機重新列舉該USB裝置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211126553.2A CN115391242B (zh) | 2021-12-01 | 2022-09-16 | Usb集成电路、usb集成电路的操作方法及usb装置 |
| US17/990,739 US12197366B2 (en) | 2021-12-01 | 2022-11-21 | USB integrated circuit, operation method of USB integrated circuit and USB device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163284642P | 2021-12-01 | 2021-12-01 | |
| US63/284,642 | 2021-12-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202324124A TW202324124A (zh) | 2023-06-16 |
| TWI810032B true TWI810032B (zh) | 2023-07-21 |
Family
ID=87803585
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111131560A TWI810032B (zh) | 2021-12-01 | 2022-08-22 | Usb積體電路、usb積體電路的操作方法及usb裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI810032B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI873044B (zh) * | 2024-05-27 | 2025-02-11 | 祥碩科技股份有限公司 | Usb電路及其操作方法以及usb裝置 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201706772A (zh) * | 2015-04-28 | 2017-02-16 | 微晶片科技公司 | 通用序列匯流排智能集線器 |
| CN107085507A (zh) * | 2016-02-16 | 2017-08-22 | 三星电子株式会社 | 数据收发方法及装置 |
| US20180267918A1 (en) * | 2017-03-16 | 2018-09-20 | Wyse Technology L.L.C. | Virtualizing a non-usb device as a usb device |
| US20180356873A1 (en) * | 2017-06-13 | 2018-12-13 | Intel Corporation | Method to enhance device policy management (dpm) power sharing for usb type-c (usb-c) only devices |
| TW201913402A (zh) * | 2017-09-08 | 2019-04-01 | 瑞昱半導體股份有限公司 | 擴展塢裝置、電子裝置及基本輸入輸出系統設置之方法 |
-
2022
- 2022-08-22 TW TW111131560A patent/TWI810032B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201706772A (zh) * | 2015-04-28 | 2017-02-16 | 微晶片科技公司 | 通用序列匯流排智能集線器 |
| CN107085507A (zh) * | 2016-02-16 | 2017-08-22 | 三星电子株式会社 | 数据收发方法及装置 |
| US20180267918A1 (en) * | 2017-03-16 | 2018-09-20 | Wyse Technology L.L.C. | Virtualizing a non-usb device as a usb device |
| US20180356873A1 (en) * | 2017-06-13 | 2018-12-13 | Intel Corporation | Method to enhance device policy management (dpm) power sharing for usb type-c (usb-c) only devices |
| TW201913402A (zh) * | 2017-09-08 | 2019-04-01 | 瑞昱半導體股份有限公司 | 擴展塢裝置、電子裝置及基本輸入輸出系統設置之方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202324124A (zh) | 2023-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI416409B (zh) | 用於從多媒體卡/安全數位卡裝置將主機裝置開機之方法、可從多媒體卡/安全數位卡裝置開機之主機裝置、及可將主機裝置開機之多媒體卡/安全數位卡裝置 | |
| US10114658B2 (en) | Concurrent testing of PCI express devices on a server platform | |
| US9542201B2 (en) | Network bios management | |
| US9529410B2 (en) | Service processor (SP) initiated data transaction with BIOS utilizing power off commands | |
| US9806959B2 (en) | Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface | |
| TWI760615B (zh) | 用於進行記憶裝置之寫保護指令之偵測控制的方法、控制晶片以及電子裝置 | |
| US10656676B2 (en) | Docking device, electrical device, and MAC address cloning method | |
| US9779047B2 (en) | Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems | |
| CN105426265B (zh) | 具有虚拟装置的系统和装置以及控制虚拟装置的方法 | |
| CN100456267C (zh) | 监控控制器和PCI Express设备间信道数量的方法和装置 | |
| KR20180085192A (ko) | 핫 플러그 모듈 및 메모리 모듈을 포함하는 시스템 | |
| JP2018116648A (ja) | 情報処理装置、その制御方法、及びプログラム | |
| CN118672367A (zh) | 一种计算机系统、带宽配置方法、产品、服务器以及介质 | |
| TWI810032B (zh) | Usb積體電路、usb積體電路的操作方法及usb裝置 | |
| CN116150064A (zh) | 一种nvme存储设备的热插拔方法、背板及计算设备 | |
| CN117349212A (zh) | 一种服务器主板及其固态硬盘插入检测方法 | |
| WO2025214078A1 (zh) | 计算设备及控制方法 | |
| CN115391242B (zh) | Usb集成电路、usb集成电路的操作方法及usb装置 | |
| CN113849060A (zh) | 存储设备、cpld器件、存储设备的复位方法和存储介质 | |
| CN118626428A (zh) | 带宽分配方法、服务器、设备、介质及程序产品 | |
| CN118484421A (zh) | 一种系统日志处理方法、装置、电子设备及存储介质 | |
| CN100437489C (zh) | 节省系统资源的方法 | |
| CN116540933A (zh) | 充电芯片的数据读写方法与设备 | |
| CN118689827A (zh) | 存储扩充系统与其资源配置方法 | |
| CN102760064A (zh) | 网卡更新装置及方法 |