Клавиатура ПК представляет собой унифицированное устройство со стандартным разъемом и последовательным интерфейсом связи с системной платой. В качестве датчиков нажатия клавиш применяют механические контакты (открытые или герконовые), кнопки на основе проводящих материалов, емкостные датчики (рис.1). Под каждой клавишей находится пластмассовый штырь, направленный вертикально, нижний конец которого выполнен в виде штемпеля (клейма), изготовленного из смеси резины с металлом или углеродом. Ниже этого штемпеля находится пластина с направляющими и контактными площадками, которая стационарно привинчена к корпусу панели. При нажатии клавиши штемпель соприкасается с этими контактными площадками, благодаря чему замыкается цепь.
Назначение клавиатуры компьютера состоит в том, чтобы передавать команды или информацию в компьютер, для дальнейшей ее обработки.
Клавиатура ПК состоит из четырех основных компонентов (рис.2):
Принцип действия клавиатуры представлен на рис. 3.
Клавиатура – это матрица переключателей. При нажатии клавиши выключатель под ней замыкается и подает сигнал, распознаваемый контроллером клавиатуры как сигнал нажатия соответствующей клавиши. При отпускании клавиши выключатель размыкается, что контроллер воспринимает как сигнал отпускания этой клавиши. По зашитой в ПЗУ таблице контроллер преобразует сигналы нажатия и отпускания в так называемые стандартные скэн-коды нажатия и освобождения(scan codes). Скэн-код – это однобайтовое число, младшие 7 бит которого представляют идентификационный номер, присвоенный каждой клавише. Скэн-код передается через буфер клавиатуры второму специальному контроллеру, раcположенному уже на материнской плате компьютера. Для компьютера типа AT в качестве такого контроллера обычно применяется микросхема универсального периферийного интерфейса (Universal Peripheral Interface, UPI) 8049. Компьютер преобразует скэн-коды в конкретные символы и управляющие команды.
Когда скэн-код поступает в контроллер клавиатуры (8049), то инициализируется аппаратное прерывание (IRQ1), процессор прекращает свою работу и выполняет процедуру, анализирующую скэн-код. Данное прерывание обслуживается специальной программой, входящей в состав RОM BIOS. При поступлении скэн-кода от клавиш <Alt>, <Ctrl>, <Shift>, <CapsLock>, <NumLock> изменение статуса записывается в RAM. Во всех остальных случаях скэн-код трансформируется в код символа (так называемые коды ASCII или расширенные коды). При этом обрабатывающая процедура сначала определяет установку клавиш и переключателей, чтобы правильно получить вводимый код ("а" или "А"). Результат обработки помещается в буфер клавиатуры, расположенный в ОЗУ и представляющий собой область памяти, способную запомнить до 15 вводимых символов, пока прикладная программа не может их обработать. В случае переполнения буфера очередное слово не записывается и подается звуковой сигнал.
Контроллер на материнской плате может не только принимать, но и передавать данные, чтобы сообщить клавиатуре различные параметры, например, частоту повтора нажатой клавиши и др.
Контроллер 8049 отвечает не только за генерирование скэн-кодов, но и необходим для выполнения функций самоконтроля и проверки нажатых клавиш в процессе загрузки системы. Процесс самоконтроля отображается однократным миганием трех индикаторов LED клавиатуры во время выполнения программы POST. Таким образом, неисправность клавиатуры выявляется уже на стадии загрузки PC.
Простейшая схема клавиатуры компьютера показана на рис.4.
Дешифратор последовательно опрашивает состояние ключей, расположенных в столбцах X матрицы клавиатуры. Если какая-либо клавиша нажата, то сигнал через замкнутый контакт поступает на соответствующую горизонтальную шину Y и через селектор (регистр) поступает на вход ПЛМ (ПЗУ). Сигналы с дешифратора и селектора образуют адресный вход ПЛМ (ПЗУ), в ячейках которой записаны коды символов (их младшие разряды). Код символа записывается в выходной регистр. Старшие разряды кода определяются содержимым специального регистра, изменяющего своё значение только при нажатии клавиши изменения регистров (Shift, Alt и др.).
Клавиатуры PS/2 подключаются через 6-контактный разъем мини-DIN (рис.5). Назначение контактов этого разъема приведено в табл. 2. На стороне компьютера для клавиатуры PS/2 устанавливается та же интерфейсная микросхема Intel 8042 или аналогичная ей. Этой микросхеме назначается то же прерывание (IRQ 1) и тот же адрес порта ввода-вывода (0060).
Рис. 5. Разъем клавиатуры PS/2
Таблица 1. Сигналы и контакты интерфейса клавиатуры PS/2