Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
Контроллер CD привода в приставке 3DO построен на следующих интересных с точки зрения эмуляции микросхемах: 1. Микроконтроллер (МК), управляющий компонентами CD привода. В FZ10 применен МК производства Panasonic серии MN188. Информации по нему я не нашел. Поэтому как объект эмуляции пока не интересен. Возможна эмуляция опосредованно через алгоритм работы LC98000. 2. Микросхема интерфейса консоль/микроконтроллер привода CD, в которой реализованы алгоритмы работы DMA/IRQ и обработка RAW данных секторов CD. В Panasonic применена LC98000 от SANYO. Даташит на данную микросхему я не нашел, но нашел даташит от SEGA на его предка LC9851 ( http://yadi.sk/d/DXeUOPab7znAy) В даташите подробно описаны различные режимы работы микросхемы, а так же, приведены временные диаграммы обмена. Основные диаграммы были мной проверены при помощи логического анализатора. Данная микросхема наиболее интересна в качестве объекта повторения.
LC98000 имеет ряд интерфейсов сопряжения с различными компонентами CD привода: 1. Интерфейс сопряжения с шиной XBUS консоли. 2. Интерфейс сопряжения с микроконтроллером, управляющим компонентами CD привода. 3. Интерфейс сопряжения с микросхемой кэш памяти на 32кБ.
Интерфейс сопряжения с шиной XBUS используется для приема командных последовательностей от консоли и размещения их в стеке FIFO для хранения, передачи состояния операции от МК, передачи затребованных данных сектора. Длина командной последовательности составляет 7 байт. Глубина стека FIFO составляет 8 байт. Для получения последовательностей используются следующие линии данных/управления:
1. HD0 .. HD7 - двунаправленная шина данных (ШД) по которой передаются байты командной последовательности, статус операции, данные сектора. 2. HRDn - вход тактирования передачи данных по ШД от LC98000 в консоль. Активный уровень - низкий. Так же эта линия управляет буферной схемой ШД и переключает направление передачи (от LC98000 в консоль при низком уровне). 3. HWRn - вход тактирования записи командных последовательностей в стек FIFO для хранения в LC98000 и дальнейшего считывания МК. Активный уровень - низкий. 4. CMDn - вход указывающий на режим чтения/записи в стек FIFO команд и статуса. В комбинации с управляющими линиями HRD, HWR используются следующие режимы: запись командной последовательности в стек FIFO (HWR низкий), считывание статуса операции (HRD низкий). 5. STENn - выход сигнализирующий о наличии данных в стеке FIFO статуса операции. Активный уровень - низкий. 6. DTENn - выход сигнализирующий о наличии данных сектора в буфере для передачи в консоль. Активный уровень - низкий. 7. ENABLEn - вход по которому выходные цепи LC98000 переводятся в рабочий режим, либо в высокоомное состояние. Активный уровень - низкий. При высоком уровне, выходные цепи в высокоомном состоянии. 8. WAITn - выход по которому LC98000 сигнализирует, что длительность тактирующих сигналов HWR или HRD является недостаточной для гарантированного считывания и требуется введение дополнительных циклов ожидания. Активный уровень низкий. 9. MDACHG - выход сигнализирующий о... ХЗ что он сигнализирует, пока не разбирался. Возможно сигнализирует о смене носителя данных.
Режимы работы: 1. Запись командной последовательности. В данном режиме хост(консоль) переводит управляющие линии ENABLEn, CMDn в низкий уровень. Затем сопровождая серией низких уровней на HWRn передает данные по ШД. Всего передается 7 байт командной последовательности. Т.е. комбинация управляющих сигналов следующая: ENABLEn="0", CMDn="0", HRD="1", HWRn="0" (серия из 7 импульсов). LC98000 не обрабатывает поступающие данные, просто размещает в стеке FIFO для последующего считывания управляющим МК. По записи первого байта (наличии хотя бы одного байта в стеке FIFO) LC98000 переводит линию INT(прерывание) в низкое состояние, сигнализируя МК что в стеке находятся данные для считывания. LC98000 имеет в своем составе регистр внутреннего состояния в котором отображены флаги наличия данных, переполнения, опустошения FIFO. Данный регистр доступен для считывания МК.
---------------------------------------------------------------------------------------------------- Интерфейс сопряжения с микроконтроллером пока не интересен, т.к. не будет реализован без применения внешнего МК в проектируемом контроллере XBUS-SD.
Интерфейс сопряжения с микросхемой памяти кэша 32кБ так же будет исключен из проекта.
У меня пока есть следующий рабочий вариант контроллера: Реализация на FPGA без применения внешнего МК. Управление алгоритмом возлагается на софт процессор NIOS II. На борту FPGA будет размещен контроллер DMA+SPI для работы с SD картой, контроллер PIO для управляющих линий (светодиоды, сброс консоли, кнопка сброса контроллера), контроллер памяти ROM для хранения загрузчика основной программы с SD карты, контроллер внешней SDRAM на 256К Х 16 разрядов под нужды основной программы софт процессора и кэша секторов, контроллер обновлений прошивки конфигурации FPGA, контроллер стеков FIFO команд и статуса текущей операции, контроллер генератора тактовой частоты CLK. Поддерживаемая файловая система: FAT16/FAT32. Вариант реализации на FPGA интересен своей гибкостью. Конфигурацию компонентов можно менять в широких пределах. Варианты компонентов так же меняются на лету. Возможность применения как платных IP core так и бесплатных.
Железо
При разработке контроллера использую готовые модули FPGA, MCU, производимые китайцами (см. прилагаемые фото). В качестве отладочных инструментов использую осциллограф RIGOL DS1102E и логический анализатор HANTEK 4032L. На первом этапе буду использовать следующие компоненты: 1. Модуль с FPGA Altera Cyclone IV как аналог LC98000. Алгоритм работы будет смоделирован в FPGA. 2. Модуль ARM7TDMI как уже готовый к использованию и имеющий на борту SD сокет. В дальнейшем после успешной реализации конечного устройства, буду реализовывать полностью на FPGA EP3C5E. 3. Плату преобразователя уровней 5 <=> 3.3 для сопряжения FPGA с шиной консоли. В качестве преобразователей использую 74LVC4245A. Данные микрухи приобрел по случаю, на распродаже. Далее можно применить и 74LVC245A (двунаправленный буфер на ШД), 74LVC244A (однонаправленный буфер на шину управления). ==================== Принял решение сделать универсальную плату: EP3C5E144 - IRQ/DMA, STM32F405RG - управляющий контроллер с поддержкой SDIO/USB_OTG_FS, SRAM 512K, JTAG - FPGA/STM32. Начал разводить плату.
Инструменты
Вложение
LA2.JPG (45.74 КиБ) Просмотров: 1156
Вложение
LA.jpg (80.73 КиБ) Просмотров: 1156
Вложение
Комментарий к файлу: Внешний микроконтроллер №2
MCU.jpg (119.08 КиБ) Просмотров: 1156
Вложение
FPGA.jpg (135.24 КиБ) Просмотров: 1156
Вложение
Комментарий к файлу: Внешний микроконтроллер №1
TDMI.jpg (117.98 КиБ) Просмотров: 1156
Вложение
Комментарий к файлу: Диаграмма №1
LC98000-diagram.png (31.73 КиБ) Просмотров: 1158
Последний раз редактировалось nikk 15 сен 2013, 10:37, всего редактировалось 9 раз(а).
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
По поводу microSD чисто конструктивно проще слот с защелкой. Т.к. полноформатный слот надо будет размещать перпендикулярно панели контроллера на отдельной плате с применением механических усилителей поперечных изгибов. Пока самый простой вариант это сокет с защелками под microSD он монтируется сверху панели и загрузка карты так же сверху. Хотя посмотрим. ) Вариант SD интерфейса пока самый простой, что бы пыхтело. ) По ходу дела можно любые варианты предусмотреть. На CPLD самом дешевом FIFO организовать в связке с микроконтроллером STM32. Но это уже полировка мастерства. Сейчас разработать базовый конструктив, а потом можно и полировать. Кстати MNEMO в последних контроллерах применил замену микроконтроллера штатной приставки, т.е. LC98000 оставил без изменений в системе, а МК обслуживающий заменил на свой. Я не видел вживую контроллер, но по фотам от людей которые приобрели IDE контроллер и точкам подключения предположил. Можно и такой вариант сделать. Я скачал даташит на аналогичный IRQ/DMA интерфейс LC98000 от SEGA там подробно алгоритм работы расписан. И лог. анализатор диаграммы из даташита подтверждает (позже выложу datasheet на форум).
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Спасибо за обновление 1-го поста. "Игнор" LC98000K - действительно, желателен, т.к. я, например, сталкивался с тем, что её разносило, когда юзер включал приставку напрямую в 220В. Вот, передо мной одна лежит с трещиной (под маркировкой):
_______________________________________ Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
О, а я ломал голову, как вложения под спойлер разместить. Круто. Было бы еще неплохо что то придумать для отображения обновлений постов, или научите что делать.
LC98000 мне проще вынести за скобки, т.к. по ней есть инфа. Сейчас дождусь дебаггер U-LINK для ARM7TDMI и буду подключаться. Я как раз в отпуск собрался, вернусь и дебаггер приедет.
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
drugold писал(а):
Здоровая конкуренция - это же хорошо.
Хмм, 2 подобных девайса это хорошо, а 2 аддона различных по назначению наверное лучше. ) Да и разработку я не забросил, притормозил. Плату почти развел, компоненты закупил. До прототипа немного осталось. Вообще MNEMO назвал проект "ренновация". Обновлять консоль можно по разному. Вариантов то много. Порты расширений не освоены никак, RGB/VGA/HDMI, и т.д. Работы то много. Или 2 аналогичных продукта лучше?? Это типа опрос. )
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 2057 Регистрация: 04 янв 2011, 19:53 Откуда: Украина
Модель 3DO:GoldStar GDO-203P Alive II
nikk писал(а):
Или 2 аналогичных продукта лучше?? Это типа опрос. )
Лучше другое устройство. Мое личное мнение.
nikk писал(а):
Порты расширений не освоены никак, RGB/VGA/HDMI, и т.д. Работы то много.
RGB сделать совсем не сложно, только проводов паять дофига. VGA из RGB сделать тоже не проблема, всего то разделить синхро на вертикальную с горизонтальной. HDMI уже интересней, но ИМХО не очень нужно, как и SPDIF.
А вот тема про внешний "акселератор" в помощь штатному CPU это совсем шикарно. Такое устройство я бы запилил с удовольствием.
_______________________________________ иЗвиНиТЕ зА НеРоВНый ПочЕРк!
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
13chuck13 писал(а):
RGB сделать совсем не сложно
Не сложно, один вечер. Кстати изображение лучше чем по С-видео. Цвета сочные, яркие, замыленности нет. В общем изменил свое мнение по РГБ. Стоящая вещь. Не удачно развел плату, есть наводки на аналоговую часть, поправлю - выложу на форум.
Вложение
RGB MOD.jpg (73.33 КиБ) Просмотров: 1048
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
13chuck13 писал(а):
А вот тема про внешний "акселератор" в помощь штатному CPU это совсем шикарно.
Да. Это моя цель, если можно так сказать. В разъем расширения прицепить FPGA с микроконтроллером в паре. На FPGA реализовать ускоренные алгоритмы 3D математики, растеризации, дизеринга, нарастить памяти до 128М. Подправить DOOM иии... ) Это интересно.
drugold писал(а):
Речь о RGB-Scart или VGA?
РГБ через СКАРТ. VGA в перспективе.
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Администраторы Сообщения: 9512 Регистрация: 03 дек 2009, 21:07 Откуда: СССР
Модель 3DO:Panasonic FZ-10 NTSC-U
nikk писал(а):
В разъем расширения прицепить FPGA с микроконтроллером в паре. На FPGA реализовать ускоренные алгоритмы 3D математики, растеризации, дизеринга, нарастить памяти до 128М. Подправить DOOM иии... )
А современное аудио/видео потянет в купе с VGA/HDMI?
_______________________________________ Проблемы с регистрацией и/или активацией на форуме|BBCode форума Wii-3.2E: Wiikey-1.9g/SDHC-32GB/HDD-500GB/BootMii_boot2/HBB/HBC/FCEU-GX/Snes9x-GX/VBA-GX/WiiSX/Wii64/MPlayerCE/WiiMC/WiiXplorer Panasonic SL-GC10 (Panasonic Q) NTSC-J Panasonic 3DO FZ-10 NTSC-U SNES PAL Samsung SM-N975FDS Galaxy Note 10+ Gigabyte GA-P55A-UD4/4x 2,8 GHz Intel Core i5-760/4x 4 GB DDR3/1 GB GDDR5 ATi Radeon HD 5850/128 GB SSD; 1+2 TB HDD/BD-RW + DVD±RW; CD-RW/ESI Juli@
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Компания 3DO оставила для разработчиков помощь - в драйвере FMV модуля не удалили отладочную информацию: все метки, разделы файла драйвера, даже метка RSA есть, названия функций/процедур, имена переменных и прочее. В общем все то же самое что в DOOM. Удивительно просто. ))
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Супермодераторы Сообщения: 7991 Регистрация: 04 дек 2009, 12:31 Откуда: Германия, г.Кобленц
Модель 3DO:Panasonic FZ-10 NTSC-J
nikk писал(а):
Кстати изображение лучше чем по С-видео. Цвета сочные, яркие, замыленности нет. В общем изменил свое мнение по РГБ. Стоящая вещь. Не удачно развел плату, есть наводки на аналоговую часть, поправлю - выложу на форум.
А это радует, значит улучшение более значимые есть чем все думали, не зря значит раньше переделывали приставку на ргб.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения