User Tag List

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

Тема: Контроллер клавиатуры PS/2

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    965
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Перевел на Мегу8.
    Есть проблема. После нескольких нажатий комп иногда уходит в ступор или выдает "СТОП". Пока не могу определить проблему, то ли я накосячил с прошивкой, то ли комп глючит (случайно дотронулся рукой к одной из РУ6 -по экрану пошел мусор, заменил, возможно есть еще глючные, надо проверять). Поэтому выкладываю для повтора и теста полный комплект. Если у кого есть возможность и желание - повторите. Пока не реализовал кнопку "СТОП", сигнал не используется. Устройство подключается к внешнему разъему. Все сигналы стандартные, дополнительно вывел на А6 сигнал nCSI - вход nCS (выв.30) от ВП1-14, А7 сигнал nCSO - выход nBS (выв.38) от ВП1-37, А8 - выход/вход RP1 (выв. 20) от ВП1-14. Необходимо впаять резистор 1кОм в сигнал nCS между ВП1-37 и ВП1-14, сделать это удобней с обратной стороны платы под ВП1-37 - разрезать дорожку и припаять резистор (фото ниже). Со стороны контроллера, на разъеме между выв. А4 и А6 подпаиваем резистор на 1-10кОм (на схеме нет), это будет блокировать ВП1-14 при подключении контроллера. Если использовать ТМ5 (7477) серии 155, т.е. к155тм5, то незадействованные входы можно оставить "висеть" в воздухе. ТМ5 используется для "защелки" бита nAD1 по активации nCS. Вместо ТМ5 можно использовать ТМ9, в общем нужен триггер или регист, способный запоминать по отрицательному фронту или по "0" на управляющем выводе. Мега, без ТМ5, не успевает считать этот бит и определить к какому регистру идет обращение. Мега работает на 16МГц (пробовал и на 20МГц), конденсаторы 22пФ.
    По коду. Процедура работы с клавиатурой PS/2 взята из Интернета, там ничего сложного. Обработка клавиш подправлена под собственные нужды. Переключение РУС-ЛАТ - правый и левый АЛТ, по аналогии с клавиатурой БКшки, так же и по F1-F9 - от ПОВТ до СБР. Настройку раскладки можно сделать через таблицу vk_code в scancodes.h. Таблица представляет из себя перекодировку из кода нажатой клавиши в код в таблице кодировки БК bk_code. Обратной связи с клавиатурой не делал, т.е. индикаторами не мигает. Автоповтор пока убрал до выяснения сбоев в работе.



    Полній комплект (проект для WinAVR, схема в формате Eagle):
    https://drive.google.com/drive/folde...C-?usp=sharing

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

  3. #2

    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    163 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Перевел на Мегу8. Есть проблема.
    Попробуй удалить конденсаторы на кварце, а фьюз CKOPT=0.

  4. #3

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    965
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krotan Посмотреть сообщение
    Попробуй удалить конденсаторы на кварце, а фьюз CKOPT=0.
    Не помогло.
    Подключил стандартную клаву, комп работает не виснет, правда при нажатии, например 1 выскакивает 2, при повторном нажатии выскакивает 1, так с некоторыми клавишами - правильно срабатывают только на втором нажатии.
    Заметил, что с кварцем на 16МГц глюк проявляется практически сразу, на 20МГц - можно неспешно что-то набрать. Похоже Мега не успевает нормально обработать клаву и времянка МПИ уходит, что приводит к зависанию компа. Наверное прийдется ставить два контроллера: один (типа Тини) будет обрабатывать клавиатуру, второй - МПИ, связать их по последовательному порту.
    ЗЫ Не пойму как оно на 32 Меге работало!!!

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

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

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

Похожие темы

  1. ZXKeyb контроллер PS/2 клавиатуры.
    от Randomize_Usr в разделе Устройства ввода
    Ответов: 8
    Последнее: 17.06.2018, 22:01
  2. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  3. контроллер писишной клавиатуры
    от sevol в разделе Устройства ввода
    Ответов: 10
    Последнее: 18.02.2011, 09:38
  4. КУПИТСЯ контроллер AT клавиатуры.
    от kgbond в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 15.09.2010, 11:16

Ваши права

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