КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Специализированные интерфейсы периферийных устройств

Контроллер 18242, кроме интерфейса клавиатуры, поддержи¬вает аналогичный интерфейс дополнительного устройства — PS/2-Mouse. При инициализации (по аппаратному сбросу) контроллер установится в режим PS/2 или AT, в зависимости от состояния определенного вывода микросхемы. В режи¬ме AT контроллер не выполняет функции интерфейса мыши и игнорирует все команды, относящиеся к мыши. Режим выбирается соответствующей настройкой BIOS Setup.
Связь контроллера с центральным процессором обеспечивается через 8-битную шину данных. Контроллер выбирается сигналом CS# от дешифратора адреса, срабатывающего по адресам 0060h и 0064h; внутренние регистры контроллера выбираются линией SA2 системной шины адреса. Чтение и запись выполняет¬ся по сигналам IORD* и IOWR#, генерируемых при выполнении процессором инструкций IN и OUT. Таким образом, контроллер располагается в пространстве ввода-вывода CPU по адресам 60h (регистр данных) и 64h (регистр состояния и команд), назначение регистров приведено в табл. 8.1. Из регистра данных счи¬тываются данные, принимаемые по интерфейсам от клавиатуры и мыши, а также данные, возвращаемые контроллером в ответ на адресованные ему команды. Запись в регистр данных используется для подачи команд и данных, адресован¬ных к клавиатуре и мыши, а также данных для команд, адресованных контролле¬ру. В регистр команд записываются команды, адресованные контроллеру. Режим работы контроллера (разрешение работы интерфейсов клавиатуры и мыши и пре-рываний от них, трансляция скан-кодов и другие параметры) задается командным байтом, посылаемым в контроллер по специальной команде. Перед любой за¬писью в контроллер необходимо убедиться в его готовности. Признаком го¬товности/занятости контроллера является значение бита 1 регистра состояния (порт 064h).

314
Глава 8. Специализированные интерфейсы периферийных устройств
Таблица 8.1. Назначение регистров контроллера клавиатуры Порт, R/W Назначение
060 RW Порт данных 8042
064 R
Регистр состояния 8042 (R/O): бит 7 — ошибка четности при последнем обмене
с клавиатурой; бит 6 — тайм-аут приемника/общий тайм-аут1; бит 5 — тайм-аут передатчика/выходной буфер интерфейса мыши полон (MouseJDBF)1; бит 4: 0 — клавиатура на замке; бит 3:1 — последняя запись была командой, 0 — данными; бит 2: системный флаг, устанавливается в 0 по включении питания, в 1 — программно (что означает состояние завершения системного сброса Reset OK); бит 1:1— входной буфер интерфейса клавиатуры полон, 0 — готовность к приему команды/данных; бит 0:1— выходной буфер интерфейса клавиатуры полон (DBF)
064 W Регистр команд 8042
1 Второе назначение бита относится к контроллеру i8242B, имеющему дополнительный интерфейс для подключения PS/2-Mouse.

Hosted by uCoz