9zip.ru Инструкции Вывод видео на телевизор
Генeральная идея - использовать SPI для быстрого последовательного вывода. К сожалению, оказалось, что SPI не умеет выводить биты непрерывно - между байтами существует разрыв (минимум полбита). Кроме того, SPI после передачи байта оставляет выход в последнем состоянии...
Для чистого алфавитно-цифрового дисплея - было бы ничего, но псевдографика выглядит просто ужасно! А хотелось :o))
Пришлось, как это было ни обидно, привесить-таки еще одну микросхему. Типа "Исключающее ИЛИ". Теперь можно было выводить четные байты через SPI, а нечетные - через простую ногу порта. А последний бит SPI компенсировать инвертированием этой ноги... Страшно неудобно, но...
[ схема и исходник - в процессе ] Прежде, чем посмотреть на схему, несколько замечаний к ней:
Здесь не нарисованы цепи питания, сброса и разъем для внутрисхемного программирования - они стандартные.
Процессор работает с увеличенной тактовой частотой (12 мегагерц). Я пробовал на трех микросхемах, и все они заводились стабильно (и даже внутрисхемно программировались). Хотя гарантий, конечно, нет никаких.
Микросхему "Исключающее ИЛИ" лучше брать импортную серии Fast с хорошим выходом. Тогда не будет "хвостов" и иголок в видеосигнале. На плате, которая на картинке, стоит КР555ЛП5 с эммитерным повторителем на выходе (иначе появлялись "хвосты"). Рядом с микросхемой и процессором повесить конденсаторы на питание.
Выходы "Video" и "Sound" я пихал в телевизор через стандартные входы типа "колокольчик". Кабель для видео лучше взять готовый экранированный.
Оставались мелочи... Оформить процедуру как одно прерывание, сделать чтобы файл линковался с проектами AVR-GCC, нарисовать и закодировать шрифт, добавить звук - все это отняло немало времени, но...
Но в результате получился готовый к использованию файл. То что вы видите на первой картинке - результат работы маленького примера. Пример компилировался AVR-GCC 3.3.
Программа генерит видео с кадровой частотой 50 Гц, 312,5 строк в кадре. Это соответствует нашему (российскому) стандарту. Я не гарантирую, что любой телевизор может это показать, хотя, как правило, современные телевизоры понимают все распространенные стандарты.
И напоследок несколько замечаний по поводу программирования:
Весь PORTD занят (несмотря на то, что используется одна нога).
Не используйте другие прерывания - они могут заблокировать или задержать прерывание от таймера 1, которое делает видеосигнал.
10 нравится?
6 01.02.2015 ©
9zip.ru Авторские права охраняет Роскомнадзор
| Понравилась статья? Кащей говорит: поделись с друзьями! |
|
, Электродвигатель питается от сети переменного тока напряжением 220 В частотой 50 Гц. Под крышкой центрифуги установлен выключатель, блокирующий включение двигателя при открытой крышке. Установкой требуемой выдержки времени подготавливают цепи включения реле и нагревателя.