USB 3.0規范中譯本 第3章 USB 3.0體系結構概覽


本文為CoryXie原創譯文,轉載及有任何問題請聯系cory.xie#gmail.com

本章呈現USB 3.0體系結構和關鍵概念的概覽。USB 3.0與前面版本的USB類似,因為它是線纜總線,支持在主機計算機和廣大范圍的可同時訪問的外圍設備之間進行數據交換。所附着的設備通過主機調度協議來共享帶寬。總線允許設備在主機和其他外設的操作過程中被掛上(attached),配置(configured),使用(used),以及拔出(detached)。USB 3.0使用雙總線架構(dual-bus architecture),提供了對USB 2.0的后向兼容性。它提供超高速(SuperSpeed)和非超高速(non-SuperSpeed)(USB 2.0速度)的同時操作。本章組織成兩個關注領域。首先關注跨越雙總線(span the dual buses)相關的元素的體系結構和概念。其次關注超高速(SuperSpeed)特定的體系結構和概念。

后面的章節以更多的細節來描述超高速(SuperSpeedUSB的不同組件和特定要求。期望讀者具有對USB 2.0體系結構和概念的基本理解。參考的Universal Serial Bus Specification, Revision 2.0完整細節。

3.1 USB 3.0 系統描述

USB 3.0是一個物理超高速總線與一個物理USB 2.0總線並行組合而成(見圖3-1)。 它具有與USB 2.0類似的體系結構組件,也就是:

USB 3.0 互連(interconnect

USB 3.0 設備(devices

USB 3.0 主機(host

USB 3.0 interconnectUSB 3.0USB 2.0設備連接並與USB 3.0主機通信的方式。USB 3.0 interconnectUSB 2.0繼承了核心的體系結構元素,盡管好些都被修改以容納雙總線架構。

基線結構拓撲與USB 2.0一樣。它包含一個分層的星形拓撲,其中有一個主機在第1層,而集線器在更低的層級中,提供對設備的總線連接。

USB 3.0連接模型可容納后向和前向兼容性,以連接USB 3.0或者USB 2.0設備到USB 3.0總線上。類似的,USB 3.0設備可以連入到USB 2.0總線上。USB 3.0的機械和電氣后向/前向兼容性是通過形成該雙總線架構的復合線纜以及相關連接器組件(composite cable and associated connector assemblies)而實現的。USB 3.0設備通過同時包括超高速(SuperSpeed)和非超高速(non-SuperSpeed)總線接口來完成后向兼容性。USB 3.0主機也包括超高速(SuperSpeed)和非超高速(non-SuperSpeed)總線接口,它們本質上是並行的總線,可以同時活躍。

USB 3.0連接模型允許根據設備支持的最高信號速度,主機和設備之間所有集線器的最高速度,以及當前主機能力和配置,來發現和配置USB設備。

USB 3.0 集線器是一類特定的USB設備,其目的是給總線提供主機控制器所提供的連接之外的更多連接點。在本規范中,非集線器設備被稱為外圍設備(peripheral devices),以便區分於集線器設備(hub devices)。此外,在USB 2.0 中,術語"功能(function)"有時被與"設備(device)"互用(used interchangeably with device)。在本規范中,功能是設備中的一個邏輯實體,見圖3-3

3.2中將會詳細描述超高速(SuperSpeed)在主機和設備方面的體系架構涵義(architectural implications)。

3.1.1 USB 3.0 物理接口

USB 3.0物理接口由USB 2.0電氣規范(USB 2.0規范第7章),機械規范(第5章),以及超高速(SuperSpeed)物理規范(第6章)所組成。超高速(SuperSpeed)物理層在第3.2.1節描述。

3.1.1.1 USB 3.0 機械規范

USB 3.0線纜和連接器組件的機械規范在第5章中提供。主機和集線器(定義在下面)有一個或者多個下游連接。上游和下游連接器機械上不可互換,因此排除了在集線器上的非法回環連接(loopback connections)

USB 3.0 線纜具有8個主要的傳導體(conductors):3個雙絞信號對用於USB數據通路,以及一對用於電源。圖3-2顯示了USB 3.0線纜的基本信號安排。除了USB 2.0 數據通路所需的雙絞信號對之外,還有兩個雙絞信號對用來提供超高速(SuperSpeed)數據通路,一個用於傳送(transmit)路徑,另一個用於接收(receive)路徑。

 

USB 3.0插座(receptacles)(包括上游和下游)都后向兼容於USB 2.0的連接插頭(plugs)。USB 3.0的線纜和插頭並沒有意圖要保持與USB 2.0 的上游插座兼容。作為對用戶的幫助,USB 3.0 USB 3.0的插頭和插座強制要求標准着色(mandates standard coloring)。

USB 3.0電氣性能(插入損耗(insertion loss),回波損耗(return loss),串擾(crosstalk),等)是針對於原始電纜(raw cables),成對連接器(mated connectors)以及成對線纜組件(mated cable assemblies)而定義的,並且針對后面兩類建立了基於工業測試規范的兼容性要求。類似地,也定義有關於機械方面(插入/拔出力量(insertion/extraction forces),耐久性(durability),等)和環境方面(溫度壽命(temperature life),混合流動氣體(mixed flowing gas),等)的要求,並通過公認的工業測試規范建立了兼容性要求。

3.1.2 USB 3.0 電源

本規范覆蓋電源相關的兩方面:

• USB總線上的電源分布(Power distribution)涉及關於USB設備如何消耗它們所連接的下游端口所提供的電源方面的問題。USB 3.0的電源分布於USB 2.0類似,只是對於在超高速(SuperSpeed)下操作的設備增加了供給預量(supply budgets)。

• 電源管理(Power management)涉及主機,設備,集線器,以及USB系統軟件如何交互,以在總線上提供電源有效的操作(power efficient operation)。USB 2.0總線部分的電源管理沒有改變。在附錄C中描述了超高速(SuperSpeed)總線的電源管理使用模型。

3.1.3 USB 3.0 系統配置

USB 3.0 支持USB設備(所有速度)隨時連入 (attaching) 和拔出 (detaching) USB 3.0。結果,系統軟件必須容許物理總線拓撲的動態改變。USB 3.0上有關發現設備連入(attachment)和刪除(removal)的體系結構元素(architectural elements)與USB 2.0相同。提供了一些增強,用於管理超高速(SuperSpeed)總線的配置和電源管理的特定方面(specifics)。

獨立的雙總線架構允許單獨激活每條總線,並支持將USB設備連入到對於設備可用的最高速度總線上。

3.1.4 USB 3.0 體系結構總結

USB 3.0是一個雙總線(dual-bus)架構,集成了USB 2.0和超高速(SuperSpeed)總線。 3-1總結了在SuperSpeed USB USB 2.0之間關鍵的體系結構方面的不同。

3-1. 比較 SuperSpeed USB 2.0

特性

SuperSpeed USB

USB 2.0

數據速率(Data Rate

超高速(SuperSpeed (5.0 Gbps)

低速 (1.5 Mbps), 全速 (12 Mbps), 以及高速 (480 Mbps)

數據接口(Data Interface

-單工(Dual-simplex),四線差分信號,與USB 2.0信號分離;

同時(Simultaneous)雙向數據流

半雙工(Half-duplex),二線差分信號;

單向數據流,具有協商方向總線事務

線纜信號數(Cable signal count

6個:4個超高速(SuperSpeed)數據通路;2個非超高速(non-SuperSpeed)數據通路

2個:2個都用於低速/全速/高速數據通路

總線事務協議(Bus transaction protocol

主機引導(Host directed),異步通信流;包交換(Packet traffic)是被明確的路由的。

主機引導(Host directed),輪詢式通信流;包交換(Packet traffic)是廣播給所有設備。

電源管理(Power management

多級鏈路電源管理,支持空閑(idle),睡眠(sleep),以及掛起(suspend)狀態。鏈路(Link),設備(Device),以及功能(Function)層級的電源管理。

端口級掛起,具有兩級進入/退出時延(entry/exit

latency);設備電源管理。

總線電源(Bus power

USB 2.0相同,但是對unconfigured power50%增加,而對configured power80%的增加。

對低/高的總線供電的設備(low/high bus-powered devices),在un-configured suspended 時具有更低的電源限制。

端口狀態(Port State

端口硬件檢測連接事件,並將端口帶入可操作狀態,准備好進行超高速(SuperSpeed)數據通信。

端口硬件檢測連接事件。系統軟件使用端口命令來將端口轉換進入使能(enabled)狀態(也就是,可以進行USB數據通信流)。

數據傳輸類型(Data transfer types

具有超高速限制(SuperSpeed constraints)的USB 2.0類型。Bulk具有流能力(streams capability)(參見第3.2.8節)。

4種數據傳輸類型:控制,批量,中斷,等時

 

3.2 超高速(SuperSpeed)體系結構

超高速(SuperSpeed)總線是一個分層通信架構,有下列元素組成:

超高速互連SuperSpeed Interconnect)。超高速互連(SuperSpeed interconnect)是設備連接到主機並與之通過超高速總線通信的方式。這包括設備連接到總線的拓撲,通信層次,它們之間的關系,以及它們如何互相交互來完成主機和設備間的信息交互。

設備Devices)。超高速(SuperSpeed)設備是信息交換的源頭(sources)或目的(sinks)。它們實現必要的設備端超高速通信層來完成在主機端的驅動和設備端的邏輯功能之間的信息交換。

主機Host)。超高速(SuperSpeed)主機是信息交換的源頭(source)或目的(sink)。它實現必要的主機端超高速通信層來完成通過總線的信息交換。它擁有超高速數據活動性調度(SuperSpeed data activity schedule)以及對超高速(SuperSpeed)總線和連接其上的所有設備的管理。

3-3展示了一個超高速互連(SuperSpeed interconnect)的參考圖,通過主機,05級集線器,以及設備構成的拓撲結構所呈現的通信層次。

圖中的各行(設備或者主機,協議,鏈路,物理層)實現超高速互連(SuperSpeed interconnect)的通信層次。第3.2.13.2.3節提供了對每個通信層次的體系結構的概覽。三個最左邊的列(主機,集線器和設備)展示了連接到超高速總線上的設備之間的拓撲關系。參考3.2.63.2.7之間的概覽章節。最右邊一列展示了各通信層次受電源管理機制的影響;參考3.2.5節。

3.2.1 物理層(Physical Layer)

6章詳細描述超高速(SuperSpeed)物理層規范。物理層定義端口的PHY部分,以及下游面端口(在主機或集線器上)和設備上的上游面端口之間的物理連接。超高速物理連接包括兩個差分數據對,一個傳輸路徑以及一個接收路徑(見圖3-2)。標稱信號數據率是5 Gbps

電氣方面,每條路徑是以發送器(transmitter),通道(channel),以及接收器(receiver)為特點的。這些聯合起來代表一條單向差分鏈路。每條差分鏈路都與在差分鏈路的發送器一端的電容作交流耦合(AC-coupled)。通道(channel)包括線纜和連接器的電氣特性。

在電氣層次上,每條差分鏈路都是通過使能接收器終端阻抗(receiver termination)而被初始化的。發送器負責檢測遠端接收器終端阻抗(far end receiver termination),作為總線連接的指示,並通知鏈路層,從而連接狀態可以被納入(be factored into)鏈路操作和管理。

當有接收器終端阻抗(receiver termination)但差分鏈路上沒有信號發生時,認為處於電氣空閑狀態(electrical idle state)。當處於這個狀態時,低頻周期信號(LFPS)被用於指示初始化和電源管理信息。LFPS相對容易生成和檢測,且使用很少電源。

每個PHY都有其自己的時鍾域(clock domain),使用擴頻時鍾調制【Spread Spectrum Clocking (SSC) modulation】。USB 3.0線纜不包括參考時鍾(reference clock),因此物理連接兩端的時鍾域沒有被明確連接。比特層(Bit-level)的時序同步(timing synchronization)依賴於通過鎖相(phase-locking)所接收到的比特流(bit stream)中的信號轉換(signal transitions),實現本地接收器的bit恢復時鍾與遠端發送器的時鍾對齊。

接收器需要足夠的轉換(transitions)來從比特流(bit stream)中可靠地恢復時鍾和數據。為了確保比特流中有足夠的轉換,而不依賴於被傳輸的數據內容,發送器(transmitter)使用8b/10b碼(8b/10b code)來將數據和控制字符編碼成符號(symbols)。控制符號用於完成字節對齊,並被用於分幀(framing)數據以及管理鏈路。特殊的特性使得控制符號可以從數據符號中唯一識別。好幾個技術都被用來增強通道性能。例如,為了避免驅動過度(overdriving)並增強接收器端的眼圖邊界(eye margin),當多個具有相同極性的比特位被發送時,可以應用發送器信號弱化(transmitter de-emphasis)。同樣,可以在接收器端使用均衡(equalization),其中均衡剖面(equalization profile)的特性是在鏈路訓練(link training)的過程中自適應地建立起來的。超高速鏈路的信號(時序(timing),抖動容忍性(jitter tolerance),等)以及電氣(直流特性(DC characteristics),通道容性(channel capacitance),等)性能的定義在發送和接收信號的眼圖(transmit and receive signaling eyes)方面具有兼容性要求。

物理層從鏈路層接收8位數據,並將數據加擾(scrambles)以降低EMI的放射(emissions)。接着將加擾過的8位數據編碼成10位符號,用於通過物理鏈路傳輸。結果的數據被以擴頻速率(at a rate that includes spread spectrum)來發送,以進一步降低EMI的放射。比特流被接收器從差分鏈路恢復,組裝成10位符號,解碼並解擾(decoded and descrambled),生成8位數據,並進一步被送給鏈路層進行進一步處理。

3.2.2 鏈路層(Link Layer)

7章定義超高速(SuperSpeed)鏈路層規范。超高速鏈路(SuperSpeed link)是兩個端口的邏輯和物理連接。被連接的端口(connected ports)被稱為鏈路伙伴(link partners)。一個端口具有物理部分(參考3.2.1節)和邏輯部分。鏈路層定義了端口的邏輯部分以及鏈路伙伴之間的通信。

端口的邏輯部分具有:

• 用於管理它這一端的物理連接的狀態機(State machines)。這些包括物理層的初始化(initialization)以及事件管理(event management),也即,連接(connect),刪除(removal),以及電源管理(power management)。

• 用於管理與鏈路伙伴進行信息交換的狀態機(State machines)和緩沖機制(buffering)。它實現協議,以用於流控制(flow control),包頭的可靠交付(reliable delivery)(端口到端口),以及鏈路電源管理。不同的包類型定義在第7章。

• 用於數據和協議層信息元素的緩沖機制(Buffering)。

端口的邏輯部分還完成:

• 在發送過程中,將一序列字節正確地分幀成包(correct framing of sequences of bytes into packets);例如,插入包分隔符(delimiters)。

• 檢測接收到的包,包括對接收到的頭包進行包分隔符以及錯誤的檢查(為了可靠交付)。

• 向協議層提供了一個恰當的接口,用於協議層包信息交換的穿過(pass-through)。

物理層向邏輯端口提供了一個接口,通過該接口可以:

• 管理PHY的狀態(即,它這端的物理連接),包括電源管理以及事件(連接(connection),刪除(removal),和喚醒(wake))。

• 發送(Transmit)和接收(receive)字節流,其中具有附加的信號,用於限定(qualify)字節流是控制序列(control sequences)還是數據。物理層包括離散的(discrete)發送和接收物理鏈路,因此,端口可以同時發送和接收控制和數據信息。

鏈路伙伴之間的協議使用特定編碼的控制序列(specific encoded control sequences)。注意,控制序列被編碼成可以容許單個比特錯誤(single bit error)。控制序列用於端口到端口的命令協議,包的分幀(framing)(包分隔符),等等。有一個用於電源管理的鏈路伙伴協議,使用了包頭。

3.2.3 協議層(Protocol Layer)

8章詳細描述超高速(SuperSpeed)協議層規范。這個協議層定義了在主機和設備之間"端到端(end-to-end)"的通信規則(間圖3-3)。超高速協議為主機和設備端點之間提供應用數據信息交換。這個通信關系被稱為管道(pipe)。這是由主機導向的協議(host-directed protocol),意味着主機決定何時應用數據在主機和設備之間被傳送。超高速(SuperSpeed)不是輪詢協議(polled protocol),因為設備能夠代表特定的端點異步地向主機請求服務。

所有的協議層通信都是通過包的交換(exchange of packets)來完成的。包(Packets)是數據字節序列,具有特定的控制序列(作為分隔符由鏈路層管理)。主機發送的協議包被中間集線器(intervening hubs)直接路由給外圍設備。它們不會穿越不在主機和目標設備直接路徑上的總線路徑。外圍設備期望自己已經被當做接收到的包的目標。設備發送的協議包只是簡單地通過集線器向上流向主機。

包頭(Packet headers)是協議層的構件塊(building block)。 它們是固定大小的包,具有類型(type)和子類型(subtype)字段編碼,用於特定的目的。包頭(packet header)中的一個小記錄被用於鏈路層(端口到端口),來管理從端口到端口包的流向(flow of the packet from port to port)。包頭(Packet headers)被通過鏈路層(端口到端口)可靠地傳送。剩余的字段被用於端到端(end-to-end)協議。

應用數據(Application data)在數據包負載(data packet payloads)中傳送。協議中,數據包負載(data packet payloads)在前面(preceded)被加上了特殊編碼的數據包頭(data packet headers)。數據包負載(data packet payloads)在鏈路層不是被可靠傳輸的(但是,伴隨的數據包頭是被可靠傳輸的)。協議層支持的可靠數據包傳送是通過明確的確認包(包頭)以及在丟失或者數據損壞時的重傳來實現的。不是所有的數據信息交換都使用數據確認。

數據可以以背靠背序列的數據包(back-to-back sequences of data packets)的突發形式(in bursts)被發送(依賴於主機的調度)。協議允許通過同時在鏈路上發送和接收來實現總線的有效利用。例如,發射器(主機或設備)可以背靠背地突發多個包,同時接收器可以發送數據的確認而不中斷數據的突發。在一個特定的突發中有多少個數據包是由主機來調度的。進一步,在一個IN突發進行的時候,主機可以同時調度多個OUT突發活躍起來。

協議對一些傳輸類型提供了流控(flow control)支持。設備發起的流控是由設備通過已定義好的協議包來示意的(signaled)。主機發起的流控事件是通過主機調度實現的(主機將會不向管道調度信息流,除非其有數據或者緩沖可用)。在接收到流控事件的時候,主機會將管道從其調度中刪除。對管道的調度信息流(scheduling information flows)的恢復可以被主機或者設備發起。設備端點會通過一個異步傳輸的"准備好(ready)"包來通知主機它已經准備好(readiness)(來發送(source)或者接收(sink)數據)。在接收到"准備好(ready)"通知時,主機會將管道加入到它的調度中,假設其仍然具有數據或者緩沖區可用。

在批量傳輸類型上,可以明確地描繪(delineated)和多路復用(multiplexed)獨立的信息流(Independent information streams)。這意味着,通過一個管道實例,源端(source)可以標記(tagged)多於一個的數據流(data stream),並被接收端(sink)識別出來。協議提供讓設備引導(direct)在管道上哪一個數據流活躍的能力。

設備可以異步(asynchronously)傳送通知給主機。這些通知用於傳達設備或者功能狀態的改變。

主機發送一個特殊的包含了主機的時間戳(timestamp)的包頭到總線。在這個包中的值被用來保持設備(那些有此必要的)與主機同步。與其他包對比,時間戳包(timestamp packet)被向下轉發給不處於低功耗狀態的所有路徑。時間戳包(timestamp packet)的發送是被主機以規范定義的周期來調度的。

3.2.4 健壯性(Robustness)

超高速(SuperSpeed USB的好幾個屬性都有助於其健壯性:

• 用差分驅動器(drivers),接收器(receivers),以及屏蔽(shielding)來保證信號完整性(Signal integrity)。

• 對於包頭和數據包的CRC保護(CRC protection for header and data packets)。

• 鏈路層頭包重試(header packet retries)以確保他們的可靠遞送(reliable delivery)。

• 對數據包的端到端協議重試(End-to-end protocol retries)以確保他們的可靠遞送(reliable delivery)。

• 對連入(attach)和拔出(detach)的檢測以及系統級別的資源配置。

• 用於確保獨立性(independence)以免受功能(Functions)之間不利的交互(adverse interactions)所采用的數據和控制管道的構件(Data and control pipe constructs)。

3.2.4.1 錯誤檢測(Error Detection)

超高速物理層比特誤差率(bit error rate)被期望可以低於每10^12個比特出現1個錯誤。為了針對偶然的誤差提供保護,包分幀(packet framing)以及鏈路命令(link commands)都具有足夠的冗余信息來容忍單個比特錯誤(single-bit errors)。每個包都包含有CRC,用於提供對多個比特出錯的檢測。當需要數據完整性(data integrity)時,可以調用硬件或者軟件的出錯恢復過程。

對於包頭(headers)和數據包負載(data packet payloads),協議包含獨立的CRC。此外,(每個包頭中的)鏈路控制字(link control word)都有其自己的CRC。包頭或者鏈路控制字中(link control word)的失敗CRC都被認為是嚴重錯誤,將會導致鏈路層重試,以從錯誤中恢復。數據包負載(data packet payloads)中的失敗CRC被認為是指示毀壞的數據,並可以被協議層請求重傳(resend)數據包來處理。

鏈路和物理層攜手,提供可靠的包頭傳輸(reliable packet header transmission)。物理層提供(平均地)每10^12個比特不超過1個錯誤比特的出錯率。鏈路層使用出錯校驗來捕捉錯誤,並且包頭的重傳(retransmission of the packet header)進一步降低了包頭的出錯率(packet header error rate)。

3.2.4.2 錯誤處理(Error Handling)

錯誤可以被硬件或者軟件處理。硬件的出錯處理包括報告以及重傳失敗的頭包(failed header packets)。在通知客戶端軟件傳輸失敗之前,USB主機控制器會嘗試重傳遇到錯誤的傳輸多達3次。客戶軟件可以以實現特定的方式恢復。

3.2.5 超高速(SuperSpeed)電源管理

超高速(SuperSpeed)在總線架構(bus architecture),鏈路(link),設備(device)以及功能(function)不同的領域都提供了對電源管理的支持(參考圖3-3)。 這些電源管理領域並不是緊耦合的,但是的確存在相互依賴關系。他們大多是基於對鏈路(links),設備(devices)以及功能(functions)的電源狀態(power states)的依賴關系,來處理可允許的電源狀態轉換(allowable power state transitions)。

鏈路電源管理(Link power management)在互連的層級(connected hierarchy)中的各個鏈路上異步(asynchronously)發生(即,鏈路本地發生)。 鏈路電源狀態(link power state)可以由設備所驅動,或者由下游端口上的可被主機軟件編程的不活動定時器所驅動。鏈路電源狀態(link power states)由集線器向上傳導(propagated upwards)(例如,當所有下游端口都處於低功耗狀態時,要求集線器將其上游端口也轉換到低功耗狀態)。改變鏈路電源狀態的決定是在本地(locally)做出的。主機並不直接跟蹤單個鏈路的電源狀態。在給定的數據交換中,由於只涉及那些在主機和設備之間的鏈路,那些沒有被使用來做數據通信的鏈路可以被置於低功耗狀態。

主機對單個鏈路的電源狀態並不直接控制,也沒有可見性。這就暗含當主機在總線上發起一次通信時,在主機和設備之間的路徑上的一段或者多段鏈路可能正處於降低功耗狀態(reduced power state)。具有帶內的(in-band)協議機制可以強制這些鏈路轉換到可操作的電源狀態,並通知主機轉換已經發生。通過這些機制,主機知道(可以計算)將到任何特定設備的路徑帶回到活躍的,准備好的狀態所需要的最差轉換時間(worst-case transition time)。類似地,當其上游鏈路處於降低功耗狀態(reduced power state)的設備要發起一次通信時,將會將其鏈路轉換進可操作狀態,這就會將在它和主機之間的所有鏈路進入可操作狀態。

鏈路電源管理的關鍵點在於:

• 設備發送異步"准備好"通知給主機。

• 包被路由(routed),允許未涉及數據通信的鏈路轉換進入或者保持在低功耗狀態。

• 遇到處於低功耗狀態的端口的包,會導致這些端口轉換出低功耗狀態,並具有轉換事件的指示。

• 多個主機或者設備驅動的鏈路狀態,具有漸進的更低功耗(progressively lower power),且增加的退出時延(at increased exit latencies)。

就像USB 2.0總線一樣,通過類似的端口掛起(port-suspend)機制,設備可以被明確地掛起。這將把鏈路設置到最低鏈路電源狀態,並且對設備的電源汲取要求(power draw requirement)設置限度。

除了設備電源管理外,超高速(SuperSpeed)還提供對功能電源管理(function power management)的支持。 對於多功能的復合設備【multi-function (composite) devices】,每個功能都可以被獨立地置於更低功耗狀態。注意,當被主機通過端口命令(port command)控制時,設備會轉換進入被掛起(suspended)狀態。當設備內所有獨立的功能都被掛起時,設備並不會自動轉換進入被掛起狀態。

設備的功能可以具有作為遠程喚醒源(remote wake sources)的能力。功能的遠程喚醒特性(remote-wake feature)必須被主機明確地使能。類似地,有協議通知(protocol notification)可用來供相關的喚醒源功能(source function)發起遠程喚醒事件(remote wake event)。所有的遠程喚醒通知(remote wake notifications),對於設備和主機之間的所有可能的獨立鏈路電源狀態的組合(all possible combinations of individual link power states)都是可工作的(functional)。

3.2.6 設備(Devices)

所有的超高速(SuperSpeed)設備與USB 2.0共享基本的體系結構。它們被要求攜帶用於自我標識(self-identification)的信息和通用的配置。它們也被要求呈現與定義的超高速設備狀態(SuperSpeed Device States)一致的行為。

所有的設備都被主機在枚舉時賦予一個USB地址。每個設備都支持一個或者多個管道(pipes),通過這些管道主機可以與設備通信。所有的設備都必須在端點0上支持一個特定的管道(designated pipe),設備的默認控制管道(Default Control Pipe)就附着於此。所有的設備都支持一個共通的訪問機制,用於通過這個控制管道訪問信息。參見第9章中關於控制管道完整的定義。

超高速(SuperSpeed)繼承了USB 2.0的默認控制管道所支持的信息類別(categories)。

USB 3.0規范定義了兩組設備可以連接到超高速(SuperSpeed)主機上。 他們在下面被簡要描述。

3.2.6.1 外圍設備(Peripheral Devices)

USB 3.0外圍設備(peripheral device)必須對超高速(SuperSpeed)和非超高速(non-SuperSpeed)都提供支持。對非超高速(non-SuperSpeed)的最低要求是,設備在USB 2.0主機上能被檢測到,並允許系統軟件引導用戶將設備連入可支持超高速的端口(SuperSpeed capable port)。當操作在非超高速(non-SuperSpeed)時,設備的實現可以提供恰當地全功能支持。對於外圍設備,不允許超高速(SuperSpeed)和非超高速(non-SuperSpeed)同時操作。

位於單個物理封裝(single physical package)(例如,單個外設)內的USB 3.0設備可以由許多功能拓撲(functional topologies)組成,包括單個功能(single function), 單個外圍設備上的多個功能(multiple functions)(復合設備(composite device)),以及在集成的集線器(integrated hub)后面永久連入的外圍設備(permanently attached peripheral devices)(參見圖3-4)。

3.2.6.2 集線器(Hubs)

USB 3.0 集線器的超高速部分(SuperSpeed portion)的規范在第10章詳細描述。集線器一直以來都是USB的即插即用(plug-and-play)架構的關鍵元素。主機提供實現特定(implementation-specific)個數的下游端口,設備可以連入其中。集線器提供了更多的下游端口,因此它們為用戶提供了簡單地連接性擴展機制,用於更多設備的連入。

為了支持USB 3.0的雙總線架構,USB 3.0集線器在邏輯上是兩個集線器的組合:一個USB 2.0集線器和一個超高速(SuperSpeed)集線器(參見圖3-1中的集線器)。在USB 3.0集線器內部,連接到上游端口的線纜的電源和地線(power and ground)在兩個單元之間共享。USB 2.0集線器單元連接到USB 2.0數據線,而超高速(SuperSpeed)集線器單元連接到超高速(SuperSpeed)數據線。USB 3.0集線器作為兩個設備連接到上游,一個超高速總線上的超高速(SuperSpeed)集線器,以及一個USB 2.0總線上的USB 2.0集線器。

超高速(SuperSpeed)集線器管理下游端口的超高速部分(SuperSpeed portions),USB 2.0集線器管理下游端口的USB 2.0部分。每個物理端口具有總線特定的控制/狀態寄存器。參考Universal Serial Bus Specification, Revision 2.0中關於USB 2.0集線器的詳情。集線器檢測下游端口上的設備連入(attach),刪除(removal),以及遠程喚醒(remote-wake)事件,並使能到下游設備的電源分布。

超高速(SuperSpeed)集線器有兩個連接組件組成:超高速集線器控制器(SuperSpeed hub controller)以及超高速中繼器/轉發器(SuperSpeed repeater/forwarder)。集線器中繼器/轉發器(hub repeater/forwarder)是一個處於超高速上游端口和下游端口之間的,由協議控制的路由器(protocol-controlled router)。它也有對復位(reset)以及掛起/恢復(suspend/resume)信號的硬件支持。超高速控制器響應標准的,集線器特定的狀態/控制命令(status/control commands),由主機來配置集線器,並監視和控制其端口。

超高速集線器以幾種方式積極地參與到(端到端的)協議中,包括:

• 路由出向(out-bound)的包到明確的下游端口。

• 聚集入向in-bound)的包到上游端口。

• 傳導時間戳包(timestamp packet)到所有的不處於低功耗狀態的端口。

• 檢測何時包遇到處於低功耗狀態的端口。集線器將目標端口轉換出低功耗狀態,並把該包遇到處於低功耗狀態的端口這一情形通知主機和設備(入向(in-band))。

3.2.7 主機(Hosts)

USB 3.0主機通過一個主機控制器與USB設備交互。為了支持USB 3.0的雙總線架構,主機控制器必須同時包含超高速和USB 2.0元素,可以同時在每條總線上管理主機和設備之間的控制,狀態以及信息交換。

主機包括一個實現特定的個數的根下游端口,用於超高速和USB 2.0。通過這些端口,主機:

• 檢測USB設備的連入(attachment)和移除(removal)。

• 管理主機和USB設備之間的控制流。

• 管理主機和USB設備之間的數據流。

• 收集狀態和活動性統計。

• 提供電源給連入的設備。

USB系統軟件從USB 2.0中繼承其體系結構方面的要求,包括:

• 設備枚舉和配置(Device enumeration and configuration

• 調度周期和一部數據傳輸(Scheduling of periodic and asynchronous data transfers

• 設備和功能電源管理(Device and function power management

• 設備和總線管理信息(Device and bus management information

3.2.8 數據流模型(Data Flow Models)

4章描述超高速(SuperSpeed)數據流模型。超高速(SuperSpeedUSBUSB 2.0繼承數據流模型,包括:

• 主機和設備之間的數據和控制交換是通過一組單向或者雙向管道來完成的。

• 數據傳輸在主機軟件和特定的設備端點之間發生。端點和設備上的特定功能(function)相關。這些在主機軟件到特定的功能相關的端點之間的相關性被稱為管道(pipes)。設備可以具有多於一個活躍的管道。具有兩種管道:流式(stream)和消息式(message)。流數據(Stream data)沒有USB定義的結構,而消息有。管道在數據帶寬,傳輸服務類型(見下),以及端點特性(如方向和緩沖大小)方面具有關聯。

• 大多數管道是在設備被系統軟件配置之后才開始存在(come into existence)。但是,有一個消息管道,即默認控制管道(Default Control Pipe),一旦設備被加電並進入默認狀態就一直存在,用來提供對設備配置,狀態,控制信息的訪問。

• 管道提供4種USB 2.0種定義的傳輸類型中的一種(bulk, control, interrupt, 以及isochronous)。這些傳輸類型的基本的體系結構元素相比USB 2.0沒有改變。

• 超高速(SuperSpeed)對於批量(bulk)傳輸類型具有一個擴展,稱為流(Streams)。流(Streams)通過一個標准的批量管道(bulk pipe),為復用多個獨立的邏輯數據流(multiplexing multiple independent logical data streams),提供了內(in band)的協議層支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM