• Какой выбрать самый быстрый микроконтроллер для создания игровой клавиатуры (PS/2)?

    @DRomanov1972
    Автоэлектрик
    Расчет простой:
    - дисплей 120Hz - 8ms
    - PS/2 80..300kbps, 3 байта по 11 бит - 0.1..0.4ms
    - задержка для анти-дребезга - min 5ms
    -------------------------------------------------
    Итого 5ms - для 16MHz AVR это 80000(40000) инструкций - хватит за глаза даже для индусского кода с пулингом и без прерываний. А по уму - любой 5-вольтовый контроллер с INT и USART with XCK (или с I2C/TWI или со SPI), например ATmega8A. Если DATA и CLK прямо с ног контроллера - подключать их через резисторы 200 ом.

    >Доступные примеры, которые нашлись, только для USB.
    По поиску "ps/2 клавиатура на avr" - море готовых проектов, подправить только скорость опроса клавиш.

    PS: Гнаться за задержкой меньше 5ms смысла нет - не ощутишь. В некоторых играх в настройках бывает переключение ввода Системный/DirectX (для винды) или подобное. А операционка+проги могут и от 50ms добавлять за нефиг делать, особенно в винде - то после очередного обновления, то Chrome новый или его расширения, то погода ;).
    Ответ написан
    Комментировать
  • Какой выбрать самый быстрый микроконтроллер для создания игровой клавиатуры (PS/2)?

    @Mirn
    Я делал реализацию PS/2 клавиатуры на ванильном intel8051 что 24мгц 12 тактов на инструкцию. Ещё в 90ые этому МК хватало скорости чтоб по прерываниям прямыми ножкодрыганиями формировать коды клавиш, задержек нет, прерывание и опрос и начало передачи гораздо меньше времени занимают чем посылка кода клавишы который по сути UART с мелкими правками (физ уровень как i2c) - он сам по себе медленный и поэтому быстрее 3000-4000 раз в секунду невозможно что либо быстрее передавать - станет каша из бит если мы текущую передачу прервём и начнём нову.
    Поэтому ответ прост - подойдёт любой МК который работает свыше 2 миллионов команд в секунду (вообще любой из современных) и имеет хотябы один вход прерывания - на него повесить через диодное И выход со всех кнопочек что на землю.
    Ответ написан
    Комментировать