之前碰到接收VGA時有的電腦可以有的電腦會出現畫面偏移。
先來了解下數字顯示器時序(DMT)
DMT視頻時序有四種:
(1)Positive H & Positive V Syncs
行同步為正極性,場同步為正極性
(2)Negative H & Negative V Syncs
行同步為正極性,場同步為負極性
(3)Negative H & Negative V Syncs
行同步為負極性,場同步為負極性
(4)Negative H & Positive V Syncs
行同步為負極性,場同步為正極性
整幀的時序如下:
注意以下幾點:
(1)邊界都是有效視頻區域。
(2)該圖是以行場同步極性為正為例
場的回掃間隔是這樣的:
第二步:了解時序與像素之間的關系
在VESA Display Monitor Timing Standard 定義了顯示器的不同分辨率的時序。這里我們以分辨率為1920x1080@60Hz為例。
詳細時序參數如下:
Timing Name = 1920 x 1080 @ 60Hz;
Hor Pixels = 1920; //Pixels
Ver Pixels = 1080; //Lines
Hor Frequency = 67.500; //kHz = 14.8 usec/line
Ver Frequency = 60.000; //Hz = 16.7 msec/frame
Pixel Clock = 148.500; //MHz = 6.7 nsec
Character Width = 4; //Pixels = 26.9 nsec ± 0.5%
Scan Type = NONINTERLACED; // H Phase = 1.4 %
Hor Sync Polarity = POSITIVE // HBlank = 12.7% of HTotal
Ver Sync Polarity = POSITIVE // VBlank = 4.0% of VTotal
Hor Total Time = 14.815; // (usec) = 550 chars = 2200 Pixels
Hor Addr Time = 12.929; // (usec) = 480 chars = 1920 Pixels
Hor Blank Start = 12.929; // (usec) = 480 chars = 1920 Pixels
Hor Blank Time = 1.886; // (usec) = 70 chars = 280 Pixels
Hor Sync Start = 13.522; // (usec) = 502 chars = 2008 Pixels
// H Right Border = 0.000; // (usec) = 0 chars = 0 Pixels
// H Front Porch = 0.593; // (usec) = 22 chars = 88 Pixels
Hor Sync Time = 0.296; // (usec) = 11 chars = 44 Pixels
// H Back Porch = 0.997; // (usec) = 37 chars = 148 Pixels
// H Left Border = 0.000; // (usec) = 0 chars = 0 Pixels
Ver Total Time = 16.667; // (msec) = 1125 lines HT–(1.06xHA)
Ver Addr Time = 16.000; // (msec) = 1080 lines = 1.11
Ver Blank Start = 16.000; // (msec) = 1080 lines
Ver Blank Time = 0.667; // (msec) = 45 lines
Ver Sync Start = 16.059; // (msec) = 1084 lines
// V Bottom Border = 0.000; // (msec) = 0 lines
// V Front Porch = 0.059; // (msec) = 4 lines
Ver Sync Time = 0.074; // (msec) = 5 lines
// V Back Porch = 0.533; // (msec) = 36 lines
// V Top Border = 0.000; // (msec) = 0 lines