共用方式為


USB 3.0 數據結構

本主題描述USB 3.0主機控制器驅動程式所使用的數據結構。 了解這些數據結構可協助您有效地使用 USB 3.0RCDRKD 調試程序擴充功能命令。 這裡呈現的數據結構具有與 USB 3.0 規格一致的名稱。 熟悉 USB 3.0 規格可進一步增強您使用擴充功能命令對 USB 3.0 驅動程式進行偵錯的能力。

USB 3.0 主機控制器驅動程式是USB 3.0核心驅動程式堆疊的一部分。 如需詳細資訊,請參閱 USB驅動程式堆疊架構

每個USB 3.0主機控制器最多可以有255部裝置,而每個裝置最多可以有31個端點。 下圖顯示代表一個主機控制器和連線裝置的一些數據結構。

此圖顯示 USB 3.0 數據結構,代表具有裝置內容、位置內容和端點內容的主機控制器和連線裝置。

裝置內容基底陣列

裝置內容基底陣列是裝置內容結構的指標陣列。 連接到主機控制器的每個裝置都有一個裝置內容結構。 元素 1 到 255 指向裝置內容結構。 元素 0 指向主控制器的內容結構。

裝置內容和位置內容

裝置內容結構會保存端點內容結構的指標陣列。 裝置上每個端點都有一個端點內容結構。 元素 1 到 31 指向端點內容結構。 元素 0 指向位置內容結構,此結構會保存裝置的內容資訊。

命令通道

命令通道是由軟體用來將命令傳遞至主控制器。 其中一些命令會導向主控制器,有些命令會導向連線到主機控制器的特定裝置。

事件通道

主機控制器會使用事件通道將事件傳遞至軟體。 也就是說,事件通道是主機控制器用來通知驅動程式動作已完成的結構。

Doorbell Register Array

Doorbell Register Array 是門鈴緩存器陣列,每個裝置都連線到主控制器。 元素 1 到 255 是門鈴緩存器。 元素 0 表示命令通道中是否有擱置的命令。

軟體會通知主機控制器,其具有裝置相關或端點相關工作,方法是將內容資訊寫入裝置的門鈴緩存器中。

下圖會繼續到上圖右邊。 它會顯示代表單一端點的其他數據結構。

此圖說明 USB 3.0 數據結構,其中包含具有數據和 TD 的多個 TRB 的端點內容。

傳輸通道

每個端點都有一或多個傳輸通道。 傳輸通道是傳輸要求區塊的數位, (TRB) 。 每個 TRB 都會指向一個連續數據區塊, (最多 64 KB) ,以單一單位的形式在硬體和記憶體之間傳輸。

當USB 3.0核心堆疊從USB用戶端驅動程式收到傳輸要求時,它會識別傳輸的端點內容,然後將傳輸要求中斷至一或多個傳輸描述元, (TD) 。 每個 TD 都包含一或多個 TRB。

端點內容

端點內容結構會保存單一端點的內容資訊。 它也有 DequeueEnqueue 成員,用來追蹤硬體取用 TRB 的位置,以及軟體將新增 TRB 的位置。

另請參閱

Windows 8 中的USB偵錯創新