Контроллер USB HID-устройств для компьютеров семейства MSX, является продолжением проекта Контроллер PS/2-мыши в MSX.
Основой изделия является МК ATTiny44 (или ATTiny84) и микросхема MAX3421E - USB host контроллер с SPI-интерфейсом.
Подключается к MSX — Порт общего назначения и эмулирует работу мышки или джойстика. Работает с большинством USB устройств типа мышек, клавиатур и джойстиков, как проводных так и беспроводных.
Возможно обновление прошивки MK USBasp программатором или любым другим ISP–программатором микросхем семейства ATMEL.
Светодиоды (с версии 2.7):
Цвет | Сигнал | Описание |
---|---|---|
⬤ зелёный | Ready | При не подключенном USB–устройстве, либо если оно не идентифицировано, светодиод на плате контроллера моргает с периодом порядка 1 секунды. Если устройство распознано, светодиод горит непрерывно |
⬤ красный | Full Speed | Он загорается при подключении HID–устройства, работающего в этом режиме |
Допускает подключение устройств на лету, без отключения питания компьютера.
Для беспроводных клавиатуры и мышки, подключенных одновременно, при включенном светодиоде CAPS LOCK работает клавиатура в режиме JOYSTICK, иначе мышка в режиме MOUSE.
Если использовать комплект из без проводной клавиатуры и мышки, то по умолчанию контроллер работает в режиме эмуляции мышки, но клавиши клавиатуры, используемые для управления кнопками Триггер A и Триггер B работают параллельно с кнопками мыши. Для переключения в режим джойстика надо нажать на клавиатуре кнопку Caps Lock.
Мышка работает по расширенному протоколу, который подразумевает обработку в том числе колеса и дополнительных кнопок. Но только если это предусматривает драйвер соответствующей программы.
Этот режим реализован например в SymbOS.
Джойстик эмулируется как простой двух-кнопочный манипулятор.
Для определения типа устройства можно использовать USB Device Tree Viewer (программа для MS Windows).
Кнопки джойстика:
На мышке:
Левая клавиша | Триггер A |
Правая клавиша | Триггер B |
Направление:
8 1 2 \ | / 7 -- 0 -- 3 / | \ 6 5 4
Клавиши клавиатуры:
←, →, ↑, ↓ | Управление курсором |
Пробел и любая из левых клавиш: Shift, Ctrl, Alt, ⊞ Win | Триггер A |
Любая из правых клавиш: Shift, Ctrl, Alt и ⊞ Win | Триггер B |
Для обновления прошивки используется USBAsp и AVRDude.
Тест устройства:
sudo avrdude -p t44 -c usbasp
Загрузка прошивки:
sudo avrdude -p t44 -c usbasp -U msx_ms26.hex
Расположение контактов на разъёме который установлен на плату контроллера:
┌─────────┐ │ 2 4 6 │ ┌───────┐ │ 1 3 5 │ │ │ └─────────┘ │ USB │ ▲ │ │ └───────┘
Назначение контактов:
№ | Описание |
---|---|
1 | MISO |
2 | VCC |
3 | SCK |
4 | MOSI |
5 | Reset |
6 | GND (-) |
Микроконтроллер ATTiny44:
Файлы: