да, иначе. там кнопки в обе стороны опрашиваются - то есть в зависимости от настройки ВВ55 ряды могут быть входами, колонки выходами - или наоборот.
это дает некоторые плюсы в программировании опроса клавиш - но конкретный геморрой в эмуляции этого дела.
там в основе тот же сдвиговый регистр.А можно этот вариант без контроллера посмотреть ? Не, я не специалист в "Специалистах", просто сама идея интересна.
схема приемника кодов с клавы
на с0 подается 625кГц со счетчика, на с1 - строчная синхронизация (у меня VGA, 31кГц)
но некоторые АТ клавы без команд инициализации не работают, а некоторые вобще валят какой-то мусор непрерывно - поэтому на свой страх и риск
я не слишком силен в vhdl, в основном схематиком пользуюсь. но вобще-то я имел в виду по SCK тупо загонять данные в регистр, а по фронту SS (в конце посылки) - уже распихивать результат в клавиатурную матрицу.Да ответ простой - не смог я этого ) Пока не умею. Я ведь ненастоящий сварщик.
Скопипастить сложный пример было проще, чтобы хоть с чего-то начать.
Как я понимаю, это примерно вот так должно выглядеть на vhdl, если ориентироваться на CPLD-решение Андрея Карпова (вся клава+спецкнопки - 6 слов по 16-бит, режим MSBFIRST, в старшем байте "адрес" кейстатусов в CPLD-регистре, в младшем байте сами кейстатусы):
да, в 64 походу не влезет. там в абсолютном минимуме 56 триггеров - spi регистр и 40 клавиш - плюс спецкнопки...Опять же - для собственного развлечения я это сделаю, но будет ли в этом какая-то практическая выгода, неизвестно, т.к. ПЛИСка и 7128, и 3128, и более мелкие *064 стоят одних и тех же 150-200 руб на каждом китайском углу. И цена решения будет одна, хоть 40 триггеров задействовано в CPLD, хоть 100+. Только если генератор сэкономить...
UPD: Собственно, доработал CLPD, убрал жирного SPI slave, убрал генератор.
77 of 128 macrocells. Сильно много не оторвать, в 64 точно не упихать.
UPD:
хотя если пооптимизировать - можно например сделать SPI регистр 8-битным с 5 битами данных и увеличить количество посылок с атмеги. минус 8 ячеек. но все равно впритык.
да всегда пожалуйста
- - - Добавлено - - -
вот это странно - особенно на той плате, где дорожки по сантиметру... хотя скорее всего можно скорректировать прошивкой CPLD - но надо разбираться.






Ответить с цитированием