добавления текстовой информации в видеоряд
- Сообщения: 3
- Зарегистрирован: Ср ноя 30, 2011 18:05:36
Здравствуйте, подскажите пожалуйста есть ПЛИС FPGA, на ней реализована плата коммутации LVDS to DVI. Стоит задача добавления текстовой информации в цифровой видео поток с датчиков, которые поступают на ПЛИС c RS.
- Реклама
И что вы хотите чтобы вам рассказали? Телепаты в бессрочном отпуске... 
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- Сообщения: 3
- Зарегистрирован: Ср ноя 30, 2011 18:05:36
Как можно решить эту задачу, больше мне ничего писать не надо, если есть куски кода то вообще отлично, просто я в VHDL\Verelog не особо силен, в коде могу разобраться, а вот сам не знаю как реализовать как подмешивать текст в видео поток, примерно представляю, но затрудняюсь в какой момент его надо подмешивать, как подсчитать нужные пиксили для вставки смволов
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Первое что приходит на ум - создать блок генератора текста (1 символ - около 7 байт одного цвета получается) и рассовывать их в определенные участки памыти для изымания. Дальше надо скорее всего решать "аналитическо-графическим способом" - отрисовывать моменты в которые изымать байты
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Тут нет особой сложности, для начала рекомендую прочитать описание дисплейного модуля Радио-80 (кто по-старше помнит такой компьютер) описывался он в журнале Радио, кажется за 1982 год, там все разжевано до безобразия.
Останется только выделить из входного сигнала КСИ и ССИ (опять же есть готовые микрухи для этого) посчитать это безобразие и подмешать сигнал с выхода твоей схемки к основному сигналу.
Останется только выделить из входного сигнала КСИ и ССИ (опять же есть готовые микрухи для этого) посчитать это безобразие и подмешать сигнал с выхода твоей схемки к основному сигналу.
- Реклама
Речь шла о цифровом сигналеGP1 писал(а):Останется только выделить из входного сигнала КСИ и ССИ (опять же есть готовые микрухи для этого) посчитать это безобразие и подмешать сигнал с выхода твоей схемки к основному сигналу.
Топикстартер прикалывается? Вобщем врезать один видеоряд в другой в цифре можно, только это не "кусок кода на Verilog", а целое устройство, соизмеримое по сложности с видеокартой. Нужно сделать фреймбуфер, загонять в него покадрово видео (соответственно раскодировать), потом накладывать текст, и снова превращать в его в соответствующий поток. Если у Вас нет опыта в FPGA, советую оставить эту затею, тк изучать синтез цифровых устройств на таком проекте - это слишком круто.
Все будет только лучше, в крайнем случае - хуже.
Значит:
К топико-стартеру
1) Приложить то что есть - т.е. схему преобразователя / проект прошивки ..
2) Определить свободные ресурсы FPGA - ОЗУ, логические ячейки.
Далее - как вы сказали разбираетесь в коде,
3) Уже должно быть - счетчик точек, счетчик строк
3.1) делаем вывод точки в нужной позиции - т.е. когда счетчики соответствуют выбранной позиции выводить не то что сейчас , а вашу точку..
3.2) Далее усложняем - вывод нескольких точек (подряд и в разнобой), но пока в той же строке
3.3) Ещё усложняем - вывод точек в разных строках
-- в последних двух пунктах, желательно использовать память (если токовая имеется в свободных ресурсах)
3.4) Подвязываем знакогенератор и логику текстовых данных с координатами - к той самой ОЗУ !
4) Далее телепатические способности иссякают, и делаете уже то что вам необходимо !
5
Можно наслаждаться проделанной работой , если вы её сделаете , т.к. описанного алгоритма вполне достаточно для заявленной темы !
К топико-стартеру
1) Приложить то что есть - т.е. схему преобразователя / проект прошивки ..
2) Определить свободные ресурсы FPGA - ОЗУ, логические ячейки.
Далее - как вы сказали разбираетесь в коде,
3) Уже должно быть - счетчик точек, счетчик строк
3.1) делаем вывод точки в нужной позиции - т.е. когда счетчики соответствуют выбранной позиции выводить не то что сейчас , а вашу точку..
3.2) Далее усложняем - вывод нескольких точек (подряд и в разнобой), но пока в той же строке
3.3) Ещё усложняем - вывод точек в разных строках
-- в последних двух пунктах, желательно использовать память (если токовая имеется в свободных ресурсах)
3.4) Подвязываем знакогенератор и логику текстовых данных с координатами - к той самой ОЗУ !
4) Далее телепатические способности иссякают, и делаете уже то что вам необходимо !
5
akimov33, если вы слабо разбираетесь в HDL-языках, то, думается, стыковать между собой готовые куски кода вам будет отнюдь не легче.
То что написал Pe3ucTop, IMHO, должно вписываться в ваше "примерно представляю".
Решение будет зависеть от кода вашего конвертера LVDS-to-DVI, используемой ПЛИС (хватит ли ресурсов), ограниченны вы только ПЛИС или можно ещё что-то использовать, ну, и от "фишек-плюшек" которые вы хотите сделать при выводе инфы (работа при разных разрешениях, цвет и прочее). Как говориться - определитесь с "железом" и "хотелками". Тогда можно будет конкретнее идеи высказать.
То что написал Pe3ucTop, IMHO, должно вписываться в ваше "примерно представляю".
Решение будет зависеть от кода вашего конвертера LVDS-to-DVI, используемой ПЛИС (хватит ли ресурсов), ограниченны вы только ПЛИС или можно ещё что-то использовать, ну, и от "фишек-плюшек" которые вы хотите сделать при выводе инфы (работа при разных разрешениях, цвет и прочее). Как говориться - определитесь с "железом" и "хотелками". Тогда можно будет конкретнее идеи высказать.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- Сообщения: 3
- Зарегистрирован: Ср ноя 30, 2011 18:05:36
то что написал Pe3ucTop входит в мое понимание... Проблемка у меня как написать счетчик который будет в нужный момент будет пропускать пиксели текста(или можно взять стандартные счетчики)? Я так понимаю строки он может считать по сигналу HS, а VS счетчик обнуляется...Прошивка конвертера не сложная, сделанная в смехоте. В ней реализовано мультиплексирование двух сигналов с 2 передатчиков LVDS и на выход один сигнал на DVI трансмиттер, ну еще несколько преобразований с частотой. Плис в проекте XC2V250-4FG256I. Ресурсов должно хватить)
Ну вот, это уже конкретней. 
Ни с LVDS, ни с DVI дело не имел. Если знаете где в нете есть описание - дайте ссылочку, посмотрю в свободную минутку.
Так как у вас конвертер нарисован в схеме, то и вставку текста, думаю, проще будет в схеме к нему пририсовать.
То что вам нужны будут регистры, где будет отражаться координата текущего пикселя - это однозначно. Пропускать пиксели будет не счётчик. Счётчик будет только считать.
Графическое разрешение одинаковое всегда или может меняться? Минимальное? Максимальное? Глубина цвета (мин., макс.)?
Какого размера хотите символы на итоговом изображении?
Какой объём текста надо вывести? Текст распределён по всему экрану, только сверху-слева, или ещё как? Например - весь текст вмещается в 4 строки по 32 символа, разметить слева сверху.
Нужен ли разноцветный текст?
Понятно, что не все ответы на эти вопросы пойдут в дело сразу, но это добавило бы определённости (не только мне, да и вам тоже
)
coredumped, перечитал я ваше последнее сообщение - вы как-то круто загнули.
Автор темы хочет выводить текстовую инфу с датчиков, т.е., IMHO, в худшем (т.е. самом навороченном
) случае надо сделать вывод текста с цветом на весь экран. Экранный буфер никуда не денется, но это текст...
Ни с LVDS, ни с DVI дело не имел. Если знаете где в нете есть описание - дайте ссылочку, посмотрю в свободную минутку.
Так как у вас конвертер нарисован в схеме, то и вставку текста, думаю, проще будет в схеме к нему пририсовать.
То что вам нужны будут регистры, где будет отражаться координата текущего пикселя - это однозначно. Пропускать пиксели будет не счётчик. Счётчик будет только считать.
Графическое разрешение одинаковое всегда или может меняться? Минимальное? Максимальное? Глубина цвета (мин., макс.)?
Какого размера хотите символы на итоговом изображении?
Какой объём текста надо вывести? Текст распределён по всему экрану, только сверху-слева, или ещё как? Например - весь текст вмещается в 4 строки по 32 символа, разметить слева сверху.
Нужен ли разноцветный текст?
Понятно, что не все ответы на эти вопросы пойдут в дело сразу, но это добавило бы определённости (не только мне, да и вам тоже
coredumped, перечитал я ваше последнее сообщение - вы как-то круто загнули.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)



