leoniv.diod.club

Цифровая клавиатура с интерфейсом PS/2

Существует очень много проектов и application notes по использованию готовой PC AT клавиатуры с интерфейсом PS/2 в своих проектах. Намного меньше информации про то, как такую клавиатуру реализовать самостоятельно. Этот проект демонстрирует, как можно реализовать дополнительную цифровую клавиатуру с интерфейсом PS/2 на микроконтроллере семейства AVR.

Основой проекта является микроконтроллер ATtiny2313. К нему подключена стандартная клавиатура, имеющая 16 кнопок - цифровые и ряд дополнительных. Каждой кнопке можно назначить любой скан-код согласно стандартной таблице скан-кодов PC AT клавиатуры. В данном примере используются коды цифровых кнопок, а также кнопки "Enter" (кнопка "#") и "Backspace" (кнопка "*"). Кнопка "Backspace" работает здесь несколько нестандартно, одно нажатие удаляет все введенные перед этим символы. При необходимости логику работы можно изменить.

Принципиальная схема особенностей не имеет. Часть портов микроконтроллера U1 используется для сканирования матрицы клавиатуры, которая подключается через разъем XP1. Подавление дребезга производится программно. Микроконтроллер эмулирует интерфейс PS/2, который имеет сигналы DATA и CLOCK. Клавиатура подключается к компьютеру через разъем XP2. Если кабель подключения клавиатуры будет длинный, на линиях DATA и CLOCK надо предусмотреть элементы защиты. Через этот же разъем клавиатура получает питание 5 В, светодиод VD1 индицирует его наличие.

Конструктивно контроллер клавиатуры выполнен на односторонней печатной плате размером 34.5 х 32.0 мм. На плате установлен разъем XP3 для внутрисхемного программирования микроконтроллера. При программировании нужно установить fuse-биты следующим образом:

  • SPIEN = 0
  • BODLEVEL = 100
  • CKSEL = 0100
  • SUT = 01

Остальные fuse-биты равны единице. Используется внутренний RC-генератор на 8 МГц без дальнейшего деления частоты (CKDIV8 = 1). Проверить правильность установки тактовой частоты можно осциллографом, на всех линиях матрицы кнопок должен быть меандр с периодом 4 мс.

References:
  1. AT Keyboard Specification
  2. Accelerometer Mouse
Downloads:
numpad_sch_pcb.pdf (153 kB) - схема и плата в формате pdf.
numpad_pcad.zip (50 kB) - схема и плата в формате PCAD 2006.
numpad_gerber.zip (6 kB) - Gerber-файлы платы.
numpad_source.zip (20 kB) - прошивка и исходник (IAR EW AVR 6).
Ридико Леонид Иванович www.leoniv.diod.club e-mail: wubblick@yahoo.com