Генератор ТВ сигнала на микроконтроллере - Телевизионная техника - Схемы бытовых устройств. Генератор ТВ сигнала на микроконтроллере - Телевизионная техника - Схемы бытовых устройств Описание режима CTC

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

Работа генератора и его характеристики.
Генератор подключается к видеовходу телевизора, обычно это разъем типа "тюльпан" или "SCART"
Прибор генерирует шесть полей:
- текстовое поле из 17 строк;
- сетка 8x6;
- сетка 12x9;
- мелкое шахматное поле 8x6;
- крупное шахматное поле 2x2;
- белое поле.

Переключение между полями осуществляется кратковременным (длительностью менее 1с.) нажатием кнопки S2. Удержание этой кнопки в нажатом состоянии более длительное время (дольше 1 с.) приводит к выключению генератора (микроконтроллер переходит в состояние "SLEEP"). Включение генератора производится нажатием кнопки S1. О состоянии прибора (включен / выключен) сигнализирует светодиод.

Технические характеристики прибора:
- тактовая частота - 12 МГц;
- напряжение питания 3 - 5 В;
- ток потрребления в рабочем режиме:
- при напряжении питания 3В - около 5мА;
- при напряжении питания 5В - около 12мА;
- частота кадров - 50 Гц;
- число строк в кадре - 625.

Схема.
Схема очень проста.
Вся работа по формир-
ованию видеосигнала
выполняется программой,
зашитой в микрокон-
троллере. Два резистора
вместе с сопротивлением
видеовхода телевизора
обеспечивают необходи-
мые уровни напряжения
видеосигнала:
- 0 В - синхроуровень;
- 0,3 В - уровень черного;
- 0,7 В - уровень серого;
- 1 В - уровень белого.

Для формирования видеосигнала используется нулевой бит PORTA и целиком весь PORTB. (Этот порт работает в сдвиговом режиме. Несмотря на то, что сигнал снимается только с его нулевого бита, программа использует его весь. Поэтому все биты PORTB настроены как выходы.) Первый бит PORTA используется для индикации состояния генератора. Когда прибор включен, - светодиод горит. Когда прибор выключен, - светодиод погашен. Третий бит PORTA используется для переключения режимов работы генератора и его выключения. Кратковременное нажатие кнопки S2 позволяет перейти от одного поля генератора к другому. При удержании этой кнопки в нажатом состоянии дольше 1 с. прибор выключается (микроконтроллер переходит в состояние "SLEEP"). Чтобы включить генератор необходимо выполнить сброс. Это осуществляется нажатием кнопки S1. Напряжение питания прибора можно выбрать в пределах 3 - 5 В. При этом соответственно должны быть подобраны номиналы резисторов.
3В...– R5=456Ом и R6=228Ом
3,5В – R5=571Ом и R6=285Ом
4В...– R5=684Ом и R6=342Ом
4,5В – R5=802Ом и R6=401Ом
5В...- R5=900Ом и R6=450Ом
Здесь указаны расчетные значения. Реально можно ставить резисторы из стандартного ряда, например для 5В - 910Ом и 470Ом, а для 3В - 470Ом и 240Ом.
Напряжение питания генератора может быть и меньше 3В. Для каждого конкретного PICа минимум следует определять эксперементально. У меня, например, 20МГц-й PIC выпуска 2001 года работал и при 2,3 В.

Прграмма.
Программа формирует 6 полей. Каждое поле состоит из 301 строки (300 информационных строк + одна черная). Вообще расчетное число – 305 (625 строк растра - 15 строк кадровой синхронизации = 610. Информация в кадре выводится через строку (подробнее об этом смотри здесь), поэтому 610 / 2 = 305). Но при таком числе строк размер растра по вертикали получается немного больше того, что формирует видеосигнал, передаваемый телецентром.
Первая строка в каждом поле черная. В это время опрашивается состояние кнопки S2, вычисляется время удержания ее в нажатом состоянии и определяется необходимость перехода от одного поля к другому.
В графических полях есть небольшие искажения вертикальных линий. Это связано с тем, что длина некоторых строк на пару тактов больше остальных из за необходимости установления счетчиков циклов. Вцелом подпрограммы, формирующие графические поля, очень просты, поэтому нет необходимости их коментировать.
Подробнее разберем ту часть программы, которая формирует текстовое поле. Это наиболее сложный участок программы, занимает большую ее часть, использует максимум ресурсов микроконтроллера (вся память данных и значительная часть ОЗУ). Здесь используются фрагменты кода, взятые из игры Pong, которую написал Rickard Gunee.
Текстовое поле состоит из 17 строк, каждая из которых может состоять не более, чем из восьми символов. Символы отображаются через строку, то есть одна строка текста занимает 17 строк растра. (Такое отображение связано с ограниченными возможностями PIC.) Информация о графике символов хранится в памяти программ в разделе таблица. Информация о тексте строк хранится в памяти данных (64 слова = 8 строк по 8 символов). Например в строке 08h (адресами от 08h до 0Fh) записано следующее:.20.60.48.50.90.58.20 20. Каждое значение - это координата (смещение от начала) символа в таблице. Значение.20. соответствует пробелу, .60. - буква "В", .48. - буква "И", и так далее. А все вместе образует "_ВИДЕО__".
Разберем на примере, как выводится текст. Согласно программе, в 12-й текстовой строке экрана необходимо вывести информацию, на которую ссылается строка памяти данных 28h (A0 B8 68 C8 D8 70 E0 D0). Таким образом, в следующих 17 строках растра должен быть выведен текст: " p i c 1 6 f 8 4 ". Это происходит следующим образом. В первой из 17 строк выводится только черный уровень. В эти 64 мкс, пока на экране отображается черная строка, в регистры ОЗУ переписываются "верхние значения" символов: 00h.от "p", 08h от "i", 00h от "c" 18h от "1" и так далее. Во время следующей строки эти данные последовательно передаются в PORTB, то есть на видеовыход. Третья строка снова черная. За время ее выполнения, в буфер переписываются "вторые сверху" значения символов: 00h.от "p", 00h от "i", 00h от "c" 1Ch от "1"… В четвертой строке эти данные выводятся на экран. И так далее, пока вся строка не будет отображена.
Подпрограмма кадровой синхронизации целиком взята из игры Pong, которую написал Rickard Gunee . Эта подпрограмма короткая, но довольно запутанная. Если объяснять, как она работает то, получится еще длиннее и запутаннее. Лучше всего положить рядом текст подпрограммы и рисунок осциллограммы кадровых синхроимпульсов, и не торопясь разобрать каждую строку кода. Скажу только, что подпрограмма начинает выполняться не с верхней строчки, а из середины (:-)), от метки "vertsync".

Разгон PIC16F84.
Как видно из схемы в этом проекте микроконтроллер работает на частоте 12МГц. На сегодняшний день выпускаются три версии PIC16F84: на 4МГц, на 10МГц и на 20МГц. (на 1.1.2002 соотношение цен приблизительно такое: $3.5, $5.3 и $6.3) В своем проекте Pong Rickard Gunee утверждает, что использовал 4МГц-е PIC16F84 и они часами работали на частоте 12МГц без проблем. Я попробовал, и действительно 4МГц-й PIC нормально работает на частоте, которая в три раза (!!!) превышает его допустимую частоту (правда я не стал испытывать судьбу и включал генератор лишь на несколько минут). При этом у 4МГц-го PICа потребляемый ток был на 10 .. 20 % больше, чем у 20МГц-го (отсюда, видимо и ограничение по частоте). Думаю, что 10МГц-й микроконтроллер можно разгонять до 12МГц без риска, но в коммерческих проектах этого, конечно же, делать не стоит.

Изготовление.

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

Работа генератора и его характеристики.
Генератор подключается к видеовходу телевизора, обычно это разъем типа "тюльпан" или .
Прибор генерирует шесть полей:
- текстовое поле из 17 строк;
- сетка 8x6;
- сетка 12x9;
- мелкое шахматное поле 8x6;
- крупное шахматное поле 2x2;
- белое поле.

Текстовое поле. Сетка 8x6. Сетка 12x9.
Шахматное поле 8x6. Шахматное поле 2x2. Белое поле.
Переключение между полями осуществляется кратковременным (длительностью менее 1с.) нажатием кнопки S2. Удержание этой кнопки в нажатом состоянии более длительное время (дольше 1 с.) приводит к выключению генератора (микроконтроллер переходит в состояние "SLEEP"). Включение генератора производится нажатием кнопки S1. О состоянии прибора (включен / выключен) сигнализирует светодиод.
Технические характеристики прибора:
- тактовая частота - 12 МГц;
- напряжение питания 3 - 5 В;
- ток потрребления в рабочем режиме:
. - при напряжении питания 3В - около 5мА;
. - при напряжении питания 5В - около 12мА;
- частота кадров - 50 Гц;
- число строк в кадре - 625.

Для формирования видеосигнала используется нулевой бит PORTA и целиком весь PORTB. (Этот порт работает в сдвиговом режиме. Несмотря на то, что сигнал снимается только с его нулевого бита, программа использует его весь. Поэтому все биты PORTB настроены как выходы.) Первый бит PORTA используется для индикации состояния генератора. Когда прибор включен, - светодиод горит. Когда прибор выключен, - светодиод погашен. Третий бит PORTA используется для переключения режимов работы генератора и его выключения. Кратковременное нажатие кнопки S2 позволяет перейти от одного поля генератора к другому. При удержании этой кнопки в нажатом состоянии дольше 1 с. прибор выключается (микроконтроллер переходит в состояние "SLEEP"). Чтобы включить генератор необходимо выполнить сброс. Это осуществляется нажатием кнопки S1. Напряжение питания прибора можно выбрать в пределах 3 - 5 В. При этом соответственно должны быть подобраны номиналы резисторов.
3В...– R5=456Ом и R6=228Ом
3,5В – R5=571Ом и R6=285Ом
4В...– R5=684Ом и R6=342Ом
4,5В – R5=802Ом и R6=401Ом
5В...- R5=900Ом и R6=450Ом
Здесь указаны расчетные значения. Реально можно ставить резисторы из стандартного ряда, например для 5В - 910Ом и 470Ом, а для 3В - 470Ом и 240Ом.
Напряжение питания генератора может быть и меньше 3В. Для каждого конкретного PICа минимум следует определять эксперементально. У меня, например, 20МГц-й PIC выпуска 2001 года работал и при 2,3 В.

Прграмма.
Программа формирует 6 полей. Каждое поле состоит из 301 строки (300 информационных строк + одна черная). Вообще расчетное число – 305 (625 строк растра - 15 строк кадровой синхронизации = 610. Информация в кадре выводится через строку (подробнее об этом смотри здесь), поэтому 610 / 2 = 305). Но при таком числе строк размер растра по вертикали получается немного больше того, что формирует видеосигнал, передаваемый телецентром.
Первая строка в каждом поле черная. В это время опрашивается состояние кнопки S2, вычисляется время удержания ее в нажатом состоянии и определяется необходимость перехода от одного поля к другому.
В графических полях есть небольшие искажения вертикальных линий. Это связано с тем, что длина некоторых строк на пару тактов больше остальных из за необходимости установления счетчиков циклов. Вцелом подпрограммы, формирующие графические поля, очень просты, поэтому нет необходимости их коментировать.
Подробнее разберем ту часть программы, которая формирует текстовое поле. Это наиболее сложный участок программы, занимает большую ее часть, использует максимум ресурсов микроконтроллера (вся память данных и значительная часть ОЗУ). Здесь используются фрагменты кода, взятые из игры Pong , которую написал Rickard Gunee.
Текстовое поле состоит из 17 строк, каждая из которых может состоять не более, чем из восьми символов. Символы отображаются через строку, то есть одна строка текста занимает 17 строк растра. (Такое отображение связано с ограниченными возможностями PIC .) Информация о графике символов хранится в памяти программ в разделе таблица. Например букве "Т" соответствует такой фрагмент кода: ;Т Смещение 0x88
retlw 0x7F ;.ШШШШШШШ retlw 0x49 ;.Ш..Ш..Ш retlw 0x49 ;.Ш..Ш..Ш retlw 0x08 ;....Ш... retlw 0x08 ;....Ш... retlw 0x08 ;....Ш... retlw 0x08 ;....Ш... retlw 0x3E ;..ШШШШШ.

Информация о тексте строк хранится в памяти данных (64 слова = 8 строк по 8 символов). Например в строке 08h (адресами от 08h до 0Fh) записано следующее:.20.60.48.50.90.58.20 20. Каждое значение - это координата (смещение от начала) символа в таблице. Значение.20. соответствует пробелу, .60. - буква "В", .48. - буква "И", и так далее. А все вместе образует "_ВИДЕО__".
Разберем на примере, как выводится текст. Согласно программе, в 12-й текстовой строке экрана необходимо вывести информацию, на которую ссылается строка памяти данных 28h (A0 B8 68 C8 D8 70 E0 D0). Таким образом, в следующих 17 строках растра должен быть выведен текст: " p i c 1 6 f 8 4 ". Это происходит следующим образом. В первой из 17 строк выводится только черный уровень. В эти 64 мкс, пока на экране отображается черная строка, в регистры ОЗУ переписываются "верхние значения" символов: 00h.от "p", 08h от "i", 00h от "c" 18h от "1" и так далее. Во время следующей строки эти данные последовательно передаются в PORTB, то есть на видеовыход. Третья строка снова черная. За время ее выполнения, в буфер переписываются "вторые сверху" значения символов: 00h.от "p", 00h от "i", 00h от "c" 1Ch от "1"… В четвертой строке эти данные выводятся на экран. И так далее, пока вся строка не будет отображена.
Подпрограмма кадровой синхронизации целиком взята из игры Pong, которую написал Rickard Gunee . Эта подпрограмма короткая, но довольно запутанная. Если объяснять, как она работает то, получится еще длиннее и запутаннее. Лучше всего положить рядом текст подпрограммы и рисунок осциллограммы кадровых синхроимпульсов, и не торопясь разобрать каждую строку кода. Скажу только, что подпрограмма начинает выполняться не с верхней строчки, а из середины (:-)), от метки "vertsync".

Разгон PIC16F84.
Как видно из схемы в этом проекте микроконтроллер работает на частоте 12МГц. На сегодняшний день выпускаются три версии PIC16F84: на 4МГц, на 10МГц и на 20МГц. (на 1.1.2002 соотношение цен приблизительно такое: $3.5, $5.3 и $6.3) В своем проекте Pong Rickard Gunee утверждает, что использовал 4МГц-е PIC16F84 и они часами работали на частоте 12МГц без проблем. Я попробовал, и действительно 4МГц-й PIC нормально работает на частоте, которая в три раза (!!!) превышает его допустимую частоту (правда я не стал испытывать судьбу и включал генератор лишь на несколько минут). При этом у 4МГц-го PICа потребляемый ток был на 10 .. 20 % больше, чем у 20МГц-го (отсюда, видимо и ограничение по частоте). Думаю, что 10МГц-й микроконтроллер можно разгонять до 12МГц без риска, но в коммерческих проектах этого, конечно же, делать не стоит.

Изготовление.
Скачать архив проекта (схема + ".asm" файл + ."hex" файл = 11,7 КБайт) можно . Не забудьте записать информацию о текстовом поле в память данных. О том, как это сделать, сказано в ".asm" файле.

Генератор видеосигнала на микроконтроллере

Источник: http://pic16f84.narod.ru

Для генерации видеосигнала достаточно всего одной микросхемы и двух резисторов - т.е. можно сделать буквально карманный генератор видеосигнала размером с брелок. Такой прибор пригодится телемастеру. Его можно использовать при сведении кинескопа, регулировке чистоты цвета и линейности. Генератор подключается к видеовходу телевизора, обычно это разъем типа "тюльпан" или "SCART".

Прибор генерирует шесть полей:
- текстовое поле из 17 строк;
- сетка 8x6;
- сетка 12x9;
- мелкое шахматное поле 8x6;
- крупное шахматное поле 2x2;
- белое поле.

Переключение между полями осуществляется кратковременным (длительностью менее 1с) нажатием кнопки S2. Удержание этой кнопки в нажатом состоянии более длительное время (дольше 1 с) приводит к выключению генератора (микроконтроллер переходит в состояние "SLEEP"). Включение генератора производится нажатием кнопки S1. О состоянии прибора (включен/выключен) сигнализирует светодиод.

Технические характеристики устройства:
- тактовая частота - 12 МГц;
- напряжение питания 3 - 5 В;
- ток потребления в рабочем режиме:
- при напряжении питания 3В - около 5мА;
- при напряжении питания 5В - около 12мА;
- частота кадров - 50 Гц;
- число строк в кадре - 625

Вся работа по формированию видеосигнала выполняется программой, зашитой в микроконтроллере. Два резистора вместе с сопротивлением видеовхода телевизора обеспечивают необходимые уровни напряжения видеосигнала:
- 0 В - синхроуровень;
- 0,3 В - уровень черного;
- 0,7 В - уровень серого;
- 1 В - уровень белого

Рис. 1. Принципиальная схема генератора

Для формирования видеосигнала используется нулевой бит PORTA и целиком весь PORTB (этот порт работает в сдвиговом режиме). Несмотря на то, что сигнал снимается только с его нулевого бита, программа использует его весь. Поэтому все биты PORTB настроены как выходы. Первый бит PORTA используется для индикации состояния генератора. Когда прибор включен, - светодиод горит. Когда прибор выключен, - светодиод погашен. Третий бит PORTA используется для переключения режимов работы генератора и его выключения. Кратковременное нажатие кнопки S2 позволяет перейти от одного поля генератора к другому. При удержании этой кнопки в нажатом состоянии дольше 1 с. прибор выключается (микроконтроллер переходит в состояние "SLEEP"). Чтобы включить генератор необходимо выполнить сброс. Это осуществляется нажатием кнопки S1. Напряжение питания прибора можно выбрать в пределах 3 - 5 В. При этом соответственно должны быть подобраны номиналы резисторов.
3В - R5=456Ом и R6=228Ом
3,5В – R5=571Ом и R6=285Ом
4В – R5=684Ом и R6=342Ом
4,5В – R5=802Ом и R6=401Ом
5В - R5=900Ом и R6=450Ом
Здесь указаны расчетные значения. Реально можно ставить резисторы из стандартного ряда, например для 5В - 910Ом и 470Ом, а для 3В - 470Ом и 240Ом.

Приветствую всех!
Уважаемые посетители сайта, хочу предложить Вам схему и печатную плату ГТИС (генератора телевизионных испытательных сигналов),который я сделал год назад по просьбе товарища.Была поставлена задача разработать печатную плату,которая должна
вмещаться в корпус "Ranitsa RP-201".(часы - радиоприемник).Т.к. я в свое
время уже собирал универсальный генератор испытательных телевизионных сигналов (версия 2.0 "Радиолюбитель" 1999г. №5 стр.5. Авторы:Chirkov & Larionov)
решил за базовый вариант использовать схему версии 3 (м/c CXA1645M-кодер PAL,
TDA8505 - кодер SECAM)
В качестве генератора - формирователя синхросигнала и сигналов испытательных изображений решил попробовать два варианта:
1.генератор тестовых сигналов -автор: Marcelo Maggi


2.малогабаритный генератор телевизионных сигналов.Автор: Александр Мусатов
(выбор необходимого испытательного сигнала осуществляется двумя клавишами)

Проверил на макетке оба варианта,остановился на втором.
Благодаря разработкам Ю.Чиркова,В.Ларионова,А.Мусатова и появился предлагаемый
генератор.Большое спасибо за их труд!
Файл печатной платы в формате Sprint Layout 3.0 и принципиальные схемы
в формате SPlan .
Самой лучшей программой для мелкосерийного "радиолюбительского" производства
печатных плат является русифицированная Sprint Layout 3.0.Нравится мне эта
программа за возможность разводки по рисунку.Сосканированные рисунки плат из
журналов и другой литературы могут быть использованы для восстановления дорожек
платы или переразводки элементов. Для этого необходимо сканировать изображение
(или использовать любой графический файл,переведя в файл *.BMP),оно будет
показано как фоновое на плате.
Программа SPlan 5.0 представляет из себя редактор принципиальных схем, она
поддерживает макросы, как встроеные,так и пользователя.Скачать программы можно
с сайта--
И если даже, вы уже работали с этими программами, рекомендуется прочитать
все разделы руссифицированых файлов помощи до конца, не исключено что вы найдете
неизвестные ранее возможности программ.С этого сайта можно скачать Sprint Layout
4.0 (русская версия)

Используя программу Sprint Layout 3.0,Вы можете изменять мой вариант разводки
печатных плат.(например,у Вас другой силовой трасформатор,диодный мостик,
корпус)
Схема и печатная плата пока так сказать для затравки.(изменен каскад на
тр-ах V5 и V6).В последующем будут выложены файлы (и доработка)
1.Генератор полного цветового телевизионного сигнала на двух микросхемах
Статья из ж. " РЭТ " №5 2003 г. автор:М.Медведев (формат DJVU)
2.Video pattern generator -автор: Marcelo Maggi
3.Зарубежные интегральные видеокодеры
Статья из ж. " Радиоаматор " №1-3 2002 г.автор:С.М.Рюмик (формат DJVU)
4.Даташиты на м/c TDA8505,CXA1645M в формате DJVU (я преобразовал из PDF -
меньше во много раз занимают места).

Пробник-генератор ТВ сигнала собран на основе микроконтроллере серии pic12f629, и по совокупности габаритов, потребления тока, стоимости изготовления прибора и функционалу для телемастера, просто незаменим. Напряжение питания 3 вольта, т.е. две пальчиковые батарейки. Ток потебления в режиме генерации 11 миллиампер, в режиме сна - всего 3 микроампера.

Принципиальная схема ТВ генератора сигнала

Рисунок печатной платы


Данный пробник умеет генерировать пять картинок, что вполне достаточно для проверки и ремонта строчной, кадровой развёрток телевизора, регулировки сведения и геометрических искажений растра, баланса цвета, контроля прохождения сигналов по цепям телевизора. При кратковременном нажатии на кнопку он просыпается и начинает генерировать первую картинку, при последующих нажатиях на неё картинки переключаютса по кругу. При длительном удержании кнопки, в момент отпускания генератор переходит в режим сна. Также в режим сна он переходит автоматически если он включен более 5 минут.


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