Общее представление о работе клавиатуры

В состав клавиатуры входит контроллер, состоящий из буферной памяти и схемы управления. Он подключается к системному блоку компьютера с помощью 4-проводной линии для передачи данных, тактовых импульсов, напряжения питания. Можно выделить три уровня представления и обработки сигналов, поступающих с клавиатуры.

  • 1. На физическом уровне происходит кодирование сигналов при нажатии и отпускании клавиши. В основе кодирования лежит нумерация клавиш. При нажатии клавиши в системный блок посылается скэн-код, который соответствует номеру клавиши. При отпускании клавиши генерируется дополнительный скэн-код, представляющий собой номер клавиши, увеличенный на 128. При постоянно нажатой клавише вырабатывается последовательность основных скэн-кодов с частотой 10 Гц, что имитирует серию очень быстрых нажатий этой клавиши.
  • 2. На логическом уровне с помощью прерывания IRQ9 базовой системы ввода/вывода происходит преобразование скэн-кода в 2-байтный код. Младший байт для клавиш буквенно-цифровой клавиатуры, Esc, Tab, Enter, Backspace содержит ASCII-код (American Standard Code for Information Interchange – Американский стандартный код для обмена информацией), соответствующий изображенному на клавише знаку. Этот байт называют главным. Вспомогательный старший байт содержит исходный скэн-код нажатой клавиши. Сочетание главного (со всеми нулями) и вспомогательного байтов называют расширенным ASCII-кодом. Генерируемый код определяется назначением клавиши и их комбинацией.
  • 3. На функциональном уровне отдельным клавишам программным путем назначаются определенные функции (последовательности символов, команды), которые реализуются при их нажатии. Программное переопределение клавиш может быть реализовано с помощью драйвера.

Воспользовавшись рис. 7.2, рассмотрим процессы, протекающие при вводе с клавиатуры символа А на монитор:

• при нажатии клавиши контроллер клавиатуры (КК) определяет координаты замкнутого переключателя в матрице и формирует сигнал в виде скэн-кода, отражающий идентификационный номер клавиши. Для клавиши

Иллюстрация работы клавиатуры при выводе символа А на монитор

Рис. 7.2. Иллюстрация работы клавиатуры при выводе символа А на монитор

с символом А скэн-кодом является шестнадцатеричное число 1Eh. Отметим, что скэн-коды передаются от клавиатуры в компьютер по фактам нажатия и отпускания клавиш. Современные клавиатуры могут работать в одном из 2–3 наборов (таблиц) скэн-кодов, отличающихся назначением кодов и способами сообщения об отпускании клавиш;

  • • скэн-код передается в контроллер системной платы (КСП), в качестве которого обычно применяется микросхема 8042 универсального периферийного интерфейса (Universal Peripheral Interface – UPI). Контроллер 8042 преобразует текущий скэн-код в один из предусмотренных в системе скэн-кодов и направляет его в главный процессор компьютера;
  • • после поступления скэн-кода в КСП (8042) инициализируется аппаратное прерывание IRQ1, которое обслуживается специальной программой, входящей в состав ROM BIOS;
  • • программа анализирует поступивший скэн-код. Скэн-коды клавиш
  • • код программы, используя прерывания вывода на экран ПВЭ, через видеобуфер ВБ посылает символ на монитор.

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

В процессе ввода важную роль играют контроллеры клавиатуры и системной платы, которые выполняют:

  • • периодический опрос клавиш со стороны микропроцессора;
  • • размещение в буфере до 20 отдельных кодов на время между двумя последовательными опросами;
  • • преобразование скэн-кодов в коды ASCII с помощью хранящихся в ПЗУ программируемых системных таблиц драйвера клавиатуры;
  • • тестирование клавиатуры при включении компьютера, позволяющее выявить неисправность клавиатуры уже на стадии загрузки. Функции самоконтроля и проверки нажатых клавиш в процессе загрузки системы выполняет внутренний контроллер. Процесс самоконтроля отображается однократным миганием трех индикаторов клавиатуры во время выполнения программы POST (Power-on Self Test – самоконтроль при включении питания);
  • • контроллер на системной плате может не только принимать, но и передавать данные клавиатуре, например частоту повтора нажатой клавиши и др.
 
< Пред   СОДЕРЖАНИЕ     След >