Контроллер клавиатуры ASMw

Данный контроллер предназначен для промышленного использования в составе компьютера с клавиатурным интерфейсом PS/2
и пленочной клавиатурой. Контроллер поддерживает основные функции IBM PC AT клавиатуры, и успешно опознается операционной
системой и BIOS как стандартная PS/2 клавиатура.

image

Данный контроллер НЕ ПОДДЕРЖИВАЕТ следующие функции стандартной клавиатуры IBM PC AT:
- автоповтор кнопок (при нажатии кнопки однократно отсылается код нажатия и код отжатия);
- распознавание более одной нажатой кнопки (в случае двух и более нажатых кнопок контроллер их игнорирует);
- кнопки PrintScreen и PauseBreak (отсутствуют в таблице допустимых кодов);
- работу в режимах, отличающихся от "IBM PC AT Scan Codes Set 2, Make/Break code";

Краткая справка по клавиатуре IBM PC AT. Клавиатура отсылает в компьютер только код нажатой кнопки (scan-код). Клавиатура не знает о
верхних/нижних регистрах, переключении rus/lat и прочем - этим занимается операционная система.
Пример: переданный клавиатурой scan-код 0x1C в зависимости от переключений регистров может быть распознан как символы a, A, ф, Ф.

Данный контроллер является программируемым. Каждой кнопке на клавиатуре может быть поставлен в соответствие любой scan-код.
При производстве для всех кнопок прописывается scan-код 0x00 (кнопка отключена - не генерировать никакого scan-кода).
Для настройки таблицы преобразования keycode->scancode служит программа setkbdcodes под Win2000+ (исходный текст прилагается).
В качестве двух параметров этой программе передается пара keycode и scancode.
Keycode в диапазоне 0x01..0x2F, scancode в диапазоне 0x00..0xFF по таблице из файла "ASMw keycode & scancode values.txt".
После выполнения программы setkbdcodes scan-код записывается в энергонезависимую память.
Время записи одной пары keycode-scancode - порядка одной секунды.
Во избежание разрушения ячеек памяти (ресурс 10000 записей) не рекомендуется постоянно прописывать таблицу соответствия внутренних кодов
кнопок и scan-кодов.

image Схема контролера допускает подключение любых клавиатур размерности 6x6 или меньше.
Для программирования используемой пленочной клавиатуры 4x6 можно использовать "setkbdcodes 4x6 slim.bat".
Для сброса контроллера в начальное состояние можно использовать "setkbdcodes reset.bat".

В контроллере ASMw предусмотрено 3 управляемых с компьютера реле.
Включение реле реализовано через программное включение индикаторных светодиодов на клавиатуре.
Если светодиод горит - реле включено (контакты реле замкнуты).
Реле 1: ScrollLock; реле 2: NumLock; реле 3: CapsLock.
Программа setrelay для тестирования под Win2000+ прилагается (с исходным текстом).

В контроллере ASMw предусмотрен индикаторный светодиод. Он индицирует включение питания, а также кратковременно гаснет
в момент нажатия на кнопку, для которой запрограммирован ненулевой scan-код.

Windows поддерживает одновременную работу с несколькими клавиатурами.
Это позволяет одновременно подключить к компьютеру клавиатуру ASMw через интерфейс PS/2 и стандарную клавиатуру
через интерфейс USB и проводить программирование и тестирование "вживую".
Также это позволяет тестировать работу реле включая и выключая ScrollLock, NumLock и CapsLock с USB клавиатуры.
Рекомендуется отключить включение Numlock по включению питания в BIOS setup материнской платы.

В контроллере ASMw предусмотрен отладочный технологический разъем RJ11 (последовательный порт с уровнями TTL).
Его полное описание не входит в данную документацию.

Внимание! Стандарт на интерфейс PS/2 не поддерживает "горячее" подключение! Для подключения или отключения контроллера ASMw
необходимо полностью выключить питание компьютера.
Несоблюдение этого правила может привести к повреждению как клавиатуры ASMw, так и клавиатурного порта PS/2 материнской платы.

Примечание: Программы скомпилированы с расчетом на установленный в Windows .Net Framework.

Программу конфигурирования можно скачать здесь.

2010 Михаил Лаврентьев (mikel@mail.ru)

powered by metaPost


print

rating
  Комментарии