Гуня

Алгоритм Вывода Изображения На Телевизор

14 сообщений в этой теме

Гуня    1

Здраствуйте! Пришла мне идея присобачить МК (Мега8) к телевизору, начал искать материал на эту тему, порылся по интернету и нашел много интересного! Но в основном всё на английском (самые интересные проэкты), а рускоязычные страницы показывают только как элементарно вывести просто черное или белое поле на ТВ.

Вот что я нашел - вопервых во всех проэктах в основном используют простейший 2-х битный ЦАП на резисторах, на таком ЦАП-е может быть всего 4-ри состояния, чего достаточно для подачи синхроимпульсов, и трех цветов (черного, серого и белого), впринципе мне этого тоже будет достаточно. Теперь ссылки

Для начинающих вот основы, и простенькие програмки, позволяющие увидеть чето на экране ТВ:

http://my-avr.at.ua/publ/1-1-0-25

http://my-avr.at.ua/publ/1-1-0-26

http://www.pic16f84.narod.ru/item_video.htm

http://www.pic16f84.narod.ru/pj_generator.htm

А теперь проэкты намного сложнее, проэкты разрабатывались студентами Кернельского университета :rolleyes: , ного различных видео игр, видео калькулятор и другое:

http://instruct1.cit.cornell.edu/courses/e...age/index2.html

http://instruct1.cit.cornell.edu/courses/e...6Web/index.html

http://instruct1.cit.cornell.edu/courses/e...dwareDesign.htm

http://instruct1.cit.cornell.edu/courses/e...site/index.html

http://instruct1.cit.cornell.edu/courses/e.../pcl7/index.htm

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

Вопрос - кто раньше работал с выводом видеосигналов на телевизор, поделитесь пожалуйста впечатлениями, опытом, исходниками :rolleyes: (асм, си), буду очень благодарен, думаю и народу будет интересно. Предлагаю развивать тему!

В дальнейшем планирую писать исходники как на асемблере так и на СИ (Кодевижн)

Только что нашел проэкт на кодевижене, правда без коментариев http://laserium.narod.ru/videogenerator.html

Изменено пользователем Гуня

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


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

Я тоже сейчас занялся этой задачей...

Только вывод картикок jpg на ящик.

Вот сча в поиске комплектующих, тумаю может поискать декодеры под это дело.

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


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

Думаю, декодеры найти будет тяжеловато, можна увиличить разрядность ЦАП до 8 бит. тогда будет возможность выводить 256 оттенков, но изображение будет черно-белым.

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

http://instruct1.cit.cornell.edu/courses/e...aml66/index.htm

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


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

Ну почему пробывал... Вывел же..

AD724 юзал, там же вроде все ясно по проекту...

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

А мне надо фотку 640х480 вывести...

Но это уже неплохое начало, на очень хорошую инфу Вы дали ссылки.

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


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

Ну незнаю, я эту микросхему врятли гденибуть достану, а от непосредственно из МК выводить это попроще и по доступнее будет) темболие если другие люди делают то почему бы и самому не сделать) особенно интересно было б игру какую нибуть сварганить)) А нащет фотки незнаю... мне чет кажется что нехватит быстродействия, я конечно в телевидиньи не професионал но насколько я понял, посли сигнала синхроимпульса есть 60 мс на строку, и за эти 60 мс нужно успеть передать информацию о цвете и вывести 640 точек

bekor - круто! я зря сомневался нащет цветного изображения! :)

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


Ссылка на сообщение
Поделиться на других сайтах
Загрузка...
bekor    2
bekor - круто! я зря сомневался нащет цветного изображения! :)

эту ссылку мне дал wowa

такчто ему спасибо !

вот еше http://www.belogic.com/uzebox/

но это немношко посложнее ;)

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


Ссылка на сообщение
Поделиться на других сайтах
Ну незнаю, я эту микросхему врятли гденибуть достану, а от непосредственно из МК выводить это попроще и по доступнее будет... :)

Это очень голословное утверждение и глупейшее заблуждение. Разве что по RGB делать. Советую почитать литературу по телевизионным стандартам для начала.

А если вы, парни, решили все это в серьезный проект вылить, то хотя бы, для начала, утвердитесь в каком стандарте собираетесь делать вывод. Чтобы идти в одном направлении. 

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


Ссылка на сообщение
Поделиться на других сайтах
Гуня    1
Ну незнаю, я эту микросхему врятли гденибуть достану, а от непосредственно из МК выводить это попроще и по доступнее будет... :)

Это очень голословное утверждение и глупейшее заблуждение. Разве что по RGB делать. Советую почитать литературу по телевизионным стандартам для начала.

А если вы, парни, решили все это в серьезный проект вылить, то хотя бы, для начала, утвердитесь в каком стандарте собираетесь делать вывод. Чтобы идти в одном направлении. 

Ну лично для себя я решил выводить для начала чернобелое изображение с помощью 2-х битного ЦАП, сегодня сделаю для этого проэктика небольшую платку, фотки буду сюда вылаживать, в тему, ну и вобщем буду эксперементировать)

Народ, за мультицитаты - буду наказывать!!!

Покуда тока предупреждение - устное.

Не надо гадить на форуме!!!!

Мод. Lexi

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


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

Сегодня сделал первый тест! Подключил к мега8 два резистора, на 1 кОм и на 470 Ом, мегу запитал 5-ю вольтами, свободные выводы резисторов соединил вместе и подключил через шнур к ТВ (ТВ-тюнер, видео вход). Получился резисторный 2-х битный ЦАП.

Написал програмку в кодевижн, очень простую, просто ради эксперимента

Вот код:

#include <mega8.h>
#include <delay.h>
void main(void)
{
PORTD=0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D 

DDRD=0xFF;  //Делаем порт D, как выход, чтобы на выходах порта было напряжение 5В 
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
while (1)  //Организовываем бесконечный цикл 

     { 

     PORTD.0=0;     // генерируем синхроимпульс
     PORTD.1=0;
     delay_us(4);   // длина синхроимпульса 4 мс.

     PORTD.0=1;     // уровень чорного
     PORTD.1=0;
     delay_us(8);    // длина 8 мс

      PORTD.0=0;        // уровень серого
      PORTD.1=1;
      delay_us(10);     // 10 мс

      PORTD.0=1;        // уровень белого
      PORTD.1=1;
      delay_us(32);     // 32 мс

      PORTD.0=0;        // уровень серого
      PORTD.1=1;
      delay_us(10);     // 10 мс
     }; 

}

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

Вот что врезультате получилось сфоткать ТВ-тюнером

post-90350-1250848876_thumb.jpg

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


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

Нарисуй схему, по которой собрал устройство.

Изменено пользователем mazzi

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


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

Я же говорю, схема элементарная!

при такой схеме 00 - это синхроимпульс, 10 это черный, 01 - серый а 11 - белый цвет, правда как фидно на скриншоте цвет не белый а светло серый, думаю если немного уменьшить сопротивление R2 то цвет станет чисто белым, впрочем это не важно (тут фишка вот в чем напряжение синхроимпульса 0В, напряжение черного 0.3 В, напряжение для чисто белого должно быть 1В, а все что между 0.3 и 1 будет серым только с разными оттенками)

Схема:

post-90350-1250850889_thumb.jpg

Изменено пользователем Гуня

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


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

Тему временно не буду редактировать, щас занялся другой конструкцией!

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас