Практическое занятие №9

Устройство и ремонт PS/2 и usb клавиатуры

Ход работы:

1 Изучить и кратко законспектировать принцип работы клавиатуры

2 Что такое скан - код

3 Разберите клавиатуру, опишите назначение входящих устройств и соберите чужую.

 

 

Принцип работы следующий. По горизонтальным линиям проходит электрический ток. В обычном состоянии (если нет нажатия) линии не замыкаются, и на горизонтальных линиях имеется так называемый сигнал логической единицы (на линиях есть напряжение). На вертикальных линиях поочередно подается логический ноль.

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

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

У клавиатуры имеется свой буфер — чтобы сохранять скан-код нажатых клавиш. Это необходимо тогда, когда активируется одновременно несколько клавиш. Благодаря буферу процессор может обрабатывать одновременно сочетания нажатых клавиш.

Специализированный процессор - контроллер клавиатуры - находится непосредственно в ее корпусе рядом с клавишами. Обычно он выполняется на базе Intel 8048 или ее аналогов и постоянно анализирует состояние клавиш, поочередно подавая сигналы на каждый из горизонтальных проводов (входов матрицы) и проверяя состояния вертикальных (ее выходов). Следует заметить, что при одновременном нажатии нескольких клавиш могут образоваться ложные цепи, приводящие к ошибкам в определении нажатых клавиш. Это самый главный недостаток матричной схемы, с которым борются либо, включая последовательно с контактами диоды, исключающие образование ложных цепей, либо усложняя алгоритм работы контроллера.

Обнаружив, что клавиша нажата, контроллер вычисляет ее код (последний часто называют скэн-кодом; от англ. глагола to scan - просматривать, сканировать) и выдает его в порт А микросхемы интерфейса с периферией, расположенной на системной плате.

 

Скан-код -  это однобайтовое число, младшие 7 бит которого представляют идентификационный код, присвоенный каждой клавише. Старший бит кода говорит о том, нажата ли клавиша (бит=1).

Если удерживать клавишу нажатой, то вступает в действие так называемая функция автоповтора - через определенное время передача кода периодически повторяется. При отпускании клавиши передается код F0, за которым следует тот же код, что и при ее нажатии. Коды клавиш, для которых предполагается выполнение компьютером одинаковых функций (например, левой и правой клавиш "Ctrl"), различаются тем, что один из них дополняется "префиксом" Е0. Это позволяет компьютеру при необходимости считать клавиши разными, учитывая префикс, либо не различать их, игнорируя его.

Особое положение занимают клавиши "Print Screen" (печать экрана) и "Pause" (пауза). Им соответствуют довольно длинные последовательности скэн-кодов, имитирующие одновременное нажатие нескольких клавиш. Это необходимо для совместимости с ранними вариантами компьютера, в которых для выполнения аналогичных функций требовалось нажимать такие комбинации клавиш.

 

 

 

Данные передаются негативной логикой: логической 1 соответствует низкий, а логическому 0 - высокий уровень сигнала (в обоих случаях имеются в виду уровни ТТЛ). Период повторения импульсов синхронизации равен примерно 64 мкс, но может значительно отличаться от этого значения. Выходы контроллера выполнены по схеме с открытым коллектором. Это позволяет объединить несколько источников сигнала и организовать по одним и тем же проводам двусторонний обмен данными.

Когда скан-код выдается в порт А, вызывается прерывание клавиатуры (INT 9). Процессор моментально прекращает свою работу и выполняет процедуру, анализирующую скан-код. При поступлении кода от клавиш сдвига или переключения изменение статуса записывается в память. Во всех остальных случаях скан-код трансформируется в код символа и помещается в буфер клавиатуры, который является областью памяти, способной запомнить до 15 вводимых символов.

Стыковка USB с PS/2

В комплекте к USB-шным мышам и клавам до сих пор идёт адаптер USB-PS/2, чтоб покупатель мог сэкономить пару гнёзд USB на персоналке. Хотя, поговаривают, что ультрасовременные USB мыши/клавы через переходник PS/2 не работают. Ниже привожу распиновку переходника USB-PS/2. Следует помнить, что этот переходник не даёт возможности «горячего подключения» устройств. Во избежание повреждения порта подключайте устройства только к выключенному ПК, даже если речь идёт о подключении USB мыши/клавиатуры к данному переходнику.

 Для обратного преобразования (то есть, для подключения устройств PS/2 к порту USB) требуются активные преобразователи. Переходник за 150 рублей работать не будет. Иными словами, простой перепайкой проводов отделаться не удастся. Нужен некий контроллер. Правда, посетители сайта сообщают, что контроллер некоторых PS/2-устройств (в частности,  у клавиатуры Genius KB-29e) всё же поддерживает подключение по USB:

GND → GND
DATA → DATA-
CLK → DATA+
VCC → VCC