[ Сообщений: 56 ]  На страницу 1, 2  След.
Разработка контроллера XBUS-SD 
Автор Сообщение
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J

Теория XBUS-SD
Контроллер 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
Вложение
LA.jpg
Вложение
MCU.jpg
Вложение
FPGA.jpg
Вложение
TDMI.jpg
Вложение
LC98000-diagram.png


У вас нет необходимых прав для просмотра вложений в этом сообщении.

Последний раз редактировалось nikk 15 сен 2013, 10:37, всего редактировалось 9 раз(а).



12 авг 2013, 07:05
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Сокет под microSD с защелкой на панели контроллера.

-Может лучше использовать стандартные SD карты?
-Поддержка SDXC планируется?


12 авг 2013, 09:29
Аватара пользователя
Лучший техник
Лучший техник

Группа: Разработчики
Сообщения: 2057
Регистрация: 04 янв 2011, 19:53
Откуда: Украина
Модель 3DO: GoldStar GDO-203P Alive II
Сообщение 

drugold писал(а):
Может лучше использовать стандартные SD карты?

Не принципиально, но полноразмерный слот как-то получше будет. Как минимум в него можно запихнуть microSD с переходником, а наоборот уже не получится.


12 авг 2013, 17:16
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 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 на форум).


13 авг 2013, 05:06
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11140
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U
Сообщение 

Спасибо за обновление 1-го поста.
"Игнор" LC98000K - действительно, желателен, т.к. я, например, сталкивался с тем, что её разносило, когда юзер включал приставку напрямую в 220В.
Вот, передо мной одна лежит с трещиной (под маркировкой):
Изображение


19 авг 2013, 14:31
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

О, а я ломал голову, как вложения под спойлер разместить. Круто. Было бы еще неплохо что то придумать для отображения обновлений постов, или научите что делать.

LC98000 мне проще вынести за скобки, т.к. по ней есть инфа. Сейчас дождусь дебаггер U-LINK для ARM7TDMI и буду подключаться. Я как раз в отпуск собрался, вернусь и дебаггер приедет.


20 авг 2013, 11:52
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Было бы еще неплохо что то придумать для отображения обновлений постов, или научите что делать.

То есть? :du_ma_et:


20 авг 2013, 12:06
Аватара пользователя
Супермодератор
Супермодератор

Группа: Супермодераторы
Сообщения: 7981
Регистрация: 04 дек 2009, 12:31
Откуда: Германия, г.Кобленц
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

nikk писал(а):
Было бы еще неплохо что то придумать для отображения обновлений постов, или научите что делать.

Ты имеешь в виду когда в старый пост что-то добовляешь и он показывается как непрочитанный/новый? Нет у нас такого.


20 авг 2013, 14:29
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Жаль, полезно было бы.


20 авг 2013, 20:36
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

MNEMO стартанул хороший проект. Пока приторможу. Тратить время на параллельный проект не вижу смысла. Двигаю другие темы. Подробности позже.


27 сен 2013, 19:12
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9069
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Двигаю другие темы. Подробности позже.

Уже не терпится узнать, что там.


27 сен 2013, 19:27
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Пока приторможу. Тратить время на параллельный проект не вижу смысла.

Здоровая конкуренция - это же хорошо. :du_ma_et:


27 сен 2013, 19:45
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

drugold писал(а):
Здоровая конкуренция - это же хорошо.

Хмм, 2 подобных девайса это хорошо, а 2 аддона различных по назначению наверное лучше. )
Да и разработку я не забросил, притормозил. Плату почти развел, компоненты закупил. До прототипа немного осталось. Вообще MNEMO назвал проект "ренновация". Обновлять консоль можно по разному. Вариантов то много. Порты расширений не освоены никак, RGB/VGA/HDMI, и т.д. Работы то много.
Или 2 аналогичных продукта лучше?? Это типа опрос. )


28 сен 2013, 07:14
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Лучше, конечно, разные. Это типа проголосовал. :-):


28 сен 2013, 11:01
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9069
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk
А у тебя как планировалось USB подключение, со съёмом привода или без? Этотипа не голосовал)))


28 сен 2013, 11:48
Аватара пользователя
Лучший техник
Лучший техник

Группа: Разработчики
Сообщения: 2057
Регистрация: 04 янв 2011, 19:53
Откуда: Украина
Модель 3DO: GoldStar GDO-203P Alive II
Сообщение 

nikk писал(а):
Или 2 аналогичных продукта лучше?? Это типа опрос. )

Лучше другое устройство.
Мое личное мнение.

nikk писал(а):
Порты расширений не освоены никак, RGB/VGA/HDMI, и т.д. Работы то много.

RGB сделать совсем не сложно, только проводов паять дофига. VGA из RGB сделать тоже не проблема, всего то разделить синхро на вертикальную с горизонтальной.
HDMI уже интересней, но ИМХО не очень нужно, как и SPDIF.

А вот тема про внешний "акселератор" в помощь штатному CPU это совсем шикарно. Такое устройство я бы запилил с удовольствием.


28 сен 2013, 19:12
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

ПАУК писал(а):
А у тебя как планировалось USB подключение, со съёмом привода или без

Простой вариант и рабочий - замена привода на SD-эмулятор. В перспективе - через порт расширения без пайки/разборки консоли.


29 сен 2013, 13:24
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
В перспективе - через порт расширения без пайки/разборки консоли.

А вот и альтернативный вариант. А говоритите одно и то же. У Мнемо наверняка с пайкой и/или нужно лезть внутрь.


29 сен 2013, 13:25
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

13chuck13 писал(а):
RGB сделать совсем не сложно

Не сложно, один вечер. Кстати изображение лучше чем по С-видео. Цвета сочные, яркие, замыленности нет. В общем изменил свое мнение по РГБ. Стоящая вещь. Не удачно развел плату, есть наводки на аналоговую часть, поправлю - выложу на форум.
Вложение
РГБ аддон


У вас нет необходимых прав для просмотра вложений в этом сообщении.


29 сен 2013, 13:31
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Кстати изображение лучше чем по С-видео. Цвета сочные, яркие, замыленности нет. В общем изменил свое мнение по РГБ. Стоящая вещь.

Речь о RGB-Scart или VGA(RGBHV)?


29 сен 2013, 13:39
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

13chuck13 писал(а):
А вот тема про внешний "акселератор" в помощь штатному CPU это совсем шикарно.

Да. Это моя цель, если можно так сказать. В разъем расширения прицепить FPGA с микроконтроллером в паре. На FPGA реализовать ускоренные алгоритмы 3D математики, растеризации, дизеринга, нарастить памяти до 128М. Подправить DOOM иии... )
Это интересно.

drugold писал(а):
Речь о RGB-Scart или VGA?

РГБ через СКАРТ.
VGA в перспективе.


29 сен 2013, 13:41
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
В разъем расширения прицепить FPGA с микроконтроллером в паре. На FPGA реализовать ускоренные алгоритмы 3D математики, растеризации, дизеринга, нарастить памяти до 128М. Подправить DOOM иии... )

А современное аудио/видео потянет в купе с VGA/HDMI?


29 сен 2013, 13:46
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

drugold писал(а):
А современное аудио/видео потянет?

Смотря какой камень поставить. Если ставить хороший камень, цена поднимется сразу.


29 сен 2013, 13:51
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Если Doom быстрее заработает, я ваще щасливый стану! А тогда можно и Quake на разогнанной 3DO поднять. :du_ma_et:


29 сен 2013, 17:47
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Тема еще сырая. До акселератора далеко. Я только начал с портом расширения работать. Разломал видеомодуль. Как получится что то реальное тогда уж.


30 сен 2013, 19:47
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Компания 3DO оставила для разработчиков помощь - в драйвере FMV модуля не удалили отладочную информацию: все метки, разделы файла драйвера, даже метка RSA есть, названия функций/процедур, имена переменных и прочее. В общем все то же самое что в DOOM. Удивительно просто. ))


01 окт 2013, 08:40
Аватара пользователя
Супермодератор
Супермодератор

Группа: Супермодераторы
Сообщения: 7981
Регистрация: 04 дек 2009, 12:31
Откуда: Германия, г.Кобленц
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

nikk писал(а):
Кстати изображение лучше чем по С-видео. Цвета сочные, яркие, замыленности нет. В общем изменил свое мнение по РГБ. Стоящая вещь. Не удачно развел плату, есть наводки на аналоговую часть, поправлю - выложу на форум.

А это радует, значит улучшение более значимые есть чем все думали, не зря значит раньше переделывали приставку на ргб.


01 окт 2013, 14:26
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

nikk писал(а):
Удивительно просто. ))

Эти слова воодушевляют! А остальное я не понял. :nez-nayu:


01 окт 2013, 15:08
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

ross_nikitin писал(а):
не зря значит раньше переделывали приставку на ргб

Ага, так и есть. По крайней мере картинка на ЖК панели мне очень понравилась.


01 окт 2013, 16:49
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9499
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Флешка для 3DO: http://www.ixbt.com/news/hard/index.shtml?17/23/94 :mi_ga_et:


05 окт 2013, 12:05
На страницу 1, 2  След.
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.061s | 23 Queries | GZIP : On