Usb3.0兼容設備的重新列舉的制作方法
【專利說明】USB 3.0兼容設備的重新列舉
[0001]相關申請
[0002]本申請是在2011年9月29日提交的美國專利申請第13/248,326號的部分連續(xù),并且本申請要求該美國專利申請第13/248,326號的優(yōu)先權益,其全部內(nèi)容通過引用被并入。
技術領域
[0003]本公開內(nèi)容涉及通用串行總線(USB)領域,且特別是涉及到與USB3.0可兼容的設備的重新列舉。
[0004]背景
[0005]通用串行總線(USB)標準提供了用于個人電腦(PC)的通用接口,包括通用即插即用和相對容易使用。具體來說,當USB外圍設備被插入到PC上的USB端口時,系統(tǒng)將自動檢測且自動配置外圍設備。USB外圍設備可包括的設備:諸如打印機、掃描儀、鍵盤、鼠標、操縱桿、數(shù)碼相機、數(shù)碼攝像機、數(shù)據(jù)采集設備、調(diào)制解調(diào)器、揚聲器、電話或視頻電話、諸如ZIP驅(qū)動器的存儲設備、或任何其他外圍設備或計算設備。
[0006]在大多數(shù)情況下,沒有任何用戶干預。USB接口還省去了對用于外圍設備的多輸入/輸出(I/o)標準的需要,從而簡化了用于消費者的PC連接以及簡化了 PC原始設備制造商(OEM)的制造。
[0007]原始的USB規(guī)范隨著時間的推移已經(jīng)發(fā)展到了滿足工業(yè)的需求,產(chǎn)生了今天可以應用的三個版本。分別是USB 1.0 (后來修改為USB 1.1)和USB 2.0的前兩個版本是有線接口,因為它們使用在主機(例如個人電腦或PC)和USB外圍設備之間的線纜。雖然USB1.1具有12兆比特/秒(Mb/s)的最高傳輸速度,但是如果多個多媒體設備聯(lián)接到一個USB
1.1端口,則系統(tǒng)性能可能會變得遲緩。USB 2.0傳輸速度增加到了 480兆比特/秒,但保持向后兼容USB 1.1規(guī)范中限定的滿速(12Mb/s)和低速(1.5Mb/s)的設備。USB 3.0具有高達5吉比特/秒的傳輸速度且向后兼容USB 2.0的設備。
[0008]雖然USB 3.0相對于之前的USB版本提供了許多改進,但是其實現(xiàn)方面可能未被明確定義,且可以被改進和/或擴展。例如,目前,在執(zhí)行重新列舉方面存在著不符合規(guī)范的方法。
【附圖說明】
[0009]圖1是根據(jù)實施例的連接到設備的通用串行總線(USB)主機系統(tǒng)的框圖。
[0010]圖2是根據(jù)實施例引起主機執(zhí)行設備的重新列舉的方法的流程圖。
[0011]圖3是根據(jù)實施例通過主機執(zhí)行設備的重新列舉的方法的流程圖。
[0012]圖4A是帶有主機設備的系統(tǒng)的框圖示例,所述主機設備具有用于外圍設備的更新的固件。
[0013]圖4B是用于通過外圍設備的主機設備來進行重新列舉的示例性操作流程圖,該外圍設備的主機設備作為外圍設備的更新的固件的一部分。
[0014]圖5A是具有主機設備選擇的系統(tǒng)的框圖示例,所述主機設備選擇關于外圍設備的類或配置。
[0015]圖5B是用于通過外圍設備的主機設備來進行重新列舉的示例性操作流程圖,以便能夠改變外圍設備的類或配置。
[0016]圖6A是具有外圍設備的系統(tǒng)的框圖示例,所述外圍設備具有額外的端口功能。
[0017]圖6B是用于通過外圍設備的主機設備進行重新列舉的示例性操作流程圖,以允許所述外圍告知主機設備關于外圍設備中的其他的功能。
[0018]圖7A是具有發(fā)起類變化的外圍設備的系統(tǒng)的框圖示例。
[0019]圖7B是用于通過外圍設備的主機設備進行重新列舉的示例性操作流程圖,以允許外圍設備發(fā)起類變化。
[0020]圖8A是具有發(fā)起供電變化的外圍設備的系統(tǒng)的框圖示例。
[0021]圖SB是用于通過外圍設備的主機設備進行重新列舉的示例性操作流程圖,以允許外圍設備發(fā)起供電變化。
[0022]圖9A是外圍設備耦合到安全設備的框圖示例。
[0023]圖9B是響應于關于安全設備的驗證而通過外圍設備的主機設備進行重新列舉的示例性操作流程圖。
[0024]詳細描述
[0025]在說明書中引用“一個實施例(one embodiment) ”或“實施例(embodiment) ”指的是結(jié)合實施例描述的特定的特性、結(jié)構、或特征被包括在本發(fā)明的至少一個實施例中。位于該說明書中各處的短語“在一個實施例中”并不一定指的就是相同的實施例。
[0026]在以下詳細的描述中,出于解釋的目的,闡述了大量的具體的細節(jié),以便提供對本申請的主題的全面理解。然而,對于本領域的技術人員而言,明顯的是,所公開的實施例,所要求保護的主題和它們的等效體可以在不需要這些具體的細節(jié)的情況下進行實踐。
[0027]詳細的描述包括對附圖的參考,附圖構成本詳細的描述的一部分。附圖結(jié)合示例的實施例進行了示出說明。這些實施例(本文也稱之為“示例”)進行了足夠詳細地描述以使本領域的技術人員能夠?qū)嵺`本文所描述的所要求保護的主題的實施例。實施例可以被合并,其他的實施例可以被利用,可以做出對結(jié)構、邏輯和電氣改變,而這并不脫離所要求保護的主題的范圍和精神。以下詳細的描述并非是以限制性的形式進行的,因為要被給予專利權的主題的范圍是由所附權利要求和它們的等效體進行定義的。
[0028]本申請公開了通過USB 3.0兼容外圍設備的或超高速USB外圍設備的主機設備進行重新列舉。這種重新列舉可以遵循主機的狀態(tài)的變化,例如,當主機已經(jīng)下載了外圍設備的固件更新時或當主機希望允許外圍設備選擇用于外圍設備的不同的類或配置時。在這些情形中,主機設備可以發(fā)布廠商命令以促使外圍設備發(fā)起通過主機設備進行的外圍設備的重新列舉,且允許對使用固件更新的外圍設備進行重新配置,或響應于廠商命令在發(fā)起通過外圍設備進行重新列舉過程之后執(zhí)行新的類或配置的變化。重新列舉過程也可以是外圍設備發(fā)起的,例如,當外圍設備通過接口端口添加新功能,希望改變服務類,或想要在自供電模式和總線供電模式之間切換時。不同的重新列舉應用的實施例將在下文進行更詳細的描述。
[0029]圖1是根據(jù)實施例的連接到設備160的通用串行總線(USB)主機系統(tǒng)100的框圖。USB主機系統(tǒng)100經(jīng)總線150被耦合到設備160??偩€150可包括USB線纜、PCB跡線、或其他的電氣物理連接件。在其他的實施例中,總線150和設備160被配置為與2008年11月12日的通用串行總線3.0規(guī)范修訂版1.0中指定的USB 3.0標準兼容,該修訂版1.0也可以在 http://www.usb.0rg/developers/docs 中找到。
[0030]USB主機系統(tǒng)100包括中央處理器120,以控制USB主機系統(tǒng)100與設備160的通信。例如,中央處理器120可以引導USB主機系統(tǒng)100通過總線150發(fā)布請求,同時通過跟蹤輸入數(shù)據(jù)中的同步位來同步來自總線150的輸入數(shù)據(jù),解碼該輸入數(shù)據(jù),確定該輸入數(shù)據(jù)是否被正確接收到,且當有必要時應答輸入數(shù)據(jù)。在實施例中,中央處理器120是編程的處理器(如,中央處理單元)、硬接線、或固定功能邏輯部分。在其他的實施例中,中央處理器120具有不同的配置。
[0031]USB主機系統(tǒng)100可以是減少功能的USB主機控制器,其能夠執(zhí)行USB規(guī)范中的一個或多個預編程功能的集合。例如,當USB主機系統(tǒng)100并入到主機設備(諸如電池充電器)時,USB主機系統(tǒng)100可包括允許主機設備經(jīng)總線150對設備160 (諸如,蜂窩電話、個人數(shù)字助理、數(shù)碼相機、數(shù)碼攝像機,等等)的電池充電的功能。在另一個示例中,USB主機系統(tǒng)100可包括允許主機設備傳送命令以開始設備160(諸如打印機、相機、鼠標、多個打印機、掃描儀、鍵盤、操縱桿、數(shù)據(jù)采集設備、調(diào)制解調(diào)器、揚聲器、電話或視頻電話、諸如ZIP驅(qū)動器的存儲設備、或任何其他外圍設備)的操作的功能。
[0032]USB主機系統(tǒng)100包括存儲器110,以存儲用于通過總線150傳輸?shù)皆O備160的USB數(shù)據(jù)115。該USB數(shù)據(jù)115可由中央處理器120或由USB主機系統(tǒng)100內(nèi)部的或外部的另一個設備生成并存儲在存儲器110中。USB數(shù)據(jù)115可以具有允許USB主機系統(tǒng)100將USB數(shù)據(jù)115從存儲器110轉(zhuǎn)移到總線150而不必執(zhí)行對USB數(shù)據(jù)115的更改的格式。
[0033]USB主機系統(tǒng)100包括耦合到總線150的USB物理接口 140。USB接口 140可以識別設備(如,設備160)何時經(jīng)總線150耦合到USB主機系統(tǒng)100,并將指示設備160經(jīng)總線150耦合到USB主機系統(tǒng)100的USB狀態(tài)142提供給中央處理器120。總線150可具有2個狀態(tài)J狀態(tài)和K狀態(tài)。USB接口 140,可以根據(jù)這些USB狀態(tài)中的一個的存在,或根據(jù)USB狀態(tài)的轉(zhuǎn)換,識別設備160何時耦合到USB主機系統(tǒng)100。
[0034]中央處理器120可以從存儲器110接收USB數(shù)據(jù)115,如,響應于USB狀態(tài)142,且引導USB主機系統(tǒng)100提供總線150上的USB數(shù)據(jù)115。在一些實施例中,USB數(shù)據(jù)115可以是關于設備160的請求,或可以是從設備160接收的USB應答數(shù)據(jù)144的確認。USB數(shù)據(jù)115可以是可應用于通過總線150進行傳輸?shù)耐暾谋忍匦蛄谢蚧就暾谋忍匦蛄?。例如,當USB數(shù)據(jù)115是完整的比特序列時,USB主機系統(tǒng)100可以直接從存儲器110檢索USB數(shù)據(jù)115并將其通過總線150且不必對數(shù)據(jù)執(zhí)行其他的處理而進行發(fā)送。當USB數(shù)據(jù)115是基本完整的比特序列時,USB主機系統(tǒng)100可以直接從存儲器110檢索USB數(shù)據(jù)115,并對其進行很小的其他的處理(諸如,添加前導,等)通過總線150進行發(fā)送。
[0035]USB主機系統(tǒng)100包括串行器/解串器130,以對輸出數(shù)據(jù)執(zhí)行串行化操作和對從總線150輸入的數(shù)據(jù)執(zhí)行解串行化操作。USB主機系統(tǒng)100還可包括通用異步接收器和發(fā)射器(UART) 170,以采樣來自設備160的USB應答數(shù)據(jù)144。在一些實施例中,中央處理器120或USB主機系統(tǒng)100中的其他設備可以采樣來自設備160的USB應答數(shù)據(jù)144。UART170可以過采樣USB應答數(shù)據(jù)144,例如,使用4次過采樣過程,以恢復并產(chǎn)生經(jīng)采樣的USB應答數(shù)據(jù)172。UART 170可以經(jīng)串行器/解串器130將經(jīng)采樣的USB應答數(shù)據(jù)172提供給中央處理器120,以用于存儲和處理。
[0036]當中央處理器120接收到指示USB外圍設備160被耦合到USB主機系統(tǒng)100的USB狀態(tài)142時,中央處理器120可以從存儲器110檢索預生成的(獲得_設備_描述符)獲得_設備_描述符請求,其是標準的USB請求。一旦預生成的獲得_設備_描述符請求通過總線150提供給設備160,則設備160可以生成對預生成的獲得_設備_描述符請求的應答。應答可以包括描述經(jīng)總線150耦合到USB主機系統(tǒng)100的設備類型的描述符。
[0037]USB主機系統(tǒng)100可以在USB接口 1