Standard VGA (Video Graphics Array)

Transkript

Standard VGA (Video Graphics Array)
Standard VGA (Video Graphics Array)
Termínem VGA (Video Graphics Array) je označován jak standard pro zobrazování
informací pomocí počítačové obrazovky, připojované pomocí 15 pinového konektoru, tak i
rozlišení s maticí 640×480 bodů. S obojím přišla na trh firma IBM v roce 1987 poprvé ve
svém modelu IBM PC PS/2. Standard VGA byl posledním grafickým standardem firmy IBM,
který byl přejímán širokým spektrem výrobců hardware. V dnešní době je nepsaným
pravidlem, že veškerý hardware, který má co do činění s počítačovým zobrazováním,
podporuje tento standard bez vynucené přítomnosti specifických ovladačů. Lze to pozorovat
například při spouštění systém Windows, kdy úvodní obrazovka se zobrazuje právě ve VGA
režimu ještě před tím, než jsou zavedeny ovladače grafického adaptéru. Jedná se o
analogovou periférii, která pomocí 3 pinů vysílá barvu daného pixelu (modrá, červená a
zelená v bitových hloubkách – pro naše zadání se jedná o 10-bitové hloubky). Dále obsahuje
dva řídící piny, které zajišťují vertikální a horizontální synchronizaci podle, kterých monitor
určuje kde skončil řádek a kde daný „frame“. Ostatní piny na desce Altera DE2 nejsou
zapojeny.
Obr. 1 Rozložení pinů VGA konektoru na desce Altera DE2
Vykreslování obrazu a časování signálů
Průběh signálů lze rozdělit na několik fází. Na obrázku 2 jsou zobrazeny průběhy
horizontálního vychylovacího a synchronizačního signálu. Signál horizontální synchronizace
je tvořen takto: Nejdříve se provede synchronizace pomocí krátkého impulsu, poté následuje
doba potřebná pro zpětný běh paprsku k přesunu na začátek následujícího řádku (Back
porch). Doba určená k zobrazení informace je následována krátkým čekáním na příchod
dalšího synchronizačního pulsu (Front porch) a celý děj se opakuje. Doby Front Porch,
impuls a Back Porch se souhrnně označují jako doba obnovení paprsku (Retrace time).
Stejně pracuje i vertikální synchronizace, jen s tím rozdílem, že vše se děje pomaleji, protože
mezi dvěma vertikálními impulsy se musí vykreslit obraz na celou obrazovku. Horizontální a
vertikální signál mohou mít různou polaritu. Podle polarity a periody impulsu potom rozlišuje
vnitřní elektronika monitoru jednotlivé režimy zobrazení.
Obrázek 2: Časování VGA monitoru
Bohužel standardizované kmitočty a doby nejsou dodržovány obecně. Monitor se tak
musí vyrovnat s vysokým rozptylem časových parametrů. Na druhou stranu je to výhoda,
neboť není potřeba přesný taktovací kmitočet (který činí 25,175MHz), ale postačí i taktování
25 MHz. Takový signál je výrazně jednodušší syntetizovat, pokud máme k dispozici jeden
krystal například 50 MHz, ze kterého budíme i jiné části zapojení. Tím můžeme ušetřit na
jednotkách pro syntézu hodinového kmitočtu.
Tab. 1. Časování v režimu 640 x 480 x 60Hz
Proces vykreslování obrazu je ilustrován ještě jednou na obrázku 3. Je nutné si
představit vykreslování obrazu jako nepřetržitý tok dat a jako děj, který je sériový – neděje se
tedy, jak již bylo výše zmíněno, najednou pro celou obrazovku.
Obrázek 3: Proces vykreslování obrazu
Signály
Vertikální synchronizace
Signál vertikální synchronizace (dále označovaný také jako VSYNC) určuje frekvenci,
s jakou jsou obnovovány snímky (snímková frekvence). Frekvence tohoto signálu tedy určuje
dobu, za kterou je celý jeden snímek vykreslen. Náběžná (v případě pozitivního
synchronizačního impulzu) hrana tohoto signálu označuje začátek nového snímku. Existuje
značné množství variant možných rozlišení a snímkových frekvencí.
V současnosti se běžně pohybuje snímková frekvence v rozsahu 56 až 120Hz.
Optimální snímková frekvence je minimálně 72Hz – od této frekvence lze bezpečně tvrdit, že
vykreslování je nerozeznatelné lidským okem a není vidět blikání obrazu. Na tento vjem má
vliv ovšem mnohem více faktorů – např. doba zatemnění, plocha obrazu nebo jas.
Je možné vykreslovat celý snímek nebo půlsnímek – toto záleží na tom, zda se jedná
o neprokládané (standardně) nebo prokládané řádkování.
Horizontální synchronizace
Signál horizontální synchronizace (dále označován také jako HSYNC) určuje
frekvenci, se kterou jsou vykreslovány jednotlivé řádky. Tento signál má podobná pravidla
jako VSYNC. Synchronizační signál určuje začátek vykreslovaného řádku. Jeho frekvence je
o několik řádů vyšší než v případě VSYNC a pohybuje se v rozsahu 31,5 až 100kHz.
RGB signály
Každou barvu je možné v případě VGA vyjádřit kombinací signálů RGB (Red Green
Blue) – výsledná barva je dána jejich optickým součtem. Jedná se o tzv. aditivní míchání
barev, kdy při současném dopadu paprsků vzniká nová barva. Intenzita barevného vjemu se
sčítá a jas se zvětšuje. Při plné intenzitě všech složek RGB vznikne bílá barva.
Základní možnosti míchání barev jsou uvedeny v následující tabulce:
Tab. 2. Základní možnosti míchání barev
RGB signály přenáší obrazová data pro každý zobrazovaný bod zvlášť a jsou
analogové. Frekvence s jakou se jednotlivé body vykreslují se pohybuje od 25 do 315MHz.
Signály RGB umožňují přenášet informaci o synchronizaci, tato možnost se ovšem využívá
zřídka a vůbec není podporována ze strany klasických adaptérů v PC.
Než začneme úlohu řešit, musíme si určit jakou budeme mít frekvenci snímků a jak
velké bude jejich rozlišení. Kvůli vertikálnímu a horizontálnímu časování - jak je vidět
v tabulkách 3 a 4 a na obrázku 2 – má vertikální synchronizace stejný typ průběhu jako
horizontální, ale jiný časový průběh, a to v závislosti na uvedených parametrech (a - d).
Doporučujeme použít podle přiložených tabulek VGA 60Hz. Frekvenci 25MHz vytvoříme
nejsnadněji vydělením vstupních hodin (50MHz) dvěma. Pro ostatní frekvence bychom si
museli vytvořit fázový závěs s využitím MegaWizard Plug-In Manageru. Tato frekvence
určuje rychlost vysílaných pixelů.
VGA mode
Configuration
Resolution
HxV
VGA(60Hz)
640x480
VGA(85Hz)
640x480
SVGA(60Hz)
800x600
SVGA(75Hz)
800x600
SVGA(85Hz)
800x600
XGA(60Hz)
1024x768
XGA(70Hz)
1024x768
XGA(85Hz)
1024x768
1280x1240(60Hz) 1280x1240
a
(us)
3,8
1,6
3,2
1,6
1,1
2,1
1,8
1,0
1,0
Horizontal Timing Spec
b
c
d
(us)
(us)
(us)
1,9
25,4
0,6
2,2
17,8
1,6
2,2
20,0
1,0
3,2
16,2
0,3
2,7
14,2
0,6
2,5
15,8
0,4
1,9
13,7
0,3
2,2
10,8
0,5
2,3
11,9
0,4
Pixel clock
(MHz)
25
36
40
49
56
65
75
95
108
Tab. 3. Časové konstanty pro horizontální synchronizaci
VGA mode
Configuration
Resolution
HxV
VGA(60Hz)
640x480
VGA(85Hz)
640x480
SVGA(60Hz)
800x600
SVGA(75Hz)
800x600
SVGA(85Hz)
800x600
XGA(60Hz)
1024x768
XGA(70Hz)
1024x768
XGA(85Hz)
1024x768
1280x1240(60Hz) 1280x1240
a
(lines)
2
3
4
3
3
6
6
3
3
Vertical Timing Spec
b
c
(lines)
(lines)
33
480
25
480
23
600
21
600
27
600
29
768
29
768
36
768
36
1024
d
(lines)
10
1
1
1
1
3
3
1
1
Tab. 4. Časové konstanty pro vertikální synchronizaci
Jelikož v zadané úloze pracujeme pouze s jednou periférií a tou je VGA, které je
obsluhováno integrovaným obvodem ADV7123. Jsou vstupy a výstupy zadání jasně
definovány na: VGA_R[0 - 9], VGA_G[0 - 9], VGA_B[0 - 9], VGA_CLK, VGA_BLANK,
VGA_HS, VGA_VS a VGA_SYNC. Jak se dozvíme v kapitole 5.4 musíme přivést do
integrovaného obvodu vstupní hodinový signál CLOCK_50, který bude určovat rychlost
vysílaných pixelů.
Při programování průběhů obou signálů musíme zajistit, aby při synchronizaci na
monitoru (VGA_HS a VGA_VS) jsme spouštěli synchronizaci i do integrovaného obvodu na
vstupu VGA_SYNC, který vysílá příslušný signál do monitoru. Po dobu synchronizace a
„zakrývacích signálů“ nesmíme vysílat žádnou informaci o barvě, to řešíme nastavením
VGA_BLANK do logické 0.
V programu si musíme dát pozor na ideální rozložení čítacích cyklů, aby se obraz
dlouho nesynchronizoval v monitoru, který by jej vykreslil až po delší době (př.: prodleva 10
vteřin místo 1,5 vteřiny). V závislosti na „chytrosti“ monitorů by obraz nemusel být vykreslen
vůbec.
Using VGA
The DE2 board includes a 16-pin D-SUB connector for VGA output. The VGA
synchronization signals are provided directly from the Cyclone II FPGA, and the Analog
Devices ADV7123 triple 10-bit high-speed video DAC is used to produce the analog data
signals (red, green, and blue). The associated schematic is given in Figure 4.11 and can
support resolutions of up to 1600 x 1200 pixels, at 100 MHz.
Figure 1 VGA circuit schematic
The timing specification for VGA synchronization and RGB (red, green, blue) data can
be found on various educational web sites (for example, search for “VGA signal timing”).
Figure 2 illustrates the basic timing requirements for each row (horizontal) that is displayed
on a VGA monitor. An active-low pulse of specific duration (time a in the figure) is applied to
the horizontál synchronization (hsync) input of the monitor, which signifies the end of one row
of data and the start of the next. The data (RGB) inputs on the monitor must be off (driven to
0 V) for a time period called the back porch (b) after the hsync pulse occurs, which is
followed by the display interval (c). During the data display interval the RGB data drives each
pixel in turn across the row beány displayed. Finally, there is a time period called the front
porch (d) where the RGB signals must again be off before the next hsync pulse can occur.
The timing of the vertical synchronization (vsync) is the same as shown in Figure 2, except
that a vsync pulse signifies the end of one frame and the start of the next, and the data refers
to the set of rows in the frame (horizontal timing). Figures 3 and 4 show, for different
resolutions, the durations of time periods a, b, c, and d for both horizontal and vertical timing.
Figure 2 VGA horizontal timing specification
Figure 3 VGA horizontal timing specification
Figure 4 vertical timing specification
Table 5 ADV7123 pin assigments

Podobné dokumenty

sborník

sborník několik měření z důvodu určení ztrát v asynchronním motoru naprázdno a pro určení závislosti otáček na výkonu. Měření proběhlo při různém stupni zatížení motoru, které bylo vytvořeno kombinací otev...

Více

Nastavení pracovní plochy

Nastavení pracovní plochy Rozlišení monitoru nebo displeje je počet bodů, které mohou být zobrazeny na obrazovce. Udává se jako počet sloupců a počet řádků (svisle a vodorovně).  Při nižším rozlišení (800x600) vidíme ne ob...

Více

Klimatizační jednotky Air handling units

Klimatizační jednotky Air handling units Montáž jednotek smí provádět výhradně odborná firma či osoba, která má oprávnění dle platné legislativy. Veškerá elektrická zapojení smí provádět jen osoba znalá. Elektricky vodivé části vzduchotec...

Více

TANGO - ALTEKO

TANGO - ALTEKO Montáž jednotek smí provádět výhradně odborná firma či osoba, která má oprávnění dle platné legislativy. Veškerá elektrická zapojení smí provádět jen osoba znalá. Elektricky vodivé části vzduchotec...

Více

5 až 25 bodů termín do 9. týdne cvičení, tj. do

5 až 25 bodů termín do 9. týdne cvičení, tj. do  yrow: unsigned(9 downto 0); - 10bitový signál udávající číslo řádku, tedy souřadnici y, pohybující se od 0 do 524. Číslování řádků běží od shora dolů. Řádek nahoře má číslo 0, poslední viditelný ...

Více

Ovládání TRXů YAESU

Ovládání TRXů YAESU o Menu U-42 = HI 2125 L. Toto nastaví HI tón 2125 Hz s injekci LSB. Je nutné použít toto nastavení, takže frekvence stupnice ve zvukové kartě jsou v souladu s nastavením rádia. o Menu U-43 = SHIFT ...

Více