| Приставки > 6 поколение |
| И снова мучаем DREAMCAST (Maple MIE В одном чипе) |
| (1/1) |
| masyanya:
Задумался о том что давно ничего не выкладывал для народа, надо бы это дело исправить. Хочу представить XMaple, В одном кристалле вся неоходимая логика чтобы делать как MAPLE HOST (переходники для дримкастовских джойстиков, рулей, маракасов, мышей, фишинг контроллеров и прочее, с чтением катрочек) так и MAPLE DEVICE (Джойстики, карты памяти, рули, фишинг контроллеров, камеры, микрофоны и прочее и прочее) самое приятное в этой поделке, что береться дешевый кристалл от Альтера (EPM3032ATC44 - я брал за 64р ~2$), и к нему привешивается дешевый ширпотреп-микроконтроллер, я выпишу пример подключения к ATtiny (XMAPLE осуществляет тока прием данных, это самое так сказать малореализуемое в контроллере, отправлять же данные по MAPPLE BUS микроконтроллер обязан уметь). Ну да ладно, хватит прелюдий. 1. Распиновка: NAME D0 D1 D2 D3 D4 D5 D6 D7 DTFLIP SDCKA SDCKB CE OE PAT cPAT RST FRMERR VDS VCC(3.3v) GND PU PIN 12 2 6 5 44 8 13 43 21 14 42 15 10 18 19 20 22 23 9,17,29,41 4,11,16,24,30,36 1,7,26,32 Description Data Bit 0 Data Bit 1 Data Bit 2 Data Bit 3 Data Bit 4 Data Bit 5 Data Bit 6 Data Bit 7 Data BYTE Ready PIN MAPPLE BUS Serial Data/Clock 'A' PIN MAPPLE BUS Serial Data/Clock 'B' PIN Crystall enable pin Output enable pin NO CRC Pattern start signalling pin CRC Pattern start signalling pin RESET DEVICE signalling pin Frame Error Signalling pin Valid Data Signalling pin 3.3v power supply Ground Pull upped pins Напомню, что у EPM3032ATC44 стандартный TQFP44 корпус, вот такой: А вот теперь поехали: А как жа с этим чипом работать? 1. Сброс MIE. 1.1 Инициализация CE,OE->HI (VCC) 1.2 CE->LO (GND), OE->LO (GND) 1.3 Чип готов к работе. 2. Прием сигнала (я рекомендую подключение VDS к ноге регистрации прерываний в микроконтроллере, прерывание на передний фронт, смотрим эпюры сигналлов ниже). 2.1 Ждем прерывание LO->HI 2.2 Как только прерывание пришло, смотрим что за прерывание: RST = 1 - Пришла команда сброса (только если наше устройство DEVICE) PAT = 1 - Получили начало пакета без CRC подтверждения cPAT = 1 - Получили начало пакета с CRC подтверждением 2.3 Ждем DTFLIP = 0 2.3 Прошло 5us а DTFLIP не равно 1, переходим на пункт 1 (скорее всего произошло отключение). 2.4 Ждем DTFLIP = 1, читаем байт данных. 2.5 VDS=1? 2.5.а Не равно (возможно конец пакета переходим на пункт 2.6) 2.5.а Равно (сохраняем байт данных переходим на пункт 2.3) 2.6 FRMERR = 1 2.6.а Не равно (конец пакета переходим на пункт 2.7) 2.6.а Равно (ошибка в пакете переходим на пункт 2) 2.7 Конец приема, обрабатываем полученный пакет. 2.8 Переходим на пункт 2. Вот, теперь глянем на эпюру иллюстрирующую прем CRC пакета, собственно в красках: Таааак, а теперь я покажу типовое подключение к микроконтроллеру (DEVICE): Вот что интересно, чип XMAPLE регистрирует начало и конец пакета, а так же показывает состояние сигнала 'DTFLIP', однако если 'VDS' = 0, то мы можем однозначно понять что текущий пакет нам не нужен, такое возможно если мы активировали кристал в тот момент когда уже идет передача пакета, для лучшего понимания работы XMAPLE выложу ка я, эпюру сигнала побольше. P.S в приложенных, файлы прошивки... |
| HardWareMan:
Золотой фонд Масяни. Продолжайся. По теме: сэмплы использования есть? |
| masyanya:
--- Цитата: HardWareMan от 21 Август 2009, 08:22:57 ---Золотой фонд Масяни. Продолжайся. По теме: сэмплы использования есть? --- Конец цитаты --- Хочешь посмотреть HOST или DEVICE? Есть и то и то, например карта памяти для дрима. |
| HardWareMan:
Я к тому, что с сэмплами инфа была бы гораздо ценнее, хотя ее ценность и так уже достаточно высока. ;) |
| Rumata:
masyanya, в качестве воспомогательного материала не подскажешь, чем и как Альтера шьётся? |
| HardWareMan:
--- Цитата: Rumata от 21 Август 2009, 19:17:01 ---masyanya, в качестве воспомогательного материала не подскажешь, чем и как Альтера шьётся? --- Конец цитаты --- О, точно. Все, кто занимается, знают, что юзается JTAG, но нужно же для тех, кто в первый раз подходит к этому вопросу. ;) |
| masyanya:
--- Цитата: Rumata от 21 Август 2009, 19:17:01 ---masyanya, в качестве воспомогательного материала не подскажешь, чем и как Альтера шьётся? --- Конец цитаты --- Я пользую Usb Blaster, на борту самой простой платформы разработчика от Terasic (MAXII Micrо) В инете легко можно найти схему LPT Бластера, простейшая схема кстати... А софт, ну я пишу встроенным в QUARTUS II программатором.... (Всё что знал, сказал... (с)) :) P.S. И вот, кстати тож немаловажная штука. |
| Навигация |
| Главная страница сообщений |