Përmbajtje:

Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: 5 hapa
Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: 5 hapa

Video: Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: 5 hapa

Video: Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: 5 hapa
Video: Kaldaja rrjedh nga poshtë (Çfarë duhet të bëni) 2024, Qershor
Anonim
Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog
Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog

Në këtë udhëzues, ne do të hartojmë një kontrollues të thjeshtë VGA në RTL. Kontrolluesi VGA është qark dixhital i krijuar për të drejtuar ekranet VGA. Lexohet nga Frame Buffer (VGA Memory) e cila përfaqëson kornizën që do të shfaqet, dhe gjeneron të dhënat e nevojshme dhe sinjalet e sinkronizimit për qëllimin e shfaqjes.

Nëse jeni duke kërkuar kodin verilog Verilog/System: Vizitoni blogun tim VGA Controller dhe Video System në Verilog

Hapi 1: Ndërfaqja e një kontrolluesi VGA

Më poshtë janë sinjalet kryesore të ndërfaqes në një Kontrollues VGA

  • Ora Pixel ose Ora VGA
  • Sinjalet HSYNC dhe VSYNC

Për ekranin e zgjedhur VGA, së pari duhet të llogaritni frekuencën e Pixel Clock të nevojshëm për ta drejtuar atë. Varet nga 3 parametra: Pikselë Totalë Horizontale, Piksele Gjithsej Vertikale, Shkalla e Rifreskimit të Ekranit.

Në mënyrë tipike, F = THP * TVP * Shkalla e rifreskimit

Gjeni dokumentacionin mbi orën pixel të nevojshme për ekranet e ndryshme VGA, në RAR të bashkangjitur.

Sinjalet HSYNC dhe VSYNC gjenerohen nga ora Pixel. Koha e sinjaleve HSYNC dhe VSYNC varet nga numri i parametrave: Horizontal dhe Vertical Frontporch, Horizontal and Vertical Backporch, Pixels Horizontal and Vertical Display, Horizontal and Vertical Sync Pulse Widths and Polarities.

Këta parametra janë të standardizuar për një ekran VGA të zgjedhur. Gjeni këto dokumente në RAR të bashkangjitur.

Këta parametra janë parametra të konfigurueshëm në IP -në tonë të VGA Controller.

Hapi 2: Integrimi i kontrolluesit VGA me një ekran VGA

Integrimi i kontrolluesit VGA me një ekran VGA
Integrimi i kontrolluesit VGA me një ekran VGA

Figura tregon se si të integroni VGA Controller me një ekran VGA. Ju duhen dy komponentë të tjerë për të përfunduar sistemin:

  • Frame Buffer: Kujtesa që mban kuadrin që do të shfaqet.
  • Video DAC: DAC që konverton të dhënat dixhitale RGB dhe drejton Ekranin VGA me sinjale analoge RGB në nivelin e duhur të tensionit.

Një nga DAC -të më të thjeshta dhe më të njohura të videove është ADV7125. Shtë një DAC 8-bit që konverton fjalët dixhitale RGB në sinjale analoge 0-0.7 V dhe drejton ekranin VGA.

Hapi 3: Dizajni i Buferit të Kornizës

Theshtë kujtesa që 'ruan' imazhin që do të shfaqet. Zakonisht është një RAM ose ndonjëherë ROM. Ne do të diskutojmë se si të krijojmë një tampon kornizë për të përfaqësuar një imazh. Tamponi i kornizës e kalon këtë informacion dixhital në një video DAC me komandë nga VGA Controller.

Së pari ne duhet të vendosim thellësinë e pikselit të nevojshëm. Ajo vendos cilësinë e figurës, larminë e ngjyrave që mund të përfaqësojë një piksel. Për një DAC 8-bit, ne duhet të përfaqësojmë përbërësit kryesorë të ngjyrave të një pixel: R, G dhe B në 8 bit secila. Do të thotë, një piksel është 24-bit.

Çdo piksel ruhet në mënyrë të vazhdueshme në vendet e kujtesës Frame Buffer.

Supozoni se një imazh që do të shfaqet është 800x600 piksele.

Prandaj Frame Buffer i nevojshëm është 800x600 = 480000 x 24 bit memorie

Madhësia totale e kujtesës është 800x600x24 = 1400 kB përafërsisht.

Nëse imazhi bardhë e zi, 800x600x1 = 60 kB përafërsisht.

Bllokimi i RAM -ve ndoshta përdoret për të përfaqësuar një Frame Buffer në Xilinx FPGA.

Hapi 4: Shënime

  • Nevojiten sinjale shtesë në VGA Controller në varësi të DAC të zgjedhur. Unë kam përdorur ADV7125.
  • Shtoni vonesa të ciklit përmes flip-flops në VSYNC dhe HSYNC para se të drejtoni ekranin VGA. Kjo është për shkak të vonesave të DAC dhe Memory. Sinjalet pixel duhet të sinkronizohen me HSYNC dhe VSYNC. Në rastin tim, ishte 2 cikle vonesë.
  • Nëse Buffer Frame i madhësisë së dhënë nuk mund të dizajnohet në FPGA për shkak të kufizimit të madhësisë së ramit, përdorni memorie më të vogël për të përfaqësuar imazhin dhe thjesht redaktoni kodin për të rrokullisur mbi adresën në kufirin e kujtesës në dispozicion, në vend të kufirit të kornizës së plotë. Kjo do të përsërisë të njëjtën imazh pa pushim përgjatë gjithë ekranit. Një metodë tjetër është shkallëzimi i pikselit në të cilin çdo piksel përsëritet për të treguar të gjithë imazhin në ekran të plotë, në një rezolucion më të vogël. Kjo mund të bëhet duke ndryshuar logjikën e rritjes së adresës në kod.
  • IP-ja është plotësisht e lëvizshme në të gjitha FPGA-të dhe koha vërtetohet deri në 100 MHz në Virtex-4 FPGA.

Hapi 5: Skedarët e bashkangjitur

RAR përmban:

  • Kodi i kontrolluesit VGA
  • PDF të standardeve VGA.

Recommended: