Z wiki oracle (kontroler USB):
Kontroler hosta USB ma osadzony hub zwany hubem głównym. Porty widoczne na tylnym panelu systemu to porty koncentratora głównego.
Z tego wynika, że koncentrator główny po prostu to punkt, w którym wszystkie koncentratory USB łączą się.
– Czy główny koncentrator jest elementem sprzętu, czy też jest to termin używany do określenia punktu, w którym wszystkie dane z urządzeń USB łączą się?
-Istnieją różne typy interfejsów między głównym koncentratorem a kontrolerem (UHCI, OHCI, EHCI), czy zatem słuszne jest myślenie o kontrolerze jako o „pośredniku” między głównym koncentratorem a rzeczywistym komputerem?
Odpowiedź
Możesz mieć więcej niż jedno centrum główne, więc nie, nie jest to punkt, w którym wszystkie koncentratory łączą się. wygodniej będzie myśleć o głównym koncentratorze jako o jednym z kilku punktów początkowych wyliczania.
Główny koncentrator to element sprzętu. Dokładniej mówiąc, jest on częścią kontrolera hosta (który sam może być oddzielny chip lub część chipsetu).
Interfejsy wspomniane są interfejsy kontrolera hosta (HCI), tj. interfejsy kontrolera hosta, a nie koncentratora głównego. Zasadniczo są to rejestry, do których oprogramowanie może uzyskać dostęp, aby komunikować się z kontrolerem hosta.
Z powyższego nie sądzę, aby termin „pośrednik” miał zastosowanie, tak jak go przedstawiłeś.
AKTUALIZACJA :
Oto prosty analog do zilustrowania zależności:
Pojazd to kontroler, który ma interfejs (pedały), którego oprogramowanie (kierowca) może używać do obsługi kontrolera. Ma również silnik (główny hub), który wykonuje istotną część funkcji samochodu.
Można powiedzieć, że kierowca obsługuje silnik za pomocą pedałów i byłoby to poprawne, ale nie precyzyjne, ponieważ między pedałami a silnikiem jest sporo części. Te części odpowiadają wewnętrznemu układowi logicznemu kontrolera.
Więc bardziej precyzyjnym stwierdzeniem byłoby „kierowca steruje samochodem za pomocą pedałów, kierownicy kierownicą i drążkiem, a ponieważ silnik jest częścią samochodu, wykonuje on swoją pracę w całym procesie jazdy ”. W terminologii komputerowej, co przełożyłoby się na„ oprogramowanie steruje kontroler hosta za pomocą HCI, a ponieważ główny koncentrator jest częścią kontrolera hosta, wykonuje swoją część zadania, obsługując komunikację USB „.
Komentarze
- Więc Kontroler hosta to układ komunikujący się z oprogramowaniem za pośrednictwem interfejsu kontrolera hosta (HCI), który jest również podłączony do jednego lub więcej głównych koncentratorów, dzięki czemu dane mogą być przesyłane między urządzeniem USB a kontrolerem (i od kontrolera do oprogramowania)?
- Prawie udało się. Kontroler hosta nie jest " podłączony " do głównych koncentratorów, a główny koncentrator jest częścią kontrolera. A ponieważ komputery PC zwykle mają kilka kontrolerów (wbudowanych w chipset, a także oddzielne układy na płycie głównej), obecnie w systemie jest kilka głównych koncentratorów. ' zaktualizuję odpowiedź, podając lepsze wyjaśnienie.
Odpowiedź
Zwykły koncentrator USB to urządzenie USB, które może dzielić ruch USB z jednego łącza (wysyłającego) na kilka portów pobierania, i zmiksować nadchodzący ruch z wielu portów do jednego nadrzędnego. Aby to zrobić, każdy koncentrator ma specjalny przewód sterujący, który steruje funkcjami portu, takimi jak podłączanie / odłączanie / wstrzymywanie / wznawianie / wyłączanie itp. Te funkcje są kontrolowane za pośrednictwem transakcji sterujących typu USB, które są kierowane do każdego konkretnego portu, a wszystko to za pomocą pakietu USB protokół tokena. Ten protokół działa do każdego prawidłowego poziomu archiwizacji koncentratora, a każdy port ma dobrze zdefiniowane bity stanu w odpowiedziach USB.
Główny koncentrator pełni podobną funkcję, z wyjątkiem (a) przesyłania danych jest bezpośrednio powiązany z hostem potok / magistrala kontrolera oraz (b) różne bity stanu każdego portu są mapowane bezpośrednio do rejestrów 32-bitowych w przestrzeni PCI hosta. To jest sprzęt.
Jednak, aby zachować zgodność bitową pomiędzy WSZYSTKIMI portami w drzewie USB i zapewnić uniwersalny dostęp do wszystkich portów, oprogramowanie sterownika kontrolera hosta ma zwykle specjalną warstwę, która konwertuje statusy kontroli portów w oparciu o rejestry (PORTSC ) do standardowego formatu statusu portu USB. Jest to trochę zilustrowane w następującej dokumentacji firmy Microsoft .
gdzie warstwa zakreślona, jak sądzę, zapewnia tłumaczenie stanu portu. Następnie system nie rozpoznaje różnicy między głównym portem koncentratora a zwykłym portem koncentratora.
Odpowiedź
To jest szczegół implementacji , przez większą część.
Koncentratory USB implementują wykrywanie włożenia / wyjęcia, kontrolę zasilania portu i stronę upstream protokołu wyliczania, który jest używany przed przypisaniem numeru urządzeniu.
Ta sama funkcja jest wymagana każdy port USB do odbioru danych, niezależnie od tego, czy jest bezpośrednio podłączony do kontrolera, czy też jako część oddzielnego urządzenia, i byłoby głupio mieć dwie różne specyfikacje.