Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Преобразование VGA сигнала на ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Виталий Пономарёв
Всем привет!

Никогда раньше не имел дело с ПЛИС, опыт работы с железом заканчивается несколькими пробами пера на Atmel'овской ATmega8.
Но тут передо мной встала довольно интересные (для меня) задачи и захотелось найти для неё решение, причём ПЛИС тут подходит больше всего.

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif
iosifk
Цитата(Виталий Пономарёв @ Feb 28 2007, 12:41) *
Всем привет!

Никогда раньше не имел дело с ПЛИС, опыт работы с железом заканчивается несколькими пробами пера на Atmel'овской ATmega8.
Но тут передо мной встала довольно интересные (для меня) задачи и захотелось найти для неё решение, причём ПЛИС тут подходит больше всего.

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif


На сайте Диджилента есть примеры VGA-контроллеров.
По поводу диаграммы - можно посмотреть на диаграмму мониторов и TFT-панелей.
Торопиться с осциллографами пока не нужно, т.к. можно использовать встроенный в ПЛИС логический анализатор. В ксайлинксовском софте должна быть его поддержка.
Но ведь кроме формирования диаргаммы развертки нужно будет еще и поработать с видео данными...
klop
Цитата(Виталий Пономарёв @ Feb 28 2007, 12:41) *
Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?


Будте осторожны. Сколько не наблюдал подобные девайсы ни разу результаты их работы не были даже сопоставимы с весьма не новыми "настоящими" приборами.
oval
Цитата(Виталий Пономарёв @ Feb 28 2007, 12:41) *
Всем привет!

Никогда раньше не имел дело с ПЛИС, опыт работы с железом заканчивается несколькими пробами пера на Atmel'овской ATmega8.
Но тут передо мной встала довольно интересные (для меня) задачи и захотелось найти для неё решение, причём ПЛИС тут подходит больше всего.

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.


Здесь есть свои ньюансы, не все так тривиально, как кажется. Через какой интерфейс будет поступать сигнал с DVD-плеера? Скорее всего потребуется декодер. Есть ли он на Вашей плате starter kit?

Еще одна проблема (хотя и не очень существенная) - проблема согласования частоты кадров входного и выходного видео потоков. Не факт, что достаточно 2-х буферов (страниц).

На входе (выход DVD) идет поток полукадров (interlaced scan), выход - полный кадр (progressive scan)
. Каким образом будете преобразовывать? Способов есть несколько, соответственно разное качество результата... Чем проще, тем хуже результат.

Формат сигнала на входе (уже с выхода декодера) обычно YCbCr, на выходе - RGB. Соответственно потребуется преобразование... Иногда встречаются декодеры, выполняющие это преобразование, но среди современных, не встречал, хотя особо этим вопросом не занимался, могу и не знать.

Ну и наконец, масштабирование. Полноценное цифровое масштабирование, - далеко не тривиальная задача... Тем более с дробными коэффициентами.

Цитата
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)


Здесь "обыкновенное преобразование VGA сигнала на ПЛИС" выливается в далеко не тривиальное! Несущая частота на входе и выходе разная, потребуется буфер хранения данных картинки, вообщем часть того, что в п.1. Увы...

Цитата
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Для п.1 и п.3 просто приобретаете плату TV приемника, а на сегодняшний день эти задачи полностью реализуют современные видео адаптеры smile.gif Самое бюджетное решение, правда компьютер должен быть включен, соответственно и DVD-плеер оказывается ненужным...

Цитата
Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?


Не думаю, что реально без внешних модулей... Также для полноценного решения может не хватить ресурсов самой платы starter kit, в частности возможно самой ПЛИС. Здесь уже требуется более детальная оценка...

Цитата
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif


P.S. ИМХО не стоит даже браться:
1. скорее всего не хватит энтузиазма smile.gif Хотя всякое бывает...
2. не тот проект для ПЛИС, да и вообще, с которого стоит начинать...
3. скорее всего потребуется изготовление платы под эти задачи, а это затраты...
4. задачи для коллективной реализации, на коленках я бы не взялся делать...
5. время реализации при отсутвие опыта много больше времени присутствия энтузиазма smile.gif Тут тоже разные случаи бывают...

P.P.S.: прошу прощения, если расстроил... smile.gif
Виталий Пономарёв
Цитата(oval @ Feb 28 2007, 14:37) *
... комментарии ...

Спасибо за детальный разбор моего поста. Параллельно читал ещё различные посты на эту тему, возникло несколько доп. вопросов, ну и есть также несколько комментариев на поставленные тобой вопросы.

Цитата
Цитата

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.


Здесь есть свои ньюансы, не все так тривиально, как кажется. Через какой интерфейс будет поступать сигнал с DVD-плеера? Скорее всего потребуется декодер. Есть ли он на Вашей плате starter kit?

Сигнал можно брать в виде обычного RGB. Тут во всяком случае понадобится минимальный объём преобразований. Понадобится подключить к плате 3х канальный АЦП с соответствующим быстродействием.

Цитата
Еще одна проблема (хотя и не очень существенная) - проблема согласования частоты кадров входного и выходного видео потоков. Не факт, что достаточно 2-х буферов (страниц).

Да. Теоретически может понадобиться небольшой (меньше размера кадра) буфер в который будет складываться входной поток после заполнения входного буфера и до тех пор пока не будет закончено чтение очередного кадра из выходного буфера. Хотя возможно самым простым решением было бы сделать циклический "фрейм" из 3х буферов.

Цитата
На входе (выход DVD) идет поток полукадров (interlaced scan), выход - полный кадр (progressive scan)
. Каким образом будете преобразовывать? Способов есть несколько, соответственно разное качество результата... Чем проще, тем хуже результат.

Если выполнять по каждому входящему полу-кадру замену полу-кадра выходящего буфера то результат будет плохим?


Цитата
Формат сигнала на входе (уже с выхода декодера) обычно YCbCr, на выходе - RGB. Соответственно потребуется преобразование... Иногда встречаются декодеры, выполняющие это преобразование, но среди современных, не встречал, хотя особо этим вопросом не занимался, могу и не знать.

Эта проблема решается использованием RGB выхода.

Цитата
Ну и наконец, масштабирование. Полноценное цифровое масштабирование, - далеко не тривиальная задача... Тем более с дробными коэффициентами.

Масштабирование я рассматривал только с целым коэффициентом. Соответственно, не весь экран будет использоваться в этом случае.


Цитата
Цитата

2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)


Здесь "обыкновенное преобразование VGA сигнала на ПЛИС" выливается в далеко не тривиальное! Несущая частота на входе и выходе разная, потребуется буфер хранения данных картинки, вообщем часть того, что в п.1. Увы...

Да, потребуется до 3х буферов способных запомнить весь экран, при этом задержка прохождения сигнала через схему будет не более 50ms (при частоте обновления 60Hz).


Цитата
Цитата

3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Для п.1 и п.3 просто приобретаете плату TV приемника, а на сегодняшний день эти задачи полностью реализуют современные видео адаптеры smile.gif Самое бюджетное решение, правда компьютер должен быть включен, соответственно и DVD-плеер оказывается ненужным...

Тюнер в компьютере есть. Хочется избавиться от компьютера в схеме воспроизведения.
А телевизора нет (просто не нужен и некуда особо ставить).


Цитата
Цитата

Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?


Не думаю, что реально без внешних модулей... Также для полноценного решения может не хватить ресурсов самой платы starter kit, в частности возможно самой ПЛИС. Здесь уже требуется более детальная оценка...

Пока обнаруживается только внешний АЦП. Я что-то ещё пропустил?


Цитата
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif


Цитата
P.S. ИМХО не стоит даже браться:
1. скорее всего не хватит энтузиазма smile.gif Хотя всякое бывает...
2. не тот проект для ПЛИС, да и вообще, с которого стоит начинать...
3. скорее всего потребуется изготовление платы под эти задачи, а это затраты...
4. задачи для коллективной реализации, на коленках я бы не взялся делать...
5. время реализации при отсутвие опыта много больше времени присутствия энтузиазма smile.gif Тут тоже разные случаи бывают...

P.P.S.: прошу прощения, если расстроил... smile.gif

Ну вопрос стоит браться или нет остаётся открытым. На первом этапе хочется окончательно понять во что выльется реализация такого решения (по п. 1 и 2), а потом уже можно будет определиться - стоит ли оно того или легче просто купить монитор с RGB входом и поддержкой P-i-P (благо такие сейчас уже есть и по цене насколько я помню в пределах ~$700) smile.gif)


Цитата(klop @ Feb 28 2007, 13:42) *
Будте осторожны. Сколько не наблюдал подобные девайсы ни разу результаты их работы не были даже сопоставимы с весьма не новыми "настоящими" приборами.

Спасибо, буду знать. Я надеялся, что за последнее время такие недорогие и довольно качественные решения всё-таки появились...


Цитата(iosifk @ Feb 28 2007, 13:15) *
Торопиться с осциллографами пока не нужно, т.к. можно использовать встроенный в ПЛИС логический анализатор. В ксайлинксовском софте должна быть его поддержка.

Не знал, спасибо. Попробую почитать на эту тему.
oval
Цитата
Цитата

Цитата

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.


Здесь есть свои ньюансы, не все так тривиально, как кажется. Через какой интерфейс будет поступать сигнал с DVD-плеера? Скорее всего потребуется декодер. Есть ли он на Вашей плате starter kit?

Сигнал можно брать в виде обычного RGB. Тут во всяком случае понадобится минимальный объём преобразований. Понадобится подключить к плате 3х канальный АЦП с соответствующим быстродействием.


Попробуйте. Но у декодеров не столь простое устройство. Есть еще масса функций по улучшению качества результата оцифровки и т.п.

Цитата
Цитата

Еще одна проблема (хотя и не очень существенная) - проблема согласования частоты кадров входного и выходного видео потоков. Не факт, что достаточно 2-х буферов (страниц).

Да. Теоретически может понадобиться небольшой (меньше размера кадра) буфер в который будет складываться входной поток после заполнения входного буфера и до тех пор пока не будет закончено чтение очередного кадра из выходного буфера. Хотя возможно самым простым решением было бы сделать циклический "фрейм" из 3х буферов.

Цитата
На входе (выход DVD) идет поток полукадров (interlaced scan), выход - полный кадр (progressive scan)
. Каким образом будете преобразовывать? Способов есть несколько, соответственно разное качество результата... Чем проще, тем хуже результат.

Если выполнять по каждому входящему полу-кадру замену полу-кадра выходящего буфера то результат будет плохим?


Не думаю, что хорошим. Особенно на быстро движущихся контрастных сценах.

Цитата
Цитата

Формат сигнала на входе (уже с выхода декодера) обычно YCbCr, на выходе - RGB. Соответственно потребуется преобразование... Иногда встречаются декодеры, выполняющие это преобразование, но среди современных, не встречал, хотя особо этим вопросом не занимался, могу и не знать.

Эта проблема решается использованием RGB выхода.

Цитата
Ну и наконец, масштабирование. Полноценное цифровое масштабирование, - далеко не тривиальная задача... Тем более с дробными коэффициентами.

Масштабирование я рассматривал только с целым коэффициентом. Соответственно, не весь экран будет использоваться в этом случае.


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

Цитата
Цитата

Цитата

2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)


Здесь "обыкновенное преобразование VGA сигнала на ПЛИС" выливается в далеко не тривиальное! Несущая частота на входе и выходе разная, потребуется буфер хранения данных картинки, вообщем часть того, что в п.1. Увы...

Да, потребуется до 3х буферов способных запомнить весь экран, при этом задержка прохождения сигнала через схему будет не более 50ms (при частоте обновления 60Hz).

Цитата
Цитата

3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Для п.1 и п.3 просто приобретаете плату TV приемника, а на сегодняшний день эти задачи полностью реализуют современные видео адаптеры smile.gif Самое бюджетное решение, правда компьютер должен быть включен, соответственно и DVD-плеер оказывается ненужным...

Тюнер в компьютере есть. Хочется избавиться от компьютера в схеме воспроизведения.
А телевизора нет (просто не нужен и некуда особо ставить).


Не дешевое решение выбираете. Многие стремяться наоборот использовать компьютер... Но это уже индивидуально...

Цитата
Цитата

Цитата

Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?


Не думаю, что реально без внешних модулей... Также для полноценного решения может не хватить ресурсов самой платы starter kit, в частности возможно самой ПЛИС. Здесь уже требуется более детальная оценка...

Пока обнаруживается только внешний АЦП. Я что-то ещё пропустил?


Не знаю, может и не упустили. А выходной интерфейс будет полностью в цифре или ЦАПы поставите?

Цитата
Цитата

3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif


Цитата
P.S. ИМХО не стоит даже браться:
1. скорее всего не хватит энтузиазма smile.gif Хотя всякое бывает...
2. не тот проект для ПЛИС, да и вообще, с которого стоит начинать...
3. скорее всего потребуется изготовление платы под эти задачи, а это затраты...
4. задачи для коллективной реализации, на коленках я бы не взялся делать...
5. время реализации при отсутвие опыта много больше времени присутствия энтузиазма smile.gif Тут тоже разные случаи бывают...

P.P.S.: прошу прощения, если расстроил... smile.gif

Ну вопрос стоит браться или нет остаётся открытым. На первом этапе хочется окончательно понять во что выльется реализация такого решения (по п. 1 и 2), а потом уже можно будет определиться - стоит ли оно того или легче просто купить монитор с RGB входом и поддержкой P-i-P (благо такие сейчас уже есть и по цене насколько я помню в пределах ~$700) smile.gif)


По трудозатратам, купить дешевле однозначно. Но думать Вам...
v_mirgorodsky
Виталий
А вам все еще будет интересно это устройство года этак через полтора? Где-то с полгодика надо будет осваивать основные премудрости ПЛИС, еще месяца четыре займут эксперименты с масштабированием, еще месяца два займет контроллер видеобуффера и так далее. При этом Вы вероятно где-то работаете и не сможете уделять этому занятию слишком много своего времени.

Посему поддерживаю мнение oval экономически выгоднее просто купить подобное решение, если оно есть в продаже, или таки найти место для телевизора, или смириться с использованием компьютера.
EvgenyNik
Может быть, просто посмотреть в сторону внешних ТВ-тюнеров?
Однажды только делал не самый сложный фильтр для видеосигнала, но даже в нём подводных камней было - мама, не горюй... В итоге - сделал, но пришлось вносить коррективы в начальную постановку ТЗ.
Над этим (фильтры и интерполирование изображений) трудятся целые институты и огромные подразделения крупнейших гигантов. Часть их продукции доступна в дешёвом варианте (опять-таки, за счёт массовости). И пытаться их переплюнуть - благородно, но малоперспективно, особенно в одиночку и без предшествующего опыта.
san822
Надо посмотреть в сторону DVD-плеера с VGA-выходом.
smile.gif

Таких сейчас много и цены весьма доступные.

Вот первый попавшийся мне, например:

DVD-плеер XORO HSD 2100

_http://www.krivoy-rog.com/cgi-bin/news/viewnews_frame.cgi?id=EEuuAEuAEkuhmhJYwI&tmpl=frame&style=category_style_frame
Flood
Цитата(Виталий Пономарёв @ Feb 28 2007, 12:41) *
Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024), при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


1. Существуют DVD-плееры с VGA или DVI/HDMI выходом, обычно это аппараты с ценником от 100уе. VGA наихудший вариант, а самый лучший - DVI/HDMI с upscale-масштабированием DVD-сигнала до 720p/1080i. Вариант с HDMI нужно проверять - будет ли работать с DVI выходом монитора.
2. Обычно в мониторах уже есть такая функция - включение или выключение масштабирования.
3. Нууу, к этому уже сложнее придумать навскидку готовое решение, но возможно существует и такое smile.gif

В результате совершенно нет необходимости применять FPGA - все уже есть готовое smile.gif
А учиться наверное стоит на более простых вещах (хотя сам хочу начать и не знаю с чего).
KuzmaPrytkov
Цитата(iosifk @ Feb 28 2007, 17:15) *
Торопиться с осциллографами пока не нужно, т.к. можно использовать встроенный в ПЛИС логический анализатор. В ксайлинксовском софте должна быть его поддержка.

А можно по подробней про логический анализатор
oval
Цитата(KuzmaPrytkov @ Nov 24 2007, 18:46) *
А можно по подробней про логический анализатор


Применительно к ПЛИС Xilinx смотрите тут.
KuzmaPrytkov
Интересует версия 9.2i для вин32
rezident
Может я не совсем в тему, но, например, у моего монитора в который я сейчас смотрю, кроме VGA-входа имеются еще и ТВ-тюнер, видеовход для композитного сигнала и вход S-video - подключай DVD-проигрыватель и смотри. Монитор Hyundai ImageQuest L17T. Причем это монитор НЕ новый, ему больше 3-х лет. Если хочется именно смотреть, а не просто разрабатывать ради удовлетворения своей прихоти/любопытства/самообразования/самоутверждения, то проще купить уже готовое. ИМХО конечно же.
rv3dll(lex)
не знаю насчёт интузиазма - а знаний точно не хватит!!!!
bav
На Вашем месте я бы не стал заморачиваться с FPGA, проще поставить DSP с двумя (тремя для функции картинка в картинке) видео портами, программно расширить изображение. Это будет по временным затратам быстрее и проще.

Представьте сами что Вам потребуется:

- сделать нормальный видеопорт (видеоконтроллер) на вход

- сделать контроллер памяти

- сделать видеопорт на выход (видеоконтроллер)

- программно сшить полукадры

- программно изменить разрешение (даже билинейная интерполяция на ПЛИС выглядит достаточно мрачно)

- синронизировать кадры входные с выходными (тройная буферизация на вход, обработка, тройная буферизация на выход)

- а если будет второй источник сигнала и Вы захотите увидеть картинку в картинке - еще тройной буфер.

Думаю, это все проще писать, читать и исправлять ошибки в C++ коде, чем на HDL. Если не верите, попробуйте написать (не самое сложное) контроллер памяти, в который идет два потока и на выход третий поток данных, и все с разными частотами.
ViKo
По поводу осциллографов - www.auris.ru - там есть приличные осциллографы, сам один такой имел, характеристики во многом получше многих стационарных, но пользоваться неудобно, это беда всех компьютерных прибамбасов.
По поводу буфера в ПЛМ - можно сделать двухпортовое ОЗУ, в Altera, например, это можно без проблем, в Xilinx, наверняка, тоже.
Нужны АЦП на входе, и, естественно, на выходе нужны ЦАПы быстрые. А все это - не дешевые вещи.
Что касается идеи вообще - вряд ли стоит этим заниматься.
Mukhanov
Цитата(bav @ Nov 26 2007, 10:05) *
На Вашем месте я бы не стал заморачиваться с FPGA, проще поставить DSP с двумя (тремя для функции картинка в картинке) видео портами, программно расширить изображение. Это будет по временным затратам быстрее и проще.

Представьте сами что Вам потребуется:

- сделать нормальный видеопорт (видеоконтроллер) на вход

- сделать контроллер памяти

- сделать видеопорт на выход (видеоконтроллер)

- программно сшить полукадры

- программно изменить разрешение (даже билинейная интерполяция на ПЛИС выглядит достаточно мрачно)

- синронизировать кадры входные с выходными (тройная буферизация на вход, обработка, тройная буферизация на выход)

- а если будет второй источник сигнала и Вы захотите увидеть картинку в картинке - еще тройной буфер.

Думаю, это все проще писать, читать и исправлять ошибки в C++ коде, чем на HDL. Если не верите, попробуйте написать (не самое сложное) контроллер памяти, в который идет два потока и на выход третий поток данных, и все с разными частотами.


Сам сейчас этим занимаюсь, жуть, зато относительно дешево. Тоже вот на давинчи поглядываю, но зато относительно дорого.
Serg_greS
Цитата
Нужны АЦП на входе, и, естественно, на выходе нужны ЦАПы быстрые. А все это - не дешевые вещи.

Ну да, вот например АЦП h__p://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId=610&uiTemplateId=NODE_STRY_PGE_T
и ЦАП h__p://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId612&uiTemplateId=NODE_STRY_PGE_T
Цена вопроса от 3-х до 8 $, у нас TVP7000 и THS8135 можно купить за ~10$ каждый, но можно и freesamples заказать
Цитата
Что касается идеи вообще - вряд ли стоит этим заниматься.

Не стоит?? сомневаюсь, посмотрите на количество просмотров и поймете насколько интересна и актуальна эта тема, тем более что готовые девайсы стоят у буржуев в среднем от 700 евро если содержит кроме vga еще и dvi
rv3dll(lex)
Цитата(Serg_greS @ Nov 27 2007, 08:11) *
Ну да, вот например АЦП h__p://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId=610&uiTemplateId=NODE_STRY_PGE_T
и ЦАП h__p://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId612&uiTemplateId=NODE_STRY_PGE_T
Цена вопроса от 3-х до 8 $, у нас TVP7000 и THS8135 можно купить за ~10$ каждый, но можно и freesamples заказать

Не стоит?? сомневаюсь, посмотрите на количество просмотров и поймете насколько интересна и актуальна эта тема, тем более что готовые девайсы стоят у буржуев в среднем от 700 евро если содержит кроме vga еще и dvi


не ставь цап на выход - вот тебе и DVI ))))

мысль сделать что-то подобное меня посещала - только оказалось что достаточно просто купить обыкновенный ТВ тюнер - который работает на svga монитор без компьютера - 100$ у него есть вход видео и не один - а выход переключается в несколько режимов
я вскрывал такой прибор - и микросхем по 240 ног там ни одна! если хотите помучаться -затратив эти 700 евро и времени вагон - удачи
ViKo
Да, цена АЦП и ЦАП выглядит привлекательной.
И просмотров много! Тема интересная, вот и смотрят все.
И все же, я бы не стал этим заниматься. По-моему, просто не выгодно. Даже если и сделаешь, не разбогатеешь. Так может лучше сделать что-то, приносящее доход?

DVD плейер выводит картинку телевизионного разрешения. Правильно? 720х576 пикселов?
И как эту картинку не масштабируй, качество ее останется на том же уровне. Может стать только хуже. И что мы увидим на крутом мониторе???
rv3dll(lex)
Цитата(ViKo @ Nov 28 2007, 19:16) *
Да, цена АЦП и ЦАП выглядит привлекательной.
И просмотров много! Тема интересная, вот и смотрят все.
И все же, я бы не стал этим заниматься. По-моему, просто не выгодно. Даже если и сделаешь, не разбогатеешь. Так может лучше сделать что-то, приносящее доход?

DVD плейер выводит картинку телевизионного разрешения. Правильно? 720х576 пикселов?
И как эту картинку не масштабируй, качество ее останется на том же уровне. Может стать только хуже. И что мы увидим на крутом мониторе???



современные мониторы совсем не думают подать 600*800 на монитор 1200*1600 тоже бесполезно он не делает кратности и мылит
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.