ZX Keyboard PS/2 on CPLD — это адаптер для подключения PS/2 клавиатуры к ZX Spectrum-совместимым компьютерам, разработанный специально для
«Ленинград 1». Устройство устанавливается на штатный разъём клавиатуры и разъём Kempston джойстика (требуется минимальная доработка: подача питания 5В на свободные контакты 7 и 8 разъёма клавиатуры).
Аппаратная реализация
| Компонент | Описание |
|---|
| CPLD | Altera MAX2 EPM240 (240 макроячеек), 100-выводной корпус. Занято 206 макроячеек (86%) — остаётся место для дополнительной логики |
| Тактовый генератор | 50 МГц — обеспечивает стабильную работу на обычных и турбированных клонах |
| Кварцевый генератор | 50 МГц |
| Разъёмы | Соответствуют оригинальной плате «Ленинград 1» |
Реализованные функции
| Функция | Описание |
|---|
| PS/2 контроллер | Реализован внутри CPLD (PS/2 автомат позаимствован из другого проекта) |
| Матрица клавиатуры | Полная матрица ZX Spectrum (40 клавиш) + дополнительные клавиши (ковычки, точка, запятая, минус, равно, стрелки, backspace) |
| Kempston джойстик | Назначен на цифровые клавиши (стрелки — 2,4,6,8; огонь — Enter на нампаде) |
| RESET | Назначен на клавишу F1 (требуется подпайка проводов к плате) |
| NMI | Назначен на клавишу F12 (требуется подпайка проводов к плате) |
Программное обеспечение
- Проект написан на Verilog в среде Quartus II.
- Адаптер может быть портирован на CPLD других производителей с достаточным количеством макроячеек.
- В проекте есть макросы для отключения некоторых функций (джойстик, комбинации клавиш) для экономии макроячеек.
- Любые клавиши можно легко переназначить.
Доработка
Для работы функций RESET и NMI необходимо подпаяться проводами к соответствующим сигналам на основной плате, так как на разъём клавиатуры эти сигналы не выведены.
Файлы для загрузки
Полезные ссылки проекта:
-
PS_2_On_Leningrad1.jpg
42.1 КБ
· Просмотры: 41