Тема: Адаптер клавиатуры с интерфейсом PS/2
Адаптер предназначен для подключения клавиатуры с интерфейсом PS/2 к ПЭВМ «Агат-7». На настоящий момент функционал адаптера ограничивается базовой эмуляцией клавиатуры "Агата". В будущем (после нового года) планирую расширить функционал - добавить оперативно переключаемые альтернативные раскладки, настраиваемую скорость повтора, индикацию режимов светодиодами клавиатуры, запоминание режимов в EEPROM. На данный момент индикация РУС-ЛАТ индицируется характером свечения светодиода адаптера.
РЕГ - Shift
УПР - Ctrl
ПВТ - Alt
Сброс - Ctrl + Shift + ScrollLock
РУС-ЛАТ - NumLock
Полный список соответствия кнопок клавиатуры PS/2 клавиатуре "Агата" будет позже.
К сообщению прикреплены файл со схемой, чертёж платы в графическом файле, формате PDF и в формате Altium Designer 16, файл с прошивкой контроллера ATmega8 и фотографии собранного устройства. Фьюзы для контроллера:
Low: 0xE4
High: 0xD9
Контроллер проверен совместно с системной платой "Агат-7". С "девяткой" адаптер не работает! В прошивке нет проверки на ошибки в передаче данных от клавиатуры PS/2, поэтому не подключайте её "на горячую", тем более, что она для этого не предназначена.
Agat_keyb_codes_RAW.jpg - "сырой" код, передаваемый клавиатурой "Агата" при нажатии кнопок без "УПР" и "РЕГ", снятый логическим анализатором. При передаче клавиатурой кода кнопки его старший бит всегда равен нулю - по низкому уровню клавиатурный интерфейс определяет начало передачи кода. После приёма старший бит аппаратно устанавливается в единицу схемой клавиатурного интерфейса - в таком виде его считывают из порта 0xC000.
Agat_PS2_NORM.png - Коды клавиатуры "Агата", соответствующие кнопкам клавиатуры PS/2 (пока что сделал только "чистое" нажатие, без "УПР" и "РЕГ").
PS2_keycodes.png - скан-коды клавиатуры PS/2, вдруг кому пригодятся.
Использованную картинку клавиатуры PS/2 со скан-кодами нашёл где-то в Интернет, т.е. её автором не являюсь.
В Н И М А Н И Е !
Моя прошивка обеспечивает минимальный функционал и не совместима с "Агат 9". Дальнейшее её развитие не планируется.
Значительно более функциональны и совместимы с "Агат 7" и "Агат 9" прошивки от Владимира:
0.97 - http://forum.agatcomp.ru//viewtopic.php?pid=638#p638
0.98 - http://forum.agatcomp.ru//viewtopic.php?pid=832#p832
Конденсатор C5 в цепи сброса использовался для тестовых целей, при сборке его устанавливать не нужно!