Может ещё сплясать?
PB - адрес, PD1-6 - выход кнопок
PA2 - int., PD0 - RxD
Вид для печати
Может ещё сплясать?
PB - адрес, PD1-6 - выход кнопок
PA2 - int., PD0 - RxD
Можно ещё одну ...
Можно мегу взять, но решение рабочее.
Предлагаю взять ARM STM32F030 в корпусе TSSOP-20 + ПЛИС EPM240T в корпусе TQFP-100.
Арм будет принимать пакеты и записывать данные в ПЛИС. А ПЛИС в зависимости от старшего байта будет выдавать данные на порты клавиатуры, кемпстон джойстика или мауса.
Предполагается подключение модуля согласования к компьютерам с портами механической клавиатуры и кемпстон джойстика. Потребуется отключить резисторы подтяжки, провода и другие элементы от входов этих портов. Обычно старшие адреса с Z80 подаются на клавиатуру через диоды - их оставляем. На входе ПЛИС подтягиваем аноды этих диодов резисторами 10 К к +3.3V.
На входах портов клавиатуры и кемпстона (в Ленинграде это порты на микросхемах К555КП11) нужно выпаять подтягивающие к + 5В резисторы и все, что к ним подключено, например самодельные SINCLAIR- джойстики. С выхода ПЛИС подаем на эти порты 5 битов на порт данных клавиатуры и 8 битов на порт КЕМПСТОН. Будем использовать этот порт для джойстика и мышки. Цифровой сигнал TAPE-IN, который можно использовать при загрузке оригинальных игр, подать на соответствующий порт клавиатуры.
Таким образом, у нас получается согласование с ПЛИС без дополнительных резисторов, диодов или буферов.
ПЛИС обеспечит максимальное быстродействие и позволит подключить модуль согласования даже к компьютерам с ТURBO, например, KAY, SCORPION. Один микроконтроллер, даже арм, не сможет обеспечить такой скорости и функционала. Выбранные МК и ПЛИС достаточно доступны и экономичны.
ничего там не возрастает.
джойстик и на клавиатуре есть.
F0 - УГ.
---------- Post added at 21:14 ---------- Previous post was at 21:12 ----------
ARM? ПЛИС? Извращение для Спектрума ...
Хотите о этом поговорить? Милости прошу на казус .
Ради тебя даже ветку постараюсь продержать несколько дней.
Хотя и дня хватит чтобы ты поменял свое мнение ...:biggrin:
Угу а AVR прямо таки созданы для спекки . Юморист блин.Цитата:
Сообщение от ASDT
Повторюсь - не хватает острых ощущений и хочется блеснуть знаниями
создай ветку на казусе...
---------- Post added at 21:55 ---------- Previous post was at 21:53 ----------
И плюсом будет максимально универсальный модуль .
Где не надо будет выкраивать и изыскивать ресурсы и свободно заняться творчеством.
сходни на пиководский форум, докажи что arm рулит, тоже долго не продержишся
---------- Post added at 22:33 ---------- Previous post was at 22:31 ----------
это вам на ПЦ, спектрум это мазахизм с выискиванием ресурсов, которых нет
---------- Post added at 22:35 ---------- Previous post was at 22:33 ----------
оно все красиво выглядело бы на одном корпусе stm32f0, но не судьба, если ставить cpld то в пару с ней надо ставить самое дешевое что есть, тиньку какую нить, она 146% вытянет и дисплей и пару PS/2 поротов и джойстики с последовательным интерфейсом, еще и бикать сможет
Было, и продержался бы если бы не забанили .
http://forum.chipmk.ru/index.php/for...9%D0%B8%D0%BC/
Кстати - у нас не ARM фанатизм , мы всеядные ... :biggrin:
и пЫк в том числе .
Речь то о модуле...:biggrin:Цитата:
Сообщение от ZEK
---------- Post added at 23:39 ---------- Previous post was at 23:37 ----------
Погоди злопыхать , если умный человек скажет что хрен выйдет , тогда поставим крест...
О как может xmega
а если еще взять частоту в 32мгц, то получает что все успеет, даже в турбе, тобиш решение на одном корпусе, недорогомЦитата:
The interrupt response time for all the enabled interrupts is three CPU clock cycles, minimum; one cycle to finish the
ongoing instruction and two cycles to store the program counter to the stack.
Тема про быстрый старт по АРМ была бы полезна. Только желательно осветить эти части. Я начал по крупицам собирать. но это долго будет, а вам итак все подводные камни известны.
Начало примерно такое. (http://www.zxkot.ru/firmware/f01)
Оценочные платы для изучени ARM.
Так как оказалось ARM - это не один тип микроконтроллеров, а несколько семейств и для каждого выпускается своя девборда. При изучении подключения разных устройств к арму в интернете встречаются примеры, но для разных девборд. Поэтому было решено приобрести три вида девборд для макетировния устройств на четырех типах микроконтроллеров:
- STM32F0DISCOVERY - микроконтроллер STM32F051
- STM32VLDISCOVERY - микроконтроллер STM32F100
- STM32F4DISCOVERY - микроконтроллер STM32F407
- ST-LINK на девборде - микроконтроллер STM32F103 в программаторе тоже можно использовать для макетирования (отличается от F100 наличием USB)
Собрать бы там сжато информацию по KEIL ДЕМО ВЕРСИИ, и примеры программирования сразу для четырех типов девборд.
Можно. Описание лучше писать для KEIL последней версии 5.01 демо 32Кб. И сразу для 4х типов контроллеров. Так будет легче изучать. Также желательно сразу указать известные грабли, типа вот с этого сайта пример для Nokia 1202 лучше не запускать, так как там коэффициент умножения в дисплее 5, а не 4, что может привести дисплей к выходу из строя. Или - KEIL пока поддерживает программную отладку только микроконтроллеров типа F103, но для F100 можно указать F103 и все заработает. Для оставльных использовать железную отладку. Для этого сделать так ...
Я писал для PIC на C HI-TECH LIte в среде Eclipse, потом в их IDE. После покупки их фирмой Microchip и включением комплилятора в MPLAB - перешел на MPLAB.Цитата:
У Вас я так понимаю , есть опыт на AVR .
В каком IDE работали ?
Немного писал для AVR на ассемблере без IDE. По совету из книги Ю.Ревича "Практическое программирование Микроконтроллеров AVR на языке ассемблера" запускал из bat-файла ассеблер из IDE Atmel Studio.
PS. Немного на C++ в QT4, 5 в Qt Creator.
------------------------------------------------------------------
Сначала будем делать макет на основе девборд, потом подберем подходящие микроконтроллеры и перенесем проект на них. Армов будет два - один в компьютерной части для формирования сигналов, аналогичных механической клавиатуре, кемпстон джойстику и мышке.
На удаленной части будет более мощный арм, который будет опрашивать USB-клавиатуру, механический кейпад и сега-джойстик и передавать данные на мелконогий арм в компьютере.
Собранные крупицы полезной информации по ARM будем складывать тут. Там пока только содержание. В каждой главе будем писать общую информацию для всех девборд и отличающуюся для каждой. Например установка и настройка KEIL. Скачать на сайте ..., предварительно заполнив анкету. Потом скачать библиотекуи или файлы там-то. Создавать проект так-то. А затем: для девборды F0 прописать такую строку, для F4 - такую и т.д. Тогда людям будет все понятно и не будет вопросов по другим девбордам. Подойдет такой способ освоения? Примеры подключения дисплея для каждой девборды можно указать ссылками с краткими пояснениями. Если у вас некоторые вопросы уже описаны и описание не устарело - тоже достаточно ссылки и краткого комментария. А сейчас пока вся информация распылена по интернету и обычно для конкректной девборды, что затрудняет вход в программирование для арм.
Появилась новая идея, как удешевить компьютерную часть кейпада. Можно сделать LITE версию для отладки, используя имеющийся на новых клонах разъем PS/2 без перепрошивки его контроллера. Для этого сигналы кейпада передавать по шнуру и протоколу PS/2. Но тут ограничение - будут выбираться только те джойстики и кнопки, которые есть на клавиатуре. Зато для игр можно будет вместо клавиатуры подключать кейпад. Кстати, на Speccy2010 курсор PS/2 клавиатуры может работать как кемпстон джойстик.
Вторая идея - установить в левой части кейпада аналоговый джойстик от PSP. Он представляет из себя два переменных резистора, сопротивление которых меняется при наклоне джойстика. Стоит на данный момент около 70 руб. в Профи. Напряжение на резисторах можно измерять с помощью АЦП в АРМе и преобразовывать полученные числа в направления движения. Справа на кейпаде расположить - кнопочный курсор, который может работать параллельно аналоговому или его можно будет перепрограммировать на другие кнопки. Или просто 1-2 кнопки, которые можно будет перепрограммировать. В таком варианте можно обойтись без кварца.
STM32F103 похоже не подойдет для подключения USB-клавиатуры. В документации про USB почти ничего нет, только что есть такой последовательный порт. У STM32F407 написано о возможности подключения нескольких устройств через хаб.
Подключил для пробы дисплей к девборде (www.zxkot.ru).
http://s019.radikal.ru/i631/1402/c0/b3e3953632f1t.jpg
Теперь надо думать, как адаптировать для KEYPADа. Клавиатуру на экране можно нарисовать в виде картинки, для начала. Только как по ней курсор двигать ?