Клавиатуры с интерфейсом USB. Интерфейс для подключения клавиатур к пк

Книга посвящена аппаратным интерфейсам, использующимся в современных персональных компьютерах и окружающих их устройствах. В ней подробно рассмотрены универсальные внешние интерфейсы, специализированные интерфейсы периферийных устройств, интерфейсы устройств хранения данных, электронной памяти, шины расширения, аудио и видеоинтерфейсы, беспроводные интерфейсы, коммуникационные интерфейсы, вспомогательные последовательные интерфейсы. Сведения по интерфейсам включают состав, описание сигналов и их расположение на разъемах, временные диаграммы, регистровые модели интерфейсных адаптеров, способы использования в самостоятельно разрабатываемых устройствах. Книга адресована широкому кругу специалистов, связанных с эксплуатацией ПК, а также разработчикам аппаратных средств компьютеризированной аппаратуры и их программной поддержки.

Книга:

Для подключения клавиатуры предназначен последовательный синхронный двунаправленный интерфейс, состоящий из двух обязательных сигналов KB-Data и KB-Clock . Обе линии на системной плате подтягиваются резисторами к шине +5 В. На обеих сторонах интерфейса выходные сигналы низкого уровня формируются выходами элементов с открытым коллектором (стоком), а состояние линий может быть прочитано через входные линии контроллеров. Вид разъемов (со стороны задней панели) и назначение контактов приведены на рис. 8.1. Конструктивно возможны два варианта разъема - обычная 5-контактная розетка DIN (клавиатура AT) или малогабаритная розетка mini-DIN (PS/2). На этот же разъем через плавкий предохранитель поступает напряжение питания клавиатуры +5 В.


Рис. 8.1 . Разъемы (вид со стороны контактов) подключения клавиатур: а - AT и б - PS/2

ВНИМАНИЕ

Питание от разъема клавиатуры часто используется такими устройствами, как внешние накопители или адаптеры локальных сетей, подключаемыми к параллельному порту. Плавкий предохранитель, установленный на системной плате, может не выдержать броска тока, потребляемого этими устройствами. При этом откажется работать и клавиатура - ее индикаторы даже и не мигнут при включении.

Процессор общается с клавиатурой через контроллер интерфейса клавиатуры - микроконтроллер 8042 или программно-совместимый с ним, установленный на системной плате. Для обмена информацией в основном используется порт 60h, из которого принимаются скан-коды. О необходимости чтения скан-кода контроллер сигнализирует процессору через аппаратное прерывание IRQ1, сигнал которого вырабатывается по каждому событию клавиатуры (нажатию и отпусканию клавиши). Задание параметров автоповтора, выбор таблиц скан-кодов, управление светодиодными индикаторами, а также управление режимом сканирования матрицы клавиш и запуск диагностического теста осуществляется командами, посылаемыми в этот же порт. Контроллер транслирует команды в посылки, направляемые к клавиатуре.

Работу двунаправленного интерфейса иллюстрирует рис. 8.2, а , где серым цветом помечены сигналы, формируемые контроллером, а черным - клавиатурой. В исходном состоянии обе линии «отпущены» выходными формирователями в состояние с высоким уровнем. Клавиатура может начать передачу данных в произвольный момент, когда интерфейс находится в покое. Клавиатура формирует стартовый бит (низкий уровень) на линии KB-Data и первый импульс KB-Clock , что является сигналом контроллеру о необходимости начала приема. После подъема KB-Clock она выводит 0-й бит данных на линию KB-Data , а затем и следующий импульс KB-Clock . Контроллер должен «защелкивать» принятый бит данных по спаду KB-Clock . Так передаются все 8 бит данных и бит паритета, дополняющий число единичных бит до нечетного. После синхроимпульса бита паритета контроллер клавиатуры должен сформировать импульс KB-Clock , подтверждающий прием байта (Ack). Если весь байт с битом паритета не будет получен контроллером за 2 мс, контроллер прекращает прием данного байта и фиксирует ошибку тайм-аута.


Рис. 8.2 . Временные диаграммы интерфейса клавиатуры: а - прием посылки от клавиатуры, б - передача команды в клавиатуру

Обратная передача - вывод команды контроллера в клавиатуру - происходит несколько сложнее (рис. 8.2, б). Из состояния покоя контроллер устанавливает низкий уровень KB-Clock на 250 мкс и формирует старт-бит (низкий уровень) - это сигнал клавиатуре на прием команды. На него клавиатура должна ответить серией из 11 импульсов KB-Clock . По спаду очередного синхроимпульса контроллер выставляет очередной бит данных, а клавиатура его «защелкивает» по фронту формируемого ею же синхроимпульса. После бита паритета (9-й импульс) и единичного стоп-бита (10-й) на 11-м импульсе клавиатура формирует нулевой бит подтверждения (Ack). После этого контроллер формирует импульс KB-Clock (60 мкс), который является запросом на прием ответа клавиатуры. Контроллер ожидает окончания ответа на этот запрос не долее 20 мс и, если ответ не придет за это время, сформирует ошибку тайм-аута. Ошибка будет также в случае, если клавиатура не введет первый синхроимпульс за 15 мс от начала запроса или контроллер не примет данные, включая стоп-бит, за 2 мс с момента появления синхроимпульса бита 0.

На системной плате PC/XT контроллера 8042 не было, а интерфейс клавиатуры (однонаправленный) был реализован аппаратной логикой - регистром сдвига, параллельный выход которого подключается к входам порта А системного интерфейса 18255. По приему байта от клавиатуры вырабатывается аппаратное прерывание IRQ1 , обработчик которого может прочитать принятый байт из порта 60h. С помощью бит 7 и 6 порта 61h возможны программная блокировка и сброс клавиатуры соответственно. Сброс клавиатуры XT осуществляется обнулением линии KB-Clock .

Клавиатура.

Клавиатура выполнена, как правило, в виде отдельного устройства, подключаемого к компьютеру тонким кабелем. Малогабаритные компьютеры Lap-Top используют встроенную клавиатуру.

Традиционно все имеющиеся на клавиатуре клавиши делят на две группы:

·Буквенно-цифровые , предназначенные для ввода информации. Нажатие каждой из этих клавиш «посылает» в компьютер команду вывести на экран букву или цифру. «Значение» этих клавиш является постоянным и не меняется - вне зависимости от «запускаемых» на вашем компьютере программ. Буквенные клавиши могут работать как в режиме латинских, так и русских букв. Схема их расположения - «раскладка» - соответствует той, которая используется в традиционных пишущих машинках. Совершенно особой является группа цифровых клавиш в правой части клавиатуры: она может работать как в буквенно-цифровом режиме, так и просто в цифровом

·Функциональные клавиши предназначены для отдания компьютеру команды выполнить какую-либо операцию.

Дополнительные клавиши у словно делятся на три группы:

1. Клавиши управления питанием (включение/выключение ПК (Power) и перевод компьютера в «спящий» режим (Sleep)).

2. Клавиши для управления программами Интернет (открыть браузер, запустить программу электронной почты и т. д.).



3. Мультимедиа-клавиши (запуск воспроизведения компакт-диска, клавиши перехода между песнями, управление громкостью).

Что же находится внутри клавиатуры? Оказывается, там есть компьютер! Только этот компьютер состоит из одной микросхемы и выполняет специализированные функции. Он отслеживает нажатия на клавиши и посылает номер нажатой клавиши в центральный компьютер.

Если рассмотреть упрощенную принципиальную схему клавиатуры, можно заметить, что все клавиши находятся в узлах матрицы:

Рис.1. Упрощенная схема клавиатуры

Все горизонтальные линии матрицы подключены через резисторы к источнику питания +5 В. Клавиатурный компьютер имеет два порта - выходной и входной. Входной порт подключен к горизонтальным линиям матрицы (X0-X4), а выходной - к вертикальным (Y0-Y5).

Устанавливая по очереди на каждой из вертикальных линий уровень напряжения, соответствующий логическому 0, клавиатурный компьютер опрашивает состояние горизонтальных линий. Если ни одна клавиша не нажата, уровень напряжения на всех горизонтальных линиях соответствует логической 1 (т.к. все эти линии подключены к источнику питания +5 В через резисторы).

Если оператор нажмет на какую-либо клавишу, то соответствующая вертикальная и горизонтальная линии окажутся замкнутыми. Когда на этой вертикальной линии процессор установит значение логического 0, то уровень напряжения на горизонтальной линии также будет соответствовать логическому 0.

Как только на одной из горизонтальных линий появится уровень логического 0, клавиатурный процессор фиксирует нажатие на клавишу. Он посылает в центральный компьютер запрос на прерывание и номер клавиши в матрице. Аналогичные действия выполняются и тогда, когда оператор отпускает нажатую ранее клавишу.

Номер клавиши, посылаемый клавиатурным процессором, однозначно связан с распайкой клавиатурной матрицы и не зависит напрямую от обозначений, нанесенных на поверхность клавиш. Этот номер называется скан-кодом (Scan Code).

Слово scan ("сканирование"), подчеркивает тот факт, что клавиатурный компьютер сканирует клавиатуру для поиска нажатой клавиши.

Но программе нужен не порядковый номер нажатой клавиши, а соответствующий обозначению на этой клавише ASCII-код. Этот код не зависит однозначно от скан-кода, т.к. одной и той же клавише могут соответствовать несколько значений ASCII-кода. Это зависит от состояния других клавиш. Например, клавиша с обозначением "1" используется еще и для ввода символа "!" (если она нажата вместе с клавишей SHIFT).

Поэтому все преобразования скан-кода в ASCII-код выполняются программным обеспечением. Как правило, эти преобразования выполняют модули BIOS. Для использования символов кириллицы эти модули расширяются клавиатурными драйверами.

Если нажать на клавишу и не отпускать ее, клавиатура перейдет в режим автоповтора. В этом режиме в центральный компьютер автоматически через некоторый период времени, называемый периодом автоповтора, посылается код нажатой клавиши. Режим автоповтора облегчает ввод с клавиатуры большого количества одинаковых символов.

Следует отметить, что клавиатура содержит внутренний 16-байтовый буфер, через который она осуществляет обмен данными с компьютером.

В настоящее время существует три различных типа клавиатуры. Это клавиатура для компьютеров IBM PC/XT, 84-клавишная клавиатура для IBM AT и 101-клавишная (расширенная) клавиатура для IBM AT. Некоторые клавиатуры имеют переключатель режима работы (XT/AT), расположенный на нижней крышке. Он должен быть установлен в правильное положение.

В зависимости от конструкции клавиш (типу установленных клавиш) клавиатуры делятся на:

Механические клавиатуры . Механические клавиши представляют собой совокупность металлических контактных площадок и пружины, которая возвращает клавишу в исходное положение. Иногда конструкцию дополняет металлическая пластина, прогибающаяся при нажатии клавиши. При этом ощущается сопротивление клавиши и издается характерный щелчок. Клавиатуры данного типа очень надежные (выдерживают до 20 млн. срабатываний), но не очень распространены в связи с их дороговизной.

Полумеханические клавиатуры. Полумеханические клавиши также имеют металлические контактные площадки. Разница (по сравнению с механическими) состоит в том, что вместо металлической пружины используется упругий элемент, изготовленный из резины или другого подобного материала.

Мембранные клавиатуры. Контактные площадки клавиш данного типа состоят из токопроводящего полимерного материала, а роль упругого элемента выполняет полимерная пленка. Хотя клавиатуры с мембранными клавишами уступают механическим и полумеханическим конструкциям по надежности (в среднем мембранные клавиши выдерживают около 10 млн. нажатий), но из-за своей дешевизны они наиболее распространенные. Кроме того мембранные клавиатуры более устойчивые к загрязнению и воздействию влаги.

В зависимости от количества клавиш клавиатуры делятся на:

· 83-клавишная клавиатура PC и XT;

· 84-клавишная клавиатура AT;

· 101-клавишная расширенная клавиатура;

· 104-клавишная расширенная клавиатура Windows.

· Мультимедийные клавиатуры

Рассмотрим три последних типа клавиатур, поскольку первых два практически не используются.

101-клавишная расширенная клавиатура . Время изготовления - 1986 год (компания IBM). Была стандартом клавиатур для всех PC-совместимых систем, пока не появилась 104-клавишная кла­виатура Windows. 101-клавишная клавиатура может быть условно разделена на следующие области:

Область печатных символов;

Дополнительная цифровая клавиатура;

Область управления курсором и экраном;

Функциональные клавиши.

Рис.1 101-клавишная расширенная клавиатура.

104-клавишная клавиатура Windows. Время изготовления – 1995 год (была представлена вместе с Windows 95). Сравнительно с 101 – клавишной клавиатурой используются три новые клавиши, используемые при работе с Windows (левая и правая Windows-клавиша и клавиша ).

Рис.2 104-клавишная клавиатура Windows

Мультимедийные клавиатуры. Современные клавиатуры, помимо ста четырёх клавиш, очень часто снабжаются дополнительными клавишами. Эти клавиши предназначены для упрощённого управления некоторыми функциями (основными или наиболее использованными) компьютера: управление громкостью звука, проигрывателем, сетевыми возможностями компьютера, наиболее популярными программами, управление состоянием окон операционной системы (свернуть, закрыть, перейти к следующему или к предыдущему), управление состоянием компьютера (ждущий режим, спящий режим, выключить компьютер). Многие из этих функций относятся к сфере мультимедиа – отсюда и название.

Рис.3 Мультимедийная клавиатура

Интерфейс для подключения клавиатур к ПК

Наиболее распространенными интерфейсами, используемыми в настоящее время для подключения клавиатур к ПК, являются PS/2 и USB, хотя в последние годы значительно возросла популярность беспроводных клавиатур.


Так как PS/2 доживает свои последние дни, на современных материнских платах зачастую размещают всего один совмещенный разъем, к которому можно подключить либо клавиатуру либо мышь. Если оба ваших устройства оснащены разъемом PS/2, а свежекупленная материнка имеет всего один вход, то вам придется докупить переходник. Он выглядит примерно так:

Беспроводные устройства подключаются к компьютеру с помощью специального адаптера, который идет в комплекте.

В зависимости от типа корпуса клавиатуры делятся на:

Традиционные (стандартные) – обычные AT-клавиатуры;

Эргономичные. Конструкции клавиатур данного типа учитывают естественное положение рук во время набора (в таких конструкциях клавиатура преломлялась в центре, клавиши находились под прямым углом к естественному положению кистей рук при наборе). Эргономичная клавиатура дает возможность повысить производительность и избежать опасности некоторых хронических заболеваний.

Рис.4 Эргономичная клавиатура

Гибкие . Название говорит само за себя (гибкую клавиатуру можно легко скатать в рулон)

Первые модели гибких клавиатур появились в 2002 году. К преимуществам гибких клавиатур также можно отнести высокую влаго- и пылезащищенность (если клавиатура загрязнилась – достаточно промыть ее под струей воды).

Игровые клавиатуры это в основном устройства высшего ценового диапазона. Они максимально оптимизированы для управления компьютерными играми.


клавиатуры и мыши
к стационарному компьютеру

Клавиатуры и мыши, как и вся остальная атрибутика
для стационарного компьютера – тоже разные.

Современные клавиатуры и мыши, в большинстве своём,
имеют USB-подключение.

Помимо широкой распространенности – преимуществом
USB-интерфейса является возможность подключения
к работающему компьютеру.

Но в описании, я немного расскажу
и о других подключениях.

Подключение клавиатуры с USB-подключением к системному блоку

Подключение клавиатуры,
с USB-подключением,
к системному блоку

Ниже, схема подключения основных блоков,
к системному блоку стационарного компьютера.

Щёлкните по картинке, чтобы увеличить.

Как видите, на схеме, есть два варианта
подключения клавиатуры и мыши.

Интерфейсы для подключения USB.
Интерфейсы для подключения PS/2.

В этом разделе мы рассмотрим
клавиатуры с USB-подключением.

На стационарном компьютере разъёмы USB могут находиться
и на передней панели cистемного блока, и на задней. Занимать
и горизонтальное положение, и вертикальное.

Нет нужды показывать все существующие варианты клавиатур.
Я вам представлю лишь два из них

Слева – клавиатура со съёмным кабелем. Прежде, чем подключать
её к системному блоку – нужно подсоединить кабель к самой клавиатуре.
А затем уже подключать к на задней панели системного блока.

Справа – клавиатура со встроенным кабелем. Её сразу можно
подключать к USB-порту на задней панели системного блока.

И всё... После включения компьютера и установки Операционной
системой Windows специальных драйверов – с клавиатурой можно работать.

Подключение мыши с USB-подключением к системному блоку

Подключение мыши,
с USB-подключением,
к системному блоку

Мыши с USB-подключением.
Проводная и беспроводная.


Подключать мышь, к системному блоку, очень просто.
Вставляете разъём-USB мыши в порт-USB системного блока.

И, при первом подключении, ждёте пока Windows
подключит мышь и сообщит о её готовности к работе.

Подключения PS/2, Bluetooth и другие, для клавиатуры и мыши

Подключения PS/2, Bluetooth
и другие, для клавиатуры и мыши

Если ваша клавиатура имеет интерфейс для подключения PS/2,
то тогда вы подключаете клавиатуру к PS/2-порту.

Интерфейс PS/2 используется в системных платах с питанием ATX.
Представляет собой тонкий круглый разъем – 6-контактный miniDIN.
После подключения нового оборудования к PS/2-порту требуется

На схеме задней панели системного блока,
для клавиатуры и мыши, окрашены.

PS/2-порт для клавиатуры окрашен в сиреневый цвет.
А для мыши – в зелёный.

Есть возможность адаптировать PS/2-интерфейс клавиатуры и мыши,
для подключения к порту USB. Для этой цели применяются адаптеры.

Общие вопросы, история и интерфейсы

Настало время рассмотреть некоторые общие вопросы, касающиеся периферийных устройств, предназначенных для взаимодействия пользователя с компьютером, а именно ввода информации. Так как вывод информации - это взаимодействие компьютера с пользователем. Поскольку область применения всяческих специфических приспособлений для этой цели мала, а аудитория ограничена, на них мы остановимся вскользь в отдельной статье цикла, а сейчас речь пойдёт о клавиатурах и мышах. Всё-таки более 90% информации вводится в ПК с их помощью.

Цель этого цикла - отойти немного в сторону от рутинных обзоров конкретики этой периферии и попытаться сформулировать некие общие принципы и подходы. Для облегчения проблемы выбора и подъёма эффективности их использования. Как бы FAQ, но скорее, введение в вопрос для начинающих, способное в отдельных аспектах быть интересным и более опытным пользователям. Многие моменты намеренно упрощены, с целью сделать их более понятными и доступными именно для новичков и не специалистов. При этом естественным образом страдает точность изложения. Потому что о том, что упомянуто в паре абзацев, написаны отдельные книги. Но здесь мы находимся в рамках избранного формата. Ещё раз - это сделано намеренно!

Обойтись без истории вопроса не получится, но если её освещать подробно, то формат интернет-публикации слишком мал.

«При этих словах Арамис увлечённо хлопнул рукой по фолианту Фомы Аквинского, под тяжестью которого прогибался стол».

Так что история будет набросана пунктиром, ровно в той степени, чтобы облегчить понимание сегодняшней ситуации и проиллюстрировать некоторые моменты, сложившиеся исторически.

В материале не будет иллюстраций - ни картинок, ни ссылок. Картинок получилось бы слишком много, а ссылки имеют свойство устаревать. Конкретики в виде советов по определённым моделям устройств тоже не будет, возможно, она появится в обновляемом приложении. Но это - общая часть.

Порой читатели подсказывают очень интересные направления для доработки статей, особенно таких обзорных. Или задают интересные вопросы, ответы на которые для автора очевидны. Поэтому не стесняйтесь в обсуждении в конференции высказывать своё мнение. Возможно, оно послужит причиной для внесения в материал поправок и дополнений, а также поможет сформировать FAQ (ответы на часто задаваемые вопросы), если возникнет такая необходимость.

История вопроса

Ещё раз. Флейм и дополнения по этой теме — не приветствуются.

Первоначально для общения с ЭВМ применялись тумблеры и перфокарты, но этот период скрывает пелена времени. Осмысленное общение с ПК началось с внедрения клавиатуры. Она существовала до этого в течение примерно века как орган управления механическими печатными машинками и вполне сформировалась как рабочий инструмент. Довольно быстро выяснилось, что, несмотря на это, для работы с ЭВМ клавиатуру надо несколько модифицировать. Она была до того чисто механической, и потому в виде лесенки. Электрические контакты вместо рычагов с буквами не требовали этого, и клавиатуры стали плоскими. К моменту начала продаж первой массовой модели IBM PC XT сформировались блоки функциональных клавиш и цифровой блок. В следующем поколении, IBM PC AT и многочисленных его клонах на базе процессора Intel 80286, которые в основном ознаменовали переход ПК из разряда диковин в ранг рабочих инструментов, к ним были добавлены блоки клавиш управления курсором и редактирования. Которые, по большому счёту, дублировали функции цифрового блока с модификаторами, но оказались более удобными для работы. Именно тогда сформировалась клавиатура в том виде, к которому мы привыкли сейчас, именно эти клавиатуры называют «классикой».

История мыши, координатного устройства перемещения курсора, значительно короче и полностью связана с ЭВМ. Точнее, с концепцией графического интерфейса управления им, разработанной компанией Xerox и потом успешно освоенной не менее знаменитыми Apple & Microsoft. В самом деле, зачем координатный указатель в текстовом режиме? Не очень и нужен. А при работе с (псевдо)графикой без него не обойтись. Идея коробочки, переводящей свои перемещения в движения курсора с кнопкой, выполняющей некие действия в зависимости от окружения, оказалась настолько удачной и была настолько быстро реализована в достаточно функциональном виде, что до сих пор мы видим в общих чертах примерно то же, что и было в комплекте первых массовых ПК (до них - туман времени;-)).

Плавно переходим к более актуальным и насущным темам.

Интерфейс

Поскольку клавиатура присутствовала в массовых ПК изначально, то и подключалась она всегда напрямую к материнской плате, через свой специальный разъём. Круглый DIN с пятью штырьками физически, последовательный интерфейс логически, с питанием 5 В.

Мышки в комплекте были не всегда, и поэтому они обычно подключались к универсальному последовательному (COM) порту, предназначенному для любых периферийных устройств, не требующих (поначалу) передачи больших объёмов данных. Обычно он был реализован на карте расширения (Multi I/O, ввода-вывода), которая содержала также параллельный (LPT) порт и контроллеры дисководов и жёстких дисков. Сам порт до сих пор имеется на большинстве материнских плат, куда всё это хозяйство мигрировало довольно быстро, потому что собрать без него полноценный компьютер невозможно. Но мышей к нему обычно не подключают. Были ещё bus mouse, которые подключались к специальным контроллерам, но их было мало.

Так как IBM при смене поколений ПК выпустила PS/2. Сам он не оказал такого мощного влияния на индустрию, как XT & AT, но одноимённые разъёмы для клавиатуры и теперь уже аналогичный для мыши прижились надолго. И если для клавиатуры это означало просто переход на коннектор меньшего размера, шестиштырьковый, mini-DIN, то для мыши это вылилось в выделение для неё отдельного места в иерархии комплектующих, которое не могло быть занято ничем другим. Схема эта работает уже два десятилетия, и только сейчас данные порты постепенно стали уходить в историю. Но процесс этот не быстрый.

Новый, и на настоящий момент последний способ подключения периферии начал зарождаться более десяти лет назад. Тогда на материнских платах появились разъёмы USB, Universal Serial Bus. Эта последовательная шина сильно обогнала своё время, первую пару лет устройства с её поддержкой было трудно встретить в продаже. Примерно как сейчас карты расширения с интерфейсом PCI-E, кроме видеоускорителей. Зато последующее её пришествие на рынок было мощным и триумфальным, и сейчас в будущем видится третья версия стандарта, который потихоньку выживает с задней стороны компьютера все остальные интерфейсы для периферии.

В частности, и PS/2. В этом году ведущие производители устройств ввода не анонсировали ни одной модели, рассчитанной на этот способ подключения. Ранее объявленные модели могут ещё долго выпускаться, так что переживать не о чем, но на новинки от Logitech и Microsoft рассчитывать не стоит. От исторической справки переходим к описанию вариантов. Кто-то может возразить, что за бортом остались беспроводные устройства. Это не так. Строго говоря, это не интерфейс взаимодействия с компьютером, а способ подключения, и мы рассмотрим их в следующем разделе.

PS/2

Самый старый из актуальных, самый актуальный (до недавнего времени) среди дешёвых устройств. По большому счёту, он документирован внутренним стандартом фирмы IBM, и не является общеиндустриальным де-юре, но стал таким де-факто.

Разъём mini-DIN о шести контактах. Это линия питания 5 В, линия тактового генератора (Clock), линия данных. И общий ноль. Как легко убедиться, два контакта не используются. Поэтому PS/2 полностью совместим через пассивный переходник с AT в обе стороны. XT не совместим ни в одну сторону, так как использовалась другая логика интерфейса.

Частота тактового сигнала означена в пределах 10–16,7 КГц. Это не имеет ничего общего с частотой опроса устройства операционной системой, это просто опорная частота для контроллера. Который и обеспечивает всю логику процесса.

Изначально клавиатура и мышь вместе не должны были потреблять более 275 мА, из которых на долю мыши отводилось 100 мА. Однако производители материнских плат чаще всего, особенно в обозримом прошлом, закладывали в свои изделия бо льший допустимый максимум по питанию, до 500 мА, как у порта USB, или даже чуть выше. Важной особенностью является то, что интерфейс не рассчитан на «горячее» подключение, то есть для присоединения разъёма к порту надо обесточить компьютер. В противном случае, возможен выход из строя как портов на материнской плате, так и периферийных устройств, и такие случаи известны. Хотя и не часты - те же производители материнских плат вполне могут сделать защиту от подобных неприятностей.

Интерфейс обмена данными последовательный, двусторонний. У клавиатуры каждая клавиша, за исключением регистровых, при нажатии генерирует один скан-код, а при отпускании - другой. Эти коды отправляются в ПК и обрабатываются BIOS через прерывание. Нажатая клавиша через некоторое время воспринимается как генерирующая непрерывный сигнал. По-умолчанию - 10,9 раз в секунду, задержка между обработкой нажатий как отдельных и непрерывных составляет 500 мс. Эта величина настраивается в промежутке между 250 мс и 1 с, скорость повтора - от 2 до 30 раз в секунду. Скан-коды основных клавиш однобайтовые, а дополнительные на расширенной клавиатуре - двух и четырёхбайтовые, в начале имеют специальную сигнальную последовательность.

Мышь в простом случае генерирует трёхбайтовую последовательность, которая в первом содержит информацию о состоянии кнопок в однобитовом формате и служебную информацию, а два остальных о перемещении по осям. Впоследствии четвёртый байт, добавленный для обработки колеса и дополнительных кнопок, тоже был неким образом стандартизирован, поэтому колесо и две дополнительных кнопки могут работать без драйверов в большинстве современных ОС. В общем случае мышь может дополнительно генерировать сигналы, не описанные стандартом и обрабатываемые драйвером или на уровне операционной системы. Кроме того, мышь обменивается с компьютером данными о разрешении, то есть отношении пути пробега манипулятора по столу к длине отрезка, на который перемещается курсор на экране, и частоте опроса. Она может составлять от 10 до 200 Гц, верхняя граница определяется контроллером мыши и поддержкой со стороны ОС. Проще говоря, определяется максимальная частота, с которой ОС проверяет наличие информации от манипулятора. Когда им не пользуются, то он и не шлёт информации, но его всё равно опрашивают заданное количество раз. Когда им пользуются, то он отвечает на опрос с максимально для него возможной частотой. И если опрашивают 200 раз, а отвечать может только 125 раз, то ограничением будет последняя цифра. На этих параметрах мы остановимся подробнее в дальнейшем.

Тем, кто хочет узнать более тонкие технические подробности, порекомендуем документы на английском языке об , и PS/2.

USB

В противоположность PS/2, который был разработан фирмой IBM, USB - открытый отраслевой стандарт, разработкой и усовершенствованием которого занимается специальная , состоящая из представителей лидирующих компаний индустрии ПК. Предназначался он изначально для подключения компьютерной периферии, и должен был заменить всё разнообразие существующих до него интерфейсов. По факту, так и свершилось. По большому счёту, то, что можно сейчас увидеть на задней поверхности системного блока - это именно USB, звуковые разъёмы, которые давно пришли из параллельного аудиомира, и видеоинтерфейс, для которого пропускной способности USB пока недостаточно.

С точки зрения периферии, он даёт несколько важных преимуществ по сравнению с PS/2. Во-первых, возможность подключать к одному порту не одно, а несколько устройств при использовании хабов. Во-вторых, возможность «горячего» их подключения, без обесточивания ПК и самих устройств. В-третьих, повышение максимальной скорости опроса порта с 200 Гц до 1 КГц, а скорости обмена данными от 40 Кбит/с до 12 Мбит/с в первой версии стандарта, чего более чем достаточно для любых устройств ввода. И, кроме того, документированная максимальная сила тока при тех же 5 В питающего напряжения поднята от 100 мА до 500 мА.

Физически — четырёхпроводной последовательный интерфейс может быть как синхронным, так и асинхронным. Поскольку он разрабатывался для периферии в общем случае, то изначально были определены устройств. Интересующие нас относятся к HID — Human Interface Device, устройствам взаимодействия человека с ПК.

Логически он работает не через прерывания, а через HID-события, которые несут смысловую нагрузку, практически в простом случае идентичную скан-кодам. С точки зрения ОС, большой разницы нет, да и с точки зрения современных BIOS - тоже.

Явно видно, что он пришёл на смену PS/2, хотя времени для этого потребовалось немало. Однако в этом году ни один ведущий производитель периферии не объявил новых моделей с поддержкой PS/2, на редком ноутбуке можно встретить эти порты. Да и не жалко их. Если при недостатке USB они помогали увеличить количество одновременно подключённых устройств, то сейчас эта проблема не стоит так остро - чем занять 10-12 портов USB, обыкновенных для современных материнских плат, надо ещё придумать.

Желающим узнать подробности про логическую организацию USB , а находятся ответы на вопросы от корпорации Microsoft.

BIOS и операционная система

С точки зрения BIOS, на данный момент неважно, какой интерфейс используется. Если на заре USB-периферии не все они могли обрабатывать сигналы от этих устройств, то на данный момент вопрос снят. Важные настройки таковы:

  • Обработка длительного нажатия на клавишу: Typematic delay, задержка перед генерацией последовательности одинаковых символов и Typematic rate, частота их генерации, варианты описаны выше
  • Disable/enable PS/2 mouse — отключение порта мыши PS/2
  • USB legacy support — поддержка мышей и клавиатур с интерфейсом USB
  • BIOS EHCI hand-off or EHCI Support — трансляция сигналов USB клавиатуры в формат PS/2 для обеспечения возможности их работы в старых операционных системах, не поддерживающих USB, на уровне BIOS, а не драйвера
  • И, наконец, — не настройка BIOS чаще всего, а положение джамперов на материнской плате отвечает за питание от дежурной линии при отключении ПК (не от сети, а кнопкой). Если нужно заряжать аккумуляторы при отключённом ПК или включать его с клавиатуры или мыши, то надо разобраться с этими джамперами

Всё это полностью и чётко описано в документации к материнской плате. Как обычно, настройки BIOS не стандартизированы и могут варьировать от одной версии к другой как, по сути, так и по названиям. Кроме того, могут добавляться какие-то специфические функции, однако знания этих вполне достаточно, чтобы передать сигналы от мыши и клавиатуры практически любой современной и большинству устаревших ОС, даже таких реликтовых, как «чистый» DOS, порой ещё необходимый для низкоуровневых операций с тем же BIOS или жёсткими дисками. Потому что базовый набор получаемой от клавиатуры (да и мыши) информации стандартизирован очень давно, да так с тех пор и поддерживается в практически неизменном виде.

Другое дело, что сейчас эти устройства стали сложнее и функциональнее, но всё это богатство можно использовать только при поддержке соответствующих функций операционной системой. В них работу периферийного (да и другого) оборудования обеспечивают драйверы - специальные программы, исполняющие роль посредников между устройствами и высокоуровневым ПО. Модель абстракции от оборудования многоуровневая, в современных системах семейства Windows всё происходит (упрощённо) примерно следующим образом:

  1. При прохождении POST BIOS ПК определяет наличие клавиатуры и мыши и начинает с ними работать через прерывания или события HID, транслируя для загружающейся ОС, в зависимости от настроек, стандартную таблицу символов или события HID
  2. На начальном этапе загрузки работает стандартный драйвер устройств ввода (и вывода), благодаря которому можно работать, например, в меню выбора ОС и вариантов её загрузки
  3. После перехода к загрузке полнофункциональной ОС, управление устройствами перехватывается её ядром и драйверами более высокого уровня. По сути, именно ими и обеспечивается базовая функциональность любых клавиатур и мышей в отсутствии ПО производителя. Иерархически это будут драйвера интерфейса (PS/2 или USB), далее стандартный драйвер клавиатуры и мыши. На данный момент он поддерживает довольно много дополнительных команд, по сравнению с временами DOS. Далее — поддержка различных кодовых страниц, необходимая для обеспечения взаимодействия с пользователями, говорящими на разных языках
  4. Наконец, поверх всего этого работает специальное ПО от производителя периферии, призванное обеспечить поддержку специфических функций оборудования и точную настройку их под конкретного пользователя. Оно может замещать некоторые системные функции более низкого уровня, но в общем случае такое не характерно.

Примерно по такой схеме работают с клавиатурой и мышью и некоторые другие операционные системы. Во времена DOS модель взаимодействия была проще. В ядро системы была встроена только поддержка стандартных клавиатур. Для работы мыши и осуществления русскоязычного ввода (и вывода) применялись резидентные (постоянно находящиеся в памяти, но внешние по отношению к ОС) программы сторонних производителей. О дополнительной функциональности мышей и клавиатур речь тогда не шла, как и о поддержке интерфейса USB, но реализация всего этого вполне возможна.

На данный момент базовые драйверы актуальных ОС семейства Windows поддерживают пятикнопочную мышь с колёсиком, полный объём ввода национальных символов с клавиатуры (в зависимости от установленной поддержки самих языков) и достаточно большое количество дополнительных клавиш. Полного перечня нам, к сожалению, найти не удалось, но в это число точно входят все те, что встречаются на простых мультимедиа-моделях: управление воспроизведением и звуком, запуск почтового и интернет-клиента, поиска и некоторых других программ.

В качестве стартовой страницы для углублённых штудий вопроса порекомендуем эту .

Подключение

Простейший способ подключения периферийного устройства к соответствующему ему разъёму на ПК - провод. Так и было в течение многих лет, пока не пришла мода сначала на беспроводные мыши, а потом и клавиатуры.

Достоинств у провода два: питание периферии идёт от БП ПК, и скорость взаимодействия на данный момент всё ещё выше, чем по беспроводному каналу. Именно поэтому «игровые» мыши до сих пор проводные. Особых недостатков мы у провода не находим, ввиду многолетней привычки к его присутствию на столе, однако с этим многие не согласятся.

Достоинство беспроводного подключения одно - отсутствие провода. Поэтому можно легко взять клавиатуру на колени, мышку положить рядом на диване и не особо заботиться о расстоянии до системного блока. Особенно актуальным такое положение устройств взаимодействия с ПК стало с распространением больших экранов. Однако борьба с проводами имеет достаточно длительную историю, значит, они и на столе кому-то мешали. Главным недостатком является необходимость автономного питания устройств и, в меньшей степени, снижение максимально возможной частоты отправки ими данных в ПК. По обоим направлениям давно и успешно работают производители.

За организацию канала связи отвечает приёмник (ресивер), или приёмо-передатчик (трансивер), для двустороннего взаимодействия. Он имеет стандартный интерфейс для подключения к ПК, раньше PS/2, затем чаще встречались с двойным, сейчас обычно только USB. С точки зрения ПК, он и выглядит как периферия с именно этими, стандартными интерфейсами. Всю передачу сигналов от клавиатуры или мыши (или обоих устройств сразу) он берёт на себя. По большому счёту, приёмник обязан работать только с той мышью и (или) клавиатурой, с которыми он идёт в комплекте. Все исключения связаны с использованием стандартного оборудования, и работают, строго говоря, в каждом конкретном случае индивидуально.

На данный момент используется несколько способов связи.

Модулированный световой поток инфракрасного диапазона

Исторически это первый способ массового бесконтактного взаимодействия бытовых устройств. Прекрасно зарекомендовал себя в управлении телевизорами, а потом и другой техникой, список которой всё расширяется. Плохо подходит для компьютерной периферии, так как устройство должно быть постоянно направлено на приёмник излучения, но до сих пор используется для пультов ДУ, принтеров для мобильных ПК, синхронизации КПК с большим братом. Были такие мыши, а клавиатуры до сих пор можно встретить в актуальной линейке продуктов.

По нашему мнению, уступает современным радиоканалам во всём и имеет только исторический интерес. С этим суждением согласятся не все, многим нравится целиться пультом в приёмник.

Низкочастотный радиоканал

Частота десятки мегагерц, чаще в районе 27 МГц. Дальность действия от полуметра до нескольких метров. Частота опроса порта от 40 (в современных воплощениях, бывало и меньше) до стандартных для USB 125 Гц.

Исторически, широко стал применяться в первом поколении беспроводных телефонов, и там же живёт до сих пор. Недостатки - небольшая дальность связи, подвержен помехам от тех же телефонов, а также микроволновых печей, радио и телепередач, раций небольшого радиуса действия и прочих радиоуправляемых игрушек. Кроме того, сигнал хорошо экранируется металлическими предметами, стенами и так далее.

В новых устройствах используются современные протоколы связи, позволяющие снизить влияние помех и однозначно «спарить» периферию с ресивером, чтобы позволить работать в одном помещении нескольким однотипным устройствам, но полностью преодолеть помехи пока не удаётся.

По сути, это устаревший способ организации канала, но до сих пор используется при устранении проводов в пределах рабочего стола. В достоинствах у него то, что сам по себе он обычно не мешает работе других радиоустройств ввиду небольшой мощности сигнала.

Высокочастотный радиоканал

Используются частоты около 2,4 ГГц. Также сначала был обкатан на беспроводных телефонах и другом, не совсем бытовом оборудовании. Дальность действия от двух-трёх до десятков (и даже сотен) метров. Частота опроса порта обычно не менее 125 Гц в современных реализациях.

В бытовом применении мощность сигнала обычно ограничивается специально, чтобы не создавать помех другим устройствам. Хотя используются очень сложные схемы кодирования сигнала, полностью помех избежать не удаётся, особенно при различии мощности источников в разы и близком расположении. Также экранируется различными препятствиями, особенно, из токопроводящих материалов, но меньше, чем низкочастотный сигнал. Вследствие серьёзной проработки протоколов обмена может нести довольно большое количество информации в единицу времени, но в рассматриваемом случае это не очень важно. Гораздо важнее для беспроводных сетей, которые работают в том же диапазоне и составляют главный источник помех для периферии. Наоборот тоже верно.

Таким образом, хотя в благоприятной обстановке такой канал показывает максимальную стабильность связи и достаточную дальность, проблемы при его использовании всё равно бывают, и не редко. Обычно они решаются выбором такого положения источников сигнала в пространстве, при котором их взаимное влияние минимально. Определяется это опытным путём. Поэтому в данном конкретном случае может наблюдаться дрожание курсора мыши, задержки при перемещении её и пропадание символов, набранных на клавиатуре. Ищите источники проблем и устраняйте локальные конфликты, прежде чем ругать производителей.

Bluetooth

С точки зрения среды передачи - тоже радиоканал на частотах, близких к 2,4 ГГц, радиус действия в общем случае порядка десяти метров. Частота опроса порта в старых версиях стандарта была невелика, вследствие заложенных в него больших допустимых задержек в общении устройств между собой, и могла составлять порядка 40 Гц, однако сейчас у новых устройств около 125 Гц.

Стандартный беспроводной интерфейс разработан достаточно давно и изначально призван заменить USB там, где провода нежелательны. Подобно ему, поддерживает несколько профилей для различных устройств, в том числе и HID. Однако не пошёл в массы так же широко и успешно, как USB. Причины не ясны: с одной стороны, производители внедряют его, и устройств с его поддержкой выпускается достаточно много, и чем дальше, тем больше. С другой стороны, он так и не стал стандартом де-факто. В частности, это проявляется в отсутствии его поддержки со стороны ПК его на уровне BIOS. Таким образом, абстрактная Bluetooth-периферия может работать только на уровне операционной системы, после загрузки драйверов стэка протокола и драйверов самой периферии. Всё это не очень интересно - Бог с ней с мышью, но без клавиатуры на этапе загрузки порой тяжко. Не говоря о работе в самом BIOS и DOS.

Поэтому производители такой периферии идут на хитрость. Они поставляют в комплекте свой Bluetooth модуль, который, по сути, выполняет две функции: во-первых, он эмулирует для BIOS стандартную USB-клавиатуру, а во-вторых, является контроллером собственно Bluetooth. При этом после загрузки ОС клавиатура и мышь могут выглядеть и как USB, и как Bluetooth устройства. Обычно пользователю при установке драйверов даётся возможность выбора. И если других Bluetooth-устройств использовать не планируется, то оптимальным может быть вариант с отключением этого интерфейса. Обычно по-умолчанию так и есть - с точки зрения безопасности. Потому что среди прочего подключение по Bluetooth могут использовать для доступа к ПК злоумышленники. Впрочем, при простой настройке интерфейса риск несанкционированного проникновения резко снижается.

Из этого следует, что клавиатура в BIOS будет работать только с комплектным приёмником, а под управлением ОС данная конкретная мышь и клавиатура могут с данным конкретным (не родным) приёмником работать вполне нормально. А могут плохо, или никак. Хотя вроде бы всё стандартное. К сожалению, обычно это выясняется на практике. Показательно то, что если мышки Bluetooth без приёмника в комплекте производятся и продаются, клавиатур таких нам не известно. Поскольку на этапе загрузки ОС они работать не будут, а отсутствие клавиатуры в этот момент критично. Чего не скажешь про мышь.

Ответы на общие вопросы по Bluetooth на группы, занимающейся развитием стандарта. А ответы на вопросы от Microsoft.

Перспективные технологии

Пока не ясны. Есть и Wireless USB, может и Bluetooth справится с проблемами роста и детскими болезнями, есть сетевые технологии, активно продвигается, например, WiMax, который также может быть в дальнейшем использован для подключения периферии. Но пока всё ещё очень расплывчато и ставки на фаворита делать рано. Поживём - увидим. Тем более, что периферия в плане интерфейса достаточно консервативна и практически все текущие потребности обеспечивают присутствующие на рынке стандарты.

Вывод

Подводя общий итог этому обзору интерфейсов и способов подключения клавиатур и мышей, отметим, что в большинстве случаев всё будет работать без нареканий, только перед покупкой периферии надо внимательно изучить хотя бы то, что заявлено производителем. Интерфейс, протокол и список поддерживаемых ОС обычно можно легко и быстро обнаружить на его сайте.

Что касается конкретики, то, скорее всего, у нового комплекта будет интерфейс USB, проводной или радиоканал. Если не нужны большие расстояния от приёмника до мыши (а до клавиатуры они нужны редко) - то подойдёт и низкочастотный. Если имеется некоторое количество устройств Bluetooth - можно присмотреться к периферии с его поддержкой. При активной игре, особенно в сетевые и кровавые игры, стоит брать мышку с проводным подключением. Всё остальное - дело вкуса, либо параметров, которые будут рассмотрены в следующих статьях цикла.

Передача данных начинается с проверки готовности принтера - состояния линииBusy. Строб данных может быть коротким - доли микросекунды, и порт заканчивает его формирование, не обращая внимания на сигнал Busy . Во время строба данные должны быть действительными. Подтверждением приема байта (символа) является сигнал Ack# , который вырабатывается после приема строба через неопределенное время (за это время принтер может выполнять какую-либо длительную операцию, например, прогон бумаги). Импульс Ack# является запросом принтера на прием следующего байта, его задействуют для формирования сигнала прерывания от порта принтера. Если прерывания не используются, то сигнал Ack# игнорируется и весь обмен управляется парой сигналов Strobe# и Busy . Свое состояние принтер может сообщить порту по линиям Select, Error#, PaperEnd - по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии Init# принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического перевода строки, как правило, не пользуются, и сигнал AutoLF# имеет высокий уровень. Сигнал SelectIn# позволяет логически отключать принтер от интерфейса.
Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP ), достигая скорости передачи до 150 Кбайт/с при полной загрузке процессора. Благодаря «продвинутым» режимам порта протокол может быть реализован и аппаратно (Fast Centronics ), при этом скорость до 2 Мбайт/с достигается при меньшей загрузке процессора.
Большинство современных принтеров с параллельным интерфейсом поддерживают и стандарт IEEE 1284, в котором оптимальным режимом передачи является ЕСР(см. п.1.3.4).
Для подключения принтера требуется кабель Centronics, пригодный для любых режимов параллельного интерфейса. Простейший вариант кабеля - 18-проводный с неперевитыми проводами - может использоваться для работы в режиме SPP. При длине более 2 м желательно, чтобы хотя бы линии Strobe# и Busy были перевиты с отдельными общими проводами. Для скоростных режимов (Fast Centronics, ECP) такой кабель может оказаться непригодным - возможны нерегулярные ошибки передачи, возникающие лишь при определенных последовательностях передаваемых кодов. Встречаются кабели Centronics, у которых отсутствует связь контакта 17 разъема PC с контактом 36 разъема принтера. При попытке подключения таким кабелем принтера, работающего в стандарте 1284, появится сообщение о необходимости применения «двунаправленного кабеля». Принтер не может сообщить системе о поддержке расширенных режимов, на что рассчитывает драйвер принтера. Другое проявление отсутствующей связи - «зависание» принтера по окончании печати задания из Windows. Эту связь можно организовать подпайкой дополнительного провода или же просто заменить кабель.
Неплохие электрические свойства имеют ленточные кабели, у которых сигнальные цепи (управляющих сигналов) чередуются с общими проводами. Но их применение в качестве внешнего интерфейса непрактично (нет второго защитного слоя изоляции, высокая уязвимость) и неэстетично (круглые кабели смотрятся лучше).
Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран - то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с при длине до 10м.
В табл. 8.4 приводится распайка кабеля подключения принтера с разъемом X1типa A (DB25-P) со стороны PC и Х2 типа В (Centronics-36 ) или типа С (миниатюрны со стороны принтера. Использование общих проводов (GND ) зависит от качесва кабеля (см. выше). В простейшем случае (18-проводный кабель) все сигналы GND объединяются в один провод. Качественные кабели требуют отдельного обратного провода для каждой сигнальной линии, однако в разъемах типа А и В для этого недостаточно контактов (в табл. 8.4 в скобках указаны номера контактов разъема PC типа А, которым соответствуют обратные провода). В разъеме типа С обратный провод (GND ) имеется для каждой сигнальной цепи; сигнальным контактам 1-17 этого разъема соответствуют контакты GND 19-35 .



gastroguru © 2017