Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разработка видео платы
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2
Serega Doc
Ребята если кто занимался проблемой отображения видео то помогите опредилится с несколькими вопросами:
1 Где взять информацию по обработке кадров
2 Какие частоты использует монитор
3 Умеет ли PLL делить частоту на дробное число

По ходу развития я буду здесь дополнять вопросы
А накопившейся информацией готов поделится со всеми желающими
К данному сообщению буду прекреплять zip файл.

cool.gif И если кто знает где найти информацию по существующим видео процессорам -- функциональность, datasheet, структуры и др.

Заранее благодарен с уважением Сергей

Приступим к обсуждению wink.gif
KA_ru
1.Что означает в Вашем понимании "обработке кадров"?
2.Какие мониторы? VGA . TV and ......
3.да они умеют это делать.
можно получить нужную сетку частот.
Serega Doc
1 -> Обработка кадра это
-антиалиазинг
-премещение спрайта по фону
-поддержка слоев и их прозрачности

2 -> Мониторы VGA, SVGA, XGA и др.
А разве у TV не цифровых входов как у монитора

И где взять сетки частот и формы сигналов
Himer
Вот информация по VGA таймингам и формам сигналов. А PLL на дробное число насколько знаю делить не может, это подсилу синтезаторам частот - в ксайлинксе FSM называются.
Serega Doc
Есть cинтезатор частот у кристалов Альтеры и где взять тайминги по 1024x768 и выше

Или может быть кто подскажет как написать синтезатор частот
Lefthander
А что в результате должно получиться?
Serega Doc
Результатом должна быть видео плата способная отображать на мониторе без компьютера. И быть как можно более производительней т. е. в идеале поддержка 3D, но пока это просто качественный 2D

И если кто знает где найти информацию по существующим видео процессорам -- функциональность, datasheet, структуры и др.
Himer
Синтезаторы в АЛТЕРАХ есть - в некоторых сериях : в APEX 20KE были точно, и в новых CYCLONE II, посмотри документацию на их сайте.
Himer
А есть ли смысл это делать самим???
Serega Doc
А почему нет?
Что есть абсолютно дешовые решения данной проблемы?
Может быть я их просто не нашел?

Или вы имеете в виду зачем это делать если есть компьютер. Компьютер это дорого и за ним нужно следить
Himer
Можно взять видеокарту PC104 например PCM - 3521.
Serega Doc
мне необходим 16 бит цвета и разрешение 1024x768 с частотой как повезет 60 - 85 Hz
Lefthander
Цитата(Serega Doc @ Nov 16 2004, 12:31 PM)
мне необходим 16 бит цвета и разрешение 1024x768 с частотой как повезет 60 - 85 Hz

Я бы сделал маленькую платку с AGP слотом и FPGA по жирнее на которой бы реализовал эмуляцию шины AGP. И можно было бы пользовать видеокарты хоть самые современные... Другое дело как быть с управлением видеокартой по AGP,но имхо это будет по проще чем реализовывать видеопроцессор.
ИМХО конечно. :D
И делать на коленке видеокарту это - радиолюбительство какое-то...
Не серьезно как-то...
Serega Doc
Да но мне не нужны сасмые современные 3D акселераторы мне необходимо простое и дешовое решение пока для 2D графики

Так как вы предлагаете то получится переходник AGP стоит кучку денег и сама видео карта стоит кучку денег и стоимость этого стандартно решенного устройства будет нереальной

rolleyes.gif
KA_ru
http://www.geocities.com/ipm_grp/
http://www.opencores.org/

Standart VESA

ICL
Serega Doc
Так что по поводу AGP я не прав?

Или может вообще я коснулся темы на которую никто не хочет говорить

Секретность емае

smile.gif
KA_ru
какая секретная инфа.
просто делать 2D или 3D дорого самому.
а если нужно Embedded Video посмотри Epson Fujitsu до $15.
и показывай все что надо.

Быстро и красиво
Serega Doc
Не совсем понял какой производитель.
Если можно укажите какую нибудь маркировку либо ссылочку

Нет нет помоему нашел

http://www.segger.com/emwingsc_driver.html

cool.gif
Hilter
Разрабатывался подобный проект на virtex II Pro
были фиксированные разрешения 1024x1280@60Hz
800x600@72Hz - два слоя (один с альфа-каналом)
могу ответить на конкретные вопросы
Serega Doc
Какую логическую емкость данный проект занял?
И сколько цветов отводилось каждому пикселю?

Спасибо что откликнулся.
Hilter
Проект занял приблизительно 80% от XC2VP4
(кроме видика там была еще обвязка встроенного
процессора и интерфейсы) - проект демонстрационный
для более серьезного советую брать чип побольше.
В первом слое было 12 бит на цвет и 4 бита на
альфу. Во втором индексированный цвет - палитра 256
цветов 24-х разрядных
Serega Doc
А что вы обрабатывали процессором?
Т. е. какие операции выполнял процессор по обработке изображения
А так же какой памятью пользовались для видеобуфера?
Какая тактовая частота?
Hilter
процессор формировал картинку в памяти
для видео стояла ZBT-SRAM @ 100MHz
Serega Doc
А по какому интерфейсу поступали данные которые необходимо выводить на экран?
Lefthander
Цитата(Hilter @ Nov 18 2004, 03:13 PM)
Проект занял приблизительно 80% от XC2VP4
(кроме видика там была еще обвязка встроенного
процессора и интерфейсы) - проект демонстрационный
для более серьезного советую брать чип побольше.
В первом слое было 12 бит на цвет и 4 бита на
альфу. Во втором индексированный цвет - палитра 256
цветов 24-х разрядных

Я представляю себе стоимость этого изделия...
smile.gif
Serega Doc
Что думаете не реально простой видео процессор сделать на АСЕХ1К
Nixon
По крайней мере контроллер "развертки" TFT LCD с frame buffer вполне уместился в ACEX1k. Конечно функциональность ограничена при этом - никаких настроек разрешения, частот и глубины цвета. Все жестко зашито.
Serega Doc
Не подскажите ссылочку на какой нибудь готовый проект видео.
one_man_show
Посмотрите здесь на ФТП Нексар от Альтиума. В комплект поставки включены ядра 8-битных процессоров и несколько приферийных контроллеров. Все вместе продемонстрировано в ряде примеров, например, есть такой вариент:
процессор x51, PS/2 mouse, PS/2 keyboard, SVGA. Весь проект реально работает на Нанобоард. В качестве примера взята одна известная игровая программа Арканоид.

Посмотрите указанную реализацию, думаю это один из дешевых вариантов.
Serega Doc
В каком разделе а то что то не получаеися найти
Serega Doc
Ребята кто работал с SDRAM памятью
У меня K4S641632 от Samsunga.
Подскажите как работать с обновлением памяти.
Кто нибудь знает ссылочки по SDRAM памяти на русском.
1 Нужно ли выполнять обновление памяти после чтения или от последнего чения нужно ждать 64мс?
2 В разница между предустановкой и обновлением?
3 Как долго выполняется цикл предустанвки всех банков (ALL BANKS PRECHARGE) и авто обновления (AUTO REFRESH)?

С уважением Сергей wink.gif

Если кому интересно

http://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm
или
http://telesys.ru/wwwboards/fpga/187/messages/54640.shtml

для всех SDRAM микросхем
Serega Doc
Кто разрабатывал видео платы?

Существуют ли какие нибудь особенности построения видео страниц для увеличения производительности обработки графической информации (2D)

wink.gif

С уважением Сергей
Serega Doc
Ребята что никаких соображений?

Скажите как сделать из нелинейной SDRAM памяти линейную
KA_ru
ja vot uskorjal i ispol'zoval DMA s odnogo uchastka Video Pamjati v drugoj.
Serega Doc
Не совсем понял я работаю с памятью на уровне команд доступа к микросхеме и выдержке временных интервалов. Что значит тогда DMA в моем случае.

Если кто сможет подскажите как решить проблему регенерации памяти.

Ести активна (производится непрерывное чтение) видео страница (используются все 4 банка) и несколько неактивных видео страниц (требуют обновления). Как сделать так чтобы регенерировались только неактивные?

wacko.gif

С уважением Сергей
Hilter
извиняюсь за отсутствие (в стране нестабильно)
постораюсь ответить на вопросы
- данные поступали по шине от другого процессора
на котором Linux и Ethernet
- я до ночала разработки долго искал примеры реализации
находил только крайне примитивные (формировали импульсы
синхронизации и карнинку в низком разрешении)
при реализации подобных устройств главное -
ПРАВИЛЬНЫЙ расчет пропускной способности памяти,
соответственно выбор ее типа размера и разрядности
Serega Doc
2 Hilter
Вы реализовали проект видео платы на ПЛИС?
Hilter
да
плата и проект реализованы
данная плата кроме видеопроцессора
включала в себя центральный процессор
и несколько интерфейсов
- большинство узлов функционируют
в том числе и видеопроцессор
Serega Doc
Что такое ZBT память?

На какой тактовой частоте работает ваш проект?

И не в курсе ли вы можно ли вручную регенерировать сироки SDRAM,
Hilter
ZBT - Zero Bus Turnaround - память фирмы IDT
главная особенноть - в двух соседних тактах
могут быть произвольные операции
память работает на 100 MHz
видео 1280@1024@60Hz соответственно
pixel_clk 108 MHz
SDRAM использовали при помощи стандартной корки
из Xilinx EDK
на реализацию SDRAM корок в инете полно документации
и есть примеры
Serega Doc
А по стоимости ZBT во сколько раз дороже SDRAM?

А по поводу SDRAM контроллера так мне посоветовали писать самому т. к. то что нужно конкретно мне нет каждая задача индивидуальна, да в принципе я и сам ничего толкового не нашел, может плохо искал.
blush.gif
hww
Цитата
TIMING
Времена VGA всегда можно просто померить осциллографом. wink.gif

Цитата
PLL
Проект можно сделать и без PLL.

Цитата
Существуют ли какие нибудь особенности построения видео страниц


Не совсем понимаю, о чём вы. Но вот некоторые мысли. Хорошо если вы будете считывать данные из памяти блоками. Т.е. не на каждые 8 пикселов делаете BURST считывание 8 записей во внутреннее FIFO PLD. Полезно иметь два или три буфера кадра, и использовать их по очереди. Один на экране другой заполняется процессором. Если два соседних пиксела по горизонтали разнесены в памяти на один. Тогда по вертикали они должны быть разнесены на степень двух. Тогда процессору не имеющему умножение будет легче вычислять адрес пиксела. Можно испоьзовать специальную видео память, правда она дороже. Тогда вы сможете доступатся к памяти со стороны процессора в тоже самое время когда видеоконтроллер выбырает видеоданные из другого (независимого) порта. Видеопамять также иногда имеет механизмы акселерации рисования графики. А именно битпланы. Кстати вы должны определиться с тем какие задачи будут выполняться на этой граф карте. Если игры и процессор не быстрый то возможно лучше организовать её как битпланы. Если графика векторная то в некоторых случаях тоже. Но если процессор быстр то проще и быстрее не иметь быитпланов. Опять таки видео память иногда сочетает в себе и то и другое.

Цитата
Ести активна (производится непрерывное чтение) видео страница (используются все 4 банка) и несколько неактивных видео страниц (требуют обновления).


Просто для процессора и видеопроцессора память адресуется как 0,1,2,3,4,5,6,7,8,9,10,11 и т д А для самой памяти порядок другой такой. Например память имеет 8 столбцов RAS и 8 строк CAS. Адреса процессора и видеопрацессора подключаются к памяти в таком порядке:

CAS[7:0] = (A[15:11], A[2:0])
RAS[7:0] = A[10:3]

Улавливаете мысль?

А можно регинирировать видеопамять «за кадром» и использовать для этого режим скрытой регенерации.

У меня есть контроллер SDRAM но он очень специфичный я не думаю что вам это упростит жизнь. Кстати я использовала память Samsung. Правда деталей я уже не помню, давно это было.

Ни один готовый проект использовать не получится, они все сложные и дорогие. Тоскую по временам когда были такие как VDP9938, 58, и т д.

Есть ещё такой совет, не лучше ли вам использовать SOC. Например CrystalSemiconductor или любой другой с ARM внутри. Это стоит около 30$ Вам не удасться сделать это дешевле на PLD. Поищите в Интернете также микросхемы BoxOnTV.
Serega Doc
[Т.е. не на каждые 8 пикселов делаете BURST считывание 8 записей во внутреннее FIFO PLD]

Я собираясь читать память строками и хранить в видео буфере.

А по поводу внутреннего авто обновления. Я это понял. У меня слишком загружена шина данных на SDRAM, поэтому мне дорог каждый такт.
И что бы сэкономить такты регенерации (при чтении и записи регенерация происходит автоматически) мне необходимо вручную обновлять строки. Есть ли такая возможность.

И насколько я помню RAS и BA задаются вместе и при преходе по столбцам так же можно переходить в другой банк, т. е. CAS и BA так же активны вместе.
Или я что то не так понял.

Можете ли скинуть на мыло ваш SDRAM контроллер или положить здесь на форуме.

С уважением СЕРГЕЙ

blush.gif
hww
Цитата
Я собираясь читать память строками и хранить в видео буфере.


Скачивать всю строку? Не допуская доступа со стороны процессора? Так тоже делают. Помоему у какихто макинтошей был подобный подход.

Цитата
А по поводу внутреннего авто обновления. Я это понял. У меня слишком загружена шина данных на SDRAM, поэтому мне дорог каждый такт.
И что бы сэкономить такты регенерации (при чтении и записи регенерация происходит автоматически) мне необходимо вручную обновлять строки. Есть ли такая возможность.


Но ведь не возможно загрузить карту со стороны процессора на 100%. Поэтому в свободные окна времени просто выполнять скрытую регенерацию. Также с видеоконтроллером. Скачали строку в буфер, до конца строки есть время, можно вставить несколько циклов скрытой регенерации.

Цитата
И насколько я помню RAS и BA задаются вместе и при преходе по столбцам так же можно переходить в другой банк, т. е. CAS и BA так же активны вместе.
Или я что то не так понял.


Вот это уже идут детали которых я почти не помню. Увы. Слишком много времени утекло.

Цитата
Можете ли скинуть на мыло ваш SDRAM контроллер или положить здесь на форуме.


Да, нет проблем. Только вам это мало что даст. Там был такой проект музыкальный синтезатор на DSP56F826. Нужен был банк памяти под звуки 32MB. Доступ к памяти у DSP был очень быстрый поэтому он мог сам програмно устанавливать строки и столбцы а затем считывать или записывать данные. Помоему даже использовать страничную адресацию.

Информация о проекте http://n64.icequake.net/mirror/pv-backup/sndsynt.htm

В атачменте исходник контроллера SDRAM на AHDL

Давно это было. Так что простите
hww
Простите. Приаттачить файл у меня нет прав. Но на моём сайте там всё есть
Serega Doc
Я просмотрел ваши материалы.
Выходит вы на ПЛИС формировали дешифратор команд, с с помощью процессора следили за временем и данными подаваемыми на DATA, ADR, BA.
Я так в принципе и строю модель своего SDRAM контроллера. Только следить за командами будет сам кристал.

Огромное спасибо за консультации.
С уважением Сергей.
wink.gif
hww
Цитата(Serega Doc @ Dec 2 2004, 11:46)
Я просмотрел ваши материалы.
Выходит вы на ПЛИС формировали дешифратор команд, с с помощью процессора следили за временем и данными подаваемыми на DATA, ADR, BA.
Я так в принципе и строю модель своего SDRAM контроллера. Только следить за командами будет сам кристал.

Огромное спасибо за консультации.
С уважением Сергей.
wink.gif
*


Всегда пожалуйста. Буду рда если это вам поможет. smile.gif
Serega Doc
Ребята маленькое уточнение SDRAM. Циклы регенерации должны формироватся равномерно или можно через любые промежутки времени только бы за полное время регенерации обновить все строки в банках?
Esquire
Serega Doc
Сам и ответил на свой вопрос - или одно или другое smile.gif .
Serega Doc
Ребята не подскажите как лучше всего организовать в 16 битной SDRAM памяти организовать хранение 24 битных изображений.

Спасибо!
wink.gif

С наступающим пятым годом!! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.