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

User Tag List

Страница 28 из 28 ПерваяПервая ... 2425262728
Показано с 271 по 278 из 278

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

  1. #271
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,498
    Благодарностей: 793
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    caro, Добрый день! Удалось ли найти что-нибудь подходящее?
    Вариант для Ориона правлю, версия как раз подходит для твоего случая.

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

  3. #272
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    242
    Благодарностей: 58
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Причем, это минимальная подпрограмма
    Не минимальная, читать можно через LDAX, тогда инкремент L не потребуется, минус 4 такта.

  4. #273
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,017
    Благодарностей: 1057
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    Не минимальная, читать можно через LDAX, тогда инкремент L не потребуется, минус 4 такта.
    Верно. Тогда 7 тактов и сокращение гарантированной частоты Ориона до примерно 3,5М (5М турбо с WAIT как раз как на наших платах для корпуса УКНЦ)
    Получится что-то такого вида:
    Код:
    ld hl,0F401h ; 
    ld de,0F402h ; 
    ld a,scancode  ; 8 bits
    ld (0F400h),a  ; 13 tstates
    ld b,(hl)     ; 7 tstates
    ld a,(de)     ; BA[15..5]=resulting inkey bits
    К счастью, это достаточно неудобно (хотя и быстро) и на Орионе так никто не писал (обычно там тупые STA/LDA по 13 ? тактов). Так что, думаю всё должно получиться и на бOльших частотах.
    Последний раз редактировалось Error404; 20.04.2018 в 12:40.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  5. #274
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    548
    Благодарностей: 42
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да как бы всё равно в нашем случае - главное, что больше 1 операции выполняется. Остальное уже "мелочи"
    Но да - оптимизация никогда не бывает лишней
    "Байт-48"

  6. #275
    Member
    Регистрация
    20.12.2016
    Адрес
    г. Ростов-на-Дону
    Сообщений
    176
    Благодарностей: 21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Если делать только на одном контроллере, без внешних регистров,
    то надо: 16 линий данных плюс 8 линий адреса и 2 линии сигналов A8 и /CSKB - всего 26 сигналов.
    Вчера повтыкал на разные схемы контроллеров PS/2 для Ориона, Специалиста, спеков, ну и конечно внимательно посмотрел на схему мультиплексоров клавиатуры Корвета. Вопрос - а зачем выводить на контроллер A8 и /CSKB, если нужно всего лишь обеспечить своевременное "замыкание" пар бита адреса и нужного бита ШД? Т.е. достаточно отлавливать сигнал на ША и сразу давать его на ШД. Где я не прав?

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

    Т.е. мультиплексор в самом корвете уже есть, он как раз и управляется сигналами A8 и /CSKB. И все 16 линий данных аппаратно идут на клавиатуру - сама клавиатура все-лишь замыкатель, т.е. не содержит логики.

  7. #276
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,498
    Благодарностей: 793
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    Т.е. достаточно отлавливать сигнал на ША и сразу давать его на ШД. Где я не прав?
    Ты прав, но для этого контроллер должен иметь такую функцию - чувствительность к изменению состояния на портах ввода/вывода.
    Например ATMega8 (dip28) и ATMega16 (dip40) не имеют такую функцию, а программно они не смогут вовремя реагировать на опрос клавиатуры.
    Если использовать ATMega48 или ATMega164 можно спокойно заниматься опросом клавиатуры и формированием массива нажатых клавиш,
    но как-только произойдет изменение на шине адреса сканирования, произойдет прерывание работы основной программы, и на шине данных
    будет выдан код соответствующий нажатой клавише. Поэтому в этом случае можно обойтись и без сигналов A8 и /CSKB.

  8. Этот пользователь поблагодарил caro за это полезное сообщение:
    surinm (25.04.2018)

  9. #277
    Member
    Регистрация
    20.12.2016
    Адрес
    г. Ростов-на-Дону
    Сообщений
    176
    Благодарностей: 21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Если использовать ATMega48 или ATMega164 можно спокойно заниматься опросом клавиатуры и формированием массива нажатых клавиш
    Правильно ли я понимаю, что мне тогда лучше взять за основу 164ю Атмегу - и вешать прерывание на ША смогу, и портов хватит на матрицу 16х8, и А8 с /CSKB тянуть с платы не нужно будет?

  10. #278
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,498
    Благодарностей: 793
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    Правильно ли я понимаю, что мне тогда лучше взять за основу 164ю Атмегу - и вешать прерывание на ША смогу, и портов хватит на матрицу 16х8, и А8 с /CSKB тянуть с платы не нужно будет?
    да.

  11. Этот пользователь поблагодарил caro за это полезное сообщение:
    surinm (25.04.2018)

Страница 28 из 28 ПерваяПервая ... 2425262728

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

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

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

Похожие темы

  1. Контроллер клавиатуры для Профи.
    от caro в разделе Устройства ввода
    Ответов: 140
    Последнее: 15.08.2016, 20:07
  2. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  3. Куплю контроллер клавиатуры
    от AAA в разделе Барахолка (архив)
    Ответов: 121
    Последнее: 01.02.2008, 19:33
  4. Контроллер клавиатуры для Скорпиона
    от caro в разделе Устройства ввода
    Ответов: 31
    Последнее: 23.11.2006, 10:23
  5. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Устройства ввода
    Ответов: 1
    Последнее: 16.11.2005, 00:05

Ваши права

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