TWI620070B - Usb otg設備的角色切換方法、系統及usb otg設備 - Google Patents
Usb otg設備的角色切換方法、系統及usb otg設備 Download PDFInfo
- Publication number
- TWI620070B TWI620070B TW106106103A TW106106103A TWI620070B TW I620070 B TWI620070 B TW I620070B TW 106106103 A TW106106103 A TW 106106103A TW 106106103 A TW106106103 A TW 106106103A TW I620070 B TWI620070 B TW I620070B
- Authority
- TW
- Taiwan
- Prior art keywords
- otg
- controller
- usb
- pin
- state
- Prior art date
Links
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/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本發明公開了一種USB OTG設備的角色切換方法、系統及USB OTG設備,USB OTG設備的角色切換方法包括:當USB OTG設備接收到對端設備發出的主機交換協定請求時,對USB OTG設備的OTG控制器進行重設,並更改OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態,以使USB OTG設備的角色在主機設備與外設設備之間進行切換。通過上述方式,本發明實施例無需更改USB OTG設備的內部硬體電路,僅僅通過更改OTG控制器的狀態機跳轉流程,能使USB OTG 1.3設備在OTG 2.0協定環境下實現HNP過程,從而大大節省了成本。
Description
本發明涉及通訊技術領域,特別是涉及一種USB OTG設備的角色切換方法、系統及USB OTG設備。
通用串列匯排流(Universal Serial Bus,簡稱USB)是一種資料交換的通用介面,現已廣泛應用於各種通訊產品中。隨著移動設備的計算能力的增強,以及實際應用的需求,USB實現者協會(Universal Serial Bus Implementers Forums,簡稱USB IF)開發了USB OTG(On-The-Go)的規範。
USB OTG規範是UBS 2.0規範的一個補充,一個OTG產品是一個便攜式設備,使用單一的雙角色(Mini-AB插座或Micro-AB插座)。當兩個支持OTG的設備相連時,通過USB連接線兩端的插頭(A-插頭和B-插頭)可以區分缺省的主機(A-設備,與A-插頭連接的支持OTG的設備)和缺省的外設(B-設備,與B-插頭連接的支持OTG的設備)。具體地,具有USB OTG功能的設備增加了第五個引腳-ID,以用於識別不同的角色。當具有USB OTG功能的設備檢測到ID引腳接地(低電平),時,表示接入的對端設備為USB外設設備(Peripheral),從而該USB OTG設備將其設置為USB主機設備(Host),而當具有
USB OTG功能的設備檢測到ID引腳浮空(高電平)時,表示接入的對端設備為USB主機設備,從而該USB OTG設備將其設置為USB外設設備。
此外,A-設備和B-設備之間還可以通過主機交換協定(Host Negotiation Protocol,簡稱HNP)實現主機和外設的角色切換,OTG協定允許下層驅動組件在USB主機和USB外設角色之間隨意轉換,不需要改變電纜物理位置。如此一來,具有HNP功能的USB OTG設備會出現以下四種狀態:A-主機設備、A-外設設備、B-主機設備和B-外設設備。
USB-IF在2012年提出OTG 2.0協定,同時宣告舊有的OTG 1.3協定在2012年底失效。OTG 2.0協定對HNP角色切換中的時間設置有所變更,從而導致原本支持OTG 1.3協定的OTG設備無法在OTG 2.0環境下實現HNP功能。因而對於原本支持OTG 1.3協定的OTG設備來說,為了與支持OTG 2.0的OTG設備通訊並執行HNP角色切換,則需要對其硬體進行升級更新。硬體升級所消耗成本較高,週期較長,尤其在產品已經批量生產的前提下,對已經出廠的批量OTG設備無法進行硬體升級或更改,因此亟需一種能夠在不對OTG設備進行硬體升級的前提下也能使OTG 1.3設備在OTG 2.0環境下實現HNP功能的方法。
本發明主要解決的技術問題是提供一種USB OTG設備的角色切換方法及USB OTG設備,以使USB OTG 1.3設備在OTG 2.0環境下實現HNP功能。
本發明一實施例提供一種USB OTG設備的角色切換方法,包括:當USB OTG設備接收到對端設備發出的主機交換協定請求時,對USB OTG設備的OTG控制器進行重設,並更改OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態,以使USB OTG設備的角色在主機設備與外設設備之間進行切換。
本發明另一實施例提供一種USB OTG設備,包括主機控制器、外設控制器及OTG控制器。其中該OTG控制器耦接於主機控制器及外設控制器,包含一ID引腳檢測端,用於檢測USB OTG設備所連接的USB電纜插頭類型,該OTG控制器用於響應對端設備發出的主機交換協定請求,進行重設,並更改ID引腳檢測端的狀態,以控制USB OTG設備當前處於使能狀態的控制器在主機控制器和外設控制器之間進行切換。
本發明再一實施例提供一種USB OTG設備的角色切換方法,應用於第一USB OTG設備和第二USB OTG設備,第一USB OTG設備和第二USB OTG設備經由USB電纜互相連接,第一USB OTG設備初始為A-主機設備,第二USB OTG設備初始為B-外設設備。該方法包括:第二USB OTG設備向第一USB OTG設備發送第一主機交換協定請求,該第一主機交換協定請求用於請求成為主機設備;第一USB OTG設備將USB匯排流掛起,對第一USB OTG設備的OTG控制器進行重設,並將OTG控制器的ID引腳檢測端的狀態從A類型更改為B類型,以將第一USB OTG設備的角色從A-主機設備切換到B-外設設備,其中該ID引腳檢測端用於檢測第一USB OTG設備所連接的
USB電纜的插頭類型;第二USB OTG設備檢測到第一USB OTG設備將USB匯排流掛起後,將角色從B-外設設備切換到B-主機設備。
本發明又一實施例提供一種USB OTG設備的角色切換系統,包含第一USB OTG設備和經由USB電纜與第一USB OTG設備連接的第二USB OTG設備。其中第一USB OTG設備包含第一主機控制器、第一外設控制器和第一OTG控制器,第一USB OTG設備初始為A-主機設備。第二OTG設備包含第二主機控制器、第二外設控制器和第二OTG控制器,第二USB OTG設備初始為B-外設設備。該第一OTG控制器耦接於第一主機控制器和第一外設控制器,包含一ID引腳檢測端,用於檢測第一USB OTG設備所連接的USB電纜插頭類型。第一OTG控制器用於在接收到第二USB OTG設備發出的第一主機交換協定請求後,將USB匯排流掛起,進行重設,並將ID引腳檢測端的狀態從A類型更改為B類型,以將第一USB OTG設備的角色從A-主機設備切換到B-外設設備,並控制當前處於使能狀態的控制器從第一主機控制器切換到第一外設控制器。第二OTG控制器用於在檢測述第一USB OTG設備將USB匯排流掛起後,將第二OTG設備的角色從B-外設設備切換到B-主機設備,並控制當前處於使能狀態的控制器從第二外設控制器切換到第一主機控制器。
本發明實施例通過在USB OTG設備接收到對端設備的HNP請求後,對OTG控制器進行重設,使其能夠重新檢測所連接的USB電纜的插頭類型,並在此基礎上進一步對OTG控
制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態進行更改,使得OTG控制器能夠根據重新檢測到的更改後的USB電纜插頭類型,更改其OTG角色,從而使USB OTG設備的角色在主機設備和外設設備之間進行切換。本發明實施例無需更改USB OTG設備的硬體電路,僅更改了OTG控制器的狀態機跳轉流程,便能使USB OTG 1.3設備在OTG 2.0協定環境下實現HNP過程,從而大大節省了成本。
11‧‧‧主機控制器
12‧‧‧外設控制器
13‧‧‧OTG控制器
301,302,501-504‧‧‧步驟
61‧‧‧第一USB OTG設備
62‧‧‧第二USB OTG設備
611‧‧‧第一OTG控制器
612,622‧‧‧第一主機控制器
613,623‧‧‧第一外設控制器
71‧‧‧主機控制器
72‧‧‧外設控制器
73‧‧‧OTG控制器
74‧‧‧ID引腳控制電路
741‧‧‧多工選擇器
742‧‧‧內部暫存器
743‧‧‧狀態值控制器
744‧‧‧控制器
第1圖是本發明實施例的USB OTG設備的結構示意圖;第2圖是支持OTG 2.0協定的USB OTG設備通過HNP協定實現在A-主機設備與A-外設設備之間切換的狀態機跳轉示意圖;第3圖是本發明USB OTG設備的角色切換方法實施例一的流程示意圖;第4圖是本發明的USB OTG設備的角色切換方法實施例二的狀態機跳轉示意圖;第5圖是本發明的USB OTG設備的角色切換方法實施例三的流程示意圖;第6圖是本發明的USB OTG設備的角色切換系統的結構示意圖;第7圖是本發明USB OTG設備一實施例的結構示意圖;第8圖是第7圖所示的ID引腳控制電路的實施例一的結構示意圖;
第9圖是第7圖所示的ID引腳控制電路的實施例二的結構示意圖。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有習知技術者應可理解,電子裝置製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。以外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接到一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
第1圖是本發明實施例的USB OTG設備的結構示意圖。如第1圖所示,通常情況下,一個完整的USB OTG設備應當包含三個單元:主機控制器11,外設控制器12及OTG控制器13。其中OTG控制器13通過狀態機控制USB OTG設備的工作狀態,並根據初上電時所檢測到電纜插頭的類型(A類型或B類型)以及HNP角色切換的結果,將當前工作的控制器在主機控制器11和外設控制器12之間進行切換。舉例來說,當OTG控制器13的狀態機跳轉到A-主機狀態或B-主機狀態時,OTG控制器13使能主機控制器11並禁能外設控制器12,從而控制USB OTG設備成為USB主機設備;而當狀態機跳轉到A-外設狀態或
B-外設狀態時,OTG控制器13使能外設控制器12並禁能主機控制器11,從而控制USB OTG設備成為USB外設設備。
為了更詳細的介紹USB OTG設備的角色設定及切換過程,下一實施例將舉例說明支持OTG 2.0協定的USB OTG設備的在主機和外設兩者之間進行切換的過程。需要說明的是,通常來說,在OTG 2.0協定下,兩個互連的USB OTG設備可以通過HNP協定來實現角色的互換。具體地,當初始角色為外設設備的USB OTG設備想要成為主機設備時,其可以向對端(即另一USB OTG設備)發送HNP請求,從而對端設備將角色從主機設備切換到外設設備,本USB OTG設備則從外設設備切換到主機設備,而當該USB OTG設備使用完匯排流,想要回到外設設備的身份時,其同樣向對端設備發送HNP請求(相當於HNP返回請求),從而對端設備從外設設備切換回主機設備的身份,而本USB OTG設備則從主機設備切換回外設設備的身份。
第2圖是支持OTG 2.0協定的USB OTG設備通過HNP協定實現在A-主機設備與A-外設設備之間切換的狀態機跳轉示意圖。本實施例中假定USB OTG設備所連接的USB電纜的插頭類型為A-插頭,並以A-設備為例來描述遵循OTG 2.0協定的HNP角色切換過程。需要說明的是,本實施例的狀態機跳轉示意圖中所示的各個狀態並未包含HNP協定所定義的OTG狀態機的所有狀態,而是僅包含了為了實現將USB OTG設備在A-主機(A_host)角色和A-外設(A_peripheral)角色之間切換所需的必要狀態。
如第2圖所示,本實施例的狀態機跳轉過程除了開始(start)狀態以外共包含5個狀態,分別是A-空閒(A_idle)狀態、A-主機狀態、A-掛起(A-suspend)狀態、A-外設狀態和A-等待(A_wait_bcon)狀態。由於假定本實施例的USB OTG設備所連接的USB電纜的插頭類型為A-插頭,在初上電時,OTG控制器根據其所檢測到的電纜插頭類型自動從start狀態跳轉至A_idle狀態(步驟a1)。而由於A-插頭所對應的默認角色為USB主機,因此在A_idle狀態下,OTG狀態機自動跳轉至A_host狀態,以將USB OTG設備設置為USB主機設備(步驟b1)。接下來,當USB OTG設備接收到對端設備發出的HNP請求時,代表對端設備有想要成為主機的需求,此時OTG控制器控制USB OTG設備將USB匯排流掛起,以讓出對匯排流的控制權,並將OTG狀態機跳轉至A_suspend狀態(步驟c1)。而當檢測到對端設備獲得匯排流控制權後,OTG控制器控制OTG狀態機跳轉至A_preipheral狀態,將USB OTG設備的角色切換至USB外設設備(步驟d1),此時一次角色切換過程完成。接著,當對端設備使用完USB匯排流,其也會將USB匯排流掛起,因此當OTG控制器檢測到USB匯排流被掛起後,控制OTG狀態機進入A_wait_bcon狀態,以準備重新掌握對匯排流的控制權(步驟e1)。最後,在等待一定的時間後,OTG控制器控制OTG狀態機重新跳轉回A_host的狀態(步驟f1),又從USB外設角色切換回主機角色。
在本實施例中,初始角色為主機的USB OTG設備在第一次接收到HNP請求時,從A-host狀態跳轉到A_preipheral
狀態,並在第二次接收到HNP請求時,從A_preipheral狀態跳轉回A-host狀態,與此相對的,對端的USB OTG設備的身份則是從B_preipheral狀態跳轉到B_host狀態,並接著從B_host狀態跳轉回B_preipheral狀態,從而以此實現互連的兩個USB OTG設備始終為一個是主機一個是外設的狀態。
對於OTG 1.3協定和OTG 2.0協定來說,兩者所定義的實現HNP切換的狀態機跳轉流程是一致的,也就是說,USB OTG設備在OTG 1.3環境或OTG 2.0環境下均是按照同樣的步驟流程來完成HNP切換,但是不同的是,OTG 2.0協定對HNP角色切換中的時間設置有所變更。具體地,OTG 2.0協定中將時間參數TA_BDIS_ACON的值從OTG 1.3協定的3ms更改為150ms,該時間參數TA_BDIS_ACON的含義是指USB OTG設備從B_peripheral狀態進入至B_host狀態所需的時間。具體地,當USB OTG設備從A_suspend狀態切換到A_peripheral狀態時,對端設備需從B_peripheral狀態切換至B_host狀態。而當USB OTG設備從A_suspend狀態切換到A_peripheral狀態,將匯排流控制權讓出之後,其會檢測對端設備有沒有及時進入B_host狀態,若在TA_BDIS_ACON時間內還未檢測到對端設備進入B_host狀態,則USB OTG設備將重新要回匯排流控制權,重新回到A_host狀態,並發出“HNP失敗”的消息。
如此來看,由於OTG 2.0協定中將時間參數TA_BDIS_ACON的值從3ms更改為150ms,大大延遲了對端設備進入B_host狀態的時間,必然會導致當支持OTG 1.3協定的USB OTG設備與支持OTG 2.0協定的USB OTG設備通訊時,OTG 1.3
設備在短暫地進入A_peripheral狀態之後又重新回到A_host狀態,從而導致HNP切換失敗。具體地,由於USB OTG 1.3設備設置的TA_BDIS_ACON時間過短,從而其在從A_suspend狀態切換到A_peripheral狀態後,對端的USB OTG 2.0設備需要較長的時間(150ms)才能進入B_host狀態,USB OTG 1.3設備的OTG控制器在3ms內未檢測到對端設備進入B_host狀態,又會重新回到A_host狀態,導致HNP切換失敗。
可見,若想要使USB OTG 1.3設備在OTG 2.0環境下完成HNP切換,則需要更改USB OTG 1.3設備對時間參數TA_BDIS_ACON的設置。但在大部分的USB OTG 1.3設備的設計中,該時間參數是在設備出廠前固定在芯片內部只讀電路中,並未提供給用戶修改該時間參數的介面,因此該方法對於已出廠的設備無法進行修改。因此,若想要在不更換芯片的前提下,實現USB OTG 1.3設備在OTG 2.0環境下的HNP切換,則需要考慮其他的實現方法。
本發明實施例提供了一種通過改變HNP切換的狀態機跳轉流程來實現USB OTG 1.3設備在OTG 2.0環境下的HNP切換的方法。由於OTG控制器會自動根據所檢測到的USB電纜插頭類型來設置USB OTG設備為A-host設備或B-preipheral設備,此外,僅從匯排流的表現行為來看,A_host狀態與B_host狀態,A_preipheral狀態和B_preipheral狀態,彼此之間的在匯排流上的表現相同,對端設備無法對二者進行區分,因此可以充分地利用這些特徵,通過在狀態機跳轉流程中插入OTG控制器的重設操作,來對實現HNP切換的狀態機跳轉
流程進行改變。下面將詳細敘述本發明實施例通過改變HNP切換的狀態機跳轉流程來實現USB OTG 1.3設備在OTG 2.0環境下的HNP切換的方法。
第3圖是本發明USB OTG設備的角色切換方法實施例一的流程示意圖。如第3圖所示,本實施例的方法包括如下步驟:步驟301,USB OTG設備接收到對端設備發出的HNP請求;步驟302,USB OTG設備對OTG控制器進行重設,並更改該OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態,以使USB OTG設備的角色在主機設備與外設設備之間進行切換。
具體地,在本實施例中,當USB OTG設備接收到對端設備發出的HNP請求時,會對OTG控制器進行重設,具體指對OTG控制器的狀態機進行重設,相當於使OTG控制器的狀態機重新回到開始(start)狀態,從而在開始狀態,OTG控制器會重新檢測所連接的USB電纜的插頭類型。進一步地,本實施例中,USB OTG設備在對OTG控制器進行重設後,會更改OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態。例如若該ID引腳檢測端原本檢測到的USB電纜的插頭類型為A類型,則將其更改為B類型,反之,若該ID引腳檢測端原本檢測到的USB電纜的插頭類型為B類型,則將其更改為A類型。由於OTG控制器會自動根據所檢測到的USB電纜插頭類型來設置USB OTG設備為A-主機設備或B-外設設備,從而通過更
改OTG控制器所檢測到的USB電纜插頭的類型,可以使USB OTG設備的角色從原本的主機設備切換到外設設備,或者從原本的外設設備切換到主機設備,以在主機設備和外設設備之間進行切換。
本發明實施例通過在USB OTG設備接收到對端設備的HNP請求後,對OTG控制器進行重設,使其能夠重新檢測所連接的USB電纜的插頭類型,並在此基礎上進一步對OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態進行更改,使得OTG控制器能夠根據重新檢測到的更改後的USB電纜插頭類型,更改其OTG角色,從而使USB OTG設備的角色在主機設備和外設設備之間進行切換。
本發明實施例無需更改USB OTG設備的硬體電路,僅更改了OTG控制器的狀態機跳轉流程,而更改OTG控制器的狀態機跳轉流程僅需通過更改軟體設置便可以實現,從而大大節省了成本。進一步地,由於在OTG狀態機的跳轉流程中,僅有部分狀態(A_host/B_host、A_preipheral/B_preipheral)是可以在匯排流上表現出來,被對端設備所感知,即對端設備僅關注HNP切換的結果是否為USB OTG設備在主機角色和外設角色之間進行來回切換,而不在意OTG控制器是如何控制狀態機的跳轉實現該角色切換功能的,因此,本發明實施例能夠成功的模擬HNP原理實現OTG角色的切換,而不會被對端設備所察覺。
第4圖是本發明的USB OTG設備的角色切換方法實施例二的狀態機跳轉示意圖。假定本實施例的USB OTG設備
為更新了軟體設置的USB OTG 1.3設備,其所連接的USB電纜的插頭類型為A類型,且其對端設備為USB OTG 2.0設備,對端設備所連接的USB電纜的插頭類型為B類型。如第4圖所示,本實施例的狀態機跳轉過程從開始(start)狀態開始。在初上電時,OTG控制器根據其所檢測到的電纜插頭類型自動從start狀態跳轉至A_idle狀態(步驟a2)。而由於A-插頭所對應的默認角色為USB主機,因此在A_idle狀態下,OTG狀態機自動跳轉至A_host狀態,以將USB OTG設備設置為A-主機設備(步驟b2)。接著,當USB OTG設備接收到對端設備發出的HNP請求時,代表對端設備有想要成為主機的需求,此時OTG控制器控制USB OTG設備將USB匯排流掛起,讓出對匯排流的控制權,並將OTG狀態機跳轉至A_suspend狀態(步驟c2)。
以上三個步驟與第2圖所示的USB OTG 2.0設備的前三個步驟是一樣的。而基於前述的時間參數TA_BDIS_ACON在OTG 1.3和OTG 2.0中設置不同的原因,USB OTG 1.3設備在3ms內未檢測到對端設備進入B_host狀態時將重回A_host狀態,因此在本實施例的d2步驟中,USB OTG設備將直接對OTG控制器進行重設,具體指通過一重設控制器對USB OTG設備的重設端置位,從而使OTG狀態機回到開始狀態。緊接著,USB OTG設備對OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態進行更改,具體指將ID引腳檢測端的狀態從A類型更改為B類型,從而使OTG狀態機自動跳轉至B_idle狀態。
需要說明的是,在OTG協定中,A_idle狀態與B_ilde狀態都屬於空閒狀態,這兩個狀態的表現特性是完全相
同的,唯一不同之處在於,其中A_idle狀態將默認跳轉至A_host狀態,而B_ilde狀態將默認跳轉至B_preipheral狀態。此外還需要說明的是,對於本發明實施例中USB OTG設備如何更改ID引腳檢測端的狀態,以在A類型和B類型之間進行切換的具體實現方式將在後續實施例中進行詳細的闡述。
接著回到第4圖所示的OTG狀態機,在d2步驟之後,OTG狀態自動跳轉到B_preipheral狀態(步驟e2),從而USB OTG設備成功響應HNP請求,從主機角色切換到外設角色。雖然與第2圖所示的狀態機跳轉流程不同,本實施例是從A-主機角色跳轉到B-外設角色(而非A-外設角色),但因僅從匯排流的表現行為來看,A_host狀態與B_host狀態,A_preipheral狀態和B_preipheral狀態,彼此之間的在匯排流上的表現相同,對端設備無法對二者進行區分,因此對端設備會“認為”USB OTG設備已經從A_host跳轉到A_preipheral,這樣的跳轉流程並不會影響到USB OTG設備的HNP功能。
接著,當對端設備使用完USB匯排流,想要重新回到外設角色時,對端設備會將USB匯排流掛起,並發出HNP請求,在本實施例中,當USB OTG設備檢測到這個狀態後,又將直接對OTG控制器進行重設,從而使OTG狀態機又重新回到start狀態,接著USB OTG設備再次對OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態進行更改(步驟f2),具體指將ID引腳檢測端的狀態從B類型重新更改回為A類型,從而使得OTG狀態機又自動跳轉至A_idle狀態,以及自動從A_idle狀態跳轉回到A_host狀態(步驟g2)。這樣,一次從外
設角色切換至主機角色的HNP切換又會完成。
可見,本實施例通過更改軟體設置對OTG狀態機的跳轉流程進行更改,使USB OTG設備在接收到HNP請求後,通過重設操作和更改ID引腳檢測端所檢測到的電纜插頭類型的操作,可以在A-主機設備和B-外設設備之間進行切換。本發明實施例無需更改USB OTG設備的硬體電路,僅需通過更改軟體設置便可以實現,從而大大節省了成本。進一步地,本發明實施例能夠使USB OTG 1.3設備成功的模擬OTG 2.0協定所定義的HNP原理實現OTG角色的切換,並不會被對端設備所察覺。
第5圖是本發明的USB OTG設備的角色切換方法實施例三的流程示意圖。如第5圖所示,本實施例的方法應用於第一USB OTG設備和第二USB OTG設備,且假定第一USB OTG設備與USB電纜的A插頭相連,第二USB OTG設備與USB電纜的B插頭相連,即第一USB OTG設備初始為A-主機設備,第二USB OTG設備初始為B-外設設備,以及第一USB OTG設備為支持OTG 1.3協定的USB OTG設備,第二USB OTG設備為支持OTG 2.0協定的USB OTG設備。本實施例詳細描述初始角色為主機的USB OTG 1.3設備與初始角色為外設的USB OTG 2.0設備之間的HNP角色切換過程,本實施例的方法包含下述步驟:步驟501,第二USB OTG設備向第一USB OTG設備發送第一HNP請求,該第一HNP請求用於請求成為主機設備;步驟502,第一USB OTG設備將USB匯排流掛起,對其OTG控制器進行重設,並將其OTG控制器的ID引腳檢測端
的狀態從A類型更改為B類型,以將該第一USB OTG設備的角色從A-主機設備切換到B-外設設備,第二USB OTG設備則在檢測到USB匯排流被掛起後,將其角色從B-外設設備切換到B-主機設備;在本步驟中,第一USB OTG設備完成從A_host狀態至B_preipheral狀態的切換,具體的切換過程可以參見第4圖所示的狀態機跳轉流程。而第二USB OTG設備則完成從B_preipheral狀態至B_host的狀態的切換,由於第二USB OTG設備本身符合OTG 2.0協定,因此其按照OTG 2.0協定規定的跳轉流程進行角色的切換即可,本實施例並未對第二USB OTG設備的OTG狀態機跳轉過程進行更改。
步驟503,第二USB OTG設備向第一USB OTG設備發送第二HNP請求,該第二HNP請求用於請求從主機設備返回外設設備;步驟504,第一USB OTG設備對其OTG控制器進行重設,並將ID引腳檢測端的狀態從B類型更改回A類型,以將其角色從B-外設設備切換到A-主機設備,以及第二USB OTG設備則將角色從B-主機設備切換回B-外設設備。
在上述步驟中,第一USB OTG設備檢測到第二USB OTG設備斷開匯排流,相當於接收到第二USB OTG設備發送的HNP_back請求(第二HNP請求),從而將OTG狀態機從B_preipheral狀態切換回A_host狀態,具體的切換過程同樣可以參見第4圖所示的狀態機跳轉流程。而第二USB OTG設備則完成從B_host狀態至的B_preipheral狀態的切換,由於第二USB
OTG設備本身符合OTG 2.0協定,因此在本步驟中,其同樣按照OTG 2.0協定規定的跳轉流程進行角色的切換即可。
由於僅從USB匯排流的表現行為來看,A_host狀態與B_host狀態,A_preipheral狀態和B_preipheral狀態,彼此之間的在匯排流上的表現相同,因此在本實施例的方法中,第二USB OTG設備無法對二者進行區分,即第二USB OTG設備會“認為”第一USB OTG設備已經從A_host跳轉到A_preipheral,並從A_preipheral跳轉回A_host,從而通過對第一USB OTG設備的狀態機跳轉流程進行更改,可以使USB OTG 1.3設備成功的模擬OTG 2.0協定所定義的HNP原理實現OTG角色的切換,並不會被對端設備所察覺。
第6圖是本發明USB OTG設備的角色切換系統的結構示意圖,本實施例的系統應用於如5所示的USB OTG設備的角色切換方法中。如圖所示,本實施例的角色切換系統包含第一USB OTG設備61以及第二USB OTG設備62,其中第一USB OTG設備61為支持OTG 1.3協定的USB OTG設備,以及第二USB OTG設備62為支持OTG 2.0協定的USB OTG設備。
該第一USB OTG設備61包含第一OTG控制器611、第一主機控制器612及第一外設控制器613。其中第一OTG控制器611分別與第一主機控制器612和第一外設控制器613連接。該第一OTG控制器611用於在接收到第二USB OTG設備62發送的用於請求成為主機設備的第一HNP請求後,對其OTG控制器進行重設,並將其OTG控制器的ID引腳檢測端的狀態從A類型更改為B類型,以將其角色從A-主機設備切換到B-外設設
備,並使當前處於使能狀態的控制器從第一主機控制器612切換到第一外設控制器613。該第一OTG控制器611還用於在接收到用於請求從主機設備返回外設設備的第二HNP請求後,對OTG控制器進行重設,並將ID引腳檢測端的狀態從B類型更改回A類型,以將其角色從B-外設設備切換到A-主機設備,以及將當前處於使能狀態的控制器從第一外設控制器613切換回第一主機控制器612。
該第二USB OTG設備62包含第二OTG控制器621、第二主機控制器622及第二外設控制器623。其中第二OTG控制器621分別與第二主機控制器622和第二外設控制器623連接。該第二OTG控制器621則用於在向第一USB OTG設備61發送該第一HNP請求後,將第二USB OTG設備62的角色從B-外設設備切換到B-主機設備,並使當前處於使能狀態的控制器從第二外設控制器623切換到第二主機控制器622。該第二OTG控制器621還用於在向第一USB OTG設備61發送該第二HNP請求後,將角色從B-主機設備切換到B-外設設備,以及將當前處於使能狀態的控制器從第二主機控制器622切換回第二外設控制器623。
本實施例中關於第一USB OTG設備61和第二USB OTG設備62具體如何實現角色切換的過程可以參見上述的方法實施例,為簡潔起見,在此不再贅述。
下面將具體闡述本發明實施例中USB OTG設備如何對ID引腳檢測端的狀態進行更改,以使OTG控制器檢測到USB電纜插頭類型在A類型和B類型之間進行切換的具體實現
方式。第7圖是本發明USB OTG設備一實施例的結構示意圖。如第7圖所示,本實施例的USB OTG設備包含:主機控制器71,外設控制器72以及OTG控制器73。其中OTG控制器73分別連接主機控制器71和外設控制器72,且該OTG控制器73包含一ID引腳檢測端IDconctroller,用於檢測該USB OTG設備所連接的USB電纜的電纜插頭類型。該OTG控制器73用於在USB OTG設備接收到對端設備發出的HNP請求時,響應該HNP請求,進行重設,並更改該ID引腳檢測端的狀態,以控制USB OTG設備當前處於使能狀態的控制器在主機控制器71和外設控制器72之間進行切換,即控制USB OTG設備的角色在主機設備與外設設備之間進行切換。具體地,在本實施例中,當OTG控制器73接收到對端設備發出的HNP請求時,會對進行重設,具體指控制其狀態機進行重設,使狀態機重新回到開始狀態,從而在開始狀態,OTG控制器73會通過ID引腳檢測端IDconctroller重新檢測所連接的USB電纜的插頭類型。進一步地,OTG控制器73在進行重設後,會控制更改該ID引腳檢測端IDconctroller的狀態。例如若該ID引腳檢測端IDconctroller原本檢測到的USB電纜的插頭類型為A類型,則將其更改為B類型,反之,若該ID引腳檢測端IDconctroller原本檢測到的USB電纜的插頭類型為B類型,則將其更改為A類型。由於OTG控制器73會自動根據所檢測到的USB電纜插頭類型來使能主機控制器71或外設控制器72工作,從而設置USB OTG設備為A-主機設備或B-外設設備。因此通過更改OTG控制器所檢測到的USB電纜插頭的類型,可以使USB OTG設備的角色從原本的主機設備切換到外設設備,或者從原本的
外設設備切換到主機設備,以在主機設備和外設設備之間進行切換。進一步地,本實施例的USB OTG設備還包含一ID引腳控制電路74。該ID引腳控制電路74連接於USB OTG設備所連接的USB電纜的ID引腳PINID與OTG控制器73的ID引腳檢測端IDconctroller之間,上述OTG控制器73控制更改ID引腳檢測端IDconctroller所檢測到的USB電纜類型的方法包括:通過該ID引腳控制電路74控制輸入至ID引腳檢測端IDconctroller的狀態值在USB電纜的ID引腳PINID的狀態值與一相反的狀態值SW_ID之間進行切換。具體地,該ID引腳檢測端IDconctroller的狀態包含接地和浮空兩種,從而其所分別對應的狀態值包含低電平和高電平兩種。SW_ID的狀態值始終與ID引腳PINID的狀態值相反,即若USB OTG設備所連接的USB電纜的插頭類型為A類型,代表ID引腳PINID的狀態值為低電平,則SW_ID的狀態值為高電平;反之,若USB OTG設備所連接的USB電纜的插頭類型為B類型,代表ID引腳PINID的狀態值為高電平,則SW_ID的狀態值為低電平。本發明實施例的USB OTG設備通過接收到對端設備的HNP請求後,對OTG控制器進行重設,使其能夠重新檢測所連接的USB電纜的插頭類型,並在此基礎上進一步對OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態進行更改,使得OTG控制器能夠根據重新檢測到的更改後的USB電纜插頭類型,更改其OTG角色,從而使USB OTG設備的角色在主機設備和外設設備之間進行切換。本發明實施例無需更改USB OTG設備的硬體電路,僅需通過更改軟體設置以更改OTG控制器的狀態機跳轉流程便可以實現USB OTG 1.3設備模
擬OTG 2.0協定的HNP功能,從而大大節省了成本。第8圖是第7圖所示的ID引腳控制電路74的實施例一的結構示意圖。如第8圖所示,該ID引腳控制電路74進一步包含一多工選擇器741,內部暫存器742以及狀態值控制器743。其中該多工選擇器741連接在USB電纜的ID引腳PINID與OTG控制器73的ID引腳檢測端IDconctroller之間,具體地,該多工選擇器741的第一輸入端連接USB電纜ID引腳PINID,多工選擇器741的輸出端連接OTG控制器73的ID引腳檢測端IDconctroller,以及多工選擇模塊741的第二輸入端接收一輸入狀態值SW_ID,該輸入狀態值SW_ID由內部暫存器742提供。
該狀態值控制器743分別連接該內部暫存器742、多工選擇器741的使能控制端、USB電纜的ID引腳PINID以及OTG控制器73。具體地,該狀態值控制器743用於當USB OTG設備連接USB電纜插頭時,檢測USB電纜插頭的ID引腳PINID的狀態值(高電平或低電平),並在內部暫存器742中寫入與檢測到的ID引腳PINID的狀態值相反的狀態值(低電平或高電平)。此外,該狀態值控制器743還進一步用於當USB OTG設備接收到對端設備發出的HNP請求時,在OTG控制器73的指示下,通過多工選擇器741的使能控制端控制該多工選擇器741的輸出在ID引腳PINID的狀態值和內部暫存器741提供的狀態值之間進行切換。具體地,當USB OTG設備接收到對端設備發出的HNP請求時,OTG控制器73進行重設,並通知狀態值控制器743對多工選擇器741的輸出進行切換,此時狀態值控制器743輸出相應的使能信號SW_ID_EN至多工選擇器741的使能控制
端,使其相應選擇第一輸入端或第二輸入端的信號作為輸出信號。例如可以設置為:當使能信號SW_ID_EN為0時,多工選擇器741選擇ID引腳PINID的狀態值作為輸出給OTG控制器73的ID引腳檢測端,而當使能信號SW_ID_EN為1時,多工選擇器741選擇內部暫存器742提供的狀態值作為輸出給OTG控制器73的ID引腳檢測端。需要說明的是,此實例僅是為了舉例說明,而並非對本發明的限制。所屬領域的具有通常知識者還可以根據實際需求進行其他的設置。
在本實施例中,上述ID引腳控制電路74中的所有單元模塊均可以與OTG控制器73及主機控制器71、外設控制器72集成於同一芯片內部。或者在另一實施例中,僅ID引腳控制電路74中的內部暫存器742和狀態值控制器743與OTG控制器73、主機控制器71及外設控制器72集成於同一芯片內部,而多工選擇器741獨立於該芯片設置,即設置為芯片外部。此時狀態值控制器743的輸出信號SW_ID_EN及內部暫存器742的輸出信號SW_ID均通過該芯片的輸出引腳輸出至多工選擇器741。所屬領域的具有通常知識者可以瞭解的是,這僅是為了舉例說明,而並非對本發明的限制,所屬領域的具有通常知識者還可以根據實際需求進行其他的設置。
第9圖是第7圖所示的ID引腳控制電路74的實施例二的結構示意圖。本實施例中,ID引腳控制電路74僅包含一控制器744,該控制器744分別連接USB電纜的ID引腳PINID、OTG控制器73的一輸出以及OTG控制器73的ID引腳檢測端IDconctroller。該控制器744用於直接根據OTG控制器73的狀態機
所處的當前狀態來控制輸出相應的狀態值至OTG控制器73的ID引腳檢測端IDconctroller。具體地,當OTG控制器73的狀態機的當前狀態為開始(start)狀態時,控制器744輸出檢測到的ID引腳PINID的狀態值至ID引腳檢測端IDconctroller,以使OTG控制器正常檢測到所連接的USB電纜的插頭類型;當OTG控制器73的狀態機的當前狀態為A_host或A_suspend狀態,且OTG控制器73指示接收到對端設備的HNP請求時,控制器744直接輸出狀態值1(高電平)至ID引腳檢測端IDconctroller,使OTG控制器73接下來能跳轉到B_peripheral狀態;當OTG控制器73的狀態機的當前狀態為B_peripheral狀態,且OTG控制器73指示接收到對端設備的HNP請求時,控制器744輸出狀態值1(高電平)至ID引腳檢測端IDconctroller,使OTG控制器73接下來能跳轉到A_host狀態。
本實施例中,控制器744設置在USB OTG設備所在芯片內部,且控制器744對OTG控制器73的輸出通過該芯片的通用輸入輸出引腳(GPIO)予以實現。
本發明實施例雖然列舉了兩種USB OTG設備對ID引腳檢測端的狀態進行更改,以使OTG控制器檢測到USB電纜插頭類型在A類型和B類型之間進行切換的實現方式,但是需要說明的是,本發明並不對此進行限制,所屬領域的具有通常知識者還可以根據實際需要進行其他設置,只要符合本發明的精神,都屬於本發明所保護的範疇之內。
雖然本發明的實施例及其優點已揭露如上,但應理解的是,本發明並未侷限於揭露之實施例。任何所屬技術領
域中具有通常知識者,在不脫離本發明的精神和範圍內,當可做些許更動與潤飾,因此本發明的保護範圍當以申請專利範圍第所界定為准。凡依本發明申請專利範圍第所做的均等變化與修飾,皆應屬本發明的涵蓋範圍。
Claims (23)
- 一種USB OTG設備的角色切換方法,其中,包括:當該USB OTG設備接收到對端設備發出的主機交換協定請求時,對該USB OTG設備的OTG控制器進行重設,並更改該OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態,以使該USB OTG設備的角色在主機設備與外設設備之間進行切換。
- 根據申請專利範圍第1該之方法,其中,該更改該OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態包括:將該ID引腳檢測端所檢測到的USB電纜插頭類型在A類型和B類型之間進行切換;該使該USB OTG設備的角色在主機設備與外設設備之間進行切換包括:使該USB OTG設備的角色在A-主機設備與B-外設設備之間進行切換。
- 根據申請專利範圍第2該之方法,其中,該方法還包括:當該USB OTG設備的角色為A-主機設備且接收到該對端設備發出的該主機交換協定請求時,對該OTG控制器進行重設,並將該ID引腳檢測端所檢測到的USB電纜插頭類型從A類型更改為B類型,以使該USB OTG設備從該A-主機設備切換為B-外設設備;當該USB OTG設備的角色為B-外設設備且接收到該對端設備發出的該主機交換協定請求時,對該OTG控制器進行重設,並將該ID引腳檢測端所檢測到的USB電纜插頭類型從B類型更改為A類型,以使該USB OTG設備從該B-外設設 備切換為A-主機設備。
- 根據申請專利範圍第1該之方法,其中,該更改該OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態包括:將該ID引腳檢測端的狀態在接地和浮空兩者之間進行切換。
- 根據申請專利範圍第1該之方法,其中,該更改該OTG控制器用於檢測USB電纜插頭類型的ID引腳檢測端的狀態包括:通過一ID引腳控制電路控制輸入至該ID引腳檢測端的狀態值在該USB OTG設備所連接的USB電纜插頭的ID引腳的狀態值和與該ID引腳的狀態值相反的狀態值之間切換,其中該ID引腳的狀態值包括高電平和低電平兩種。
- 根據申請專利範圍第5該之方法,其中,該ID引腳控制電路包含多工選擇器,該多工選擇器的第一輸入端連接該USB電纜插頭的ID引腳,該多工選擇器的輸出端連接該ID引腳檢測端,以及該多工選擇模塊的第二輸入端接收一輸入狀態值,該輸入狀態值與該USB電纜插頭的ID引腳的狀態值相反;該通過該ID引腳控制電路控制輸入至該ID引腳檢測端的狀態值進行切換的步驟包括:控制該多工選擇器的輸出在該第一輸入端的信號和該第二輸入端的信號之間切換。
- 根據申請專利範圍第6該之方法,其中,該ID引腳控制電路還包含內部暫存器和狀態值控制器,其中該多工選擇器 的第二輸入端連接該內部暫存器,該輸入狀態值由該內部暫存器提供,該狀態值控制器連接該內部暫存器、該多工選擇器的使能控制端、該USB電纜插頭的ID引腳以及該OTG控制器,該方法還包括:當該USB OTG設備連接該USB電纜插頭時,該狀態值控制器檢測該USB電纜插頭的ID引腳的狀態值,並在該內部暫存器中寫入與檢測到該ID引腳的狀態值相反的狀態值;當該USB OTG設備接收到該對端設備發出的該主機交換協定請求時,該狀態值控制器在該OTG控制器的指示下,通過該多工選擇器的使能控制端控制該多工選擇器的輸出在該ID引腳的狀態值和該內部暫存器的狀態值之間進行切換。
- 根據申請專利範圍第5該之方法,其中,該ID引腳控制電路包含控制器,該控制器分別連接該USB電纜插頭的ID引腳、該OTG控制器的一輸出以及該ID引腳檢測端,該方法還包括:該控制器根據該OTG控制器的狀態機所處的當前狀態來控制輸出相應的狀態值至該ID引腳檢測端,當該OTG控制器的狀態機的當前狀態為開始狀態時,該控制器輸出檢測到的該ID引腳的狀態值至該ID引腳檢測端,當該OTG控制器的狀態機的當前狀態為A-主機狀態或A-掛起狀態時,該控制器輸出狀態值1至該ID引腳檢測端,當該OTG控制器的狀態機的當前狀態為B-外設狀態時,該控制器輸出狀態值0至該ID引腳檢測端。
- 一種USB OTG設備,其中,包括:主機控制器;外設控制器;OTG控制器,耦接於該主機控制器及外設控制器,包含一ID引腳檢測端,用於檢測該USB OTG設備所連接的USB電纜插頭類型,該OTG控制器用於響應對端設備發出的主機交換協定請求,進行重設,並更改該ID引腳檢測端的狀態,以控制該USB OTG設備當前處於使能狀態的控制器在該主機控制器和該外設控制器之間進行切換。
- 根據申請專利範圍第9該之設備,其中,該OTG控制器用於響應對端設備發出的主機交換協定請求,進行重設,並將該ID引腳檢測端所檢測到的USB電纜插頭類型在A類型和B類型之間進行切換,以使該USB OTG設備的角色在A-主機設備與B-外設設備之間進行切換。
- 根據申請專利範圍第9該之設備,其中,該USB OTG設備還包含:ID引腳控制電路,該ID引腳控制電路連接在該USB OTG設備所連接的USB電纜插頭的ID引腳與該OTG控制器的該ID引腳檢測端之間,用於控制輸入至該ID引腳檢測端的狀態值在該ID引腳的狀態值和與該ID引腳的狀態值相反的狀態值之間切換,其中該ID引腳的狀態值包括高電平和低電平兩種。
- 根據申請專利範圍第11該之設備,其中,該ID引腳控制電路包含: 多工選擇器,該多工選擇器的第一輸入端連接該ID引腳,該多工選擇器的輸出端連接該ID引腳檢測端,以及該多工選擇模塊的第二輸入端接收一輸入狀態值,該輸入狀態值與該USB電纜插頭的ID引腳的狀態值相反,該多工選擇器用於基於該OTG控制器的控制,選擇該第一輸入端的信號或該第二輸入端的信號輸出至該ID引腳檢測端。
- 根據申請專利範圍第12該之設備,其中,該ID引腳控制電路還包含內部暫存器和狀態值控制器:該多工選擇器的第二輸入端連接該內部暫存器,該輸入狀態值由該內部暫存器提供,該狀態值控制器連接該內部暫存器、該多工選擇器的使能控制端、該USB電纜插頭的ID引腳以及該OTG控制器;該狀態值控制器用於當該USB OTG設備連接該USB電纜插頭時,檢測該USB電纜插頭的ID引腳的狀態值,並在該內部暫存器中寫入與檢測到該ID引腳的狀態值相反的狀態值;當該USB OTG設備接收到該對端設備發出的該主機交換協定請求時,在該OTG控制器的指示下,通過該多工選擇器的使能控制端控制該多工選擇器的輸出在該ID引腳的狀態值和該內部暫存器的狀態值之間切換。
- 根據申請專利範圍第13該之設備,其中,該多工選擇器、內部暫存器及狀態值控制器集成於該USB OTG設備所在芯片的內部。
- 根據申請專利範圍第13該之設備,其中,該內部暫存器及 狀態值控制器集成於該USB OTG設備所在芯片的內部,該多工選擇器獨立於該USB OTG設備所在芯片設置。
- 根據申請專利範圍第11該之設備,其中,該ID引腳控制電路包含控制器,該控制器分別連接該USB電纜插頭的ID引腳、該OTG控制器的一輸出以及該ID引腳檢測端;該控制器用於根據該OTG控制器的狀態機所處的當前狀態來控制輸出相應的狀態值至該ID引腳檢測端:當該OTG控制器的狀態機的當前狀態為開始狀態時,該控制器輸出檢測到的該ID引腳的狀態值至該ID引腳檢測端,當該OTG控制器的狀態機的當前狀態為A-主機狀態或A-掛起狀態時,該控制器輸出狀態值1至該ID引腳檢測端,當該OTG控制器的狀態機的當前狀態為B-外設狀態時,該控制器輸出狀態值0至該ID引腳檢測端。
- 根據申請專利範圍第16該之設備,其中,該控制器集成於該USB OTG設備所在芯片的內部。
- 一種USB OTG設備的角色切換方法,其中,應用於第一USB OTG設備和第二USB OTG設備,該第一USB OTG設備和第二USB OTG設備經由USB電纜互相連接,該第一USB OTG設備初始為A-主機設備,該第二USB OTG設備初始為B-外設設備,該方法包括:該第二USB OTG設備向該第一USB OTG設備發送第一主機交換協定請求,該第一主機交換協定請求用於請求成為主機設備;該第一USB OTG設備將該USB匯排流掛起,對該第一USB OTG設備的OTG控制器進行重設,並將該OTG控制器的ID引腳檢測端的狀態從A類型更改為B類型,以將該第一USB OTG設備的角色從該A-主機設備切換到該B-外設設備,該ID引腳檢測端用於檢測該第一USB OTG設備所連接的USB電纜的插頭類型;該第二USB OTG設備檢測到該第一USB OTG設備將USB匯排流掛起後,將角色從該B-外設設備切換到B-主機設備。
- 根據申請專利範圍第18該之方法,其中,該方法還包括:該第二USB OTG設備向該第一USB OTG設備發送第二主機交換協定請求,該第二主機交換協定請求用於請求從該主機設備返回外設設備;該第一USB OTG設備對該OTG控制器進行重設,並將該ID引腳檢測端的狀態從B類型更改回A類型,以將該第一USB OTG設備的角色從該B-外設設備切換到該A-主機設備,該第二USB OTG設備將角色從該B-主機設備切換到該B-外設設備。
- 根據申請專利範圍第18或19該之方法,其中,該第一USB OTG設備為符合OTG 1.3協定的USB OTG設備,該第二USB OTG設備為符合OTG 2.0協定的USB OTG設備。
- 一種USB OTG設備的角色切換系統,其中,包含第一USB OTG設備和經由USB電纜與該第一USB OTG設備連接的第二USB OTG設備,其中,該第一USB OTG設備包含第一主機控制器,第一外設控制器和第一OTG控制器,該第一USB OTG設備初始為A-主 機設備,該第一OTG控制器耦接於該第一主機控制器和第一外設控制器,包含一ID引腳檢測端,用於檢測該第一USB OTG設備所連接的USB電纜插頭類型,該第一OTG控制器用於在接收到該第二USB OTG設備發出的第一主機交換協定請求後,將USB匯排流掛起,進行重設,並將該ID引腳檢測端的狀態從A類型更改為B類型,以將該第一USB OTG設備的角色從該A-主機設備切換到該B-外設設備,並控制當前處於使能狀態的控制器從該第一主機控制器切換到該第一外設控制器;該第二OTG設備包含第二主機控制器,第二外設控制器和第二OTG控制器,該第二USB OTG設備初始為B-外設設備,該第二OTG控制器用於在檢測到該第一USB OTG設備將USB匯排流掛起後,將該第二OTG設備的角色從該B-外設設備切換到B-主機設備,並控制當前處於使能狀態的控制器從該第二外設控制器切換到該第一主機控制器。
- 根據申請專利範圍第21該之系統,其中,該第一OTG控制器還用於在接收到該第二USB OTG設備發出的第二主機交換協定請求後,進行重設,並將該ID引腳檢測端的狀態從B類型更改為A類型,以將該第一USB OTG設備的角色從該B-外設設備切換回該A-主機設備,並控制當前處於使能狀態的控制器從該第一外設控制器切換回該第一主機控制器;該第二OTG控制器還用於在該第二USB OTG設備向該第一USB OTG設備發送該第二主機交換協定請求後,將該第 二OTG設備的角色從該B-主機設備切換回B-外設設備,並控制當前處於使能狀態的控制器從該第二主機控制器切換回該第二外設控制器。
- 根據申請專利範圍第21或22該之系統,其中,該第一USB OTG設備為符合OTG 1.3協定的USB OTG設備,該第二USB OTG設備為符合OTG 2.0協定的USB OTG設備。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610116817.4A CN105808480A (zh) | 2016-03-01 | 2016-03-01 | Usb otg设备的角色切换方法、系统及usb otg设备 |
??201610116817.4 | 2016-03-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201732621A TW201732621A (zh) | 2017-09-16 |
TWI620070B true TWI620070B (zh) | 2018-04-01 |
Family
ID=56465997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106106103A TWI620070B (zh) | 2016-03-01 | 2017-02-23 | Usb otg設備的角色切換方法、系統及usb otg設備 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170255585A1 (zh) |
CN (1) | CN105808480A (zh) |
TW (1) | TWI620070B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106515618A (zh) * | 2016-10-28 | 2017-03-22 | 芜湖市吉安汽车电子销售有限公司 | 基于Linux平台车载DA系统的接口切换系统 |
US20200132734A1 (en) * | 2016-11-23 | 2020-04-30 | Huawei Technologies Co., Ltd. | Detection circuit and detection method for on-the-go device, and terminal |
CN109032983B (zh) * | 2018-09-28 | 2024-02-20 | 高新兴智联科技股份有限公司 | 一种含有usb信号连接电路的手持阅读器 |
CN109857485B (zh) * | 2019-01-28 | 2021-06-15 | 山东华芯半导体有限公司 | 一种可编程gpio装置及基于该装置的时序实现方法 |
CN109921481A (zh) * | 2019-03-04 | 2019-06-21 | 中国电子科技集团公司第二十八研究所 | Usb通讯时对通讯对象供电的otg设备及供电方法 |
FR3102583B1 (fr) * | 2019-10-24 | 2022-11-25 | Stmicroelectronics Grand Ouest Sas | Dispositif à connecteur USB |
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 |
CN115017073B (zh) * | 2021-03-05 | 2023-08-29 | 龙芯中科技术股份有限公司 | 通信控制器的使能方法、装置、电子设备及存储介质 |
EP4352894A1 (en) | 2021-06-08 | 2024-04-17 | Signify Holding B.V. | Auto-configuration of usb host and peripheral roles in an optical front-end module |
CN114116569A (zh) * | 2021-12-08 | 2022-03-01 | 哈尔滨市科佳通用机电股份有限公司 | 机车信号数据现场导出分析系统及其无工区跨域作业方法 |
CN114519015A (zh) * | 2022-02-23 | 2022-05-20 | 深圳市智微智能科技股份有限公司 | 一种基于Android的Tepy-C切换成OTG模式的方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060076977A1 (en) * | 2004-09-20 | 2006-04-13 | Xiaoming Zhu | USB 1.1 for USB OTG implementation |
US20080178011A1 (en) * | 2007-01-18 | 2008-07-24 | Nokia Corporation | Method and apparatus for usb/otg connection providing active hnp requests and saving host power |
CN103473202A (zh) * | 2013-09-03 | 2013-12-25 | 福建星网锐捷网络有限公司 | Usb otg装置、电子设备及实现otg功能的方法 |
TW201515358A (zh) * | 2013-07-04 | 2015-04-16 | Hon Hai Prec Ind Co Ltd | 具有供電模式切換功能的usb裝置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100477547C (zh) * | 2006-03-02 | 2009-04-08 | 迈普(四川)通信技术有限公司 | 通信设备主从切换方法及通信设备 |
CN102681640A (zh) * | 2011-03-16 | 2012-09-19 | 国基电子(上海)有限公司 | 自我供电usb设备 |
US9760517B2 (en) * | 2014-05-16 | 2017-09-12 | Cisco Technology, Inc. | Network-USB (NUSB) communication system by which network applications communicate with USB devices over power-over-ethernet (PoE) connection |
-
2016
- 2016-03-01 CN CN201610116817.4A patent/CN105808480A/zh not_active Withdrawn
-
2017
- 2017-02-22 US US15/438,850 patent/US20170255585A1/en not_active Abandoned
- 2017-02-23 TW TW106106103A patent/TWI620070B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060076977A1 (en) * | 2004-09-20 | 2006-04-13 | Xiaoming Zhu | USB 1.1 for USB OTG implementation |
US20080178011A1 (en) * | 2007-01-18 | 2008-07-24 | Nokia Corporation | Method and apparatus for usb/otg connection providing active hnp requests and saving host power |
TW201515358A (zh) * | 2013-07-04 | 2015-04-16 | Hon Hai Prec Ind Co Ltd | 具有供電模式切換功能的usb裝置 |
CN103473202A (zh) * | 2013-09-03 | 2013-12-25 | 福建星网锐捷网络有限公司 | Usb otg装置、电子设备及实现otg功能的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170255585A1 (en) | 2017-09-07 |
TW201732621A (zh) | 2017-09-16 |
CN105808480A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI620070B (zh) | Usb otg設備的角色切換方法、系統及usb otg設備 | |
US8650332B2 (en) | Method for switching working mode, USB device, and host device | |
WO2013152662A1 (zh) | 一种终端设备的供电方法及其终端设备 | |
CN102749985B (zh) | 动态调整总线时钟的方法及其装置 | |
CN108205393B (zh) | 半导体设备、人机接口设备及电子装置 | |
CN103176816B (zh) | 制造系统及固件烧录方法 | |
CN103473202B (zh) | Usb otg装置、电子设备及实现otg功能的方法 | |
TWI528161B (zh) | 資料傳輸系統以及資料傳輸方法 | |
CN104158709B (zh) | 一种光模块识别的方法及端口扩展设备 | |
JP6434630B2 (ja) | Usb otgデバイス識別システムおよび装置 | |
CN108108314B (zh) | 交换器系统 | |
CN103559149A (zh) | Usb otg双角色设备工作方式切换的方法及系统 | |
JP2024508592A (ja) | Usbインタフェースの多重化方法、回路、電子機器及び記憶媒体 | |
WO2009145098A1 (ja) | I/o接続システム、方法及びプログラム | |
CN104899164B (zh) | 集成电路总线的地址寻址方法、集成电路总线设备和系统 | |
CN102799556A (zh) | 一种usb从设备间互连的方法、系统及设备 | |
CN114185720B (zh) | 服务器动态热备份的方法、装置、设备及存储介质 | |
CN107887938B (zh) | 兼容usb标准充电和快速充电的方法及移动终端 | |
US20220237136A1 (en) | Switching method of usb switch element for in-vehicle host system | |
CN105208200A (zh) | 移动终端的系统升级方法及其移动终端 | |
CN111610995B (zh) | 一种设备固件升级方法、装置、电子设备和存储介质 | |
CN112825401B (zh) | 充电线、充电器、充电控制方法和充电装置 | |
CN117008968A (zh) | 一种控制方法、装置、通信设备、电子设备及介质 | |
CN113934661A (zh) | 一种电子设备、控制方法、装置及介质 | |
TWI591483B (zh) | 交換器系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |