Linux HOWTO


Вертикальная синхронизация:


Возвращаясь к нашей картинке, как нам поместить 247 тиков так это показано на рисунке?

Используя наш пример, имеем, HR = 944 и HFL = 1176. Разница между этими двумя значениями 1176 - 944=232 < 247! Очевидно, что-то здесь нужно подкорректировать. Но что же?

Первым делом надо поднять 1176 до 1184 или опустить 944 до 936. Теперь разница состовляет 1184-936= 248. Ну, что ж, уже ближе...

Затем вместо 3,8, мы используем 3,5 для вычисления HSP; теперь имеем 65*3.5=227. Выглядит получше. Но 248 не сильно отличается от 227. Обычно хватает приблизительно 30 тиков между HR и началом SP и тоже значение между концом SP и HFL. И они должны делиться на 8. Неужели все?

Нет. Теперь давайте проделаем следующее, 936 % 8 = 0, (936 + 32) % 8 = 0 тоже. Но 936 + 32 = 968, 968 + 227 = 1195, 1195 + 32 = 1227. Хм, неплохо. Но не делится на 8, поэтому округляем до 1232.

Но теперь, возможно, у нас появилась проблема, синхроимпульс больше не расположен прямо посередине между h и H. К счастью, взяв калькулятор, мы находим, что 1232 - 32 = 1200 тоже делится на 8 и (1232 - 32) - 968 = 232 еще приемелимо, соответствуя синхроимпульсу длительностью 3,57 микросекунд.

Кроме того, 936/1232 0.76 или 76%, не сильно отличается от 80%, так что все должно быть в порядке.

Более того, при использовании текущей длины кадра , мы устанавливаем для монитора частоту синхронизации в 52.7КГц (= 65МГц/1232), что находится в пределах способностей нашего монитора. Без проблем.

Имея в виду упомянутые выше правила, 936*75%=702, Это наше новое разрешение по вертикали. А 702 * 1.05 = 737 - наше новая вертикальная длина кадра.

Частота обновления экрана = 65МГц/(737*1232)=71.6Гц. Пока все хорошо.

Диаграмма вертикального синхроимпульса аналогична:

|___ __ __ __ __ __ __ __ __ __ __ __ __ |_ _ _ _ _ _ _ _ _ _ _ _ | |_______________________|_______________|_____ 0 VR VFL unit: ticks ^ ^ ^ | | | |<->|<----->| VGT VSP

Синхроимпульс начинается сразу же после данных. VGT - запас по времени для синхроимульса. Большинство мониторов довольствуются VGT=0 (нет запаса) и этот случай мы будем использовать в нашем примере. Некоторым мониторам требуется 2 или 3 тика и ничего страшного, если придется их добавить.

Возвращаясь к нашему примеру: исходя из определения длины кадра, вертикальный тик это время необходимое для прохождения полного горизонтального кадра. Таким образом, в нашем примере он равен 1232/65Mhz=18.95us.

По опыту, вертикальный синхроимульс находится в пределах от 50 до 300 мкс. Давайте, для примера возьмем 150 мкс, что состовляет 8 вертикальных импульсов (150us/18.95us 8).

Некоторые производители вместо количества точек любят приводить кадровые характеристики в виде временных параметров. Вы можете встретиться со следующими терминами:

active time (VAT)

Связанно с VR, но в милисекундах. VAT * VSF = VR.

blanking time (VBT)

Связанно с (VFL - VR), но в милисекундах. VBT * VSF = (VFL - VR).

front porch (VFP)

Это просто VGT.

sync time

Это просто VSP.

back porch (VBP)

Это временной "запас" после вертикального синхроимпульса. Часто равен 0.




Начало  Назад  Вперед



Книжный магазин