Tartalomjegyzék:

Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés
Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés

Videó: Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés

Videó: Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés
Videó: PLC, egyszerűbb mint gondolnád! ◆ Az alapok 2024, Június
Anonim
Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban
Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban

Ebben az utasításban egy egyszerű VGA vezérlőt tervezünk RTL -ben. A VGA Controller egy digitális áramkör, amelyet VGA kijelzők meghajtására terveztek. A keretpufferből (VGA Memory) olvas, amely a megjelenítendő keretet képviseli, és a megjelenítéshez szükséges adatokat és szinkronjeleket állít elő.

Ha Verilog/System verilog kódot keres: Látogassa meg a blogomat VGA Controller and Video System in Verilog

1. lépés: A VGA vezérlő interfésze

Az alábbiakban bemutatjuk a VGA vezérlő fő interfészjeleit

  • Pixel vagy VGA óra
  • HSYNC és VSYNC jelek

A kiválasztott VGA kijelzőhöz először ki kell számítani a meghajtáshoz szükséges Pixel Clock frekvenciát. 3 paramétertől függ: Összes vízszintes képpont, Összes függőleges képpont, Képernyő frissítési gyakorisága.

Általában F = THP * TVP * Frissítési gyakoriság

A mellékelt RAR -ban keresse meg a különböző VGA -kijelzőkhöz szükséges képpontok óra dokumentációját.

A HSYNC és a VSYNC jeleket a Pixel óra generálja. A HSYNC és VSYNC jelek időzítése a paraméterek számától függ: Vízszintes és Függőleges Frontporch, Vízszintes és Függőleges Hátsó, Vízszintes és Függőleges Képpontok, Vízszintes és Függőleges Szinkronimpulzus szélességek és polaritások.

Ezek a paraméterek egy kiválasztott VGA kijelzőn vannak szabványosítva. Ezeket a dokumentumokat a mellékelt RAR -ban találja.

Ezek a paraméterek konfigurálható paraméterek a VGA Controller IP -n.

2. lépés: A VGA vezérlő integrálása VGA kijelzővel

VGA vezérlő integrálása VGA kijelzővel
VGA vezérlő integrálása VGA kijelzővel

Az ábra bemutatja, hogyan integrálható a VGA -vezérlő VGA -kijelzővel. A rendszer befejezéséhez további két komponensre van szüksége:

  • Keretpuffer: A megjelenítendő keretet tároló memória.
  • Video DAC: DAC, amely átalakítja az RGB digitális adatokat, és a VGA kijelzőt RGB analóg jelekkel hajtja meg a megfelelő feszültségszinten.

Az egyik legegyszerűbb és legnépszerűbb Video DAC az ADV7125. Ez egy 8 bites DAC, amely az RGB digitális szavakat 0-0,7 V analóg jelekké alakítja, és meghajtja a VGA kijelzőt.

3. lépés: A keretpuffer tervezése

A memória az, amely „tárolja” a megjelenítendő képet. Ez általában RAM vagy néha ROM. Megbeszéljük, hogyan tervezhetünk keretpuffert egy kép megjelenítéséhez. A keretpuffer ezt a digitális információt továbbítja a Video DAC -nak a VGA vezérlő parancsára.

Először meg kell határoznunk a szükséges pixelmélységet. Ez határozza meg a kép minőségét, a színek változatosságát, amelyet egy képpont képviselhet. Egy 8 bites DAC esetében egy pixel elsődleges színkomponenseit kell ábrázolnunk: R, G és B egyenként 8 bitben. Ez azt jelenti, hogy egy pixel 24 bites.

Minden pixel összefüggő módon kerül tárolásra a Frame Buffer memóriahelyeken.

Tegyük fel, hogy a megjelenítendő kép mérete 800x600 képpont.

Ezért szükséges a keretpuffer 800x600 = 480000 x 24 bit memória

A memória teljes mérete 800x600x24 = 1400 kB kb.

Fekete -fehér kép esetén 800x600x1 = 60 kB kb.

A blokk -RAM -ok esetleg keretpuffert képviselnek a Xilinx FPGA -kban.

4. lépés: Megjegyzések

  • A választott DAC -tól függően további jelekre van szükség a VGA -vezérlőn. ADV7125 -öt használtam.
  • Add hozzá a cikluskésleltetéseket a VSYNC és HSYNC papucsokon keresztül, mielőtt elindítanád a VGA kijelzőt. Ennek oka a DAC és a memória késleltetése. A pixeljeleket szinkronizálni kell a HSYNC és a VSYNC -vel. Az én esetemben ez 2 ciklus késleltetés volt.
  • Ha az adott méretű keretpuffer nem tervezhető FPGA -n a blokk ram méretének korlátozása miatt, használjon kisebb memóriát a kép megjelenítéséhez, és egyszerűen szerkessze a kódot, hogy a teljes kép határa helyett a rendelkezésre álló memória határán lévő cím fölé görgessen. Ez újra és újra megismétli ugyanazt a képet a teljes képernyőn. Egy másik módszer a képpont -skálázás, amelyben minden pixelt lemásolnak, hogy a teljes képet teljes képernyőn, kisebb felbontásban jelenítsék meg. Ezt úgy lehet megtenni, ha a kódban a címnövelési logikát módosítjuk.
  • Az IP teljesen hordozható minden FPGA-n, és az időzítés 100 MHz-ig ellenőrizhető Virtex-4 FPGA-n.

5. lépés: Csatolt fájlok

A RAR a következőket tartalmazza:

  • VGA vezérlő kódja
  • PDF fájlok a VGA szabványokból.

Ajánlott: