Интерфейс клавиатуры

Традиционная клавиатура PC представляет собой унифицированное устройство ввода со стандартным разъемом и последовательным интерфейсом связи с систем­ной платой. В настоящее время используются так называемые расширенные (enhanced) клавиатуры AT пли PS/2, имеющие более 100 клавиш. Они вытеснили первые 84-клавишные клавиатуры AT и тем более клавиатуры XT. По электри­ческому интерфейсу клавиатуры XT и AT совпадают, за исключением того, что двунаправленный интерфейс позволяет клавиатуре AT принимать команды от системной платы. Однако по логическому интерфейсу они несовместимы (клави­атура AT иногда имеет переключатель режима XT/AT). Клавиатура PS/2 отли­чается от AT только исполнением разъема, при необходимости можно использо­вать переходник.

Клавиатуры имеют внутренний микроконтроллер, способный определить факты нажатия и отпускания клавиш, при этом можно нажимать очередную клавишу, даже удерживая несколько ранее нажатых. При нажатии клавиши клавиатура передает идентифицирующий ее скан-код. При удержании клавиши в нажатом положении через некоторое время клавиатура начинает автоповтор передачи скан-кода нажатия этой клавиши. Задержка автоповтора (typematic delay) и скорость автоповтора (typematic rate) для клавиатур AT программируются. Расширенная клавиатура позволяет выбирать 1 из 3 наборов скан-кодов.

С распространением шины USB появились клавиатуры и с этим интерфейсом; они имеют и встроенный хаб, например для подключения мыши USB. Клавиатура USB питается от шины. Для клавиатуры USB требуется специальная поддержка со стороны BIOS; она имеется в современных системных платах.

Для подключения клавиатуры предназначен последовательный интерфейс, со­стоящий из двух обязательных сигналов KB-Data и KB-Clock. Необязательный сиг­нал KB-Reset сбрасывает клавиатуру низким уровнем сигнала. Интерфейс на системной плате XT реализован аппаратной логикой — регистром сдвига, па­раллельный выход которого подключается ко входам порта А системного ин­терфейса 8255. По приему байта от клавиатуры логика вырабатывает запрос аппаратного прерывания IRQ2, обработчик которого может прочитать принятый байт из порта 60h. С помощью бит 7 и 6 порта 61h возможна программная блокировка и сброс клавиатуры соответственно. Сброс клавиатуры XT осущест­вляется принудительным обнулением линии KB-Clock.

Интерфейс клавиатуры AT построен на микроконтроллере 18042, обеспечи­вающем в отличие от XT двунаправленный интерфейс с клавиатурой. Передача информации к клавиатуре используется для управления индикаторами ее со­стояния и программирования параметров (автоповтор, набор скан-кодов).

Хотя электрический интерфейс клавиатур XT и AT совпадает (за исключени­ем возможности двунаправленного обмена в AT), логические форматы посылок существенно отличаются. POST способен производить диагностику клавиатуры, причем подключение клавиатуры неподходящего типа или не подключенную клавиатуру он воспримет как ошибку. Если проверка клавиатуры разрешена в BIOS Setup, то по этой ошибке POST будет сколь угодно долго дожидаться получения кода нажатия клавиши F1.

Конструктивно возможны два варианта разъема — обычная 5-контактная розетка DIN (аналогичная применяемой в бытовой радиоаппаратуре) или ма­логабаритная розетка mini-DIN, пришедшая от компьютеров семейства PS/2, На этот же разъем через плавкий предохранитель поступает и напряжение пи­тания клавиатуры +5 В. Электрически и логически интерфейс клавиатуры PS/2 повторяет интерфейс клавиатуры AT, поэтому для согласования типа разъема применяют специальные переходники. Питание от разъема клавиатуры часто используется такими устройства­ми, как внешние накопители или адаптеры локальных сетей, подключа­емыми к параллельному порту.

Предлагаю ознакомиться с аналогичными статьями: