Sisukord:

Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis: 5 sammu
Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis: 5 sammu

Video: Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis: 5 sammu

Video: Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis: 5 sammu
Video: Эндоскоп для андроид 2024, Juuni
Anonim
Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis
Lihtsa VGA -kontrolleri disain VHDL -is ja Verilogis

Selles juhendis kavandame RTL -is lihtsa VGA -kontrolleri. VGA -kontroller on digitaalskeem, mis on ette nähtud VGA -ekraanide juhtimiseks. See loeb kaadripuhvrist (VGA -mälu), mis tähistab kuvatavat kaadrit, ning genereerib kuvamiseks vajalikud andmed ja sünkroonisignaalid.

Kui otsite Verilogi/süsteemi verilogi koodi: külastage minu ajaveebi VGA kontrollerit ja videosüsteemi Verilogis

Samm: VGA kontrolleri liides

Järgnevalt on toodud peamised liidese signaalid VGA kontrolleris

  • Pixel või VGA kell
  • HSYNC ja VSYNC signaalid

Valitud VGA -ekraani puhul peate esmalt arvutama selle juhtimiseks vajaliku pikslikella sageduse. See sõltub kolmest parameetrist: horisontaalsete pikslite koguarv, vertikaalsete pikslite koguarv, ekraani värskendussagedus.

Tavaliselt on F = THP * TVP * värskendussagedus

Leidke lisatud RAR -ist dokumentatsioon pikslite kella kohta, mida on vaja erinevate VGA -kuvarite jaoks.

HSYNC ja VSYNC signaalid genereeritakse Pixeli kellast. HSYNC ja VSYNC signaalide ajastamine sõltub parameetrite arvust: horisontaalne ja vertikaalne esiport, horisontaalne ja vertikaalne tagakülg, horisontaalsed ja vertikaalsed kuvaripikslid, horisontaalsed ja vertikaalsed sünkroonimisimpulsi laiused ja polaarsused.

Need parameetrid on valitud VGA -ekraani jaoks standardiseeritud. Need dokumendid leiate lisatud RAR -ist.

Need parameetrid on konfigureeritavad parameetrid meie VGA kontrolleri IP -s.

Samm: VGA -kontrolleri integreerimine VGA -ekraaniga

VGA -kontrolleri integreerimine VGA -ekraaniga
VGA -kontrolleri integreerimine VGA -ekraaniga

Joonisel on näidatud, kuidas integreerida VGA -kontroller VGA -ekraaniga. Süsteemi lõpuleviimiseks vajate veel kahte komponenti:

  • Kaadripuhver: mälu, mis hoiab kuvatavat kaadrit.
  • Video DAC: DAC, mis teisendab RGB digitaalseid andmeid ja juhib VGA -ekraani RGB analoogsignaalidega sobival pingetasemel.

Üks lihtsamaid ja populaarsemaid video -DAC -sid on ADV7125. See on 8-bitine DAC, mis teisendab RGB digitaalsõnad 0–0,7 V analoogsignaalideks ja juhib VGA-ekraani.

3. samm: raampuhvri kujundamine

See on mälu, mis "salvestab" kuvatava pildi. Tavaliselt on see RAM või mõnikord ROM. Arutame, kuidas kujundada kaadripuhver kujutise esitamiseks. Kaadripuhver edastab selle digitaalse teabe VGA -kontrolleri käsul Video DAC -ile.

Kõigepealt peame otsustama vajaliku piksli sügavuse. See otsustab pildi kvaliteedi, värvide mitmekesisuse, mida piksel võib kujutada. 8-bitise DAC-i puhul peame esitama piksli põhivärvikomponendid: R, G ja B 8 bitti. See tähendab, et piksel on 24-bitine.

Iga piksel salvestatakse kõrvuti kaadripuhvri mälu kohtadesse.

Oletame, et kuvatav pilt on 800x600 pikslit.

Seetõttu on vaja kaadripuhvrit 800x600 = 480000 x 24 bitti

Mälu kogumaht on umbes 800x600x24 = 1400 kB.

Mustvalge pildi korral on 800x600x1 = 60 kB umbes.

Blokeeritud RAM -e võib kasutada Xilinxi FPGA -de kaadripuhvri tähistamiseks.

4. samm: märkmed

  • Sõltuvalt valitud DAC -st on VGA kontrolleril vaja täiendavaid signaale. Olen kasutanud ADV7125.
  • Enne VGA-ekraani juhtimist lisage tsükli viivitusi VSYNC ja HSYNC plätude kaudu. Selle põhjuseks on DAC ja mälu latentsus. Pikslisignaalid tuleks sünkroonida HSYNC ja VSYNC -ga. Minu puhul oli see 2 tsükli viivitus.
  • Kui antud suurusega kaadripuhvrit ei saa plokksilmi suuruse piirangu tõttu FPGA -le konstrueerida, kasutage kujutise esitamiseks väiksemat mälu ja redigeerige lihtsalt kood nii, et see ületaks olemasoleva mälu piiril oleva aadressi, mitte täiskaadri piiri. See kordab sama pilti kogu ekraani ulatuses. Teine meetod on pikslite skaleerimine, kus iga pikslit kopeeritakse, et näidata kogu pilti täisekraanil, väiksema eraldusvõimega. Seda saab teha, muutes koodis aadressi suurendamise loogikat.
  • IP on täielikult kaasaskantav kõikides FPGA-des ja selle ajastus on kontrollitud kuni 100 MHz-ni Virtex-4 FPGA-l.

Samm: manustatud failid

RAR sisaldab:

  • VGA kontrolleri kood
  • VGA standardite PDF -failid.

Soovitan: