Перейти к содержанию
    

Video Sync Generator

Пробую вывести изображение с FPGA на VGA-монитор. В FPGA зашит NiosII. Для начала хотелось бы сформировать массив данных 1024x1280x8 и попробовать вывести эту картинку на монитор с использованием только Video Sync Generator. Возможно ли это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробую вывести изображение с FPGA на VGA-монитор. В FPGA зашит NiosII. Для начала хотелось бы сформировать массив данных 1024x1280x8 и попробовать вывести эту картинку на монитор с использованием только Video Sync Generator. Возможно ли это?

Для вывода изображения Nios II совсем необязателен, я бы даже сказал вреден. Зачем грузить процессор тем, что легко реализуется на ПЛИС ?

Если у Вас есть АЦП на плате для вывода VGA - то вообще проблем не вижу.

Ловите пример проекта который генерирует цветные полосы и выводит их на матрицу, работающую на параллельном интерфейсе. Модуль верхнего уровня "MATRIX_TEST". Проект для ПЛИС фирмы Altera.

Если хотите выводить изображение то это несколько сложнее, поскольку необходимо будет реализовать кадровый буфер, и выводимое изображение сначала записать в кадровый буфер.

MATRIX_TEST.7z

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите выводить изображение то это несколько сложнее, поскольку необходимо будет реализовать кадровый буфер, и выводимое изображение сначала записать в кадровый буфер.

 

Это будет следующим этапом. Пока хочу вывести статичную картинку хранящуюся в памяти на VGA-монитор. Как вывести статичную картинку в виде массива через Video Sync Generator? Возможно ли это? Как подключить модуль video_sync_generator в Qsys:

03_03_2017_08_29_33.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это будет следующим этапом. Пока хочу вывести статичную картинку хранящуюся в памяти на VGA-монитор. Как вывести статичную картинку в виде массива через Video Sync Generator? Возможно ли это? Как подключить модуль video_sync_generator в Qsys:

03_03_2017_08_29_33.jpg

Как выводить изображение через NIOS II я не знаю, я не умею с ним работать, но в ближайших планах научиться.

Всё, что касается вывода изображения, я реализовывал полностью на FPGA. С ПК на плату отправлял изображение по UART. Это изображение записывал в SDRAM, потом из SDRAM отправлял в LVDS матрицу.

Думаю у Вас алгоритм действий будет похож.

1. Передать изображение на плату.

2. Записать изображение в кадровый буфер.

3. Вывести изображение из кадрового буфера.

А почему именно NIOS II ? Ведь можно прекрасно обойтись и без софтового процессора. Случаем не связанно с тем, что необходим контроллер SDRAM ?

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как выводить изображение через NIOS II я не знаю, я не умею с ним работать, но в ближайших планах научиться.

Всё, что касается вывода изображения, я реализовывал полностью на FPGA. С ПК на плату отправлял изображение по UART. Это изображение записывал в SDRAM, потом из SDRAM отправлял в LVDS матрицу.

Думаю у Вас алгоритм действий будет похож.

1. Передать изображение на плату.

2. Записать изображение в кадровый буфер.

3. Вывести изображение из кадрового буфера.

А контроллер SDRAM свой изобретали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А контроллер SDRAM свой изобретали?

Можно сказать и так. Я взял готовый, разобрался как он реализован, разобрался с работой SDRAM, и по образу и подобию готового контроллера написал свой контроллер. Мне показалось более правильным решением разобраться в сути работы с памятью, чем брать готовое и не понимать как оно работает.

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сказать и так. Я взял готовый, разобрался как он реализован, разобрался с работой SDRAM, и по образу и подобию готового контроллера написал свой контроллер. Мне показалось более правильным решением разобраться в сути работы с памятью, чем брать готовое и не понимать как оно работает.

Так то оно правильно конечно. Но зато в Nios кроме SDRAM я могу использовать другие готовые модули, SPI например и др. Неужели придется все переписывать на Verilog...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так то оно правильно конечно. Но зато в Nios кроме SDRAM я могу использовать другие готовые модули, SPI например и др. Неужели придется все переписывать на Verilog...

Смотря какая цель перед Вами стоит. Если вам нужно получить работающую железку, тогда ищите самый быстрый результат. Скорее всего разобраться с Nios будет быстрее и проще. Но учтите что Nios - платный процессор.

Если перед Вами стоит задача научиться - то мне кажется, лучше все модули реализовать на ПЛИС.

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели никто не использовал Video Sync Generator? Есть вопрос по настройкам в Qsys. Для настройки Video Sync Generator пользовался настройками с сайта http://tinyvga.com/vga-timing, а конкретнее:

post-87194-1490252803_thumb.jpg

Но заработало только так:

post-87194-1490252851_thumb.jpg

Так настраивал товарищ из примера http://we.easyelectronics.ru/plis/formirov...em-nios-ii.html.

Почему цифры не совпадают? Как он их рассчитал/подобрал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели никто не использовал Video Sync Generator? Есть вопрос по настройкам в Qsys. Для настройки Video Sync Generator пользовался настройками с сайта http://tinyvga.com/vga-timing, а конкретнее:

post-87194-1490252803_thumb.jpg

Но заработало только так:

post-87194-1490252851_thumb.jpg

Так настраивал товарищ из примера http://we.easyelectronics.ru/plis/formirov...em-nios-ii.html.

Почему цифры не совпадают? Как он их рассчитал/подобрал?

Брать данные под матрицу надо с даташита на матрицу. VESA описывает лишь общие рекомендации, не более.

Я не использовал синхрогенератор, который генерирует QSYS, а писал свой. Разберитесь что он из себя представляет, там по сути 2 счётчика. Один считает пиксели по горизонтали, другой по вертикали. В зависимости от состояния счётчика генерируются импульсы строчной и кадровой синхронизации.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...