|
Вывод видео на монитор., Организация кадровых буферов |
|
|
|
Aug 11 2017, 11:45
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Здравствуйте! Прошу совета. Задача следующая. Требуется вывести видеоизображение с КМОП матрицы на стандартный монитор. Проект реализую на Cyclone IV. На плате также имеется SRAM 2 MB и SDRAM 64 MB. Пиксельная частота камеры 2 МГц, пиксельная частота монитора 40 МГц. Разрешение кадра 800х600. Матрица выдает кадры друг за другом без остановки. Поскольку частоты не совпадают необходимо использовать кадровый буфер. Предполагаю два варианта:
1) организовать кадровый буфер в SRAM на два кадра. При этом считывать данные из матрицы сначала в FIFO1 затем в SRAM. Когда первый кадр будет записан в SRAM начать выводить первый кадр SRAM->FIFO2->Монитор, при этом записывать второй кадр.
При такой реализации возникают вопросы. Поскольку частоты разные, что делать, в случае, если первый кадр выведен на монитор, а второй кадр еще не считан? Шина адреса и шина данных у SRAM одни для записи и чтения, поэтому придется обеспечить корректное чередование записи и чтения? Как этого добиться?
2) организовать кадровый буфер на два кадра в разных микросхемах: в SRAM первый кадр, в SDRAM второй кадр. В этом случае шины адреса и шины данных раздельные и можно одновременно писать второй кадр в SDRAM и считывать первый из SRAM.
При такой реализации возникают такие вопросы. В случае если кадр на монитор выведен, а новый еще не считался, можно будет повторить вывод старого кадра, после чего вывести новый кадр. Но вот в чем проблема, матрица выдает кадры друг за другом без остановки, и если новый кадр не считался (не успел) точно к моменту, когда старый закончил выводиться на монитор, то будет постоянно выводиться старый кадр. Как добиться этой синхронности? или необходимо считывать кадры с матрицы не постоянно, а только по требованию? типа считал первый кадр, начинаешь выводить первый и считывать второй, выводишь первый кадр несколько раз, до тех пор, пока не считается второй, когда считался второй, начинаем выводить второй и писать третий и так по кругу.
Сообщение отредактировал LAS9891 - Aug 11 2017, 11:59
|
|
|
|
|
 |
Сообщений в этой теме
LAS9891 Вывод видео на монитор. Aug 11 2017, 11:45 _pv организовать кадровый буфер на один кадр где угодн... Aug 11 2017, 12:18 LAS9891 Цитата(_pv @ Aug 11 2017, 16:18) и без до... Aug 11 2017, 13:07 Burenkov Sergey У альтеры есть такая кора - frame buffer, один из ... Aug 11 2017, 12:41 _pv если доступ к памяти быстрее 80МГц, значит в кажды... Aug 11 2017, 13:37 Burenkov Sergey У вас с матрицы идет 8 или 10 бит? И Bayer filter ... Aug 11 2017, 20:58 LAS9891 Цитата(Burenkov Sergey @ Aug 12 2017, 00... Aug 14 2017, 05:12  Burenkov Sergey [quote name='LAS9891' date='Aug 14 201... Aug 14 2017, 08:37 Volkov Тут важна кадровая частота матрицы.
Вывод лучше сд... Aug 12 2017, 11:52 novikovfb Цитата(Volkov @ Aug 12 2017, 15:52) Для б... Aug 14 2017, 08:51  Volkov Цитата(novikovfb @ Aug 14 2017, 11:51) В ... Aug 14 2017, 09:21 andrewkrot https://od.lk/fl/NDVfMzU4NzA1Xw качаете здесь файл... Aug 15 2017, 07:43 Flip-fl0p ЦитатаЗдравствуйте! Прошу совета. Задача следу... Aug 15 2017, 08:20 _pv со статической памятью конечно всё гораздо проще, ... Aug 15 2017, 08:58
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|