Авторизация


...

Кто на сайте?

Сейчас 37 гостей и ни одного зарегистрированного пользователя на сайте

Статистика

-Посетители : 23863
-Материалы : 209

Пользователь сайта продает...

  LUKEY-936D

Пользователь сайта покупает...

Алгоритм вывода информации на экран телевизора

Автор: Николай Викторов Просмотров: 3469

 

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

 Итак начнем.

 

Есть два основных варианта вывода информации на экран телевизора , это:

 

  • - наложения на проходящий видеосигнал
  • - формирование видеосигнала с отображением необходимой информации

 

В чем отличия вариантов? В-первую очередь в том , что в первом случае видеосигнал  поступает от внешнего устройства и необходимо только синхронизироваться для вывода информации , а во-втором - необходимо его сформировать, что влечет за собой привлечение значительных ресурсов микроконтроллера для создания полного телевизионного сигнала, с точностью до долей мкс..

 

 

Рассмотрим первый вариант:

 

 

Наложение графической информации на проходящий видеосигнал.

 

 

Для этого необходимо синхронизироваться с проходящим видеосигналом и в нужном месте вывести нашу графику. Как это сделать? Нужно из проходящего видеосигнала выделить вертикальные (кадровые) и горизонтальные (строчные) синхроимпульсы и, с их помощью, "привязать" нашу графику. С помощью вертикального импульса мы определяем начало кадра (полукадра) , с помощью горизонтального - момент начала вывода  информации .Проще говоря, мы ждем вертикального синхроимпульса , после которого просто считаем «строки», и в нужной строке начинаем выводить графику. Для выполнения этой задачи проще всего (на мой взгляд) использовать  специализированную микросхему LM1881 (что и реализовано в проекте «Термометр с выводом показаний на экран телевизора ») .

Ниже приведена структурная схема синхронизации вывода информации и наложения ее на проходящий видеосигнал.

 

 

 

На  вход микросхемы LM1881  подается проходящий видеосигнал  .Вход практически не вносит изменений  в видеосигнал и имеет высокую чувствительность. С выходов Vsync(3)  и Csync(1) снимаем  необходимые нам вертикальные и горизонтальные синхроимпульсы, которые подаем на микроконтроллер (в данном случае на входа  INT0, INT1 соответственно). Микроконтроллер, при появлении импульса  на входе INT0 (вертикальный синхроимпульс), прерывает выполнение основной программы и начинает отсчитывать синхроимпульсы, поступающие на вход INT1 (местоположение по вертикали ). При достижении необходимого по счету импульса (к примеру в выше упомянутой программе это 255 строк), делаем необходимую паузу (местоположение по горизонтали) и начинаем выводить графику. Следует отметить , что каждая строка повторяется дважды в каждом поле (полукадре) , это необходимо для правильного соотношения графики. В момент предполагаемого вывода графики включается «фон» .Для чего это нужно ? В первую очередь для ограничение уровня «белого». Проходящий видеосигнал в нужном нам месте «притемняется», и это дает нам возможность вывести графику на любом фоне видеосигнала. Как это выглядит в программном коде, можно посмотреть в статье «Термометр с выводом показаний на экран телевизора». Главная сложность состоит в том , что длина активной  части строки (то что мы видим на экране ) всего 52 мкс. В этой связи необходимо применить «скоростной» микроконтроллер , чтобы вывести как можно больше информации (разрешение). По этому и были применены МК PIC18f46k20  (видеоадаптер) ,  PIC18f25k20, позволяющие работать при тактовой частоте 64 MHz.

Думаю, с синхронизацией разобрались. Теперь главный, наверное, вопрос, который многие задают: «Как технически реализован вывод определенной информации ? » .

Если рассматривать опять же вышеупомянутый пример, то использован следующий алгоритм:  Побайтно  из ОЗУ  (видеопамять)  считывается  данные, всего 24 байта на каждую строку, каждый бит в байте «несет» информацию об одном «пикселе» и выводится на экран методом сдвига (черно-белый вариант). Попробую опять же своими словами. Область ОЗУ состоит из "0" и "1", когда выводится "0", то на экране телевизора черная точка , когда "1", то светлая точка, если в ОЗУ одни ноли, то и на экране соответственно ничего нет, а если одни единицы, то на экране наша графика будет выглядеть белым пятном. Можно сказать, что в данном случае у нас выводится растровое изображение. Для того, чтобы вывести текстовую информацию, необходимо подготовить и обработать программным образом текстовую информацию и после этого отправить ее в  в ОЗУ (видеопамять). Как это сделать, можно почитать в статье "ПП обработки символьной информации."

Что касается  цветного  варианта , то для отображения одного «пикселя» необходимо задействовать весь байт. Часть бит байта будет нести информацию о цвете, другая часть - о яркости видеосигнала (в этом случае можно задействовать ограниченную область экрана из-за нехватки памяти ОЗУ в микроконтроллере) и добавить кодер ПАЛ в Вашу конструкцию , можно даже этот. Для изготовления большинства  конструкции достаточно черно-белого варианта.

 

Формирование видеосигнала с отображением необходимой информации.

 

 

 

Как видно из схемы , в этом варианте не надо синхронизироваться с проходящим видеосигналом , но это не значит, что в этом варианте проще реализовать вывод информации . Наверное,  сложней, ведь кроме вывода информации, необходимо сформировать полный видеосигнал со всеми техническими параметрами согласно "ГОСТ" , иначе не каждый телевизор (монитор) сможет распознать наш видеосигнал . Алгоритм обработки тот же что и в первом варианте . Но если в первом варианте МК может свободно выполнять различные ПП (измерения, обработка и т.д.) , то в этом все ограничено временными интервалами .Более подробно в статье "Видеоадаптер на PIC18F46k20". Опять же все зависит от задач. И какой вариант использовать, решать программисту.

Адаптация своего проекта .

Допустим необходимо "адаптировать" свой проект, ранее использовавший в качестве визуального отображения, к примеру, LCD . Что для этого необходимо сделать? Неплохо, если данный проект работает на рекомендованных микроконтроллерах с производительностью 16 MIPS, если нет, то необходимо проект сначала  переделать под них.

 

 

 

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

 

Вопросы можно задать на форуме.

Случайные статьи....

Prev Next

Термометр на PIC18F25K20 с применением видеоадаптера.

24-07-2011 Николай Викторов

Термометр на PIC18F25K20 с применением видеоадаптера.

Данная статья это продолжение статьи «Видеоадаптер на микроконтроллере PIC18F46K20» . В качестве примера рассмотрена  работа термометра   DS18B20 на микроконтроллере PIC18F25K20.  Алгоритм работы устройства  мало чем отличается от работы с ЖКИ . Инициализация видеоадаптера заключается в задержке,  длительностью 600 мкс , она...

Получение синусоидального сигнала с ЦАП микроконтроллера.

14-01-2016 Николай Викторов

Получение синусоидального сигнала с ЦАП микроконтроллера.

В некоторых микроконтроллерах есть встроенные модули DAC(цифро-аналоговый преобразователь) в частности PIC12F1822  о котором далее пойдет речь  и хотя в данном МК разрядность модуля не велика, но все равно можно получить относительно неплохой синусоидальный сигнал. Вообще сам метод применим и к...

Пробник для диагностики состояния электролитических конденсаторов

02-10-2011 Super User

Пробник для диагностики состояния электролитических конденсаторов

 КОНКУРС   Предлагается прибор-пробник, обеспечивающий диагностику состояния электролитических  конденсаторов без выпаивания конденсаторов из печатной платы.  Неисправность электролитических конденсаторов является одной  из главных причин выхода из строя  радиоэлектронной аппаратуры (РЭА). Особенно это актуально для конденсаторов, которые находятся в схемах импульсных источников  питания в...

1-Wire эмулятор

04-05-2012 Sergey Roslik

1-Wire эмулятор

     Уникальность микросхем Dallas с интерфейсом 1-Wire заключается в необходимости использования для связи с ними только одной сигнальной линии и общего проводника. Питание и связь могут осуществляться через одно соединение. Режим связи – асинхронный, полудуплексный, который строго следует схеме...


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru