Важная информация

User Tag List

Показано с 1 по 10 из 13

Тема: PS/2 и RTC2 через порт клавиатуры

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,223
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    905
    Поблагодарили
    595 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb PS/2 и RTC2 через порт клавиатуры

    Доброго дня.

    В данной теме вниманию общественности предлагаю вариант подключения к ПРК "Орион-128" альтернативных клавиатуры PS/2 и часов реального времени с СОЗУ на базе м/сх DS1307. Красота данного решения заключается в простоте и минимализме.
    Оба устройства подключаются к существующему в любом Орионе самому главному порту #F4xx, параллельно штатной клавиатуре (или её эмуляции на МК). При этом функционал родной клавиатуры никак не нарушается, и она, в свою очередь, никак не влияет на работу подключенных новых устройств.

    Принципиальная схема (v1.0):




    На схеме не указан чип RTC DS1307 с кварцевым резонатором и распиновка разъёма клавиатуры PS/2, на данном этапе отображена только идея коммутации.

    Принцип работы. В штатном режиме, порт #F4xx настроен следующим образом: линии "А" на вывод, а линии "В" на ввод. Для сканирования штатной клавиатуры (формат РК86) применяется т.н. "бегущий нолик", т.е. выходы порта "А" принимают только следующие состояния:

    Код:
    0 1 1 1 1 1 1 1 
    1 0 1 1 1 1 1 1 
    1 1 0 1 1 1 1 1 
    1 1 1 0 1 1 1 1 
    1 1 1 1 0 1 1 1 
    1 1 1 1 1 0 1 1 
    1 1 1 1 1 1 0 1 
    1 1 1 1 1 1 1 0
    Т.о. одновременно двух лог."0" на выходах порта "А" не бывает. Эта особенность и используется для организации четырёх виртуальных выходов для управления новыми устройствами через занятые линии. Пары соседних линий порта с помощью элементов "ИЛИ" объединяются в одиночные, образуя новые виртуальные выходы. Для управления новыми устройствами достаточно одновременно выставлять лог."0" на соответствующих парах порта #F400. После сеанса связи с новым устройством, выходы порта "А" возвращаются в изначальное состояние (по-умолчанию, FEh), и Орион готов к работе со штатной клавиатурой, а новые устройства в режиме паузы/сна.

    Для приёма сигналов используются линии порта "В", которые, согласно схемотехнике РК'шной клавиатуры, подтянуты резисторами 2 ком к шине питания, т.о. на них сформирована лог."1", а для выставления лог."0" достаточно коммутировать на землю через транзисторный ключ или ЛЭ с ОК на выходе. В режиме "спячки" новые устройства не должны выставлять лог."0" на линиях порта "В".
    RTC изначально удовлетворяет этим условиям, а вот с клавиатурой пришлось "похимичить", сделав работу с линией CLK в инверсной логике. Дело в том, что в обычном режиме клавиатура PS/2 может сама в произвольный момент (относительно работы процедуры сканирования штатной клавиатуры) выдавать данные, и т.о. может возникнуть коллизия. Поэтому клавиатура PS/2 принудительно переводится в режим ожидания прижиманием линии CLK к земле, и только во время её опроса линия будет освобождаться драйвером и производиться обработка байтовых посылок.

    Пока разработка на стадии идеи, макетирование и написание ПО будет позже

    Конструктивно девайс можно оформить в виде переходника между штатной клавиатурой Ориона и материнской платой или наМГТФить непосредственно на выводах порта ВВ55.
    Последний раз редактировалось Denn; 17.01.2019 в 18:33.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 219
    Последнее: 13.03.2021, 22:31
  2. Ответов: 8
    Последнее: 01.12.2016, 02:50
  3. Ответов: 8
    Последнее: 01.05.2006, 01:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •