Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/100: Рейтинг темы: голосов - 100, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27

Простой VGA адаптер из ПЛИС + DDR2 128МБ. Возможно?

08.06.2013, 23:42. Показов 19745. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем так.
Захотелось мне для своих плат приделать графическую оболочку(платку), чтобы была возможность видеть много информации на мониторе.
Или например редактировать какие либо параметры работы устройства в реальном времени.
Разрешение от 640*480 24бит цвет. обновление картинки 25-60 кадров в сек.

Для реализации хочу использовать 3 внешних резистивных цап по 8 бит, плис пока ещё не выбрал(нужен как можно более дешёвый), ну и
работа со всеми графическими данными используя ддр2(У меня их очень много, хватит даже на мелкую серию))).

Задача у плис:
принимать видеоданные по спи(только приём) из управляющего микроконтроллера(который будет читать внешнюю флешку 1-2гиг).
Принимать инструкции от мк по тому-же спи.
Работать с ддр2 - загрузка данных, чтение, копирование, вырезание, удаление.
Вывод из ддр2 данных на резистивный цап.
Обрабатывать данные по инструкции от мк.
Формировать изображение по инструкции от мк.

В составе плис должны быть блоки:
Блок приёма спи(простой регистр).
Дешифратор команд/инструкций от мк(их немного).
АЛУ 24бит, для выполнения операций с пикселом. Алу должен уметь +,-,*,сравнение с результатом в 1 бит.
Счётчик адреса для озу , с возможностью установки начала счёта.(если такого нет в ДДР2)
временный кеш , для хранения видеоданных отправляемых в цап, от 12байт чтоб хватило на 4 пиксела (хотя если озу будет работать быстро можно без кеша.)

Зачем нужно так много памяти:
В памяти будет хранится все шрифты, всякие кнопочки, иконки, формы, окна, простые спецэфекты.
В этойже памяти будет формироваться изображение для вывода на VGA, без всякого сжатия.

Как я примерно представляю работу сего девайса.
В момент включения, в озу вга адаптера записываются только нужные в данный момент работы графика, и потом в фоновом режиме подружаются остальные.
Каждая текстура-картинка имеет свой адрес, имеет адрес вида "начало - конец", то-есть например с 0х002000050 по 0х002000950.
Также этот адрес 0х002000050 - 0х002000950 закрепляется за ним как объект.
В озу зарезервировано пространство под формирование изображения и под готовое изображение которое выводится в цап. Начинается с адреса 0, а потом после этого резерва распологаются графические данные.
Например мк указывает вга адаптеру объект 0х002000050 - 0х002000950 (кнопка), расположить на экране(формирование изображения) с позиции 0х000105550.
Так поступается со всеми объектами и даже буквами, они копируются и вставляются в пространство под формирование изображения.
От мк только потребуется проводить операции:
1)адрес объекта,
2)копировать,
3)пространство для установки картинки/объекта
Но это в простейшем случае.

В плис будет алу которое будет выполнять операции с пикселом, такие как прозрачность.
Как это работает:
Например берётся буква(картинка буквы) с такого-то по такой-то адрес.
Эту букву нужно вставить в пространство под формирование изображения, на то место где уже вставлен объект "кнопка" с сложным рисунком.
По умолчанию режим прозрачности не используется. Это задаётся инструкцией, код прозрачного цвета задаётся мк, или первым пикселом вставляемой картинки.
То-есть например буква "П" имеет белый фон, и первый пиксел в нём тоже белый.
Мк отправляет следующее:
1)использовать режим прозрачности
2)адрес объекта П
3)копировать
4)пространства для установки картинки/объекта

Что происходит в ПЛИС:
В счётчик заносится начальный адрес пространства в который будет записан объект с прозрачностью.
В регистр А алу, копируется самый первый пиксел объекта.
В регистр Б алу заносятся все остальные пикселы обекта.
Если А и Б не равны, то в озу происходит запись пиксела(изменяются данные), если а и б равны то это прозрачность и в озу данные о пикселе не меняются.

Всё это работает на довольно большой скорости, и недостижимо для МК.
От мк требуется всего несколько инструкций для вга адаптера, и на мониторе появляется объект который сам он не в состоянии нарисовать=).
Естественно начальная загрузка будет идти долго, несколько сек.
Мк которые будут управлять такой вгАшкой, имеют мипс не ниже 24(все армы).

Вот так вот... Извените за МноГаБУков...

Я понимаю что это может быть слишком круто, и есть например вот такая статья http://www.pic24.ru/doku.php/o... a_terminal .
Но я хотел бы попробовать сразу потолок применить, выше такого вга мне уже не потребуется, это самый потолок, выше которого уже проще применить комп.
А так, получится очень дружелюбный и знакомый всем интерфейс, за копеечную вга плату.

Кстати о самой плис.
Максимум должно быть задействовано Спартан3АН(примерно 300р), это потолок плисины по цене.
В идеале конечно применить альтеру макс2 120р примерно.
Как думаете возможно ли реализовать на макс2 контроллер ддр2, и мини GPU в одном флаконе??????
И возможна ли скорость работы с ддр2 в районе 80мегабайт/с с применением макс2?

А может все мои проблемы решит какойнить арм, который может конектится к ддр2 и с бешеной скоростью переключать 24 ноги?.

Могу принять какие либо советы от вас вообще в плане ВГА контроллера, но цена должна быть как можно меньше при хорошей производительности.

Более подробно о примерной структуре и выполняемых операций у меня нарисовано от руки, поэтому здесь всё кратко...
Если есть вопрос/уточнение задавайте, я не очень хорошо умею задать вопрос и описать проблему)) может где непонятно написал.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2013, 23:42
Ответы с готовыми решениями:

Возможно ли подключить монитор с VGA разъемом к видеорегистратору с av (vga - нету)
Есть старый видеорегистратор с разъемом с маркировкой - Monitor, но без VGA, и монитор с одним VGA. Может быть есть какие-либо переходники,...

Возможно ли сделать переходник с 1-го VGA выхода на 2-а VGA монитора?
Добрый день! Не нашел раздела типа "сделай сам", поэтому попробую тут обратиться. Есть ли возможность с видеокарты послать изображение...

Адаптер DVI-I - VGA
Всем привет! Хотел подключить второй монитор к Geforce GTX 1050ti. (выходы: DVI-D, HDML) Первый монитор (Телевизор) использует HDML...

21
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
08.06.2013, 23:54
Флаг в руки- http://zx.pk.ru/showthread.php?t=10548 http://zx.pk.ru/showpost.php?p... tcount=165
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
08.06.2013, 23:56
Хексовый видеоадаптер на ПЛИС
Видеоигра Питон на ПЛИС + Теннис
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
09.06.2013, 00:06
Спасибо за ссылки, есть что поглядеть, а на марсоходе всё перерыл уже)).
Готовые платки или демоплаты с вга, тоже вариант, потому как опыта работы с внешней памятью кроме еепром нет никакой))
Как вижу в коментах альтера макс2 работает на 100 мегагерц, думаю этого должно хватить.

Надо скачать новый квартус и поглядеть как там с ип ядрами контроллеров памяти.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
09.06.2013, 01:11
для 640*480 хватит скорости lvds передатчиков в младших циклонах чтобы сразу dvy сделать без преобразования в аналог.
еще на lattice можно посмотреть у них мелкие fpga на 1280 ячеек, c памятью, pll, дифф io, дешевле чем ipm240.
нормальный ddr2 memory controller влезет (возможно) только в самый старший max2 заняв его целиком.
при этом быстрой памяти надо только на буфер кадра (ну на 2, если с двойной буферизацией, то есть пары МБ хватит и вполне можно обойтись без динамической памяти)
остальное шрифты/картинки можно хоть с sd карты брать через тот же spi, не будет это особо скорость ограничивать.

а вообще:
http://hackaday.som/2012/10/08/stm32-dr ... ideo-card/
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
09.06.2013, 02:09
iCE40 серия имеет 1280ячеек но она не дешевле чем епм240.. Смотрел в компеле и элитане.
Может где ещё есть?
Возможно вариант с использованием внешнего озу только для фреймбуфера подходящий, но нужно найти быструю озу.
640*480 это самый минимум, разумеется хочется больше, но для этого нужна озушка побольше ((. Например для 1920*1080 примерно 50мб.(тот ещё потолок)))
А вот цветопередачу можно и презать, её я сразу задрал.
пойдёт вполне и 256к... и даже на порядок меньше.

Вобщем lattice где ещё можно поглядеть? в плане цен.
И там как я понел встроенная память прошивки как в CPLD и Spartan3an?
О lattice слышал но никогда не смотрел их продукцию. Щас вот смотрю...
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
09.06.2013, 04:01
Цитата Сообщение от UTHIDIR
iCE40 серия имеет 1280ячеек но она не дешевле чем епм240.. Смотрел в компеле и элитане.
Может где ещё есть?
digikey/farnell, у них дешевле, потому что на ipm240 конские цены, но по сравнению с альтерой, похоже хрен достанешь.
Цитата Сообщение от UTHIDIR
Возможно вариант с использованием внешнего озу только для фреймбуфера подходящий, но нужно найти быструю озу.
даже 1920*1080*50Гц = 103 Мега пикселя в секунду, 10нс статическая память вполне существует.
правда помимо отображения буфера надо еще чтобы было время чтобы туда записать что-нибудь.
да и что толку от такого разрешения если выход будет аналоговым?
а с dvy такие разрешения это уже будет совсем не то, в плане стоимости, потому что гигабиты.
Цитата Сообщение от UTHIDIR
А вот цветопередачу можно и презать, её я сразу задрал.
пойдёт вполне и 256к... и даже на порядок меньше.
оно либо 24 либо 16 бит. отличные от этих количества цветов никакой радости, кроме лишь дополнительного геморроя, не принесут.
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
09.06.2013, 06:01
готовая видеокарта не устраивает по цене?
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
09.06.2013, 09:11
На CPLD не выйдет. Вам, с такими запросами, нужно смотреть в сторону FPGA. Спартаны и максы забудьте - в них не влезет даже контроллер памяти. Дешевым такой проект не будет.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.06.2013, 09:38
Цитата Сообщение от UTHIDIR
Готовые платки или демоплаты с вга, тоже вариант,
Если вы внимательно изучали мои ссылки , то смогли бы там найти не только исходники но и описание самого принципа.
Можете так же обратится к разработчику , скорей всего поможет...
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 00:49
Посмотрел я на епм240 , там не хватит ячеек чтобы сделать всё задуманное...
А выбирать модель пообъёмнее не вариант, так как цена будет сравнима или выше чем на spartan 3an, это FPGA со встроеной флешкой, так что отдельный чип ставить не нужно.
Буду копать этот чип, тем-более он есть у меня в наличии. Всё-таки хочу применить ддр2 128мб, так как спи шина у меня занята передачей инфы в реальном времени, где каждый байт на счету.
Сейчас большинство телевизоров имеют HDMI, читаю инфу на других сайтах. Но это уже перегиб и наверно походит на "Просто чтобы было и всё"
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 755
12.06.2013, 01:04
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 01:24
Цитата Сообщение от _pv
оно либо 24 либо 16 бит. отличные от этих количества цветов никакой радости, кроме лишь дополнительного геморроя, не принесут.
Согласен, надо считать разрядами а не количеством цветов.
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 01:28
Цитата Сообщение от sobokymk
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
Это уже ближе к - "выгодно купить чем создать своё"
Вполне вариант, надо глянуть что там под радиатором)))
0
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 234
12.06.2013, 04:32
Цитата Сообщение от sobokymk
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
Я немного медленный - эта балалайка что именно делает? Она же не видеокарта?
0
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
12.06.2013, 04:51
Цитата Сообщение от soridumpid
Спартаны и максы забудьте - в них не влезет даже контроллер памяти.
Может с CoolRunner перепутали? В спартаны, даже третьи влезет видеоадаптер, контроллер памяти, процессор, этернет и два аула таджиков.
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
12.06.2013, 09:02
http://itm-chan.org/works/crtc/report.html
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 09:23
Цитата Сообщение от omdrey239
Цитата Сообщение от sobokymk
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
Я немного медленный - эта балалайка что именно делает? Она же не видеокарта?

Помоиму это преобразователь из композитного сигнала в vga.
Но всё равно интересно как это реализовано.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 1,181
12.06.2013, 10:58
А мне кажется что все немного наоборот....
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
12.06.2013, 12:08
Цитата Сообщение от Bottyk
А мне кажется что все немного наоборот....
от того что она из vga делает композит, а не наоборот толку тоже не особо много для построения spi видеокарты :)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2013, 12:08
Помогаю со студенческими работами здесь

Адаптер HDMI в VGA
Добрый день. Возник такой вопрос. Нужно приобрести адаптер HDMI в VGA, у стандарта HDMI есть версии, как этот параметр может повлиять на...

Стандартный VGA ГРАФИЧЕСКИЙ АДАПТЕР
Помогите пожалуйста.Друг мне дал Windows 7 Максимальную.Я решил переустановить вроде всё нормально но после того как я переустановил...

Стандартный VGA графический адаптер
подскажите что за драйвер мне нужен, и вообще к какой категории он относится, где его искать? через центр обновления не находит, произошло...

Стандартный VGA графический адаптер
Вдруг ПК перестал распознавать видюху (никаких переустановок.) И пишет "Стандартный VGA Графический адаптер" Установил какие-то...

Стандартный VGA граффический адаптер
Добрый день!!! У меня ноутбук lenovo g 580, после установки windows 7 видеокарта стала определяться как стандартный vga граффический...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru