If-Koubou

USB клавиатурите изпращат ли само сигнали или ги получават ли?

USB клавиатурите изпращат ли само сигнали или ги получават ли? (Как да)

Повечето от нас никога не обръщат много внимание на нашите клавиатури, стига те да работят добре, но ако спрете да мислите за това за момент, те изпращат ли сигнали само на нашите компютри или има активен процес на обратно виждане на работното място ? Днешната публикация "SuperUser Q & A" е отговорът на въпроса на любознателен читател.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Reader на SuperUser Ne Mo иска да знае дали USB клавиатурите изпращат само сигнали или ако ги получават и:

USB клавиатурата не трябва да получава никакви сигнали от компютъра, просто захранване, нали? Или трябва да получава сигнали, както и да ги изпраща?

Дават ли USB клавиатури само сигнали или също така получават ли ги?

Отговорът

Сътрудниците на SuperUser LawrenceC и Дмитрий Григориев имат отговор за нас. Първо, Лорънс:

От спецификацията "Устройство за определяне на клас на устройство за устройства за връзка с хора (HID)":

За да смените светодиодите на клавиатурата, клавиатурата приема команда за това. Така че не е устройство "само за вход" (което означава, че извежда само данни на хоста). Това е казано, има процес на преговори и изброяване с всички USB устройства, които изискват обратна връзка между хоста и устройството. Не можете да имате USB устройство "само за четене". Още преди USB контролерът на клавиатурата на компютъра ще приема команди, защото освен че е прочел клавиатурата (справка), е направил няколко неща:

Последвано от отговора на Дмитрий Григориев:

Всяко USB устройство, независимо от неговия клас, изисква да функционира двупосочна комуникация. Всяко USB устройство (или функция от гледна точка на USB спецификациите) е представена като набор от крайни точки, които могат да бъдат смятани за буфери, които приемат или получават данни. Въпреки това дори крайните точки, които могат да изпращат само данни, чакат специален пакет, наречен токел, преди да могат да отговорят:

Сивите кутии представляват USB хост, докато белите полета представляват USB функции (източник на графиката).

Дори така наречените прекъсвания на преноса се извършват по този начин, като устройствата за свързване на USB хост, използващи токени пакети. Това, което се различава между редовните (масови) преводи и прекъсванията, е, че времето за избори е малко и е гарантирано в последния случай. Все пак всички трансфери се инициират от хоста.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.

Image Credit: Лука Джоунс (Flickr)