0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
|
|
1 | |
Простой VGA адаптер из ПЛИС + DDR2 128МБ. Возможно?08.06.2013, 23:42. Показов 18963. Ответов 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
|
08.06.2013, 23:42 | |
Ответы с готовыми решениями:
21
Возможно ли подключить монитор с VGA разъемом к видеорегистратору с av (vga - нету) Возможно ли сделать переходник с 1-го VGA выхода на 2-а VGA монитора? Адаптер DVI-I - VGA Адаптер HDMI в VGA |
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
08.06.2013, 23:54 | 2 |
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
Сообщение от UTHIDIR
правда помимо отображения буфера надо еще чтобы было время чтобы туда записать что-нибудь. да и что толку от такого разрешения если выход будет аналоговым? а с dvy такие разрешения это уже будет совсем не то, в плане стоимости, потому что гигабиты.
Сообщение от UTHIDIR
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
0
|
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
|
|
12.06.2013, 01:28 | 14 |
Сообщение от sobokymk
Вполне вариант, надо глянуть что там под радиатором)))
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 234
|
|
12.06.2013, 04:32 | 15 |
Сообщение от sobokymk
0
|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
|
12.06.2013, 04:51 | 16 |
Сообщение от soridumpid
0
|
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
|
|
12.06.2013, 09:02 | 17 |
0
|
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 27
|
|
12.06.2013, 09:23 | 18 |
Сообщение от omdrey239
Помоиму это преобразователь из композитного сигнала в 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
0
|
12.06.2013, 12:08 | |
12.06.2013, 12:08 | |
Помогаю со студенческими работами здесь
20
Стандартный VGA ГРАФИЧЕСКИЙ АДАПТЕР Стандартный VGA графический адаптер Стандартный VGA графический адаптер Стандартный VGA граффический адаптер Стандартный VGA графический адаптер Стандартный VGA графический адаптер Стандартный vga графический адаптер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |