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

User Tag List

Страница 28 из 31 ПерваяПервая ... 2425262728293031 ПоследняяПоследняя
Показано с 271 по 280 из 303

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

  1. #271
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  3. #272
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #273
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    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
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #275
    Activist
    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    375
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    20 сообщений
    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,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #277
    Activist
    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    375
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #278
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #279
    Activist
    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    375
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще глубже копнул - у корвета инвертированы ША и ШД для клавиатуры (ШД вообще подтянута резисторами к +5В). В силу этих обстоятельств наиболее подходящей основой для модификации должна быть прошивка для Ямахи КУВТ?
    caro, поделишься исходниками к этой прошивки?

  11. #280
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    caro, поделишься исходниками к этой прошивки?
    Прошивка для YAMAHA YIS-503 на моем сайте http://caro.su выложена с исходником.

Страница 28 из 31 ПерваяПервая ... 2425262728293031 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 146
    Последнее: 31.05.2020, 19:00
  3. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  4. Куплю контроллер клавиатуры
    от AAA в разделе Барахолка (архив)
    Ответов: 121
    Последнее: 01.02.2008, 18:33
  5. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05

Ваши права

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