Бытовой ретро-компьютер своими руками http://forum.pk-fpga.ru/ |
|
[-deprecated-] Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5510 |
Страница 1 из 1 |
Автор: | Voland [ 31 дек 2013, 15:03 ] |
Заголовок сообщения: | [-deprecated-] Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
ТЕМА НЕАКТУАЛЬНА, ДАННЫЙ ПРОТОТИП УСТРОЙСТВА СНЯТ С РАЗРАБОТКИ С 2021 ГОДА Интегральный периферийно-мультимедийный модуль Booster-11. Проект в формате Altium. Включает всё - схему обоих плат, библиотеки компонентов, трассировку с возможностью просмотра 3D-preview предполагаемого вида после монтажа электронных компонентов.
Спецификация Booster-11
Модуль Booster-11. Руководство разработчика от 08.08.2015 Завершается разработка нового комплексного устройства для БК0010 / БК0011М, ориентировочные сроки выпуска в продажу - декабрь 2015. Функциональные узлы модуля ● SMK-512 без разъема IDE (останется только слот CF) по причине дефицита места; габаритная ПЗУ 27C210 (dip-40) заменена на компактную флеш-микросхему ● GPU (от БК12) с поддержкой расширенных графических режимов 640*480 и 800*600 при 65k цветов ● Интерфейс DVI (включая аналоговый VGA) для отображения как стандартных БКшных разрешений, так и новых видеорежимов ● 32Mb DRAM, включая стандартные 512кб памяти SMK и экранные буферы GPU ● PS/2-контроллеры для мыши и клавиатуры, без совместимости со старыми стандартами БК ● FPGA-реализация AY-3-8910 ● DAC и усилитель, общий с FPGA-AY ● Шина специализированного коммерческого стандарта UEXT (разъем idc-10) ● Картоприемник SD-card (драйверная поддержка не предусмотрена) ● (опционально) ядро процессора NIOS, в основном для отладочных целей ● (опционально) Быстродействующий fpga- ВМ1/ВМ3 из БК12 Основные используемые компоненты ● EP3C10E144C8N - FPGA Cyclone III на 10000 ячеек ● EPM3128ATC100-10, CPLD MAX 3000A Family 2.5K Gates 128 Macro Cells 98MHz 3.3V ● MT48LC16M16A2P-75 - sdr sdram, общий объем 32 mb, 16-разрядная (под видеобуферы и стандартное ДОЗУ 512кб для SMK) ● Chrontel CH7301C - одноканальный DVI-передатчик, поддерживающий вывод аналогового видеосигнала RGB через три 10-битных цифро-аналоговых конвертера ● FT2232h - двухканальный аппаратный USB-мост, UART, асинхронное FIFO, MPSSE и синхронное FIFO (программирование FPGA и флеш через USB-B) ● TS922 - двухканальный Rail-to-Rail операционный усилитель ● CS4344 - аудио ЦАП Глазами пользователя и программиста Подключаемый к МПИ модуль, содержащий в "одном флаконе" практически всё необходимое для БКшника, включая стандартный SMK-512 для работы с дисководом/винчестером. Прошивать FPGA, на которой построен модуль, возможно по USB-кабелю за счет входящей в состав модуля микросхемы FT2232h. За счет этого же чипа (теоретически!) возможен вывод изображения стандартных БКшных видеорежимов через USB-кабель в окно Windows-приложения на PC. Предполагается, что само приложение будет написано силами энтузиастов. Стандартные БКшные видеорежимы, как и расширенные видеорежимы, будут также выводиться через DVI-выход на современный монитор. Из новых видеорежимов будет два - 640*480 и 800*600 при 16-битной цветности. DVI-I интерфейс по умолчанию выдает цветное изображение, имея на одной из ног разъема монохромный композитный сигнал. Как и на БК12, будет возможным переключение видеорежимов нажатием кнопки F10 клавиатуры PS/2 (поочередная смена видеорежимов ЦВ / МОНОХРОМ). Без клавиатуры PS/2 такое переключение возможно только тактовой кнопкой на верхней плате блока. Форм-фактор Блок реализован в формате двухэтажной платы под стандартный заводской корпус увеличенной высоты (такой используется для модуля АЦП/ЦАП). На нижней плате в торце блока расположены DVI-I-разъем, два USB-разъема (под PS/2- мышь и клавиатуру) и mini-USB разъем для прошивки FPGA. Разъем CF-50 расположен с правой стороны нижней платы, как и в SMK-512. Нижняя и верхняя платы соединяются двумя межплатным соединителями (каждый по 2row*10pin соединений), расположенным ближе к торцу платы. Дополнительно для скрепления двух плат используются 2 стягивающие стойки с диаметром резьбовой части М2. На верхней плате в торце блока располагаются разъемы UEXT (idc-10), Audio (розетка jack 3.5), FDD-разъем (idc-34). С нижней стороны нижней платы расположен картоприемник под SD-флэш (прямо под разъемом CF-50), программная реализация обмена с которым отдана на откуп энтузиастам (пример - использование SD в качестве эмулятора дисковода, замены IDE-накопителя или носителя информации в формате FAT). На верхней плате блока располагаются две тактовые кнопки, одна - RESET (как сейчас в SMK512), вторая - поочередная смена видеорежимов ЦВ / МОНОХРОМ на DVI-I-интерфейсе. Ориентировочная стоимость ● 6000 руб в виде конструктора для самостоятельной сборки ● 9000 руб в виде собранного и протестированного изделия |
Автор: | Маньяк ИС [ 04 янв 2014, 03:49 ] |
Заголовок сообщения: | Re: Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
1.Снежок-с... 2.Неплохо бы взглянуть на Э3 прототипа - для косметического ознакомления. 3.Нет ли возможности встроить в систему пультовый терминал на адресах 177560... - по типу КЦГД ? Можно только символьный - по образцу КСМ ДВК ( верх крутизны - с ПС/2 клавой ... ). Вот если бы сигнал от него накладывался на получаемое изображение с др. источников - это очень помогает при разработке софта. 4.Интересен процесс разработки файла плюшки - он идет целиком на прогах моделирования, или все-таки немного на бумаге и карандаше ? 5.Интересно, как покупатели наборов будут паять плюшку ? |
Автор: | Voland [ 05 янв 2014, 15:41 ] |
Заголовок сообщения: | Re: Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
>> 2.Неплохо бы взглянуть на Э3 прототипа - для косметического ознакомления. Только начата работа, пока ничего толком нет, даже концепт плат с точным расположением разъемов и межплатных соединений еще не устоялся. Кроме того, значительная часть логики будет скрыта внутри ПЛИС, потому отчасти Э3 теряет информационный смысл. >> 3.Нет ли возможности встроить в систему пультовый терминал на адресах 177560... - по типу КЦГД ? Для меня это темный лес, для разработчика тем более. Нужно четкое описание с конкретными битами и байтами, что и куда размещать и как это будет уживаться с обратной совместимостью с БК11М и его ИРПС на ВП1-065. >> 4.Интересен процесс разработки файла плюшки - он идет целиком на прогах моделирования, или все-таки немного на бумаге и карандаше ? Исключительно в средах на компьютере. Только я иногда разработчику от руки черчу предварительное расположение разъемов и отверстий на плате. >> 5.Интересно, как покупатели наборов будут паять плюшку ? Не совсем понятен вопрос. Примерно так же, как сейчас паяют SMK-512... |
Автор: | Маньяк ИС [ 06 янв 2014, 09:13 ] |
Заголовок сообщения: | Re: Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
О пультовом терминале. Фиксированные адреса : 177560-177562-177564-177566 ( в общем, ВП1-065 ). Канал обмена пользователя можно вынести на адреса 176560 или на 176570. Как крайний вариант - поставить селектор проволок от 177560 - либо на терминал, либо на внешний разъем. ( Фактически на терминал следует подавать данные со скоростью, минимум на порядок большую, чем может обеспечить ВП1-065 при 6 мгц тактирования - 75 Кбод ). Что должен уметь терминал : 1.Эмулировать дисплей 15-ИЭ-0013 ( крайний минимум ) - т.е. только символы русские и латинские, с переключением кодами 016 и 017 ( 8 ) - т.е. только 7 бит. В эмуле 15-ИЭ-0013 можно делать только 1 экран - для простоты, но тогда не все игрушки от ДВК-2 пойдут. Как клаву - использовать поток данных от ПС/2 клавы - очень хорошо бы, что бы из нее сделали подобие клавы МС7004, но в крайнем случае сойдет и такая раскладка, какая есть ( среди ДВКашников - мат-перемат на qwerty ). 2.Вывод данных терминал должен обеспечивать поверх всех графических режимов - как в ДВК с КСМ - т.е. текст поверх графики, вне зависимости от реальных параметров графического кадра - что весьма непросто ( нужны кадровый буфер большой емкости и др. хитрые механизмы ). 3.Разрешение видео от терминала - всегда строго 80 кодов в строке и 25 строк, 25-я - служебная. Цвет вывода с терминала - желательно, конечно, выбирать, но если для простоты - можно только зеленый. 4.Формат символьного знакоместа на терминале - строго 5х7 точек, видеострок между строками символов - не менее 3. 5.Если подойти с фантазией и перреспективой под заграничные ОС - желательно предусмотреть меню из эмуляции терминалов - на самый скромный вариант - выбор между 15-ИЭ-0013 и ИБМ-кодировкой - т.е. с символами псевдографики и аномальными русскими буквами - как в MS-DOS - но это только опция, можно и не делать. 6.Зачем нужен терминал - что бы взять и запустить софт от родных заграничных ЭВМ или от СМ3 - СМ4 - т.е. без патча ОС - только загрузчик на дискете/винте переписать - и в работу. ( Загрузчик переписывается командами ОС ). 7.Можно, конечно, пойти по сложному пути - обычно терминал - это отдельная графическая станция , например КЦГД - но, конечно, ее эмулировать - весьма спорная задача, если только не иметь цель - воспроизведение технологических пакетов САПР на ДВК-4 ( а они там не такие и плохие для начала 1990-х были...). 8.Совместимость БК и терминала - это проблема разработки совмещения видеоданных на одном экране, т.е. если , например, БК11 не нуждается в этом самом терминале - на вход терминала просто ничего не поступает и, соответственно, ничего не выводится на экран. А данные с клавы - можно предусмотреть выключатель этих данных или программное меню - разрешать поступление сигналов с ПС/2 клавы в терминал или не разрешать. * Если совсем кратко - DEC - ЭВМ с терминалом - это профессионально, а без него - убогая поделка по типу промышленного контроллера. |
Автор: | TheGWBV [ 01 окт 2015, 18:55 ] |
Заголовок сообщения: | Re: Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
Собрала воедино мысли по требованию к архитектуре видео-контроллера (ретро-часть)... ? TheGWBV @ - 16 сентября 23:32 Бустер должен следить за тремя вещами при выводе изображения на видео-ЦАП: 1. Бит выбора активного экрана 2. В какое окно подключена активная видео-страница -- к 40000+40000 или 100000+40000, или совсем отключена от обоих окон! Т.о. у Бустера должен быть некий указатель на сканируемый участок ОЗУ Бустера, реально соответствующий сканируемой ВП1-037 видео-страницы. 3. Следить за режимом РП и регистром сдвига видео-строк. Т.о. в Бустере должен быть указатель на стартовый адрес или смещение внутри сканируемого участка ОЗУ, с которого будет начинаться отображение первой тв-строки, а также две константы с количеством строк в "рулоне" для обычного режима и режима РП. Тогда останется не решённой только задача _своевременного_ переключения палитр внутри одного тв-кадра, которая завязана на частоту 48,8 Гц, таймер ЦПУ и/или время выполнения машинных команд ЦПУ. ? TheGWBV @ - 17 сентября 00:20 Хотя, наверное, если возможно Бустеру уследить факт прерывания по 100 вектору или факт смены PC на адрес, xранящийся в 100-й ячейке, или появления на шине МПИ адреса равного значению ячейки 100 -- можно будет и синхронизировать переключение палитр, если налету пересчитывать интервал между КСИ в БК11М и записью в регистр палитр... ? TheGWBV @ - 29 сентября 10:00 >> ? Voland @ - сегодня 09:05 >>TheGWBV, а к Вам такой вопрос: если Ваш тест палитр заставить в Бустере работать правильно, то приведет ли это автоматом к тому, что 90% видеоэффектов Инсульта начнут работать корректно? ¤ 1.1. Я не исследовала код Инсульта, идея теста палитр пришла после прочтения ТО в части ВП1-037 https://forum.pk-fpga.ru/viewtopic.php?f=52&t=5420 Не могу сказать на сколько %% Инсульт будет корректен, но... 1.2. если там не используется закачка данных в участок сканируемой страницы ВОЗУ пока "луч" подбирается к такому участку, или 1.3. закачка данных в участок сканируемой страницы ВОЗУ после прохода "луча" и до момента конца кадра (КСИ, с частотой 48.8 Гц), когда происходит прерывание по вектору 100 (если разрешено), а используется закачка во вторую страницу ВОЗУ и их переключение, то совместимость может быть и 100%. ¤ В общем, нужна отложенная запись в участок видео-ОЗУ Бустера, если "луч" сканирования ВОЗУ БК0011М уже прошел этот участок ВОЗУ БК0011М, как минимум, для поддержки приема программирования видео-эффектов, описанного выше в п.1.3. Нужна ли двойная буферизация видеоОЗУ в Бустере, и будет ли неизбежно задержка на один ТВ-кадр Бустера, и тогда будет возможно синхронизировать изображение на Мониторе, подключенном к Бустеру, с приемом программирования видео-эффектов, описанного выше в п.1.2.?! ¤ За время "хода луча" можно заполнить до 1/6 части видео-страницы БК0011М. Если бустер пройдет оба теста палитр -- и PALTST13, и PALTST15 уже будет хорошо т.к. там разные периоды времени между переключением палитр... У меня давно в планах реализовать видео-декодер для БК0011М, изучаю С++, чтобы написать кодер под РС )) По хорошему, чтобы декодер работал и на голой БК0011М и на Бустере, нужна поддержка приемов по пп.1.2-1.3... ? TheGWBV @ - 29 сентября 10:07 Для частоты кадров видео-декодера порядка 12Гц -- поддержка приемов программирования по пп.1.2-1.3. не потребуется ? TheGWBV @ - 29 сентября 12:16 >> ? maxstudios @ - сегодня 11:26 Я уже днями раньше писала, что нет привязки видео-страниц к областям 40000+40000 или 100000+40000 Так делается только для удобства программирования в некоторых случаях. Работать с каждой из страниц можно по очереди в любом окне! Например, ОС типа Уникс может один экран подключаемый к окну 100000+40000 использовать под одну консоль, а второй экран подключаемый в этоже окно в другое время как консоль номер 2 (или графический стол). При этом область памяти 1000-77777 может полностью быть занята ядром и буферами ОС... ? TheGWBV @ - 30 сентября 12:15 Наверное, с видео в Бустере нужно сделать как в СОЮЗ-НЕОНе Нужны две индексные таблицы строк -- одна хранит индексы строк для вывода на экран монитора, а вторая хранит индексы на строки, куда производилась теневая запись данных через видео-страницы БК0011М. 64,5КБ (а то и меньше) в ОЗУ Бустера должно для этого хватить? Допустим, если данные закачиваются в область ВОЗУ где "луч" уже пробежал, то индексы заполняются в таблице №2, а если туда, до куда "луч" ещё не дошел -- в таблицу №1. Как-то так Тогда, манипулируя на лету индексами, можно добиться того, чтобы на мониторе с частотой 60Гц выводилось изображение похожее на то, что формирует выход ЦТВ самой БК0011М с частотой 48.8Гц... Что скажут гуру? |
Автор: | TheGWBV [ 17 апр 2016, 21:46 ] |
Заголовок сообщения: | Re: Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x |
Тест записи блока данных на SD-карту и последующего его чтения |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |