Интерфейсы ПК

       

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


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

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

Программируемый микроконтроллер 18042 имеет встроенное ПО, которое хранится в масочном внутреннем ПЗУ и обес- печивает вырабатывание запроса прерывания по приему скан- кода от клавиатуры и отработку управляющих команд от ЦП. Кроме управления клавиатурой, через программно- управляемые и программно-читаемые линии внешних пор- тов контроллера формируются сигналы управления венти- лем Gate А20, аппаратного системного сброса, а также считываются сигналы от конфигурационных джамперов си- стемной платы. Контроллер 18242В, кроме интерфейса кла-

виатуры, поддерживает аналогичный интерфейс дополни- тельного устройства, например PS/2-Mouse. Контроллер имеет два порта, доступ к которым осуществляется через команды контроллера.

Порт ввода, доступный по команде СО/?, используется для чтения состояния джамперов и ключа:

т Бит 7 - если 0, то клавиатура заблокирована ключом (KeyLock).

Бит б - исходный видеорежим: 0=CGA, 1=MDA. Бит 5 - системная перемычка: 0=замкнута. т Бит 4 - системное ОЗУ: 0=512 Кбайт и более, 1-256 Кбайт. Бит 1 - вход данных дополнительного интерфейса. Бит 0 - вход данных интерфейса клавиатуры.

Порт вывода, доступный для записи и чтения по командам D1h и DOh соответственно, имеет следующее назначение бит:

Бит 7 - последовательные данные клавиатуры. ?i Бит 6 - синхронизация клавиатуры.

Бит 5 - запрос прерывания от дополнительного интер- фейса (IRQ12).

Бит 4 - запрос прерывания от клавиатуры (IRQ1). т Бит 3 - синхронизация дополнительного интерфейса.

Бит 2 - последовательные данные дополнительного ин- терфейса.




т Бит 1 - вентиль линии адреса А20 (Gate А20).

т Бит 0 - альтернативный сброс процессора ( без форми- рования общего сигнала сброса).

Контроллер расположен в пространстве ввода/вывода по адресам 60h и 64h, причем по чтению скан-кода клавиату- ры из порта 60h сохраняется совместимость с XT. Назначе- ние регистров контроллера клавиатуры приведено в табл. 3.1. Регистр данных контроллера в режиме записи используется для подачи команд, относящихся к клавиатуре и собственно контроллеру. Признаком готовности контроллера является нулевое значение бита 1 регистра состояния (порт 064h).

Порт,

Назначение

R/W

060 RW

Порт данных 8042

064 R

Регистр состояния 8042:

Бит 7 - ошибка четности

Бит 6 - тайм-аут приемника/общий тайм-аут*

Бит 5 - тайм-аут передатчика/выходной буфер

дополнительного интерфейса полон*

Бит 4: 1 - клавиатура на замке

БитЗ:

1 - команда,

0 - данные

Бит 2:

0 - Power ON,

1 - Reset OK (состояние завершения

системного сброса)

Бит 1:

1 - входной буфер полон,

0 - готовность к приему команды/данных

Бит 0: 1 - выходной буфер полон

064 W

Регистр команд 8042

* Второе назначение бита относится к контроллеру 18242В, имеющему дополнительный интерфейс для подключения PS/2-Mouse.

Общие команды контроллера 18042:

т DF - разрешить управление линией А20. т DD - запретить управление линией А20. D1 - запись в порт вывода 18042. т 00 - чтение порта вывода 18042. т СО - чтение порта ввода 18042. т АЕ - разрешение клавиатуры. AD - запрещение клавиатуры. т AC - чтение ОЗУ контроллера.

ss AB - тест синхронизации и данных.

ш АА - внутренний тест контроллера.

т 60 - запись в контроллер.

20 - чтение контроллера. Команды управления клавиатурой AT:

т. FF - Reset - сброс и тест клавиатуры.

FE - Resend - повтор последней передачи.

FB-FD - Set Key Types - установка автоповтора отдель- ных клавиш.



т F7-FA -Set All Keys - установка операции автоповтора клавиатуры.

т F6 - Set Default - сброс в начальное состояние и разре- шение сканирования.

ш F5 - Default Disable - сброс в начальное состояние и за- прет сканирования.

F4 - Enable KB - клавиатура ответит байтом подтверж- дения АСК и продолжит сканирование.

F3 - Set Typematic Rate/Delay - задание задержки и час- тоты повтора кодов. Последующий байт данных имеет следующий формат:

Бит 7=0. Биты [6:5] - задержка, мс:

00=250, 01=500, 10-750. 11=1000. Биты IOJOO-lFh - скорость повторов, 1/с:

00h=30.0 05h=18,5 OAh=12,0 12h=6,0 01h=26,7 06h=17,l OCh-10,0 14h=5,0 02h=24,0 07h=16,0 ODh=9,2 17h=4,0 03h=21,8 08h=15,0 OFh=8,0 lAh=3,0 04h-20,0 09h=13,3 lOh-7,5 lFh=2,0

m F2 - Read ID Code - запрос на двухбайтный идентифи- катор.

ЕЕ - Echo - эхо-диагностика: возвращает OEEh.

ffi ED - Set/Reset Mode Indicators - управление индикато- рами клавиатуры. Последующий байт данных:

Бит 0: 1=включить Scroll Lock.

Бит 1: 1 включить Num Lock.

Бит 2: 1=включить Caps Lock. 8й AD - запрет сканирования. т АЕ - разрешение сканирования.

По нажатии клавиши ее скан-код попадает в регистр дан- ных. По отпускании в регистр данных попадает сначала пре- фикс отпускания, затем - скан код. В XT префикса нет, по отпускании передается скан-код с единицей в бите 7.

Из регистра данных контроллера кроме скан-кодов возмож- но получение ответов на команды, префикса кода отпуска- ния клавиши (FO) или кодов особых случаев:

as FA - АСК - подтверждение приема команды. йй АА - Test OK - внутренний тест прошел. т FD - Diagnostic Failure - ошибка внутреннего теста. ЕЕ - Echo Response - ответ на эхо-команду.

а? 00, FF - Buffer Error - переполнение буфера или неиден- тифицированная клавиша.


Содержание раздела