Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie opisano struktury danych używane przez sterownik kontrolera hosta USB 3.0. Understanding these data structures will help you use the USB 3.0 and RCDRKD debugger extension commands effectively. Przedstawione tutaj struktury danych mają nazwy zgodne ze specyfikacją USB 3.0. Znajomość specyfikacji USB 3.0 dodatkowo zwiększy możliwość korzystania z poleceń rozszerzenia do debugowania sterowników USB 3.0.
Sterownik kontrolera hosta USB 3.0 jest częścią stosu sterowników USB 3.0 core. Aby uzyskać więcej informacji, zobacz , architekturę stosu sterowników USB,.
Każdy kontroler hosta USB 3.0 może mieć maksymalnie 255 urządzeń, a każde urządzenie może mieć maksymalnie 31 punktów końcowych. Na poniższym diagramie przedstawiono niektóre struktury danych reprezentujące jeden kontroler hosta i podłączone urządzenia.
Macierz podstawowa kontekstu urządzenia
Macierz podstawowa kontekstu urządzenia to tablica wskaźników do struktur kontekstu urządzenia. Istnieje jedna struktura kontekstu urządzenia dla każdego urządzenia połączonego z kontrolerem hosta. Elementy od 1 do 255 wskazują struktury kontekstu urządzenia. Element 0 wskazuje strukturę kontekstową kontrolera hosta.
Kontekst urządzenia i kontekst miejsca
Struktura kontekstu urządzenia zawiera tablicę wskaźników do struktur kontekstu punktu końcowego. Istnieje jedna struktura kontekstu punktu końcowego dla każdego punktu końcowego na urządzeniu. Elementy od 1 do 31 wskazują struktury kontekstu punktu końcowego. Element 0 wskazuje strukturę kontekstu miejsca, która zawiera informacje kontekstowe dla urządzenia.
Command Ring
Pierścień poleceń jest używany przez oprogramowanie do przekazywania poleceń do kontrolera hosta. Niektóre z tych poleceń są kierowane do kontrolera hosta, a niektóre są kierowane do określonych urządzeń podłączonych do kontrolera hosta.
Event Ring
Pierścień zdarzeń jest używany przez kontroler hosta do przekazywania zdarzeń do oprogramowania. Oznacza to, że pierścień zdarzeń jest strukturą używaną przez kontroler hosta do informowania sterowników o zakończeniu akcji.
Tablica rejestru dzwonka do drzwi
Tablica rejestru doorbell jest tablicą rejestrów dzwonków, po jednym dla każdego urządzenia podłączonego do kontrolera hosta. Elementy od 1 do 255 to rejestry dzwonków. Element 0 wskazuje, czy w pierścieniu poleceń istnieje oczekujące polecenie.
Oprogramowanie powiadamia kontroler hosta, że ma pracę związaną z urządzeniem lub punktem końcowym, aby wykonać, zapisując informacje kontekstowe w rejestrze dzwonka drzwi dla urządzenia.
Poniższy diagram jest kontynuowany po prawej stronie powyższego diagramu. Przedstawia dodatkowe struktury danych reprezentujące pojedynczy punkt końcowy.
Transfer Ring
Każdy punkt końcowy ma co najmniej jeden pierścień transferu. Pierścień transferu to tablica bloków żądań transferu (TRB). Każdy TRB wskazuje blok ciągłych danych (do 64 KB), które będą przesyłane między sprzętem a pamięcią jako pojedynczą jednostką.
Gdy stos rdzenia USB 3.0 odbiera żądanie transferu ze sterownika klienta USB, identyfikuje kontekst punktu końcowego dla transferu, a następnie przerywa żądanie transferu do co najmniej jednego deskryptora transferu (TD). Każdy TD zawiera co najmniej jedną jednostkę TRB.
Endpoint Context
Struktura kontekstu punktu końcowego zawiera informacje kontekstowe dla pojedynczego punktu końcowego. 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.