Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
интерфейсы.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.15 Mб
Скачать

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

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

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

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

Контроллер 8042 и клавиатура связаны четырехпроводным экранированным кабелем, включающим линию питания (+5 В), линию заземления, линии сигнала данных и сигнала синхронизации. К системному блоку РС кабель подключается посредством разъема. Вид разъемов клавиатур (со стороны задней панели системного блока) приведены на рис. 2.54, а назначение контактов – в Таблице 2.22.

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

Таблица 2.22 Назначение выводов разъемов клавиатуры.

Контакт

Назначение

1

Синхронизация

2

Данные

3

Не используется

4

Общий провод (Земля)

5

Питание +5В

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

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

Клавиатура PC AT передает и принимает данные в 11-разрядном формате. Контроллер 8042 автоматически определяет тип клавиатуры по формату данных. Первый разряд - стартовый, за ним следуют восемь информационных разрядов, разряд паритета и стоповый разряд. Посылка данных синхронизируется клавиатурой. В конце передачи контроллер клавиатуры блокирует интерфейс до тех пор, пока система не примет полученный байт. Если байт данных получен с ошибкой паритета, в клавиатуру автоматически отсылается команда RESEND.

Рис. 2.55. Упрощенные схемы цепей данных и синхронизации

На рис. 2.56 показаны 11-разрядный формат и пример передачи данных.

Рис. 2.56. 11-разрядные форматы данных

Примечание: клавиатура сбрасывает стоповый разряд линии данных в конце их посылки для подтверждения передачи.

Временные параметры передачи 11-разрядных данных приведены в таблице 2.23.

Табл. 2.23. Временные параметры передачи данных

Параметр

Длительность

Синхроимпульсы (минимум) от заднего фронта до заднего фронта

60 мкс

Синхроимпульсы (минимум) от заднего фронта до переднего фронта

5 мкс

Время передачи (максимум) от переднего фронта до заднего

2 мс

Время действительности данных перед задним фронтом синхроимпульса

0

Время действительности данных после заднего фронта синхроимпульса

5 мкс