ReadMe

Обзор

Подготовка

Блоки:
   Главный разъём
   Тюнер
   Видеопроцессор
   Синхронизация
   * OSD
   Видеоусилитель
   УНЧ
   Сисконтроллер
   Дежурный БП

Плата

Сборка и
настройка

Оценка
стоимости

Фотоальбом

Теория

OSD - On Screen Display - устройство, позволяющее формировать изображения разнообразных значков на экране ТВ. Как правило, OSD-контроллер входит в состав системного контроллера, но в случае данной разработки это не так. OSD-контроллер можно было бы собрать на отдельных микросхемах (~10 корпусов ТТЛ), но это теория. На практике удалось приобрести микросхемы stv9425 (хотя они и стоили почти 140 рублей!!!). Это - не единственная интегралка для OSD, довольно длинный список мне удалось найти в инете:

(1)===================
STV9421, STV9422, STV9425, STV9428, STV9429 (SGS-Tompson) 
mtv003

STV5730 (SGS-Tompson)
LC74775, LC74776 (Sanyo)

(2)===================
STV9410 (SGS-Tompson)
LC74763 (Sanyo)
LC74781 (Sanyo)

(3)===================
M35052, M35053, M35054, M35055 (Mitsubishi)

(4)===================
PCA8514, PCA8515, PCA8516 (Philips)
PCA8517 (Philips)
KS2501 (Samsung)
uPD6461, uPD6462 (NEC)

(5)===================
STV9420, STV9424, STV9426, STV9427 (SGS-Tompson)
MC141543 (Motorola)
MC141545, MC141547, MC141549 (Motorola)
MC141540, MC141541 (Motorola)
M35045 (Mitsubishi)
LC74772 (Sanyo)

(6)===================
STV9421, STV9422, STV9425, STV9428, STV9429 (SGS-Tompson)
MC141542, MC141546, MC141548 (Motorola)

но, как обычно, выбор пал на ту единственную, к которой удалось найти описание и которая была в продаже.

Основное отличие контроллера OSD от, например, видеокарты в компьютере, состоит в том, что видеокарта сама генерирует сигналы развёртки, под которые подстраивается монитор, а OSD-контроллер должен подстраиваться под уже имеющиеся сигналы, полученные от источника основного изображения. Только так можно аккуратно наложить картинку от OSD на картинку от ТВ-центра.

stv9425

Это довольно продвинутая микросхема. Она существует в нескольких модификациях, но купить удалось только самую сложную версию.

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

Итак, что в ней интересного:

  • Она предназначена для формирования изображения в разнообразых условиях, включая компьютерные мониторы. Поэтому верхний предел частоты вывода пикселей - 50 МГц (возможно, вы помните, что верхняя частота ТВ-видео - 5-6 МГц). Мало того, она ещё и пытается точно поддерживать фазы пикселей, поэтому верхняя частота, которая присутствует на кристале - ~200 МГц. Отсюда грустный вывод - несмотря на невысокое энергопотребление, эта микруха "свистит" помехами в широчайшем частотном диапазоне. Впрочем, этот шум давится без особых хлопот.
  • Тем, кто привык к компьютерной графике, с её фиксированной привязкой - адрес_точки <-> позиция_на_экране, может показаться непривычным механизм видеопамяти в этом контроллере - он весь строится на указателях. Что вполне логично - указатель поменять быстрее, чем перемещать содержимое блока памяти. Первый указатель сидит в управляющих регистрах - он указывает на начало видеопамяти. Затем в видеопамяти сидят указатели на строку либо spacer (пропуск нескольких строк), в самой строке живут символы, включая такой интересный символ, как "конец строки" (т.е. до конца данной строки уже ничего не анализируется).
  • В документации нет такого понятия как "максимальное разрешение". Дело в логике работы контроллера - ведь он не сам формирует длительность строки и кадра.
  • В аттрибутах строки есть такой битик как "двойная высота".
  • Фон символов можно задать как фиксированный так и прозрачный.
  • Поддерживается три дискретных цветовых канала (8 цветов) и канал прозрачности (бит, который управляет коммутатором видеопроцессора).
  • Можно задавать собственные символы, в прошивке есть готовый набор латинских букв и других значков. Но символы расположены не совсем по ASCII.
  • Есть ещё ряд увлекательных регистров, которые позволяют плавно задавать положение картинки, её масштаб, подстраивать внутренние генераторы к развёртке данного аппарата и т.д и т.п.
  • Если вместо правильных знаков OSD рисует махровые бегающие полоски - это означает, что внутренние генераторы не удается согласовать с внешней развёрткой. Причины всего три: внешняя развёртка не поступает на входы OSD, неправильно выполнен сброс OSD (по линии RESET), неправильно заполнены регистры настроек OSD. У некоторых экземпляров ТВ такое иногда случалось. Предположительно, это происходило, если сразу после выключения снова включить ТВ. Вероятно, не успевал разрядится конденсатор сброса... В более поздних экземплярах он был уменьшен. Хотя уже при сборке второго экземпляра была отмечена неточность в расчёте значений регистров настройки. И тоже исправлена.
  • Если при включенном OSD резко портится основной видеосигнал (нет цвета, много резких мелких черно-белых точек - это значит, что шум по шинам питания OSD пролез в видеопроцессор.
  • Памяти (1 кб) и возможностей вполне хватает для того, чтобы подключив внешние генераторы развёртки сделать на базе этой микросхемы самостоятельный видеоконтроллер - например, для использования в качестве встроенного дисплея для бытовой аппаратуры (с небольшим кинескопиком от осцилографа). Такой проект (использование малогабаритного кинескопа вместо светодиодных полос) когда-то (годах в 80-х) был в журнале Юный техник (а может и в другом каком-то...), но он был без вывода значков - только линии уровней сигналов.

Схема включения

Проста, как пять копеек:

Входные транзисторные каскады предохраняют м/с от высоких напряжений сигналов развёртки (а заодно делают фронт сигналов более резким). Их входные делители подобраны так, чтобы переключение транзисторов происходило примерно в середине уровня синхроимпульсов. Кварц просто работает (в ТТД очень мало сказано о его подключении), цепочка после лапки FBLK обеспечивает необходимые уровни для видеопроцессора. Конденсатор питания должен сидеть как можно ближе к кристаллу. Делители на выходе RGB немного уменьшают сигнал, доводя его до уровня основного ТВ-изображения. Линия сброса проста, но, возможно, в версии ATmega её можно было бы заменить управлением со стороны сисконтроллера - тогда бы вообще не потребовалось деталей. ШИМ-источники можно было бы использовать совместно с компаратором в версии AT89 - получился бы недурнецкий АЦП (например, чтобы измерять уровень входного сигнала, как это сделано в версии ATmega), но для этого кода не хватило памяти программ.

NB: в этом ТВ OSD-контроллер не может адекватно работать при отсутствии настройки на станцию. Грустно, но это так. В более правильных ТВ видеопроцессор сам генерирует синхросигналы в отсутствие станции. Здесь они тоже есть, но очень сильно отличные от нужных. Картинка OSD будет рваной и частично уйдёт за пределы видимой области кинескопа.

Владимир