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

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

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

Author24 — интернет-сервис помощи студентам
Вобщем так.
Захотелось мне для своих плат приделать графическую оболочку(платку), чтобы была возможность видеть много информации на мониторе.
Или например редактировать какие либо параметры работы устройства в реальном времени.
Разрешение от 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2013, 23:42
Ответы с готовыми решениями:

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

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

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

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

21
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
08.06.2013, 23:54 2
Флаг в руки- 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 3
Хексовый видеоадаптер на ПЛИС
Видеоигра Питон на ПЛИС + Теннис
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
09.06.2013, 00:06 4
Спасибо за ссылки, есть что поглядеть, а на марсоходе всё перерыл уже)).
Готовые платки или демоплаты с вга, тоже вариант, потому как опыта работы с внешней памятью кроме еепром нет никакой))
Как вижу в коментах альтера макс2 работает на 100 мегагерц, думаю этого должно хватить.

Надо скачать новый квартус и поглядеть как там с ип ядрами контроллеров памяти.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
09.06.2013, 01:11 5
для 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 6
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 7
Цитата Сообщение от 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 8
готовая видеокарта не устраивает по цене?
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
09.06.2013, 09:11 9
На CPLD не выйдет. Вам, с такими запросами, нужно смотреть в сторону FPGA. Спартаны и максы забудьте - в них не влезет даже контроллер памяти. Дешевым такой проект не будет.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.06.2013, 09:38 10
Цитата Сообщение от UTHIDIR
Готовые платки или демоплаты с вга, тоже вариант,
Если вы внимательно изучали мои ссылки , то смогли бы там найти не только исходники но и описание самого принципа.
Можете так же обратится к разработчику , скорей всего поможет...
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 00:49 11
Посмотрел я на епм240 , там не хватит ячеек чтобы сделать всё задуманное...
А выбирать модель пообъёмнее не вариант, так как цена будет сравнима или выше чем на spartan 3an, это FPGA со встроеной флешкой, так что отдельный чип ставить не нужно.
Буду копать этот чип, тем-более он есть у меня в наличии. Всё-таки хочу применить ддр2 128мб, так как спи шина у меня занята передачей инфы в реальном времени, где каждый байт на счету.
Сейчас большинство телевизоров имеют HDMI, читаю инфу на других сайтах. Но это уже перегиб и наверно походит на "Просто чтобы было и всё"
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 755
12.06.2013, 01:04 12
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 01:24 13
Цитата Сообщение от _pv
оно либо 24 либо 16 бит. отличные от этих количества цветов никакой радости, кроме лишь дополнительного геморроя, не принесут.
Согласен, надо считать разрядами а не количеством цветов.
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 01:28 14
Цитата Сообщение от sobokymk
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
Это уже ближе к - "выгодно купить чем создать своё"
Вполне вариант, надо глянуть что там под радиатором)))
0
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 234
12.06.2013, 04:32 15
Цитата Сообщение от sobokymk
Вот продают еще и такую балалайку
http://russian.otybaba.som/product-gs/y ... 62002.html
Я немного медленный - эта балалайка что именно делает? Она же не видеокарта?
0
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
12.06.2013, 04:51 16
Цитата Сообщение от soridumpid
Спартаны и максы забудьте - в них не влезет даже контроллер памяти.
Может с CoolRunner перепутали? В спартаны, даже третьи влезет видеоадаптер, контроллер памяти, процессор, этернет и два аула таджиков.
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
12.06.2013, 09:02 17
http://itm-chan.org/works/crtc/report.html
0
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
12.06.2013, 09:23 18
Цитата Сообщение от 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 19
А мне кажется что все немного наоборот....
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
12.06.2013, 12:08 20
Цитата Сообщение от Bottyk
А мне кажется что все немного наоборот....
от того что она из vga делает композит, а не наоборот толку тоже не особо много для построения spi видеокарты :)
0
12.06.2013, 12:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 12:08
Помогаю со студенческими работами здесь

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

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

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

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

Стандартный VGA графический адаптер
Не подскажите как решить мою проблему:у меня Sony VGC-LM1ER и в диспетчере устройств показывает,...

Стандартный VGA графический адаптер
Описание драйвера Стандартный VGA графический адаптер(это пишет в Everesti) подскажите как решить...

Стандартный vga графический адаптер
Переустановили винду 7,обновила драйвера через Driver Booster Скачала игру,не пошла из-за...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru