На нашем сайте мы уже опубликовали описание интерфейса PS/2 для компьютерных клавиатур и мышей. Вы можете прочитать эти статьи: https://marsohod.org/11-blog/56-ps2 и https://marsohod.org/11-blog/57-ps2proto.

После такого подробного описания тут и думать нечего - сделаем из платы Марсоход простую PS/2 клавиатуру.

Понадобится плата Марсоход ну и провод от какой нибудь старой клавиатуры.

Провод с разъемом PS/2 нужно подключить к плате вот так:

подключение провода клавиатуры к плате Марсоход

Назначение главных сигналов интерфейса в проекте QuartusII вот такое:

 

  • ps2data   Location    PIN_12    Yes
  • ps2syn    Location    PIN_14    Yes
  • ps2data   Weak Pull-Up Resistor    On    Yes
  • ps2syn    Weak Pull-Up Resistor    On    Yes

Обязательно нужен подтягивающий резистор для сигнала ps2syn внутри чипа (weak pull-up). Для ps2data он не обязателен внутри чипа, так как снаружи он и так притянут к напряжению питания +5В резистором 2кОм. Это все из-за того, что интерфейс PS/2 использует схему с открытым коллектором.

Итак, вот наше устройство:

клавиатура ps2 сделанная из платы Марсоход

Проектик мы уже подготовили, вот он:

Вы можете выкачать этот проект, поизучать его. В среде программирования QuartusII он выглядит так (нажмите, чтобы увеличить):

схема проекта ps2 для платы Марсоход

Здесь два модуля: kbd и ps2. Они написаны на Verilog. Kbd - это обработчик событий кнопок и обработчик команд от компьютера типа зажечь светодиоды Caps/Num/Lock. Модуль ps2 - это собственно контроллер.

Ну и конечно, как обычно, мы показываем как это работает:

На этом видео можно видеть, что если на обычной USB клавиатуре нажимать клавиши Caps/Num/Lock, то загораются не только светодиоды клавиатуры, но и светодиоды на плате Марсоход, подключенной к компьютеру. Четыре кнопочки на плате Марсоход генерируют четыре кода для клавиш "1", "2", "3" и "4".  На видео видно, что нажатие кнопок на платке приводит к появлению символов в окне текстового редактора NOTEPAD.

 

Добавить комментарий