USB-клавиатуры посылают только сигналы или получают их слишком?
Большинство из нас никогда не задумываются о наших клавиатурах, пока они хорошо работают, но если вы перестанете думать об этом на мгновение, будут ли они только посылать сигналы на наши компьютеры или идет активный процесс туда-обратно на работе ? Сегодняшний пост SuperUser Q & A содержит ответ на любопытный вопрос читателя.
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Вопрос
Читатель SuperUser Ne Mo хочет знать, посылают ли USB-клавиатуры только сигналы или они тоже их получают:
Клавиатура USB не нуждается в приеме сигналов от компьютера, только питание, верно? Или нужно получать сигналы, а также отправлять их?
USB-клавиатуры только посылают сигналы или они тоже их получают?
Ответ
Соавторы SuperUser LawrenceC и Дмитрий Григорьев имеют ответ для нас. Во-первых, Лоуренс С:
Из спецификации «Определение класса устройства для устройств интерфейса пользователя (HID)»:
Чтобы изменить индикаторы клавиатуры, клавиатура принимает команду для этого. Таким образом, это не устройство «только для ввода» (это означает, что оно только выводит данные на хост). Тем не менее, существует согласование и процесс перечисления со всеми USB-устройствами, которые требуют обратной передачи между хостом и устройством. У вас не может быть USB-устройства «только для чтения». Даже до USB контроллер клавиатуры компьютера принимал команды, потому что он делал несколько вещей, кроме чтения клавиатуры (ссылка):
Далее следует ответ Дмитрия Григорьева:
Любое устройство USB независимо от его класса требует двунаправленной связи для работы. Каждое USB-устройство (или функция с точки зрения спецификаций USB) представлено в виде набора конечных точек, которые можно рассматривать как буферы, которые принимают или принимают данные. Однако даже конечные точки, которые могут только отправлять данные, ожидают специального пакета, называемого токеном, прежде чем они смогут ответить:
Серые поля представляют хост USB, а белые - функции USB (источник диаграммы).
Таким образом, даже так называемые передачи прерываний выполняются, когда хост USB опрашивает подключенные устройства, используя пакеты токенов. Отличие регулярных (массовых) передач от прерываний заключается в том, что время опроса мало и гарантируется в последнем случае. Тем не менее, все переводы инициируются хостом.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.
Изображение предоставлено: Люк Джонс (Flickr)