Ну вы как специалист сделали бы доброе дело для форума ?
Вид для печати
Можете сами выбрать http://www.st.com/web/en/catalog/mmc/FM141/SC1169
Отобрал список в доступных для самостоятельной пайки корпусах :
Ну не такой уж я и специалист...:biggrin:
С USB пока на Вы , осилил пока только девайсы конкретно HID на 103их.
Хотя со стороны USB уже есть готовое https://my.st.com/public/STe2ecommun...%2B%20KeyBoard
И здесь есть ссылки на готовое хоть и сырое.
http://www.youtube.com/watch?v=2sR_Ko15N2s
И это только наспех найденное ...
Посылать постоянно не нужно, на стороне применика помнить должно состояние, можно изредка повторять, что бы с залипания исключать, нужно просто 2 кода, 0x01-кнопка нажата, 0x81 конопка отпущена
Я кстати, таки не нашел, ST-link то расковыряли? Я просто не особый любитель виндовсов (скорее, наоборот) и опенсурсные решени мне много более по душе.
P.S. Я вовсе не против STM как могло некоторым показаться :)
Я же уже давал ссылку :
http://zx.pk.ru/showpost.php?p=663111&postcount=72
Все реверсировали , причем v2 .
Кстати STLink не совсем подходит для проприетароненавистников , поддержка практически никакая .
Лучше JLink , клон с доставкой ~500р...
Текущая конструкция и блок-схема на современных микроконтроллерах:
http://s018.radikal.ru/i515/1401/1c/fcd5d22796bbt.jpg http://s57.radikal.ru/i157/1401/56/ec6059dae3c8t.jpg
1. Будет ли нормально работать связь через UART без кварцев ?
2. Какой разъем для прошивки у ST-LINK ?
Планируется такой порядок передачи данных:
Кемпстон - 1 байт (ст. 3 бита = 0)
Клавиатура - 8 байтов (ст. 3 бита = 1)
Управляющие сигналы - 1 байт (ст. 3 бита = 1)
Контрольная сумма - 1 байт
Итого: 11 байтов в пакете.
Длительность передачи: 11 * 10 / 19200 ~ 5.7 мс
zst, концепт интересный, но может быть прислушаться к большинству и сделать вариант в виде геймпада.
Да как я его сделаю ? У меня только механические кнопки и стандартные коробки. Это ведь не проект клавиатуры ELITE !
Я планирую делать не геймпад, а кейпад. Настольный вариант, без ручек.
Геймпады готовые есть в магазине. Можно купить по вкусу, разобрать, отрезать лишнее и подпаять проводками.
1) Работает , и нормально . Но вот на такой расстояние как у Вас не пробовал, ХЗ . И дело то не в стабильности частоты ...
А в чем проблема с кварцем? 8 МГц вполне доступны ...
2)
Чисто для прошивки и дебага 4 пина :
1) VCC
2) SWDIO
3) SWCLK
4) GND
Если пины SWD задействованы в схеме, то добавляем RESET
1) VCC
2) SWDIO
3) SWCLK
4) GND
5) RESET
Если нужен вывод отладочной информации через SWO(аналог printf),
добавляем SWO
1) VCC
2) SWDIO
3) SWCLK
4) GND
5) RESET
6) SWO
Только для заливки через бут 3 пина :
в большинстве своем через UART
1) RX
2)TX
3)GND
Да не надо ничего резать !!!!
Заложите в keypad 3 пина , или софтовый SPI или аппаратный .
Все эти gamepad'ы нормально работают от 3v ...
Двустрочник нормально переваривает уровни 3v , но питать его надо все таки от 5v .
И в таком варианте желательно посадить RW на GND .
Кстати - а зачем 2х строчник юзать 8ми битной шиной ? 6 пинов всего на 4х битной :
RS
E
D4
D5
D6
D7
Экономим АЖ 4 пина - как раз на джойстик NES, SNES и иже с ними...
Ну лишняя деталь ...
Там еще наверно нужна будет кнопочка, как в Speccy2010 ?Цитата:
2)
Чисто для прошивки и дебага 4 пина :
...
Только для заливки через бут 3 пина :
в большинстве своем через UART
1) RX
2)TX
3)GND
Это для Денди ? Для Сеги надо 5 (просто параллельно) или 7 (для использования всех кнопок). На как я понял, их не сравнить в удобстве с резиновыми корпусами геймпадов типа PSP3. А там придется резать, если там есть контакты.Цитата:
Да не надо ничего резать !!!!
Заложи в keypad 3 пина , или софтовый SPI или аппаратный .
Все эти gamepad'ы нормально работают от 3v ...
А как геймпад от Денди или Сеги будет работать - параллельно (не аппаратно, а по результату) кнопкам кейпада ?
Для Сега-джойстика можно вывести разъем на корпус кейпада с микроконтроллером.
В арме же 64 пина - зачем экономить ? Это можно было бы сделать, если 20 - ногий, но 20 не хватит. Хотя на 4 провода меньше паять.Цитата:
Двустрочник нормально переваривает уровни 3v , но питать его надо все таки от 5v .
И в таком варианте желательно посадить RW на GND .
Кстати - а зачем 2х строчник юзать 8ми битной шиной ? 6 пинов всего на 4х битной :
RS
E
D4
D5
D6
D7
Экономим АЖ 4 пина - как раз на джойстик NES, SNES и иже с ними...
Теоретически можно под несколько простых типов геймпада выделить свои ножки и обрабатывать все сразу, а подпаивать только тот геймпад, который нравится.
Не только кнопка и еще джампер , но эти пины только для этого и предназначены -
Boot0 и RESET
Boot0 выставляем в 1 - старт с бута .
Reset жамкаем на GND нанедолго
И NES и SNES и Сега , хотя о Сеги пока промолчу , внутри стоит сдвиговый регистр с параллельной загрузкой . У NES он 8 бит у SNES 16 .
Итого 3 пина
LATCH
CLK
DATout
ну и питание
У меня на джойстике от NES сейчас задействованы все 8 кнопок . 4 движение , 1 Fire , 2 комбо - влево+вверх и вправо+вверх .
Jump пока решаю куда
Остальные 6 это те же кнопки Fire и Jump но с автошутером, кстати весьма удобно
Вот, вот . Выгоды от 8ми бит на дисплей ни какой, а пинов то все равно жалко...
Вот так, по деньгам тоже выйдет, стоимость проводков примерно будет равна стоимости ИК применику и передатчику
В общем нифига не видно, хотя написано что 800х600 толжно принять,
описую словами
первая коробоча, с двумя DB9 разъемами для сега джойстиков и 2 штуки PS2 для клавомышей, экраном и одной или больше кнопками чери, раз их чешится куда то вставить, коробочка передает ИК сигналы другой коробочке, которая имеет всебе ИК приемник и подключается к спектруму
первая коробочка от батарейки питается, вторая от спектрума
ZEK, А что IrDA не хотишь ? Параметры лучше чем у просто IR - 115.2 кбит.
Опять же двунаправленный.
Правда дороже чем радиоканал . :)))))))
http://www.aliexpress.com/item/100-N...023228550.html
Мне видится джойстик , например от той же NES , с встроенным модулем трансивера и модулем на STM32F030F4 TSOP 20pin .
Питание от LiON типа нокиевского BL-5C . Усе должно влезть вместе с зарядкой/stepup типа такого
http://www.ebay.com/itm/PCB-Charger-...item3cba39cefa
в протокол еще 3 байта для мышки вкорячить... и ресет чтобы можно было...
Я смотрю мы скоро так всю периферию перенесем к дивану. А это все потребляет энергию. Может сделаем глобальную "сеть" ?
Вернее, если у нас компьютер, телевизор и диван стационарные - логично проложить между телевизором и диваном по плинтусу или стене кабель из 4х витых пар, который используются для интернета. Тогда по одной паре мы сможем подать питание +5В и GND, по второй витой паре - сигнал RX и GND, по третьей - TX и GND, по четвертой - цифровой сигнал TAPE IN и GND.
Ну проложили для своего удобства кабель. Трудно что ли? Вмонтировали возле дивана сетевую розетку для витых пар. И готов канал связи. И подключили всю периферию через коробочку REMOTE KEYPAD с армом. Есть питание, есть помехоустойчивая двухсторонняя передача на большой скорости. Есть запас для развития. Соглашайтесь !
zst, Дык чем больше, тем лучше. Ненужное само по дороге отсеется . :)))))
Почти все варианты идентичны окромя транспорта , заложи все .
Посмотрим на сколько каждый дороже, затратней в софтовой/железной реализации,
глючней ...
По пинам самый затратный мой :
2 пина CSN и CE +3 пина SPI + IRQ
итого 6 пин .
Причем, что хреново на тот же SPI не повесит джойстик .
Хотя есть мысль.... надо испытать - может и получится. :))))))))))))
а что, если сам спек запихать в этот remote gamepad и прицепить к нему маленький экранчик?
Ваша хотелка, уже медленно но реализуется . См . эмулятор на STM32F4
http://forum.easyelectronics.ru/view...p?f=35&t=16592
---------- Post added at 22:52 ---------- Previous post was at 22:51 ----------
Да ну на , да же если телик LCD ? :))))))))
можно вообще одной коробочкой обойтись
что бы у неё было 3 USB дырки, хостовых
покупаешь клавомышь комплект беспроводной и 1 или 2 джоя беспроводных, если микруха usb хаба дороже 150р то проще внешний хаб и 1 usb дырка
и еще, не факт что на прерываниях STM32F0 потянет клавиатуру безвейтово у уже темболее без строба чтения, нечем будет дергать контролер что нужно выставить данных клавы, а реагировать на изменение адресных разрядов, вообще алес получится
Все потянет . У STM32 не только прерывания есть,
есть еще event'ы ( события ) а сие работает железно без
вмешательства ядра ...
Да и почему без строба ? Всю работу, с тем что ты озвучил , будет осуществлять модуль что у спекки . А уж завести все туда проблем нет .
Модуль что в keypad лишь дешифрирует данные от клав/мышей/падов и отсылает через транспорт .
UART посадить на DMA будет само тупо заполнять массив аппаратно.
А из массива будем вытаскивать инфу - не отвлекаясь на прием ...
О, TUSB2046 22грн - 90р, 4 USB порта
Строб на схеме нужно добавить, подать на арм. Если есть сомнения в скорости, можно сделать схем на 8 регистрах сдвига и 40 диодах. Тогда строб чтения с клавиатуры не нужен будет.
---------- Post added at 00:04 ---------- Previous post was at 00:01 ----------
Ну раньше все мечтали подключить спек к VGA, так как на тех мониторах PC показывал лучшую картинку. чем на тех телевизорах, у которых не было SCART. Сейчас разницы между монитором и телевизором почти нет. У телевизоров есть разъем VGA 60 Гц и SCART 50 Гц. Так зачем лишние преобразование и сидение на стуле за столом с монитором. Лучше сидеть на диване и играть на телевизоре.
по прерываниям, я мож путаю, но STM32 в лучшем раскладе за 12 тактов в прерывание входит, плюс надо небольшие махинации провести и выйти из обработчика, но однозначно вместо 8 регистров и жмени диодов, лучше ставить какой нить epm3064 и места меньше и по деньгам уже наверное дешевле
шить epm можно контролером, гуглить на тему svf плеер, сырки на Си попадались