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

User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 28 из 28

Тема: [Поиск 1] Контроллер PS/2 или USB клавиатуры

  1. #21
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от blackmirror Посмотреть сообщение
    частота ПОИСКа 5 МГц, если взять AVR с частотой 20 МГц,
    Это не отменяет того, что частота шины 8 с копейками МГц, так же как и у ISA. При этом цикл выставления адреса происходит за ~14 нс, в которые нужно успеть отдуплить что адрес равен тому что мы ожидаем ( if (PORTXXX = 0xXXXX) ), и успеть среагировать - выставив например данные через ~15 нс на шину данных, а потом быстренько перевести порт обратно в input (в следудующие ~10 нс). Вот такая математика примерно.

  2. #22
    Master Аватар для Quest
    Регистрация
    10.12.2012
    Адрес
    г. Петрозаводск
    Сообщений
    607
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Рас такие сложности, то разумеется не стоит городить пауков на системной плате. Я думал можно обойтись малюсенькой платкой и тремя проводками... Думаю тогда целесообразнее будет разместить часы на плате HDD контроллера, как и предлагал DrPass.
    Scorpion ZS-256, ZX Spectrum +3, ZX-Evolution & NeoGS, Поиск-1, Scorpion ZS 1024 Turbo+

  3. #23
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Tronix, посмотрел документацию на V20, получается, что данные нужно читать до изменения сигнала #RD. Для AVR единственный шанс это Xmega 32 МГц, синхронизация частоты и таблица переходов. Иными словами, в регистре R31 нужно хранить состояние программы(какой бит принимаем или выдаём), командой IN читать #RD и AD7 в регистр R30(1 такт), командой IJMP переходить по адресу R30:R31(2 такта), модифицировать R31 однотактными командами, если нужно перейти в новое состояние или добавлять NOP для сохранения синхронизации. То есть читать сигналы и принимать решение мы сможем 1 раз за такт шины. Выдачу данных придётся делать поймав #RD->0 (значит чтение нужно разместить поближе к этому переходу) и отключаясь от шины через фиксированное время в момент #RD->1, но не проверяя данного факта. Для более быстрых контроллеров синхронизацию частоты делать тоже придётся, то есть как минимум получается три провода, CLK, #RD и AD. Программа тут конечно тоже будет похожа на паука, весь вопрос в том, какие пауки кому больше нравятся

  4. #24
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    blackmirror, я подумал еще раз немного на эту тему и, почти гарантирую - не успеет. Либо, если я все-таки ошибаюсь, успеет, но только обрабатывая параллельную шину и ничем больше не занимаясь. Ни шага в сторону, не говоря уже о PS/2 или светодиодом мигнуть. Мигнул светодиодом - не успел выставить на шину данные по запросу ВНЕЗАПНО пришедшему. Это за гранью добра и зла. И ARM не успеет, если речь идет о STM32. На каких-нибудь NXP LCP мегагерц под ~200-300 попробовать можно конечно, но а) стоимость такого контроллера б) из пушки по воробьям, то есть конечно молотилку отдаем под шину, а остальных 99,9% контроллера простаивают (флеш, рам, модули встроенные, ноги gpio) и в) зачем - если для параллельной шины есть PIC с его PSP (Parallel Slave Port), как и сделано у меня....

  5. #25
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Tronix, про параллельную шину речь не идёт, речь идёт про то, как обойтись тремя проводками(не считая питания). Но лучше конечно делать аппаратную поддержку: сигнал IORD будет использоваться как SPI_CLK, сигнал с линии адреса будет SPI_IN, с линией данных (через транзистор или буферный элемент управляемый сигналом IORD) будет соединяться сигнал SPI_OUТ, обычно пребывающий в состоянии входа. Маркер выбираем такой, чтобы при циклическом сдвиге его байты не повторялись, тогда получив из SPI какой либо байт, по таблице находим сколько бит маркера уже принято, программно(или подключив к IORD еще и таймер) выкидываем некоторое количество бит, чтобы остался последний байт маркера, снова включаем SPI, принимаем хвост маркера и если всё нормально, переключаем SPI_OUT на вывод, ну а далее мы можем передать всё что угодно, если конечно DMA не влезет. В таком варианте оно может взлететь даже на tinyAVR.

  6. #26
    Member Аватар для grunger
    Регистрация
    21.01.2016
    Адрес
    г. Николаев, Украина
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На моём поиске не работают клавиши. Как-то ситуация прояснилась? Как-то можно отремонтировать то, что у меня есть?

  7. #27
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно было бы сделать девайс на скромной ОЭВМ и аппаратных ключах пленочной клавы типо 561КП2 в количестве N шт.
    Достоинство - полная аппаратная совместимость и дешевизна.
    Быстродействие ОЭВМ - в 2 лимона рег-рег вполне можно было бы уложиться, к-во проволок управления ключами - в 16 шт. тоже можно уложиться.
    Кстати, ничто не мешает параллельно подключать классическую клаву Поиска из комплекта поставки.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  8. #28
    Banned
    Регистрация
    31.01.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    673
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Tronix, Я предлагаю назвать эту разработку как-то так : В619 - адаптер контроллера PS/2 и USB клавиатур.

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. Конвертер USB -> PS/2 для клавиатуры
    от Ewgeny7 в разделе Устройства ввода
    Ответов: 118
    Последнее: 02.01.2022, 23:39
  2. [Поиск 1] Контроллер IDE
    от CHRV в разделе Поиск
    Ответов: 25
    Последнее: 02.10.2020, 16:07
  3. Контроллер USB клавиатуры
    от andreil в разделе Устройства ввода
    Ответов: 99
    Последнее: 24.02.2019, 17:25
  4. USB контроллер матрицы клавиатуры.
    от fan в разделе Устройства ввода
    Ответов: 2
    Последнее: 25.07.2007, 00:43

Ваши права

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