Robert Voto
Shyambabu Yeda
Craig Petku
相關(guān)申請(優(yōu)先權(quán)要求)
本申請要求2013年9月26日提交的美國臨時申請S/N 61/882,915的權(quán)益,其全部內(nèi)容以引用方式并入本文。
背景
本發(fā)明總體上涉及例如在移動消費(fèi)者設(shè)備與車輛電子系統(tǒng)之間的通用串行總線(“USB”)連接性。具體而言,本發(fā)明涉及一種系統(tǒng),該系統(tǒng)被配置為提供充當(dāng)USB主機(jī)或者USB設(shè)備的消費(fèi)者設(shè)備可以通過車輛中的嵌入式USB集線器連接到車輛的不具有“無主機(jī)中轉(zhuǎn)式”(On the Go,“OTG”)能力的嵌入式USB主機(jī)。
以往,諸如媒體播放器、智能電話、平板電腦等的移動消費(fèi)者設(shè)備依靠到諸如便攜式計算機(jī)或臺式個人計算機(jī)(“PC”)之類的其他設(shè)備的連接以獲取內(nèi)容、交換數(shù)據(jù)和為設(shè)備的內(nèi)部電池充電。多年以來,這通過每一個設(shè)備上的USB端口來實(shí)現(xiàn)。USB技術(shù)的使用適合于這種需要,因?yàn)樗ㄓ?,終端用戶熟悉,成本高效的且無處不在。USB協(xié)議要求點(diǎn)對點(diǎn)連接,其中一端是USB主機(jī)或主控,另一端是USB設(shè)備或從屬設(shè)備。以此方式,管理并控制兩個設(shè)備之間的消息流,由此USB設(shè)備對USB主機(jī)發(fā)起的消息作出響應(yīng)。以往,PC提供了USB主機(jī)端口以用于連接到較簡單的USB設(shè)備,諸如打印機(jī)、記憶棒、移動電話等。USB主機(jī)具有比USB設(shè)備更大的軟件和硬件要求的負(fù)擔(dān),所以在這種系統(tǒng)中將PC指定為USB主機(jī)是有意義的。
在采用USB連接的汽車系統(tǒng)中適用相同的概念。在這種系統(tǒng)中,車輛通常是USB主機(jī)。USB主機(jī)功能常常嵌入到車輛信息娛樂系統(tǒng)的部件中,諸如嵌入到收音機(jī)或其他控制模塊中。典型地,將多個USB端口戰(zhàn)略地設(shè)計到車輛中且在對于駕駛者和乘客便于連接他們的消費(fèi)者設(shè)備的位置處。一旦將消費(fèi)者設(shè)備被連接到端口中的一個,設(shè)備就開始充電并且車輛信息娛樂系統(tǒng)可以訪問消費(fèi)者設(shè)備上的內(nèi)容。這對于實(shí)現(xiàn)設(shè)備可以提供的諸如流媒體音樂、視頻和其他服務(wù)的特征是有用的。
這個系統(tǒng)要求每一個USB端口都以適合于USB數(shù)據(jù)流的方式物理地連接到車輛的USB主機(jī)。這通過電氣布線來實(shí)現(xiàn),所述電布線嵌入在車輛中并將每一個端口連接到USB主機(jī)。由于車輛中可存在許多USB端口,并且每一個端口都需要電纜以便將端口連接到USB主機(jī),希望在可能的情況下共享布線以最小化車輛的成本和質(zhì)量。這通過使用USB集線器來實(shí)現(xiàn)。USB集線器允許單個USB主機(jī)通過在USB主機(jī)與USB集線器之間的單條電纜連接到多個USB設(shè)備。如圖1和2中所示的,單個USB集線器可以將一個USB主機(jī)連接到若干USB設(shè)備。具體而言,圖1示出了一種系統(tǒng),其中具有多個USB端口的自供電USB集線器連接到多個USB設(shè)備(經(jīng)由多個面向消費(fèi)者的USB端口),同時圖2示出了一種系統(tǒng),其中自供電的USB集線器不僅提供與多個面向消費(fèi)者的USB端口通信的多個USB端口,還提供安全數(shù)字(“SD”)卡讀取器,此安全數(shù)字卡讀取器連接到面向消費(fèi)者的SD卡連接器。圖1和2的其他部分(諸如電源管理器)在工業(yè)中是標(biāo)準(zhǔn)的并且根據(jù)查看圖1和2而無需解釋。
此外,如圖3所示,多個USB集線器可以被層疊,以使得USB集線器連接到其他USB集線器。具體而言,圖3示出了汽車系統(tǒng)架構(gòu),其包括中央車輛微控制器(也稱為頭部單元或“HU”)。連接到頭部單元的是部件或系統(tǒng),諸如顯示器、音頻系統(tǒng)、娛樂系統(tǒng)和驅(qū)動器控制。頭部單元可以被構(gòu)建為包含全部功能的單個模塊,或者是分布式的以使得由各個模塊來管理多種功能。頭部單元包括根USB集線器,其通常連接到分布在整個車輛中的一個或多個下游USB集線器。每一個USB集線器都具有多個下游端口(所述多個下游端口中的至少一個可以是SD讀取器或USB音頻設(shè)備),從而有效地提供車輛中的每一個USB端口具有到USB主機(jī)或頭部單元的連接。例如在圖3中,根集線器嵌入到收音機(jī)中,并連接到四個(4)自供電的USB集線器,其中一個在車輛的中央控制臺中,一個在車輛的中控面板中,以及兩個在車輛的后座中。
近來,諸如智能電話之類的移動設(shè)備獲得普及。這部分是由于它們作為單獨(dú)的計算設(shè)備的效用。隨著消費(fèi)者電子技術(shù)的發(fā)展和移動網(wǎng)絡(luò)速度的增大,這些設(shè)備不再依賴于連接到PC來訪問內(nèi)容。這些智能移動設(shè)備現(xiàn)在具有許多過去僅PC具有的相同硬件資源、連接性和軟件操作系統(tǒng)。如臺式PC的情況,用于這些移動設(shè)備的附件已經(jīng)變成可用于幫助它們的容易使用。這些附件已經(jīng)包括多種設(shè)備,諸如鍵盤、鼠標(biāo)、顯示器、觸摸屏、音頻系統(tǒng)和其他接口設(shè)備。這些附件通常經(jīng)由USB連接來進(jìn)行連接。借助消費(fèi)電子市場中已經(jīng)建立的慣例,這些附件通常是低成本的并且局限于僅充當(dāng)USB設(shè)備的USB能力。為了將它們連接到智能電話,智能電話必須是USB主機(jī)。因此,領(lǐng)先的移動設(shè)備制造商和系統(tǒng)設(shè)計者已經(jīng)開始設(shè)計他們的移動設(shè)備產(chǎn)品(即智能電話、平板電腦等)以同時支持USB主機(jī)和USB設(shè)備角色。換句話說,電話可以配置其自身以使得它可以在需要是USB設(shè)備時用作USB設(shè)備,或者在需要是USB主機(jī)時用作USB主機(jī)。近來,系統(tǒng)級設(shè)計思路已經(jīng)轉(zhuǎn)向?qū)⒅悄茈娫捯暈閁SB主機(jī),并將連接到其的任何設(shè)備視為USB設(shè)備。同樣,這并不令人驚訝,因?yàn)檫@正是便攜式計算機(jī)和PC當(dāng)前如何工作的。將這一趨勢延伸至將來,可以預(yù)見智能電話將主要充當(dāng)USB主機(jī),并且將很少或從不充當(dāng)USB設(shè)備。這為汽車系統(tǒng)帶來了一些問題。
如前解釋的,汽車系統(tǒng)具有USB主機(jī)并且要求USB設(shè)備連接到它。如果電話充當(dāng)USB主機(jī),那么系統(tǒng)將不運(yùn)行,因?yàn)榘凑誙SB慣例,兩個USB主機(jī)不能彼此直接連接。汽車制造商希望與智能電話的兼容性,因而有動機(jī)來適應(yīng)這個變化的技術(shù)。車輛中USB架構(gòu)的重新設(shè)計因而是必要的,以使得車輛可以充當(dāng)USB主機(jī)(在需要連接到諸如記憶棒、拇指驅(qū)動器等的USB設(shè)備時)或USB設(shè)備(在需要連接到USB主機(jī)時,諸如要求作為USB主機(jī)而不是USB設(shè)備的智能電話)。
USB組織已經(jīng)增加了標(biāo)準(zhǔn),此標(biāo)準(zhǔn)解決對設(shè)備充當(dāng)USB主機(jī)或USB設(shè)備的需要,因而可以認(rèn)為是“雙角色”USB控制器。它在USB術(shù)語中被稱為“無主機(jī)中轉(zhuǎn)式”或簡稱為“OTG”。滿足OTG標(biāo)準(zhǔn)的任何設(shè)備可以充當(dāng)USB主機(jī)或者USB設(shè)備,并可以動態(tài)地改變角色。因此,修改車輛USB架構(gòu)以支持所有使用情況的一個可能的方案是將車輛的USB主機(jī)升級到USB OTG。這個解決方案解決了這個問題但具有一些缺點(diǎn)。首先,USB主機(jī)不支持OTG并且不能再用于系統(tǒng)中。支持OTG的每一個消費(fèi)者可接取的USB端口都必須具有到頭部單元中的專用OTG控制器的專用電線鏈路,因而否定了與使用USB集線器相關(guān)的線路節(jié)省。因此,可能需要將若干昂貴的電纜增加到車輛的電系統(tǒng)。其次,可能沒有足夠的可用于頭部單元中的OTG控制器以連接到每一個車輛的用戶可接取的USB端口。這于是迫使車輛設(shè)計者選擇有限數(shù)量的車輛中的多個USB端口來支持OTG功能并對它們運(yùn)用專用的USB電纜。這會導(dǎo)致用戶困惑和不滿,因?yàn)閮H某些消費(fèi)者端口支持所需的功能。此外,支持OTG的端口可以與不支持OTG的其他物理上相同的端口位于相同位置。如果用戶選擇了錯誤的一個端口,他們希望從要求USB主機(jī)模式的消費(fèi)者設(shè)備運(yùn)行的應(yīng)用程序?qū)⒉还ぷ鳌?/p>
另一個可能的解決方案是實(shí)施定制USB集線器,其中USB集線器在被命令這樣做時能夠?qū)⑵渖嫌味丝谂c一個其下游端口動態(tài)地交換。利用這個概念構(gòu)造的系統(tǒng)解決方案仍需要頭部單元中的OTG控制器但得益于無需在汽車中安裝額外的電線的事實(shí)。在USB OTG主機(jī)與USB集線器之間的現(xiàn)有USB電纜可有助于頭部單元(HU)中的USB OTG控制器與USB主機(jī)中的消費(fèi)者設(shè)備(諸如智能電話)之間必要的USB通信。然而這個解決方案也具有一些缺點(diǎn)。例如,當(dāng)命令USB集線器將其上游端口與下游端口交換時,USB集線器的所有其他下游端口都失去其與頭部單元的數(shù)據(jù)連接。而在這個模式中,頭部單元停止訪問集線器的其他下游端口。這會阻止使用某些車輛系統(tǒng)功能,諸如需要對集線器的其他下游端口的一致訪問來工作的導(dǎo)航或音頻回放。此外,它要求HU具有可用的USB OTG端口和信號傳輸路徑來控制集線器上游/下游端口配置。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例的目的是提供一種系統(tǒng),所述系統(tǒng)被配置為使得車輛的嵌入式USB主機(jī)系統(tǒng)能夠通過USB集線器連接到移動設(shè)備,而不管所述移動設(shè)備被配置為充當(dāng)USB主機(jī)還是USB設(shè)備,并且無需在頭部單元中提供OTG或雙重角色控制器且無需在車輛中提供額外的布線。優(yōu)選地,不要求對HU中的USB主機(jī)電路進(jìn)行硬件改變。
本發(fā)明的實(shí)施例提供了一種系統(tǒng),可以在車輛的嵌入式USB主機(jī)與提供在車輛中的至少一個(但優(yōu)選多個)面向消費(fèi)者的USB端口之間使用所述系統(tǒng)以用于到消費(fèi)者設(shè)備的連接。系統(tǒng)被配置為識別并控制需要求消費(fèi)者設(shè)備作為USB主機(jī)還是USB設(shè)備連接到每一個USB端口。此外,在希望時,系統(tǒng)能夠在USB設(shè)備模式與USB主機(jī)模式之間動態(tài)地切換設(shè)備連接。在消費(fèi)者設(shè)備充當(dāng)USB設(shè)備的情況下,一般通過USB集線器將信號路由到頭部單元。在消費(fèi)者設(shè)備充當(dāng)USB主機(jī)的情況下,在消費(fèi)者設(shè)備與車輛的嵌入式USB主機(jī)之間的信號通過USB主機(jī)路由并處理到主機(jī)橋,所述主機(jī)橋連接到USB集線器,從而致使消費(fèi)者設(shè)備可與車輛的嵌入式USB主機(jī)兼容。
本發(fā)明能夠被實(shí)現(xiàn)在若干不同實(shí)施例中。例如,本發(fā)明的實(shí)施例包括USB集線器模塊,所述USB集線器模塊具有實(shí)現(xiàn)為分立設(shè)備的USB集線器、USB橋和USB路由開關(guān)。USB集線器上游端口被配置為連接到車輛的嵌入式USB主機(jī)(諸如頭部單元中的USB主機(jī))。USB集線器模塊還包括開關(guān)設(shè)備(諸如USB模擬多路復(fù)用開關(guān)),所述開關(guān)設(shè)備被配置為將每一個消費(fèi)者端口路由到橋或集線器。USB橋被配置為有效地控制開關(guān)設(shè)備?;趤碜灶^部單元的信號、連接到USB端口的消費(fèi)者設(shè)備充當(dāng)USB主機(jī)還是USB設(shè)備來配置USB橋。在消費(fèi)者設(shè)備充當(dāng)USB主機(jī)的情況下,USB橋控制開關(guān)設(shè)備將USB端口路由到橋。橋處理來自消費(fèi)者設(shè)備的信號并且將它們提供給USB集線器,從而致使消費(fèi)者設(shè)備可與車輛的嵌入式USB主機(jī)兼容。在消費(fèi)者設(shè)備充當(dāng)USB設(shè)備的情況下,USB橋控制開關(guān)設(shè)備以使得開關(guān)設(shè)備將信號提供給USB集線器且有效地繞過橋。
本發(fā)明的又另一個實(shí)施例提供了USB路由邏輯、USB橋和USB集線器集成在單一組合USB集線器/USB橋集成電路(IC)中。
其他的實(shí)施例是完全可能的,本文描述并示出了其中的一些。例如,概念可以延伸為包括額外的嵌入式USB設(shè)備功能,諸如USB HID和USB音頻。此外,還設(shè)想了集線器模塊的所有面向消費(fèi)者的USB端口都可以仿真或者以其他方式支持雙角色USB能力,只要每一個下游端口具有橋以支持用于連接的設(shè)備的USB主機(jī)模式以及到USB集線器的直接連接以支持USB設(shè)備模式。在所有情況下,優(yōu)選保持對USB協(xié)議和架構(gòu)的兼容性。
附圖說明
通過參考結(jié)合附圖作出的以下描述可以最佳地理解本發(fā)明的結(jié)構(gòu)和操作的組織與方式連同其進(jìn)一步的目的和優(yōu)點(diǎn),在附圖中,相同的參考標(biāo)記標(biāo)識相同的元件,其中:
圖1示出了一種系統(tǒng),其中多端口自供電的USB集線器用于將單個USB主機(jī)連接到多個USB端口;
圖2示出了一種系統(tǒng),其中自供電的USB集線器不僅提供多個USB端口,還提供安全數(shù)字(“SD”)卡讀取器;
圖3示出了一種車輛信息娛樂系統(tǒng)結(jié)構(gòu),其中多個USB集線器連接在一起或?qū)盈B以使得USB集線器饋送其他USB集線器;
圖4示出了根據(jù)本發(fā)明實(shí)施例的系統(tǒng),其中作為USB集線器、USB橋和開關(guān)設(shè)備被提供為分立的部件;
圖5示出了根據(jù)本發(fā)明的可選實(shí)施例的系統(tǒng),其中USB路由/開關(guān)邏輯和USB橋與USB集線器一起集成在組合USB集線器/USB橋集成電路(IC)中;
圖6示出了圖5中所示的組合USB集線器/橋IC的不同部件;
圖7示出了圖5和圖6中所示的USB橋的一個可能的端點(diǎn)配置;以及
圖8示出了頭部單元軟件架構(gòu)的示例實(shí)現(xiàn)方式。
具體實(shí)施方式
盡管本發(fā)明容許有不同形式的實(shí)施例,但在附圖中示出了并且將在本文中詳細(xì)描述了特定實(shí)施例,應(yīng)理解的是,本公開認(rèn)為是本發(fā)明的原理的例證,并不意在將本發(fā)明局限于所描繪的。
圖4示出了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)。此系統(tǒng)被配置為有效地使得車輛的嵌入式USB主機(jī)可與消費(fèi)者設(shè)備兼容,消費(fèi)者設(shè)備被配置為充當(dāng)USB主機(jī)或者USB設(shè)備。此系統(tǒng)是自供電的USB集線器模塊的形式,具有實(shí)現(xiàn)為分立設(shè)備的USB、USB橋和開關(guān)設(shè)備。USB集線器優(yōu)選地以集成電路(IC)的形式來提供并且被配置為(經(jīng)由上游USB端口)經(jīng)由車輛內(nèi)部線路(諸如在一個實(shí)施例中,經(jīng)由頭部單元與USB集線器之間的單一USB數(shù)據(jù)電纜)連接到車輛的嵌入式USB主機(jī)(諸如頭部單元中的USB主機(jī))。USB集線器還包括多個下游USB端口,所述多個下游USB端口中的至少一個連接到USB橋(其也優(yōu)選地以集成電路(IC)的形式來提供)。USB集線器的至少一個下游USB端口連接到開關(guān)設(shè)備(例如,諸如USB模擬多路復(fù)用開關(guān))。開關(guān)設(shè)備被配置為連接到車輛中的至少一個USB端口,以便連接到消費(fèi)者設(shè)備。USB橋被配置為有效地控制開關(guān)設(shè)備,盡管可以設(shè)想其他的控制機(jī)構(gòu)。USB集線器模塊被配置為使得從至少一個USB端口接收的信號由開關(guān)設(shè)備接收,并且開關(guān)設(shè)備將信號路由到USB橋或USB集線器。在消費(fèi)者設(shè)備充當(dāng)USB主機(jī)的情況下,USB橋處理來自消費(fèi)者端口的USB數(shù)據(jù)包并將它們提供給USB集線器,從而致使消費(fèi)者設(shè)備可與車輛的嵌入式USB主機(jī)兼容。在消費(fèi)者設(shè)備充當(dāng)USB設(shè)備的情況下,USB橋控制開關(guān)設(shè)備以使得開關(guān)設(shè)備將USB信令直接提供給USB集線器,繞過橋。
如圖4所示,系統(tǒng)還包括電源管理結(jié)構(gòu)以及圖4中未具體示出的一些其他常規(guī)結(jié)構(gòu),但本領(lǐng)域普通技術(shù)人員易于設(shè)想其存在。
在使用中,頭部單元經(jīng)由USB橋硬件或任何其他常規(guī)控制手段來控制開關(guān)設(shè)備。HU軟件應(yīng)用程序可以選擇為例如通過請求、命令或者以其他方式獲知電話被要求處于USB主機(jī)模式中并命令電話所附連的特定USB端口到USB橋的路由來使能在任一消費(fèi)者USB端口上的電話。一旦路由到USB橋,電話將檢測到連接了USB設(shè)備并且電話將開始標(biāo)準(zhǔn)的USB枚舉序列。檢測和枚舉過程由USB標(biāo)準(zhǔn)來限定并且在此不詳細(xì)解釋。然而為了描述本發(fā)明的操作的目的,本文提供了一般的理解。枚舉過程遵循來自USB主機(jī)的USB描述符請求和來自USB設(shè)備的USB描述符響應(yīng)的嚴(yán)格順序,其允許主機(jī)確定設(shè)備的能力和功能并配置USB設(shè)備以便操作。一旦獲知了設(shè)備描述符的完整集合,USB主機(jī)于是就將加載適當(dāng)?shù)腢SB驅(qū)動器和應(yīng)用程序以支持USB設(shè)備提供的功能。在本發(fā)明的范圍中,構(gòu)想到對于由電話(USB主機(jī))作出的描述符請求的響應(yīng)由橋本地地應(yīng)答,或者優(yōu)選地,將請求通過橋轉(zhuǎn)發(fā)到頭部單元,在頭部中,其設(shè)備驅(qū)動器處理請求并返回響應(yīng)。來自設(shè)備驅(qū)動器的描述符響應(yīng)被傳送到USB橋,所述USB橋隨后進(jìn)而將所述描述符響應(yīng)傳遞到電話。通過將描述符請求傳遞到頭部單元驅(qū)動器并將來自頭部單元驅(qū)動器的響應(yīng)返回到消費(fèi)者設(shè)備,橋在USB系統(tǒng)架構(gòu)中呈現(xiàn)為透明部件。系統(tǒng)能力由頭部單元來控制并且系統(tǒng)保持靈活性而無需在系統(tǒng)設(shè)計者要求改變描述符響應(yīng)時改變橋固件或硬件。一旦消費(fèi)者設(shè)備完成枚舉過程,消費(fèi)者設(shè)備就獲知頭部單元的USB功能能力并且消費(fèi)者設(shè)備可以實(shí)現(xiàn)通過USB通信使用這些功能。此時,消費(fèi)者設(shè)備或頭部單元可以開始激活任意數(shù)量的受支持的服務(wù),諸如經(jīng)由USB橋往來于車輛的數(shù)據(jù)連接、流媒體音頻和流媒體視頻。
可提供本發(fā)明的另一個實(shí)施例,其中橋被配置為充當(dāng)OTG端口,從而否定了對開關(guān)和/或路由邏輯的需要。在此情況下,對于每一個下游端口會存在一個橋功能塊。這個實(shí)施例實(shí)際上是圖4中所示示例的更普遍的情況。圖4僅示出一個橋,可以將任意一個消費(fèi)者USB端口路由到所述橋。僅利用一個橋,一次僅可將一個USB端口連接到USB主機(jī)。然而如果集線器的每一個下游端口都具有專用橋,那么多個消費(fèi)者端口就可以在相同時刻支持到USB主機(jī)設(shè)備的連接。因而,任意消費(fèi)者端口都可以彼此無關(guān)地在任意時間處于USB主機(jī)或USB設(shè)備模式中。
圖5示出了可選實(shí)施例,其中開關(guān)設(shè)備包括USB路由邏輯并且USB路由邏輯和USB橋與USB集線器一起集成在組合USB集線器/USB橋集成電路(IC)中。此配置相對于利用在印刷電路板上連接在一起的分立部件來構(gòu)建它具有成本和尺寸優(yōu)勢。
圖6示出了圖5中所示的USB集線器/USB橋集成電路(IC)的內(nèi)部部件。如所示的,優(yōu)選地,USB橋的部件包括橋控制器以及端點(diǎn)緩沖器。雖然端點(diǎn)的準(zhǔn)確配置實(shí)際上由系統(tǒng)設(shè)計者針對特定需要的選擇來決定,圖7中示出了一個可能的端點(diǎn)配置的具體示例;然而許多其他的示例是可能的。
如圖7所示,橋的端點(diǎn)可以設(shè)計為支持在主機(jī)A(頭部單元)與主機(jī)B(消費(fèi)者設(shè)備)之間的批量USB數(shù)據(jù)連接的多個管道。在橋中,設(shè)備A的IN端點(diǎn)連接到設(shè)備B的OUT端點(diǎn)并且設(shè)備A的OUT端點(diǎn)連接到設(shè)備B的IN端點(diǎn)。橋的設(shè)計可以使得在端點(diǎn)之間的數(shù)據(jù)流可以是直接的或緩沖的。例如,在直接連接的情況下,一旦在設(shè)備A OUT端點(diǎn)上從主機(jī)A接收到USB數(shù)據(jù)包,如果設(shè)備B IN端點(diǎn)可用,橋的內(nèi)部邏輯就將數(shù)據(jù)包移動到設(shè)備B IN端點(diǎn)。如果設(shè)備B IN端點(diǎn)滿了或者以其他方式不可用,那么將拒絕主機(jī)A在橋中將更多數(shù)據(jù)包發(fā)送到設(shè)備A的隨后嘗試,直到設(shè)備B IN端點(diǎn)清空且將設(shè)備A OUT緩沖器的內(nèi)容移動到它為止??蛇x地,在設(shè)備A與B的端點(diǎn)之間的橋中可以存在本地緩沖器。例如,在設(shè)備A的OUT端點(diǎn)上接收的數(shù)據(jù)包被放置在本地存儲器設(shè)備中以便臨時儲存,直到設(shè)備B IN端點(diǎn)為它們做好準(zhǔn)備。OUT端點(diǎn)因而能夠從主機(jī)接收多個數(shù)據(jù)包,直到緩沖器滿了為止。類似地,IN端點(diǎn)有時可以發(fā)送多個包,直到緩沖器空了為止。不要求這種緩沖器,但是在USB主機(jī)中的一個偶爾忙并且不能以與其他USB主機(jī)相同的速度跟上USB事務(wù)處理的某些情況下設(shè)想這種緩沖器以改進(jìn)系統(tǒng)吞吐量性能。不管緩沖器配置如何,橋硬件具有在設(shè)備A上的IN和OUT端點(diǎn),分別映射到設(shè)備B上的OUT和IN端點(diǎn),從而形成雙向橋,所述雙向橋利用足以支持系統(tǒng)的應(yīng)用程序需要的帶寬在兩個USB主機(jī)之間傳遞USB通信。
同樣如圖7所示,設(shè)備A和設(shè)備B提供了連接到其相應(yīng)USB主機(jī)的雙向控制端點(diǎn)。每個USB標(biāo)準(zhǔn)都需要控制端點(diǎn)以在枚舉序列期間和之后支持在主機(jī)與設(shè)備之間的USB限定的控制消息??扇芜x地,每個USB標(biāo)準(zhǔn)還可以利用USB端點(diǎn)來采用旨在控制用戶定義的定制設(shè)備特定行為的消息,稱為銷售商特定消息。如圖7中可見,控制端點(diǎn)映射到橋控制器(BC)。BC邏輯可以以硬件或者優(yōu)選地以軟件的形式實(shí)現(xiàn)。BC提供發(fā)送、接收和處理USB標(biāo)準(zhǔn)控制端點(diǎn)消息以及銷售商特定消息的能力,其對于橋的控制和操作是重要的。在系統(tǒng)啟動時,A主機(jī)經(jīng)由控制端點(diǎn)從BC請求并接收描述符。一旦完成,主機(jī)A就在其軟件棧中加載橋驅(qū)動器并配置定制橋硬件以便操作。主機(jī)A隨后可以控制橋的功能,諸如USB開關(guān)路由控制。系統(tǒng)現(xiàn)在準(zhǔn)備好接受與在橋的B設(shè)備上的USB主機(jī)模式消費(fèi)者設(shè)備的連接。當(dāng)做出這種連接時,BC將通過在控制端點(diǎn)上向主機(jī)A發(fā)送消息來通知主機(jī)A中的橋驅(qū)動器。此外,主機(jī)B將開始在控制端點(diǎn)上向橋中的設(shè)備B發(fā)送描述符請求。BC接收這些請求,將它們與信息一起封裝,該信息將它們標(biāo)識為來自主機(jī)B的描述符請求并使用控制端點(diǎn)將它們傳遞到主機(jī)上的橋驅(qū)動器。主機(jī)A橋驅(qū)動器接收這些請求,將它們標(biāo)識為描述符請求,并將請求傳遞到主機(jī)A系統(tǒng)中的其他軟件部件上并等待描述符響應(yīng)。描述符響應(yīng)由橋驅(qū)動器封裝以指示它們是要被轉(zhuǎn)發(fā)到主機(jī)B的描述符響應(yīng)。響應(yīng)隨后經(jīng)由控制端點(diǎn)發(fā)送到BC。BC接收它們,將它們標(biāo)識為應(yīng)轉(zhuǎn)發(fā)到設(shè)備B的描述符響應(yīng),并將它們放置在用于設(shè)備B的控制端點(diǎn)上。在兩個主機(jī)之間接收并來回轉(zhuǎn)發(fā)消息的這個過程繼續(xù),直到主機(jī)B的枚舉過程完成為止。從那時起,兩個主機(jī)可以開始使用IN和OUT端點(diǎn)在批量端點(diǎn)上傳送應(yīng)用程序數(shù)據(jù)和服務(wù)。
圖8示出了系統(tǒng)架構(gòu)的一個可能的配置,包括與橋/集線器對接的頭部單元中的軟件部件。存在多個方式來構(gòu)造操作系統(tǒng)和軟件架構(gòu)以支持USB橋/集線器的功能。在圖8中,顯示了典型的Linux實(shí)現(xiàn)方式,包括橋/集線器模塊和頭部單元。此系統(tǒng)設(shè)計利用標(biāo)準(zhǔn)Linux內(nèi)核部件和配置并且對于本領(lǐng)域技術(shù)人員而言應(yīng)該是熟悉的。頭部單元USB主機(jī)控制器硬件由主機(jī)控制器驅(qū)動器來驅(qū)動。主機(jī)控制器驅(qū)動器連接到USB核心。USB核心將HCD與標(biāo)準(zhǔn)的USB Linux設(shè)備驅(qū)動器和定制橋驅(qū)動器相連接。橋驅(qū)動器被配置為根據(jù)系統(tǒng)架構(gòu)可任選地直接連接到用戶空間應(yīng)用程序軟件或者連接到USB配件驅(qū)動器。定制橋驅(qū)動器承擔(dān)控制橋硬件的功能以及在配件設(shè)備驅(qū)動器與在頭部單元上運(yùn)行的應(yīng)用程序之間提供數(shù)據(jù)路徑的雙重角色。所示的架構(gòu)能夠同時處理與橋和集線器相關(guān)聯(lián)的操作和數(shù)據(jù)路徑,從而允許在USB設(shè)備模式中操作的消費(fèi)者設(shè)備與在USB主機(jī)模式中操作的消費(fèi)者設(shè)備的并行操作。在一個實(shí)施例中,集線器/橋支持在頭部單元與多個消費(fèi)者設(shè)備之間的同時活動的USB數(shù)據(jù)連接,其中所述多個消費(fèi)者設(shè)備中的至少一個處于主機(jī)模式中,而其他的處于設(shè)備模式中。在另一個實(shí)施例中,集線器/橋支持在頭部單元與嵌入式設(shè)備和消費(fèi)者USB設(shè)備連同處于主機(jī)模式中的至少一個設(shè)備的一些組合之間同時活動的USB數(shù)據(jù)連接。雖然理解到頭部單元的軟件功能對于構(gòu)建完整的系統(tǒng)是重要的,但其設(shè)計可以顯著變化并且僅作為示范利用本發(fā)明的功能的一個方式的手段而提供了這個示例。