Технический форум по робототехнике.
HarryStar » 15 сен 2011, 11:43
Делаю себе модуль с видеовыходом на телик (нужно получить некоторые данные в графическом виде, через СОМ лениво загонять их в комп, там еще придется прогу писать отдельную).
В принципе почти сделал, но есть вопрос.
По стандарту требуются уравнивающие импульсы до и после вертикальной синхронизации.
Обязательны-ли они сейчас?
Раньше я понимаю, они были нужны, но сейчас электроника в теликах покрутела, ей не нужно время что-бы какой-то там виртуальный "луч" успел куда-то переместится и т.д. Я так понимаю в ЛСД телевизорах алгоритмы совсем другие, не как в ЭЛТ.
PS: Я проверил - без них все работает, синхронизация идеальная, вопрос в том, не вредно ли отсутствие уравнивающих импульсов для электроники телевизора.
Michael_K » 15 сен 2011, 12:08
ЭЛТ телевизорам тоже по барабану.
Если вы не делаете чересстрочную развертку (то есть не пытаетесь попасть строками кадра _точно_между_ строками предыдущего), то по барабану. Вы же наверняка не делаете лишние полустроки в кадре.
Добавлено спустя 18 минут 28 секунд:
Это все я написал про ЧБ-картинку. Если про цвет говорить, то тоже можно, только фазы поднесущей цвета будут ползти - эависит от способа генерации/синхронизации поднесущей.
HarryStar » 15 сен 2011, 13:03
Нет, я делаю чересстрочную развертку.
без чересстрочный развертки у меня на 40" изображение стабильно, а на мелком 4.7" без нее мерцает
я вывожу 625 строк, делаю вертикальные импульсы на 1,2, 313 и 314 строках
Добавлено спустя 20 секунд:
конечно речь про ЧБ картинку
Добавлено спустя 5 минут 46 секунд:
а можно ее не делать разве? (чересстрочную развертку) Я просто не знал, везде в описании упоминается она
Michael_K » 15 сен 2011, 15:47
Да, обычно можно - делаете 312 строк в (полу)кадре и не паритесь, хотя это упрощение, конечно.
У вас получается что в одном полукадре 312 строк, а в другом - 313.
А в стандарте по 312,5 строк, поэтому и добавляются выравнивающие строчные в середине строки.
Я бы кадровые сделал пошире, не стесняясь - строк пять, например
HarryStar » 16 сен 2011, 13:49
Действительно все работает и без чередования строк. Программа существенно упростилась.
Передаю 312 строк в каждом кадре, из них 2 строки - кадровая синхронизация
Сделал тестовый вывод - все работает. Получилось пока 32х32х16 разрешение(т.е 16 градаций серого).
Но быстродействия впритык. Мне нужно несколько видеорежимов, в частности еще как минимум 128х64х2 для текстового вывода, но боюсь с побитовым сдвигом на Си не получится. Буду пробовать.
Основной вопрос - такой режим синхронизации без чередования строк не вреден для электроники? Просто после того, как спалил LCD монитор при попытке программного формирования VGA как то побаиваюсь.
PS: Michael_K, Спасибо за подсказку!
HarryStar » 19 сен 2011, 13:56
Продолжаю допиливать свой видео-модуль.
Случайно допустил в программе ошибку и вместо 312 строк стали формироваться 256 (переменную из инт в чар переделал и забыл, что строк больше 256).
Как ни странно все продолжало работать:
1) Частота кадров соотв. пропорционально возросла до 60 Гц
2) Изображение стало намного более стабильным и четким
3) Размер пикселя по вертикали увеличился и соотв в экран убирается только 230 строк
Вопросы:
1) Насколько для LCD телевизора плохо 60 Гц? Я вообще удивлен что он еще показывал.
2) Почему? Как этого добиться на 50 Гцах?
PS: 230 строк сильно неудобней для вычислений чем 312. В 312 я просто оставлял сверху-снизу черные полосы и работал со средними 256 строками, а тут кака, но это ладно я переживу.
Michael_K » 19 сен 2011, 15:27
HarryStar писал(а):Основной вопрос - такой режим синхронизации без чередования строк не вреден для электроники?
нет, не вреден.
HarryStar писал(а):Насколько для LCD телевизора плохо 60 Гц? Я вообще удивлен что он еще показывал.
Вообще, сейчас они все сильно всеядные.
LCD - ничего не сделается (то есть даже если он из синхронизьма выйдет, то не умрет).
Но эта всеядность зависит от времязадающих цепей - я бы не расчитывал, что и другие телевизоры настолько же всеядны.
А вот ЭЛТ телевизор скорее всего не будет разворачивать картинку на весь экран. И это не очень хорошо, хотя, наверное не смертельно (строчная-то у вас не выросла же?)
HarryStar писал(а):3) Размер пикселя по вертикали увеличился и соотв в экран убирается только 230 строк
Это он слишком умный у вас
Наверняка там "многостандартный" чип стоят - они вообще допускают сильные отклонения (сейчас они многие такие).
Я бы все-таки делал 312 из которых рабочих 256 - так и постандартнее и поудобнее (ну, с моей точки зрения).
HarryStar » 19 сен 2011, 15:59
Разобрался. Эта умная падла переключилась в NTCS как наиболее близкий по параметрам к сигналу.
Почитал этот стандарт, подогнал все к нему поточнее - картинка супер, гораздо лучше чем с PAL.
Т.е. сейчас у меня 262 строки по 63.5 мкс, из них 4 - вертикальная синхронизация, получается 59,94 Гц что точно соответствует NTSC.
Только видимое вертикальное разрешение упало до 240 строк - теперь под него подгоняю все вычисления.
Michael_K » 19 сен 2011, 16:28
Может быть вам это и не надо, но я бы скорее ориентировался на квадратные пиксели...
Ну мало-ли - круглый компас псевдографикой нарисовать или еще что-нибудь такое
=DeaD= » 19 сен 2011, 16:49
Круглый компас можно и прямоугольными пикселями нарисовать, главное знать соотношение сторон пикселя
Michael_K » 19 сен 2011, 16:58
Да это-то понятно... Но имхо неудобно, стрелочки получаются кривые... и все такое
Ну может это только мои заморочки
) А может это и ненужно вовсе в данном случае.
Может быть и вообще псевдографика не нужна, и можно оставить промежутки между знакоместами
(обычно так программировать попроще).
HarryStar » 19 сен 2011, 20:17
Пикселы конечно квадратные у меня - так удобней хотябы при подготовке изображений в граф редакторе да и вообще я так привык.
Вопрос еще один возник. При отображение на 40" телике пиксель около 1 см х 1 см и при перепадах яркости у него четко видна граница из за не мгновенного и неравномерного спада и подъема. Вопрос: как сделать, чтоб уровни более четко переключались? Поставить ключи на транзисторах? Сейчас у меня ЦАП на резисторах прямо с выходов МК.
Michael_K » 19 сен 2011, 21:23
эмиттерный повторитель.