Większość z nas nigdy nie myśli zbytnio o naszych klawiaturach, o ile działają dobrze, ale jeśli zatrzymasz się na chwilę, aby o tym pomyśleć, czy wysyłają one tylko sygnały do naszych komputerów, czy też występuje aktywny proces tam iz powrotem w pracy ? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser Ne Mo chce wiedzieć, czy klawiatury USB wysyłają tylko sygnały, czy też je odbierają:
Klawiatura USB nie musi odbierać żadnych sygnałów z komputera, wystarczy zasilanie, prawda? A może musi zarówno odbierać, jak i wysyłać sygnały?
Czy klawiatury USB tylko wysyłają sygnały, czy też je odbierają?
Odpowiedź
Dostawcy SuperUser LawrenceC i Dmitry Grigoryev mają dla nas odpowiedź. Po pierwsze, LawrenceC:
Z „ Definicja klasy urządzeń dla urządzeń interfejsu ludzkiego (HID) „Specyfikacja:
![]()
Aby zmienić diody LED klawiatury, klawiatura przyjmuje polecenie, aby to zrobić. Nie jest to więc urządzenie „tylko wejściowe” (co oznacza, że przekazuje dane tylko do hosta). To powiedziawszy, istnieje proces negocjacji i wyliczania wszystkich urządzeń USB, które wymagają wymiany informacji między hostem a urządzeniem. Nie możesz mieć urządzenia USB „tylko do odczytu”. Jeszcze przed USB kontroler klawiatury komputera akceptował polecenia, ponieważ wykonywał kilka rzeczy poza odczytem klawiatury ( odniesienie ):
![]()
Następnie odpowiedź Dmitrija Grigoriewa:
Każde urządzenie USB, niezależnie od swojej klasy, wymaga do działania komunikacji dwukierunkowej. Każde urządzenie USB (lub funkcja w kategoriach specyfikacji USB) jest reprezentowane jako zbiór punktów końcowych, które można traktować jako bufory akceptujące lub odbierające dane. Jednak nawet punkty końcowe, które mogą tylko wysyłać dane, czekają na specjalny pakiet zwany tokenem, zanim będą mogły odpowiedzieć:
![]()
Szare pola reprezentują hosta USB, a białe pola reprezentują funkcje USB ( źródło wykresu ).
Nawet tak zwane transfery przerwań są wykonywane w ten sposób, a host USB odpytuje podłączone urządzenia za pomocą pakietów tokenów. Tym, co różni się między zwykłymi (zbiorczymi) transferami a transferami przerywanymi jest to, że czas odpytywania jest mały i gwarantowany w tym drugim przypadku. Mimo to wszystkie transfery są inicjowane przez hosta.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .
Źródło zdjęcia: Luke Jones (flickr)