User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: безвейтовый контроллер AT-клавы на МК

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

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

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question безвейтовый контроллер AT-клавы на МК

    плз, обьясните, почему если контроллер AT-клавы с программной эмуляцией матрицы в МК, то обязательно надо вейтить Z80?
    неужто, если опрашивать клаву в бесконечном цикле, уходить в INT по /RD+/IORQ+A0=0 и тут же отдавать Z80 готовые данные, МК не успеет?
    Последний раз редактировалось boo_boo; 05.03.2007 в 14:43.

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

  3. #2

    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo Посмотреть сообщение
    плз, обьясните, почему если контроллер AT-клавы с программной эмуляцией матрицы в МК, то обязательно надо вейтить Z80?
    неужто, если опрашивать клаву в бесконечном цикле, уходить в INT по /RD+/IORQ+A0=0 и тут же отдавать Z80 готовые данные, МК не успеет?
    Нужно чтобы подготовить данные, ибо в зависимости от значений линий адреса во время опроса, нужно контроллеру сложить соответствующие регистры (это делается контроллером программно).
    В случае безвайтовавого контроллера надо дополнительную схему которая складывает аппаратно значение регистров в зависимости от опрашиваемых линий.

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

  4. #3

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а если держать в памяти МК (заполняя по мере нажатия клавиш) 256-байтную таблицу с текущим состоянием клавы для всех возможных сочетаний линий a8-a15 (т.е обьединять полуряды по ИЛИ заранее) и в прерывании просто брать оттуда готовое значение?

  5. #4

    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo Посмотреть сообщение
    а если держать в памяти МК (заполняя по мере нажатия клавиш) 256-байтную таблицу с текущим состоянием клавы для всех возможных сочетаний линий a8-a15 (т.е обьединять полуряды по ИЛИ заранее) и в прерывании просто брать оттуда готовое значение?
    Всеравно нужно время на обработку прерывания контроллеру и выборку нужного значения.

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

  6. #5

    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно сделать безвайтовый контроллер без особых ухищрений, если между МК и спеком поставить маааленьку м/с памяти на 256 байт - мк будет обновлять данные в ней, спек - читать (с большим приоритетом).
    Однако изза незначительной длительности Wait-а в схеме "без-вайта" вся канитель с доп памятью смысла не имеет.
    (По моим приблизительным подсчетам, если делать с табличкой в памяти МК то можно добиться значения wait-а в 2-3 спековских такта при частоте МК 8 мгц (AVR)).

  7. #6

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexCrush Посмотреть сообщение
    Можно сделать безвайтовый контроллер без особых ухищрений, если между МК и спеком поставить маааленьку м/с памяти на 256 байт - мк будет обновлять данные в ней, спек - читать (с большим приоритетом).
    А зачем 256 байт? Мне хватило 5 байтов (40 битов, 40 кнопок Спектрума). А еще я не стал ставить микросхему памяти, а поставил ПЛИС, куда была запихнута и вся мелкая логика. Данные в ПЛИС периодически закачивает контроллер КР1878ВЕ1, на котором реализован ps2 интерфейс и сопутствующая перекодировка скан-кодов.


    Цитата Сообщение от CHRV Посмотреть сообщение
    Всеравно нужно время на обработку прерывания контроллеру и выборку нужного значения.
    Допустим, контроллер работает на частоте 10 МГц. Период тактовой частоты составляет 100 нс. Современные контроллеры, как правило, с гарвардской архитектурой и выполняют лобую команду за 2 периода тактовой частоты, т.е. в нашем случае за 200 нс. А сколько команд нужно выполнить, просто чтобы зафиксировать факт обращения процессора к порту FEh? Десяток точно наберется. Отсюда и необходимость тормозить процессор на время, необходимое контроллеру, чтобы прочитать состояние шины адреса, вычислить необходимое значение в соответствии с принятыми скан-кодами и выдать его на шину данных. Поэтому безвайтный контроллер просто так не сделать, надо извращаться.
    Последний раз редактировалось KingOfEvil; 05.03.2007 в 23:12. Причина: Добавлено сообщение

  8. #7

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ангстрем маздай.
    у атмела есть mcu+fpga в одном чипе (не знаю, может уже и cpld осилили)

  9. #8

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от The Exploited Посмотреть сообщение
    ангстрем маздай.
    у атмела есть mcu+fpga в одном чипе (не знаю, может уже и cpld осилили)
    Ну маздай и ради бога, давай теперь всю выжившую отечественную электронику нах развалим. Пойдем по пути гайдара - 'мы все это купим'. А через 30 лет станем американской колонией и будем нахаляву качать нефть для дядюшки сэма.
    Последний раз редактировалось KingOfEvil; 06.03.2007 в 23:45.

  10. #9

    Регистрация
    04.08.2005
    Адрес
    Новосибирск
    Сообщений
    738
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да там делов ... Может уже и писали -
    контроллер+внешнее озу... все.
    Но в стиле ретро нужно контроллер заменять
    на несколько логических мс ...

  11. #10

    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ASDT Посмотреть сообщение
    Но в стиле ретро нужно контроллер заменять
    на несколько логических мс ...
    Несколько десятков мс

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. [Поиск 1] Контроллер IDE
    от CHRV в разделе Поиск
    Ответов: 25
    Последнее: 02.10.2020, 16:07
  2. ZX-MMC контроллер
    от Orionsoft в разделе Внешние накопители
    Ответов: 17
    Последнее: 12.05.2019, 17:11
  3. Контроллер многозадачной ОС
    от Conan в разделе Оси
    Ответов: 50
    Последнее: 20.09.2009, 10:56
  4. глюки клавы
    от boo_boo в разделе Устройства ввода
    Ответов: 5
    Последнее: 11.02.2007, 15:55
  5. Есть плата PC клавы и мыши для ZS256
    от Sergei Frolov в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 15.01.2006, 14:56

Ваши права

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