Sdílet prostřednictvím


Datové struktury USB 3.0

Toto téma popisuje datové struktury používané ovladačem hostitelského ovladače USB 3.0. Understanding these data structures will help you use the USB 3.0 and RCDRKD debugger extension commands effectively. Zde uvedené datové struktury mají názvy, které jsou konzistentní se specifikací USB 3.0. Znalost specifikace USB 3.0 dále zlepší vaši schopnost používat rozšiřující příkazy k ladění ovladačů USB 3.0.

Ovladač hostitelského ovladače USB 3.0 je součástí zásobníku ovladačů USB 3.0 core. Další informace najdete v tématu Architektura zásobníku ovladačů USB.

Každý hostitelský řadič USB 3.0 může mít až 255 zařízení a každé zařízení může mít až 31 koncových bodů. Následující diagram znázorňuje některé datové struktury, které představují jeden kontroler hostitele a připojená zařízení.

Diagram znázorňující datové struktury USB 3.0 představující kontroler hostitele a připojená zařízení s kontextem zařízení, kontextem slotu a kontextem koncového bodu

Základní pole kontextu zařízení

Základní pole kontextu zařízení je pole ukazatelů na struktury kontextu zařízení. Pro každé zařízení připojené k hostitelskému řadiči existuje jedna struktura kontextu zařízení. Prvky 1 až 255 ukazují na struktury kontextu zařízení. Prvek 0 odkazuje na kontextovou strukturu řadiče hostitele.

Kontext zařízení a kontext slotu

Struktura kontextu zařízení obsahuje pole ukazatelů na struktury kontextu koncového bodu. Pro každý koncový bod v zařízení existuje jedna struktura kontextu koncového bodu. Prvky 1 až 31 odkazují na struktury kontextu koncového bodu. Prvek 0 odkazuje na strukturu kontextu slotu, která obsahuje informace o kontextu zařízení.

Command Ring

Příkazový okruh používá software k předávání příkazů řadiči hostitele. Některé z těchto příkazů jsou směrovány na řadič hostitele a některé jsou směrovány na konkrétní zařízení připojená k hostitelskému řadiči.

Event Ring

Okruh událostí používá kontroler hostitele k předávání událostí do softwaru. To znamená, že okruh událostí je struktura, kterou řadič hostitele používá k informování ovladačů, že akce byla dokončena.

Doorbell Register Array

Doorbell Register Array je pole doorbell registrů, jedno pro každé zařízení připojené k hostitelskému řadiči. Prvky 1 až 255 jsou dveřní rejstříky. Element 0 označuje, jestli v příkazovém okruhu existuje čekající příkaz.

Software upozorní kontroler hostitele, že má práci související se zařízením nebo koncovým bodem, a to zápisem informací o kontextu do registru dveří pro zařízení.

Následující diagram pokračuje napravo od předchozího diagramu. Zobrazuje další datové struktury, které představují jeden koncový bod.

Diagram znázorňující datovou strukturu USB 3.0 s kontextem koncového bodu obsahujícím více zdrojů dat a TD

Transfer Ring

Každý koncový bod má jeden nebo více přenosových kanálů. Přenosový okruh je pole bloků žádostí o převod (TRB). Každý TRB odkazuje na blok souvislých dat (až 64 kB), který se bude přenášet mezi hardwarem a pamětí jako jedna jednotka.

Když zásobník jádra USB 3.0 obdrží žádost o přenos od ovladače klienta USB, identifikuje kontext koncového bodu pro přenos a pak rozdělí žádost o převod na jeden nebo více popisovačů přenosu (TD). Každý TD obsahuje jednu nebo více TRB.

Endpoint Context

Kontextová struktura koncového bodu obsahuje informace o kontextu pro jeden koncový bod. It also has Dequeue and Enqueue members, which are used to track where TRBs are being consumed by the hardware and where TRBs are being added by software.

See also

Inovace ladění USB ve Windows 8