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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

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

  1. #11
    Veteran Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    1,696
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    35
    Поблагодарили
    28 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb PS/2, RTC и SDHC [v2]

    После детального изучения вопроса, а именно разбора Мониторных процедур опроса стандартной РК86-клавиатуры и некоторого мыслительного процесса по оптимизации, родилась вторая версия схемы подключения PS/2-клавиатуры и часов DS1307 "поверх" родной матрицы, а также добавился интерфейс для SDHC-карты:




    В случае полного отказа от РК'шной клавиатуры, схема ощутимо упрощается:

    схема



    [свернуть]



    Идеологически изменён узел обработки сигнала PS2_CLK. Дело в том, что процедуры Монитора сканирования матрицы оставляют линию порта A в состоянии 11111110 (FEh), т.е. младший бит установлен в "0". Это как раз можно использовать для "придавливания" клока к земле для блокировки передачи данных PS/2-клавиатурой, пока исполняется код вне процедуры её обслуживания (на Орионе мы работаем с клавиатурой не по прерываниям, как на писи, а по факту опроса). При этом линия PA4 выступает в роли гейта прохождения данных на вход порта PB0.
    Принцип дешифрации сигналов управления новыми устройствами сохранён, но изменены некоторые линии порта A - выполнено перемежение т.о., чтобы сигналы не складывались из соседних битов.

    К сожалению, подключиться непосредственно "поверх" реализации стандартной РК-клавиатуры на МК (от Caro), без доработки последней, не получится, т.к. выходы МК работают не в режиме ОК с подтяжкой к питанию, как это сделано в аппаратной реализации матрицы, т.о. завести внешние сигналы PBx напрямую не получится, придётся делать развязку на диодах/резисторах.


    Часть схемы относящаяся к SDHC (ниже волнистой линии) - полностью самостоятельная, и может быть опущена. В варианте "поверх РК-матрицы" преобразование 5-вольтовых лог. уровней в 3,3-вольтовые делается неявно с помощью микросхемы серии 74AC (74HC), соответственно питание последней производится не от основного питания ПРК (5в), а берётся с выхода 3,3-вольтового преобразователя!
    В отдельном варианте схемы преобразование уровней выполнено на пассивных элементах.
    Последний раз редактировалось Denn; 27.06.2019 в 15:08.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #12
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,326
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прослеживается некоторое удобство оттого что схемы РК и питерской МС7007 (пришедший от РК) используют одинаково запрограммированный порт - подключение и драйвер этой периферии получается универсальным.
    вот только в варианте МС7007 требует уточнения факт "процедуры Монитора сканирования матрицы оставляют линию порта A в состоянии 11111110 (FEh),"

    И не понятно что имелось в виду под "В случае полного отказа от РК'шной клавиатуры".

    - - - Добавлено - - -

    Кстати, как отработает схема если вместо "бегущего нуля" туда пульнут все биты нулевыми (для проверки всех линий клавиатуры сразу)?
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  3. #13
    Veteran Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    1,696
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    35
    Поблагодарили
    28 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Arrow

    Цитата Сообщение от Error404 Посмотреть сообщение
    Прослеживается некоторое удобство оттого что схемы РК и питерской МС7007 (пришедший от РК) используют одинаково запрограммированный порт - подключение и драйвер этой периферии получается универсальным.
    Увы, универсальности тут не получается. Матрица 7007-ой совсем иначе устроена, соответствий с РК86 никаких нет. Более того, управляющие клавиши также включены в матрицу, соответственно их состояние нельзя "нахаляву" прочитать из порта "С".


    Цитата Сообщение от Error404 Посмотреть сообщение
    вот только в варианте МС7007 требует уточнения факт "процедуры Монитора сканирования матрицы оставляют линию порта A в состоянии 11111110 (FEh),"
    В нашем случае важно состояние бита PA0. Но даже если он в "свободном полёте" окажется не "0", то всего лишь "поток сознания" от PS/2 клавиатуры не будет дожидаться её опроса. Такая ситуация может быть конфликтной в случае попыток одновременной работы на двух клавиатурах, что в реальности маловероятно, ибо бессмысленно. В остальном никаких проблем.


    Цитата Сообщение от Error404 Посмотреть сообщение
    И не понятно что имелось в виду под "В случае полного отказа от РК'шной клавиатуры".
    Имеется в виду использование Ориона с новым ПО онли. Т.е. подключение старой клавиатуры изначально не предполагается.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Кстати, как отработает схема если вместо "бегущего нуля" туда пульнут все биты нулевыми (для проверки всех линий клавиатуры сразу)?
    Это нестрашная ситуация, она происходит каждый раз при аппаратном сбросе, в момент настройки порта ВВ55, который, как мы помним, имеет свойство при этом скидывать все выходные линии в "0". PS/2-клавиатура останется на "паузе", т.к. линия клока будет прижата к "0". Часы никак не среагируют на одновременное обнуление линий сигналов SCL и SDA. SDHC-карта без накачки клока (он заведён с отдельно линии PC3) никак реагировать не будет.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Ответов: 210
    Последнее: 08.06.2019, 05:00
  2. Ответов: 8
    Последнее: 01.12.2016, 03:50
  3. Ответов: 8
    Последнее: 01.05.2006, 00:38

Ваши права

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