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

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

08.06.2013, 23:42. Показов 20079. Ответов 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
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
12.06.2013, 12:30
Студворк — интернет-сервис помощи студентам
>>Помоиму это преобразователь из композитного сигнала в vga.

похоже из vga- цветоразностный
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 755
12.06.2013, 15:21
Мне эту балалайку принесут на днях. Влиделец в этих штуках не смыслит, а мне пригодится. Насколько я понял, это похоже на девайс, который торгуют на zx.pk.ru и с аналогичной начинкой и функционалом. Включу, посмотрю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2013, 15:21

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru