Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.
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.
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.