專利名稱:雙模式兼容usb集線器設備和方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡,尤其涉及與諸如USB On-the-Go(OTG)設備的雙模式兼容設備能夠兼容的通用串行總線(USB)集線器設備。
背景技術:
通用的主機設備協(xié)議是通用串行總線(USB)協(xié)議。USB是一種高速串行總線,能夠支持如鍵盤、打印機、掃描儀、指示設備,個人數(shù)據(jù)助理(PDA)和蜂窩電話等設備。由于USB協(xié)議提供了多個設備之間最小連接和用戶友好的網(wǎng)絡,這個協(xié)議已經(jīng)成為計算機行業(yè)內(nèi)的標準。
在典型的USB結(jié)構(gòu)中,兩個或多個設備連接進行通信。這些設備通常由設備中的硬件和軟件組件定義,稱為USB設備。一般來說,將一個或多個USB設備定義成外圍設備或“從”設備,這些設備可以是輸入或者輸出設備。典型的外圍設備包括打印機、調(diào)制解調(diào)器、掃描儀或者任何其他與主計算機(“主”設備)交換數(shù)據(jù)的設備。外圍設備可以與主機直接連接或者通過USB集線器連接。事件處理發(fā)生在外圍設備和主機之間。主機對外圍設備和主機之間的事件處理進行控制。典型地,主機根據(jù)USB2.0規(guī)范中的要求控制事件處理。
在最初的USB2.0規(guī)范擬定之后,人們意識到多個外圍設備,尤其是便攜設備,通過USB接口彼此直接通信將非常有利。然而,由于USB通信只能發(fā)生在主機(通常是個人計算機)和外圍設備之間,所以主機必須限定具有多種特性,包括存儲大量的設備驅(qū)動程序,提供大容量電流和一系列“A型”主機連接插口的能力。然而,對于便攜設備而言,具有所有這些特性是不切實際的。而且,在許多情況下,便攜設備彼此之間順利合作并不需要這些特性。因此,提出了USB2.0規(guī)范的一個補充說明,在沒有個人計算機或傳統(tǒng)主機設備的情況下允許對等通信。這個補充說明通常稱為“On-the-Go”(OTG)。因此,將On-the-Go(OTG)外圍設備列為雙模式設備(DRD),根據(jù)設備在特定時刻的特定作用,既可以作為主機控制器操作,也可以作為外圍設備進行操作。這種設備能夠使用USB2.0規(guī)范的補充說明中的協(xié)議設備,交換主機控制器功能。附加地,OTG補充說明確保了當外圍設備連接到標準主機(即個人計算機)的時候,這些設備僅能夠作為外設進行操作。
在USB OTG補充說明中定義了兩個外圍設備之間的操作。特定地,足夠支持這種操作的解釋包括了主機協(xié)商協(xié)議(HNP)和在兩個通信設備之間轉(zhuǎn)移主機能力的動作。基于連接到設備的USB連接線的端頭,這些設備可以描述成“A-設備”和“B-設備”。根據(jù)OTG補充說明,“A-設備”在所有的事件處理中作為主機啟動并提供總線電力(Vbus)。然而,當系統(tǒng)中使用超過兩個設備的時候,這個協(xié)議和操作不支持主機功能的轉(zhuǎn)移。
典型地,在USB中,多個設備可以使用設備上多個USB端口或者使用USB集線器進行連接。然而,在含有一個與多個OTG設備(以及非OTG設備)連接的集線器的系統(tǒng)中,任何OTG設備在任何時刻都可能要求成為系統(tǒng)的主機,使用連接到集線器的其他設備的資源。然而,因為典型的集線器結(jié)構(gòu)設置成將單個主機連接分散成多個設備連接,所以現(xiàn)在的USB集線器不支持主機功能的轉(zhuǎn)移。因此,傳統(tǒng)的USB集線器不能轉(zhuǎn)換主機端口,而且不能參與支持OTG主機轉(zhuǎn)移協(xié)議所需的信號交互。
圖1圖示的是具有連接依照本發(fā)明教導構(gòu)建的On-the-Go集線器的On-the-Go設備的系統(tǒng)的示例;
圖2圖示的是OTG集線器結(jié)構(gòu)圖的示例;圖3圖示的是表示在圖2所示的集線器中初始端口連接的結(jié)構(gòu)圖;圖4圖示的是依照本發(fā)明教導操作的OTG集線器的狀態(tài)圖;圖5圖示的是圖2所示集線器中一個可以替換的端口連接;圖6圖示的是圖2所示集線器中另一個可以替換的端口連接;圖7到圖9圖示的是OTG集線器范例操作的流程圖;圖10圖示的是依照本發(fā)明教導構(gòu)建的具有7個端口的OTG集線器的接線圖;圖11圖示的是在給定PC連接到集線器的特定配置下圖8所示的電路的信號通路的特定的示例;圖12圖示的是在“A-型”端口作為主機設備的另一種配置下圖8所示的集線器的信號通路的另一個示例;圖13圖示的是OTG集線器另一個示例的接線圖。
具體實施例方式
圖1中圖示了使用依照本公開構(gòu)建的On-the-Go集線器102的系統(tǒng)結(jié)構(gòu)100的示例。系統(tǒng)100可以是多個設備且尤其是依照USB OTG補充說明的雙模式設備連接的不同系統(tǒng)中的任何一個。在圖1所示的特定例子中,這種結(jié)構(gòu)常見于汽車。在系統(tǒng)100中可以使用包含On-the-Go集線器102的網(wǎng)關104。諸如個人數(shù)據(jù)助理106、On-the-Go電話108或者媒體接口110的不同設備可以連接到網(wǎng)關104中的集線器102。因此,例如在系統(tǒng)100中,電話108可以訪問PDA106中的聯(lián)系人信息。作為另一個例子,媒體接口110可以使用PDA106的顯示屏播放視頻片斷。在每個示例中,設備(即電話108或者媒體接口110)需要成為系統(tǒng)100的主機。此外,在不同的設備成為系統(tǒng)的主機的不同時刻,主機功能必須根據(jù)USB2.0規(guī)范和OTG主機協(xié)商協(xié)議(HNP)進行轉(zhuǎn)移。因而,設計用于協(xié)調(diào)On-the-Go能力的集線器102優(yōu)選地應該能夠完成以下一種或多種功能(1)指定集線器的任何端口作為主機端口,并且配置所有其他端口作為下游端口;(2)參與OTG主機協(xié)商協(xié)議;(3)對于任何給定的主機端口配置,保持對USB集線器需要的適應;并且(4)向個人計算機或其他連接到集線器的其他標準主機設備提供傳統(tǒng)的集線器功能。
依照上面列舉的最后一條標準,圖示個人計算機114連接到On-the-Go(OTG)集線器102,而剩下的設備106,108和110回復至USB外設模式。附加的項目可以包括諸如從/編解碼器的非OTG外設,并且依次連接到與免提電話中類似的揚聲器118和麥克風120。
圖2圖示了OTG集線器102示例的結(jié)構(gòu)圖。集線器102包括端口切換設備200,該設備在多個A型端口202之間切換信號。此外,還可以包括一個B型端口204且此端口連接到端口切換設備200。例如,當PC連接到集線器102時,B型端口204是集線器102服從主機控制的主要端口。為了控制端口切換設備200的操作,由微控制器206實現(xiàn)端口切換設備200的切換操作。
集線器102中還包括USB主機控制器208和USB外設控制器210,這兩個控制器均可以與端口切換設備200連接。USB主機控制器208的作用是在連接到A端口202的設備中沒有設備承擔主機控制且PC沒有連接到B端口204的時候?qū)崿F(xiàn)主機控制。因此,USB主機控制器208在沒有設備,尤其是沒有諸如On-the-Go設備聲明主機控制的時候,允許集線器擔任主機。類似地,當外部的OTG設備連接到A端口202中的一個端口或者連接到B端口204的PC聲明主機控制的時候,為了符合USB2.0規(guī)范,提供USB外設控制器210,集線器102需要作為一個設備而不是主機。
操作中,當集線器102開始加電的時候,USB主機控制器208通過在A端口202加載電壓Vbus聲明主機控制。因此,集線器102如圖3所示通過USB主機控制器208的連接線300擔當主機控制器。USB主機控制器208隨后判斷A端口202中哪一個具有對應的外部連接設備。主機控制器208為具有外部設備連接的每個A端口202分配地址,從而有效地為那些設備分配地址。此外,主機控制器208在那些外部設備上啟動主機協(xié)商協(xié)議(HNP)特性。需要注意的是,由于集線器102事實上不使用那些設備的資源,所以集線器102不需要配置設備。此外,集線器102使用USB主機控制器208和/或微控制器206來決定哪一個外部設備具有主機協(xié)商協(xié)議(HNP),能夠用于區(qū)分主機控制中的斷開和請求。一旦完成初始化,集線器102進入等待外部OTG設備中的一個設備請求USB總線主機控制的狀態(tài)。該狀態(tài)如圖4狀態(tài)圖中的狀態(tài)400圖示。
當連接到A端口202中一個端口的設備希望獲得主機控制時,該設備通過從數(shù)據(jù)線D+(即傳輸USB協(xié)議信號的USB連接線中的一條線)移除一個上拉電阻請求總線。在設備請求USB總線之后,集線器102依照USB2.0規(guī)范的OTG補充說明描述的主機協(xié)商協(xié)議(HNP)將主機控制轉(zhuǎn)移給該設備。集線器102通過微控制器206的控制在內(nèi)部重新配置端口切換設備200,從而將連接到請求總線設備的A端口202設置成如圖5所示的上游端口。如圖中所示,端口切換設備200設置A端口202中標記為202Host的一個端口,使其與剩下的A端口202和USB外設控制器210直接連接。當集線器102完成對端口切換設備200的重新配置之后,連接到A端口202Host的設備可以開始產(chǎn)生USB總線通信的過程。此外,連接到A端口202Host的設備可以逐一清點集線器,也就是為其他端口分配特定的地址,從而給外部設備分配特定的地址。在設備清點集線器102之后,該設備隨后清點系統(tǒng)中的其他設備,而且如果合適的話,啟動這些設備的主機協(xié)商協(xié)議(HNP)。需要注意的是,啟動其他設備的HNP取決于主機設備的操作。例如,在一些情況下,啟動其他設備的HNP限制在主機空閑的時候,而在其他情況下,主機設備可以允許在其活動的時候啟動HNP,這將在后面進行討論。圖4的狀態(tài)圖中從狀態(tài)400到狀態(tài)402的轉(zhuǎn)移表示了上面描述的操作,其中在通過將其上拉電阻從USB數(shù)據(jù)線D+斷開來請求控制的設備的基礎上,集線器作為OTG集線器進行操作。
如果連接到其他A端口202中另一個端口的設備希望成為主機控制者(假設該設備已被現(xiàn)在的主機啟動),該設備將其上拉電阻從USB數(shù)據(jù)線D+斷開產(chǎn)生信號,集線器102從該設備收到信號。特別地,設置集線器102檢測該信號并向現(xiàn)在的主機設備報告請求的發(fā)生。該操作依照標準的USB2.0集線器協(xié)議。作為回應,主機設備隨后向集線器102發(fā)出指令,控制集線器102將主機控制A端口202切換到新主機設備連接的特定的A端口。以前的主機設備停止產(chǎn)生總線通信,并將上拉電阻與USB數(shù)據(jù)線D+重新連接。圖4的狀態(tài)圖中當需要主機控制切換時從狀態(tài)402到狀態(tài)204的變化圖示了該操作。此外,當新的主機設備斷開上拉電阻請求主機控制的時候,狀態(tài)404變化到狀態(tài)402。
當集線器檢測到當前主機停止產(chǎn)生通信(即空閑5秒鐘)后,微控制器206將重新配置端口切換設備200,從而將連接到新的主機設備的A端口202指定為主機端口。附加地,微控制器206將設置端口切換設備200,使USB外設控制器210與該特定端口連接。隨后,新的主機設備將按照前面描述的步驟清點集線器和其他設備。
當一個OTG設備希望停止主機設備身份的時候,該設備可以停止產(chǎn)生USB通信,并將上拉電阻與USB數(shù)據(jù)線D+重新連接。圖4的狀態(tài)圖中狀態(tài)402到狀態(tài)400的轉(zhuǎn)移圖示了這種情況,其中設備表示為連接上拉電阻從而釋放主機控制。當集線器102察覺到延長的沒有數(shù)據(jù)的空閑狀態(tài),集線器102恢復它的初始加電啟動操作成為系統(tǒng)的缺省主機。如前描述,當這種情況發(fā)生時,USB主機控制器208在微控制器206控制下與端口切換設備連接,且控制器208清點集線器,而主機協(xié)商協(xié)議(HNP)按照前面描述啟動所有設備的這種功能。
在另一個例子中,集線器102可以允許個人計算機600連接到USB“B型”端口204。在這種情況下,如圖6所示,設置集線器102對端口切換設備200重新配置,從而將B型端口204指定為主機端口且將所有其他的端口202指定為下游設備端口。每次PC或類似設備連接到B型端口時,集線器102服從PC的主機控制,類似于一個代理(override)。附加地,如果USB外設控制器作為OTG集線器并連接到B端口204,USB外設控制器210將移除其上拉電阻。如圖4狀態(tài)圖所示,當在狀態(tài)400或402PC連接PC時,系統(tǒng)狀態(tài)轉(zhuǎn)移到狀態(tài)406,其中集線器102作為標準USB集線器進行操作。外設控制器210上拉電阻的移除會向當前作為主機(圖4中狀態(tài)402的情況)的任何OTG設備發(fā)出信號,告知集線器102重新獲得對USB總線的控制,同時發(fā)出信號告知個人計算機600集線器102已連接到B端口204。一旦主機控制轉(zhuǎn)移到個人計算機600,個人計算機清點集線器102,以及依照普通的非OTG USB協(xié)議連接到端口202的其他設備。
圖7,8和9的流程示了前面描述的集線器的全部操作102。如圖7所示,集線器102在加電啟動(框700)進行初始化。隨后,集線器內(nèi)的微控制器206決定B端口是否存在連接(框702)。如果B端口存在連接,集線器102內(nèi)的微控制器206設置端口切換設備200,使其作為標準USB集線器,其中B端口是上游端口(框704)??蛇x地,如果B端口不存在連接,微控制器206設置集線器102為缺省主機并將Vbus作為端口202的供給電力(框706)。隨后集線器向A型端口202中第一個端口1初始化計數(shù)器(框708)。
一旦計數(shù)器完成初始化,集線器102向內(nèi)部計數(shù)器當前設定的端口提供電力(框710)。接下來,集線器確定是否有設備連接到當前端口(框712)。如果沒有設備連接到該端口(即端口1),則計數(shù)器增加到下一個A型端口(即端口2)(框714)??蛇x地,如果有設備連接到當前的端口,集線器為連接到該端口的設備設置地址(框716)。接下來,集線器102確定連接到端口202的設備是否支持On-the-Go(框718)。如果該設備確定為不支持OTG,則計數(shù)器增加到下一個編號端口(框714)。可選地,如果該設備確定為支持OTG,集線器102啟動連接到端口202的特定設備的主機協(xié)商協(xié)議(框720)。當設備啟動HNP后,計數(shù)器增加到集線器102的多個端口202中下一個編號端口(框714)。
圖7所示的示例過程進而執(zhí)行框710-720的清點操作,直到所有的端口都有被清點的機會(框722)。一旦完成對所有端口的情況,集線器102掛起USB總線(框724)。附加地,設置集線器102產(chǎn)生中斷,斷開任何連接到A端口202的設備。如前描述,當這種情況發(fā)生時,集線器102停止所有的USB活動。同樣需要注意的是,這是主機協(xié)商協(xié)議的一部分。因此集線器102繼續(xù)監(jiān)控是否至少一個A端口斷開設備的上拉電阻改變狀態(tài)(框726)。如果沒有檢測到變化,集線器102繼續(xù)掛起總線??蛇x地,如果檢測到變化,流程進入圖8繼續(xù)圖示的框B。
圖8所示的圖7過程的繼續(xù)是當集線器設置成外圍設備(對應于圖4所示的狀態(tài)402)時的示例。此外,圖8的示例圖示了集線器與UBS2.0規(guī)范的USB OTG補充說明兼容的設置。根據(jù)這種示例,當一個A端口改變狀態(tài)為斷開(即上拉電阻斷開)時,集線器102確定哪一個A端口改變了狀態(tài)(框728)。接下來,集線器102通過連接USB外設控制器210完成對集線器外設功能的激活(框730)。集線器102通過諸如重新配置切換設備200,將確定為請求主機控制的A端口設置為上游端口(框732)。集線器102在此端口配置上拉電阻,同時設置所有其他端口為下游端口。需要注意的是,這也是主機協(xié)商協(xié)議的一個進一步的步驟。
一旦對集線器102完成重新配置,將一個A型端口202設置為上游端口,集線器102則開始檢測在預先確定的超時周期內(nèi)USB總線上是否有活動(框734)。如圖8中示例所示,超時周期接近5毫秒。然而,超時周期可以是任意值,不過優(yōu)選地設置為超過3毫秒的數(shù)值。如果在預先確定的超時周期內(nèi)沒有發(fā)生總線活動,集線器102移除上拉電阻并重新配置所有的A型端口202為下游端口(框736)??蛇x地,如果在上游端口發(fā)生了總線活動,集線器102繼續(xù)活動在外設狀態(tài),并等待總線活動的中止(框738)。也就是說,集線器102按照USB2.0規(guī)范描述執(zhí)行普通集線器功能,直到總線掛起。此外,針對詢問,集線器102說明其支持OTG,并且所有斷開活動僅僅報告給活動的DRDOTG主機。然后集線器102檢測總線是否掛起(框740)。如果總線沒有掛起,該過程繼續(xù)等待掛起。否則,當總線掛起的時候,集線器102移除上拉電阻并重新配置所有的A型端口為下游端口(框736)。于是流程返回到框A,框A將流程返回到圖7中的框706,在此集線器102再次為主機操作進行配置(框706)。
圖9圖示了圖7過程的延續(xù)的一個可選的示例,該示了當集線器設置為外圍設備,但與USB2.0規(guī)范的OTG補充說明不兼容時的過程。與圖8中框728,730,732,734,736,738和740描述的過程的部分類似,圖9中顯示的過程實現(xiàn)了同樣的過程。然而,在微控制器206檢查USB總線是否掛起(框740)之后,圖9的過程與圖8所示的過程不同。特別地,如果總線沒有掛起,集線器102檢查是否檢測到斷開的端口(框742)。如果沒有檢測到斷開的端口,過程返回到等待總線掛起(框738)。另一方面,如果檢測到斷開的端口,集線器102則將此斷開報告給當前活動的主機(框744)。在向活動的主機報告該斷開之后,集線器102檢查是否啟動了主機協(xié)商協(xié)議。這個決定可以基于從微控制器206發(fā)送到端口202的集線器“探聽包”。隨后微控制器206監(jiān)視主機協(xié)商協(xié)議啟動消息。如果主機協(xié)商協(xié)議未啟動,則集線器102繼續(xù)等待總線掛起(即從框746返回框738)。然而,如果主機協(xié)商協(xié)議啟動了,微控制器206則指示端口切換設備200進行設置,從而將請求主機控制的設備設置為上游端口,如圖9中方框746到方框732的流程所示。然后該過程不斷重復,直到框734中確定的總線活動空閑或者框740確定的總線掛起,于是流程進行到框736,在此微控制器206設置所有的A型端口為下游端口,且流程回復到圖7中所示的框706。
參看圖10,該圖顯示了依照本發(fā)明教導構(gòu)建的集線器800的范例示意圖,其中集線器具有6個A型端口802以及一個B型端口804。如圖8中所示,這些端口可以指定為端口0到端口6,其中端口0為B型端口而端口1到端口6為A型端口802。需要進一步注意的是,端口類型802,804中的每一個端口都包括一個接收(RX)緩沖區(qū)806和傳輸(TX)緩沖區(qū)808。每個接收緩沖區(qū)806連接到另一組對應的RX緩沖區(qū)810,這組緩沖器將收到的信號傳遞給各自的轉(zhuǎn)換開關配對812(除了來自于B型端口傳遞給單個反向轉(zhuǎn)換開關814的信號)。每一對轉(zhuǎn)換開關812包括一個正向轉(zhuǎn)換開關和一個反向轉(zhuǎn)換開關(意味著當正向轉(zhuǎn)換開關加載高電壓時開關打開,而反向轉(zhuǎn)換開關加載低電壓時開關打開)。因而,給定高低電壓組成的離散輸入,轉(zhuǎn)換開關配對812依賴于輸入電壓可選地打開。轉(zhuǎn)換開關配對812和轉(zhuǎn)換開關814的切換由端口切換控制器816控制。
轉(zhuǎn)換開關配對812的反向型轉(zhuǎn)換開關和轉(zhuǎn)換開關814的輸出連接到上游接收總線818,而轉(zhuǎn)換開關配對812的正向轉(zhuǎn)換開關傳遞到各自的下游接收總線RX1到RX6。這些接收總線RX1到RX6中的每條總線是多路復用器(MUX)820的輸入,該多路復用器由沖突檢測和控制器822進行控制。沖突檢測和控制器822檢測發(fā)生在接收到的信號之間的沖突,并通過控制多路復用器820的輸出有選擇性地在這些信號間進行仲裁。
上游接收總線818通過緩沖區(qū)824連接到多個下游傳輸線TX1到TX6。多路復用器820的輸出依次連接到上游傳輸總線826。轉(zhuǎn)換開關配對828的正向轉(zhuǎn)化開關連接到下游傳輸線TX1到TX6,且每一個配對還包括一個反向轉(zhuǎn)換開關。轉(zhuǎn)換開關配對828的每個反向開關連接到上游傳輸總線826。轉(zhuǎn)換開關配對828的切換控制仍然由端口切換控制器816完成。需要注意的是,傳遞給轉(zhuǎn)化開關配對828的控制電壓與傳遞給對應的轉(zhuǎn)換開關配對812的電壓一致。此外,每個轉(zhuǎn)換開關配對812和828之間的對應關系取決于特定的一個端口。例如,連接到端口1的接收緩沖區(qū)806的轉(zhuǎn)換開關配對812與連接到相同端口1的傳輸緩沖區(qū)808的轉(zhuǎn)換開關配對828接收同樣的控制電壓。
反向轉(zhuǎn)換開關830也連接到上游傳輸總線826,且與反向轉(zhuǎn)換814一樣由來自于端口切換控制器816的相同控制電壓進行控制。每個轉(zhuǎn)換開關配對828和轉(zhuǎn)換開關830的輸出通過多個各自的緩沖區(qū)832連接到端口802和804對應的傳輸緩沖區(qū)808。圖10中圖示的結(jié)構(gòu)提供了選擇性切換,可以將B型端口804指定為上游端口或者將A型端口802中的一個端口分配為上游端口。圖11和圖12一起描述了該公開的結(jié)構(gòu)如何實現(xiàn)這項功能的示例。
圖11的示例圖示了諸如PC(未圖示)連接到B端口804(即端口0)的情況。因此,在這個示例中將集線器800設置為與圖5示例類似的標準USB集線器。在這種設置中,端口切換控制器816設置向端口0通道轉(zhuǎn)換開關814和830輸出低電壓,然而從端口切換控制器816發(fā)送到轉(zhuǎn)換開關配對812和828的所有剩下的控制信號都是高電壓。因而上游端口0連接到上游接收總線818,而端口0的傳輸緩沖區(qū)808連接到多路復用器820的輸出。
如圖11所示,B型端口0接收的信號遵循特定的接收路線(如虛線所示)。從上游端口0接收的數(shù)據(jù)通過緩沖區(qū)824和下游傳輸線TX1到TX6直接傳輸給端口1到6的傳輸緩沖區(qū)808。因為從上游B型端口接收的數(shù)據(jù)向所有下游端口802廣播,該設置依照了USB2.0規(guī)范。
圖11還圖示了向B型端口0的傳輸緩沖區(qū)808發(fā)送信號的傳輸路線(如加黑實線所示)。在這種特定的示例中,顯示了標記為“端口4”的下游端口802向上游端口“端口0”發(fā)送數(shù)據(jù)。因此,圖中顯示了端口4的接收緩沖區(qū)806接收的信號發(fā)送到對應于端口4的轉(zhuǎn)換開關配對902。由于端口切換控制器816提供了高信號,配對902的正向轉(zhuǎn)換開關904打開,而反向轉(zhuǎn)換開關906關閉。因此,信號發(fā)送到連接到多路復用器820的下游接收線RX4。如前所述,多路復用器820在控制器822的指示下在下游接收線間仲裁。多路復用器820的輸出連接到上游傳輸總線826。如圖11所示,來自端口4的信號通過反向轉(zhuǎn)換開關830和緩沖區(qū)832傳送給端口0的接收緩沖區(qū)808。
圖12圖示了集線器800設置為On-the-Go兼容的示例。在這種示例中,端口切換控制器816選擇一個A型端口802(即端口3)作為主機端口。該選擇通過端口切換控制器816在所有輸出加載高信號而在端口3轉(zhuǎn)換開關配對1002和1004的輸入加載低信號實現(xiàn)。結(jié)果上游端口3的接收緩沖區(qū)806接收的信號向剩下的端口1,2和4-6廣播,如圖12虛線所示。同樣需要注意的是,由于圖12的示例是USB OTG集線器,該信號不能傳輸給B端口804。
附加地,圖12的示例圖示了諸如連接到端口1的設備通過集線器800向主機端口3發(fā)送信號的情況(即從端口1的接收緩沖區(qū)806到端口3的傳輸緩沖區(qū)808)。這里用加黑實線圖示通過緩沖區(qū)810、轉(zhuǎn)換開關配對1006的正向轉(zhuǎn)換開關、多路復用器820、轉(zhuǎn)換開關配對1004的反向轉(zhuǎn)換開關到端口3的傳輸緩沖區(qū)從端口1到端口3的信號通路。沖突檢測和控制器822完成對來自于端口1的特定信號的選擇,因而允許信號傳遞給上游傳輸總線826。需要注意的是,這也依照了USB2.0的規(guī)范。
在另一種示例中,圖13圖示了在USB OTG兼容集線器1100中實現(xiàn)任何數(shù)量m+1端口的示例。如圖所示,包括了標記為端口0的B型端口1102和“m”個標記為端口1到“m”的A型端口1104。與圖10到12的示例類似,集線器1100包括一個端口切換控制器1106,該控制器根據(jù)承擔主機控制的端口產(chǎn)生設置端口為上游或下游端口的控制信號。任何時間只有一個端口設置為上游端口。因此,具有主機控制的端口1104設置為上游端口,而所有其他A型端口1104設置為下游端口。與前面示例類似,如果個人計算機連接到B型端口1102(該B型端口可選),B型端口1102啟動(類似代理),被設置為上游端口并賦予主機控制。在A型端口1104具有主機控制且沒有個人計算機連接到B型端口1102的時候,該端口禁用。
一般來說,端口切換控制器1106的功能是聲明(assert)對應于上游端口的輸出控制線和解除聲明(D-assert)(即提供高信號)對應下游端口的控制線。這些控制信號在不同的端口之間打開和關閉信號通路,從而集線器1100根據(jù)USB2.0規(guī)范對操作進行正確地設置。也就是說,設置為上游端口的端口依照標準上游端口工作,而設置為下游端口的端口依照USB2.0規(guī)范的定義按照下游端口工作。
盡管這里依照本發(fā)明的教導描述了某些設備和方法,本專利的覆蓋并不僅限于此。相反,本專利涵蓋權利要求范圍內(nèi),無論是嚴格意義上還是同等物的原理,依照本發(fā)明教導的所有的實施例。
權利要求
1.一種通用串行總線集線器設備,包括設置將集線器設備與一個或多個外部設備連接的多個端口;控制器設備;和由控制器設備控制的端口切換設備,有選擇性地連接多個端口中的一個作為主機端口而連接其他的多個端口作為設備端口。
2.如權利要求1所述的設備,其中,多個端口中的每個端口包含A型通用串行總線端口。
3.如權利要求2所述的設備,進一步包括包含B型通用串行總線端口的代理端口,用以允許個人計算機連接獲取主機控制。
4.如權利要求1所述的設備,進一步包括沖突檢測和控制設備,設置用于檢測作為設備端口的多個端口從外部設備接收的傳輸給主機端口的信號之間發(fā)生的信號沖突,并通過有選擇地切換多路復用電路減輕沖突
5.如權利要求1所述的設備,其中,控制器檢測作為主機端口的端口處于空閑狀態(tài)何時達到預先確定的時間,并控制端口切換設備連接集線器設備作為主機控制。
6.如權利要求1所述的設備,其中,控制器包含微控制器、USB主機控制器和USB外設控制器。
7.如權利要求6所述的設備,其中,設置微控制器在集線器設備啟動時將USB主機控制器與端口切換設備通信連接。
8.如權利要求7所述的設備,其中,設置微控制器檢測何時接收到擔當主機控制的外部設備通過該外部設備連接的多個端口中的一個端口發(fā)出的請求,并設置微控制器控制端口切換設備重新配置切換設備,從而使所有其他端口作為設備端口以響應檢測到的請求。
9.如權利要求8所述的設備,其中,設置微控制器連接USB外設控制器擔當主機端口空閑一段預先確定的時間,并且,微控制器控制端口切換設備連接集線器設備作為主機控制。
10.如權利要求1所述的設備,其中,設置集線器按照USB2.0規(guī)范的On-the-Go補充說明進行操作,且端口設置為與On-the-Go雙模式設備可以進行連接。
11.如權利要求1所述的設備,其中,設置控制器在集線器啟動、當前主機設備空閑和主機控制在兩個外圍設備間轉(zhuǎn)移這些事件中至少一個發(fā)生的時候擔當主機控制。
12.一種USB通信系統(tǒng),包括一個或多個雙模式外圍設備;和集線器,包括設置將集線器設備與一個或多個外圍設備連接的多個端口;控制器設備;和由控制器設備控制的端口切換設備,用于有選擇性地連接多個端口中的一個端口擔當主機端口,允許一個或多個雙模式外圍設備中的雙模式外設擔當主機控制,而其他多個端口擔當設備端口。
13.如權利要求12所述的系統(tǒng),其中,多個端口中的每個端口包含A型通用串行總線端口。
14.如權利要求13所述的系統(tǒng),進一步包括包含B型通用串行總線端口的代理端口,用于允許個人計算機連接獲取主機控制。
15.如權利要求12所述的系統(tǒng),進一步包括沖突檢測和控制設備,設置用于檢測作為設備端口的多個端口從外部設備接收的傳輸給主機端口的信號之間發(fā)生的信號沖突,并通過有選擇地切換多路復用電路減輕沖突。
16.如權利要求12所述的系統(tǒng),其中,控制器檢測作為主機端口的端口處于空閑狀態(tài)何時達到預先確定的時間,并控制端口切換設備連接集線器設備作為主機控制。
17.如權利要求12所述的系統(tǒng),其中,控制器包括微控制器、USB主機控制器和USB外設控制器。
18.如權利要求17所述的系統(tǒng),其中,設置微控制器在集線器設備啟動時將USB主機控制器與端口切換設備通信連接。
19.如權利要求18所述的系統(tǒng),其中,設置微控制器檢測何時接收到擔當主機控制的外部設備通過該外部設備連接的多個端口中的一個端口發(fā)出的請求,并設置微控制器控制端口切換設備重新配置切換設備,從而使所有其他端口作為設備端口以響應檢測到的請求。
20.如權利要求19所述的系統(tǒng),其中,設置微控制器連接USB外設控制器端口擔當主機端口空閑一段預先確定的時間,并且,微控制器控制端口切換設備連接集線器設備作為主機控制。
21.如權利要求12所述的系統(tǒng),其中,設置集線器按照USB2.0規(guī)范的On-the-Go補充說明進行操作,且端口設置為與On-the-Go雙模式設備可以進行連接。
22.如權利要求12所述的系統(tǒng),其中,設置控制器在集線器啟動、當前主機設備空閑和主機控制在兩個外圍設備間轉(zhuǎn)移這些事件中的至少一個發(fā)生的時候擔當主機控制。
23.一種對具有多個端口和用于控制端口路由的集線器控制器的USB集線器進行操作的方法,該方法包括在啟動階段,將集線器作為具有主機控制的主機設備進行操作;使用集線器控制器確定多個端口中的哪些端口連接到對應的外部設備,并為那些設備分配地址;在外部設備上啟動主機協(xié)商協(xié)議;和當集線器控制器通過第一端口接收到來自第一外部設備的主機控制請求的時候,將主機控制從集線器轉(zhuǎn)移到連接到多個端口中的第一端口的第一外部設備。
24.如權利要求23所述的方法,進一步包括根據(jù)預先確定的條件,當收到主機控制的外部設備不再請求主機控制后,將主機控制從第一外部設備轉(zhuǎn)移回集線器控制器。
25.如權利要求24所述的方法,其中,預先確定的條件包括當?shù)谝煌獠吭O備連接的端口沒有進行通信,即意味著第一外部設備處于空閑狀態(tài)的時候。
26.如權利要求24所述的方法,其中,預先確定的條件包括當集線器收到來自第一外部設備、說明該外部設備不再請求主機控制的信號的時候。
27.如權利要求23所述的方法,進一步包括當集線器通過第二端口接收到來自第二外部設備的請求主機控制的信號的時候,將主機控制轉(zhuǎn)移到連接到多個端口中的第二端口的第二外部設備。
28.如權利要求23所述的方法,進一步包括當個人計算機連接到代理端口時,將主機控制轉(zhuǎn)移到多個端口中的代理端口。
全文摘要
這里公開了一種通用串行總線集線器設備(102)和方法,該設備和方法與USB2.0規(guī)范的On-the-Go(OTG)補充說明兼容,從而允許雙模式設備(OTG設備)通過集線器連接。集線器包括將集線器與一個或多個外部設備連接的多個端口(202),其中外部設備可以包括OTG設備。集線器內(nèi)的控制器控制其中的操作。該集線器還包括由控制器控制的端口切換設備(200),用于有選擇性地允許多個端口中的一個端口作為主機端口而剩下的其他端口作為設備端口。
文檔編號G06F13/40GK1672139SQ03817990
公開日2005年9月21日 申請日期2003年7月8日 優(yōu)先權日2002年7月26日
發(fā)明者埃里克·J·奧弗圖姆, 馬克·R·布朗, 馬克·卡爾森 申請人:摩托羅拉公司