DmitryRЯ вот не участвовал в разработке контроллеров для мониторов, поэтому не возьмусь отвечать за их содержимое. Я могу лишь поделиться опытом, что получается, если взять ПЛИС и выдать развертку на типовой TFT-монитор. Так вот, автоподстройка не может настроиться на правильное отображение картинки, если pixel clock не попадает немного в рекомендованные значения. При этом диапазон регулировок (ручных) самого монитора раз в 20 перекрывает исходную ошибку. Например, разница между 182.5 и 185.25 дает ошибку в 2.5 пикселя при строке в 1920 пикселей, а диапазон регулировок - от -50 до 50 пикселей. Как это объяснить?
Я это объясняю тем, что TFT-монитор имеет ограниченный набор синтезатора частот для pixel clock. И не всегда этот набор может совпасть с той частотой, которая используется видеосистемой. Именно в этом случае никакой автоподстройкой не добиться того, что моя активная область даст ровно столько же пикселей, сколько есть в матрице. И в итоге получается нечеткая картинка. А ведь суть автоподстройки в мониторе именно в том, чтобы выровнять картину и фазы пикселей на экране именно в тех условиях, когда видеосистема выдает их с некоторыми отклонениями от тех параметров, которые ожидаются по GTF.
Что касается уровней, то тут Вы и вовсе, как мне кажется, вводите людей в заблуждение. Вот нарыл интересный документ:
http://www.epanorama.net/links/videosignal.htmlГлавным образом, он интересен там, что там кратко и по сути есть про все видеосистемы, как компьютерные, так и телевизионные. Так вот:
1) Для систем компьютерного отображения используется покомпонентная передача цветов R, G, B уровнями от 0 до 0.7В. Синхронизация при этом бывает трех типов: HSYNC + VSYNC, Composite SYNC, Sync on green. Насколько я понимаю, VGA - это именно отдельные HSYNC + VSYNC, поэтому никаких там подставок в зеленом компоненте нет вообще. Сейчас специально взял и осциллографом посмотрел развертку обычного компа на VGA, совершенно одинаковый размах для всех компонент, плюс никаких подмесов HSYNC в зеленый. Возможно, есть мониторы, которые умеют работать и по Sync on Green (помимо основной HSYNC + VSYNC), но это их собственные фичи, не являющиеся обязательными для всех видеосистем. И не надо людей запутывать.
2) Что касается подставки в зеленом, то она именно для добавления синхронизации и нужна в композитном сигнале. Никакой бланкинг она не маркирует. Вот взгляните на таблицу 9 стр. 18 в даташите на ADV7123. Там вообще идентичны данные выходов для Black level и blank level. То есть, попросту говоря, бланкинг - это не "чернее черного", а просто обычный черный. А вот SYNC - это настоящий 0В, который действительно ниже уровня черного. Но это и есть собственно композитный сигнал уже, а вовсе не обычный VGA.
3) И вообще пример с ADV7123 неудачный. В даташите нет ни одного упоминания, как применять этот чип для разверки VESA и VGA, зато есть упоминание стандартов RS-170 и RS-343A, которые для телевидения, а не для VGA-мониторов. Да, из него тоже можно сделать VGA уровни, но это будет другая схема, нежели приведенная в рисунке 28, с тремя BNC выходами на монитор и композитным зеленым.
zombiДа все у Вас нормально будет, нет там никаких подставок на VGA. Все сигналы от 0В (черный) до 0.7В(белый). Конечно, резисторный ЦАП будет не так хорош, как настоящий, но выглядеть будет похоже.
Вообще, в развертке VGA как таковой ничего сложного нет. Подключил ЦАП, который тянет нагрузку в 37.5 ом, сделал hsync и vsync, и все дела. Немного сложнее с таймингами, поскольку для каждого режима есть рекомендованный pixel clock, и нужно так выбрать базовую частоту, чтобы можно было с помощью PLL в ПЛИС получить частоты для всех нужных режимов. Либо просто поставить внешний синтезатор таких частот, но это место и дополнительные затраты.
Вот тут уже как-то выкладывали документик, который будет полезен для правильной настройки времянок в различных видеорежимах. Все же стандарт от VESA, как-никак...