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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 41

Тема: Безвейтовый контроллер PS/2 клавиатуры на AVR + CPLD для ZX Spectrum и клонов

  1. #1
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Безвейтовый контроллер PS/2 клавиатуры на AVR + CPLD для ZX Spectrum и клонов

    Уважаемые коллеги,

    Вашему вниманию предлагается очередной контроллер PS/2 клавиатуры для ZX Spectrum совместимых компьютеров и многочисленных клонов.
    Построен данный контроллер на базе Atmega328p и CPLD Altera EPM7128STC100.



    Детали проекта: https://github.com/andykarpov/ps2_cpld_kbd/

    За основу была взята идея отсюда: http://www.jrok.com/project/speckey/spec_key.html

    Принцип работы:
    AVR слушает события от PS/2 клавиатуры, заполняет некую внутреннюю матрицу состояний 40-кнопочной клавиатуры и по SPI протоколу передает эту матрицу в CPLD, которая, в свою очередь, слушает адресные линии клавиатуры и моментально отображает результат в порт клавиатуры ZX Spectrum.

    Исходники железной и софтовой части проекта открыты, можно ознакомиться с принципом работы и внести коррективы, если потребуется
    Кроме стандартных 40-кнопок также реализованы клавиатурные комбинации ZX Spectrum, включая курсор.

    Из дополнительных плюшек:
    - сигнал RESET по Ctrl+Alt+Del (формируется короткий импульс сброса)
    - сигнал TURBO по Scroll Lock (переключается 2 состояния с запоминанием выбора в EEPROM меги)
    - сигнал MAGICK по F2 (формируется короткий импульс)
    - сигнал SPECIAL по Print Screen (также как и в TURBO, переключается между двумя состояниями)
    - индикация TURBO и SPECIAL, а также активности устройства на светодиодах, расположенных на плате

    Работоспособность проверялось вместе с ZX Max 128 и ZX 128 Spider.

  2. Эти 9 пользователя(ей) поблагодарили andykarpov за это полезное сообщение:

    Alex Shiloff (13.06.2020), Djoni (24.10.2020), Evgeny Muchkin (13.02.2020), loser (25.07.2020), polikarpov76 (17.07.2022), rus128 (27.06.2020), Sava (20.07.2020), SoftFelix (11.02.2020), solegstar (10.02.2020)

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

  4. #2
    Guru Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,082
    Спасибо Благодарностей отдано 
    736
    Спасибо Благодарностей получено 
    451
    Поблагодарили
    250 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сразу нубский вопрос. В чем принципиальное отличие от аналогов на atmega без epm? Более простое подключение A8-A15 + KB0-KB7 + GND?

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

    Запитывать платку через J4?

  5. #3
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,328
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Принципиальное отличие в том, что контроллеры только на атмеге без плисины в турбо-режимах нифига не успевают без вайта.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

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

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Принципиальное отличие в том, что контроллеры только на атмеге без плисины в турбо-режимах нифига не успевают без вайта.
    При правильном турбировании время обращения к устройствам ввода/вывода надо оставлять неизменным в самом компе.

  7. #5
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,328
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А есть список правильно турбированных клонов и неправильно турбированных клонов?
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  8. #6
    Guru
    Регистрация
    16.12.2009
    Адрес
    Харьков
    Сообщений
    4,731
    Спасибо Благодарностей отдано 
    355
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    238 сообщений
    Mentioned
    11 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    А есть список правильно турбированных клонов и неправильно турбированных клонов?
    ну один я знаю точно - Профи 5. в нем, на верхней плате, есть узел на одновибраторе АГ3, который по спаду /IORQ генерит wait длительностью 400нс для удлинения /IORQ, /WR, /RD. этого достаточно для отклика дешифраторов и БИС.
    Profi must live!

    Моё железо...

    1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
    3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
    4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
    Все укомплектованы:
    Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive
    [свернуть]

    Ссылка на Telegram-канал поддержки пользователей Profi.

  9. #7
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftLight Посмотреть сообщение
    Сразу нубский вопрос. В чем принципиальное отличие от аналогов на atmega без epm? Более простое подключение A8-A15 + KB0-KB7 + GND?
    Запитывать платку через J4?
    Все верно, A8-A15, KB0-KB4, GND, VCC. Этого достаточно в минимально рабочем варианте
    Принципиальное отличие - безвейтовость, ибо в турбо-режимах в отечественных клонах, говорят, атмега не успевает. Ну и требование к самой прошивке упрощаются, многие закидают камнями, наверн, но скетч написан в Arduino IDE Теоретически, если б Atmega8 имела CKOUT, можно было бы и на ней собрать, по размеру точно входит...

    Д, запитывать через J4.

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

    По умолчанию

    В любой турбированный комп на Z80 встраиваем один из вариантов схемы и по сигналу /TURBO = '0' получаем удлиненный цикл обращения к устройствам ввода/вывода:
    Нажмите на изображение для увеличения. 

Название:	turbo_wt.jpg 
Просмотров:	487 
Размер:	28.0 Кб 
ID:	68678

  11. #9
    Guru
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    В любой турбированный комп на Z80 встраиваем один из вариантов схемы и по сигналу /TURBO = '0' получаем удлиненный цикл обращения к устройствам ввода/вывода:
    Да ,но тогда например в турбо MOD player будет неправильно играть , в нем все посчитано по тактам , и постоянно опрашивается клава и мышь , при опросе будут тормоза ,что выльется в неправильный звук.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

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

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    Да ,но тогда например в турбо MOD player будет неправильно играть , в нем все посчитано по тактам , и постоянно опрашивается клава и мышь , при опросе будут тормоза ,что выльется в неправильный звук.
    Не понимаю, что значит постоянно опрашивается и зачем это делать слишком часто.
    Если опрос идет по кадровому прерыванию, то задержка будет мизерной.
    Но лучше конечно проверить всё это на реальном железе.

    PS. Посмотрел исходник MODPLAY - опрос кэмпстон маус происходит по кадровому прерыванию
    Последний раз редактировалось caro; 03.04.2019 в 14:38.

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

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

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

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

Похожие темы

  1. Ответов: 281
    Последнее: 12.03.2024, 20:01
  2. Схемы WAIT для различных клонов ZX Spectrum
    от ARTi в разделе Несортированное железо
    Ответов: 0
    Последнее: 28.04.2008, 16:57
  3. безвейтовый контроллер AT-клавы на МК
    от boo_boo в разделе Устройства ввода
    Ответов: 23
    Последнее: 07.03.2007, 13:17
  4. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05

Ваши права

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