Taula de continguts:

Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos
Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos

Vídeo: Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos

Vídeo: Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos
Vídeo: Probando vga port 2024, De novembre
Anonim
Disseny d'un controlador VGA simple en VHDL i Verilog
Disseny d'un controlador VGA simple en VHDL i Verilog

En aquest instructiu, dissenyarem un senzill controlador VGA a RTL. El controlador VGA és el circuit digital dissenyat per conduir pantalles VGA. Es llegeix des de Frame Buffer (memòria VGA) que representa el marc que es mostrarà i genera les dades necessàries i els senyals de sincronització per a la visualització.

Si esteu cercant el codi de verilog de Verilog / System: visiteu el meu bloc VGA Controller and Video System a Verilog

Pas 1: interfície d'un controlador VGA

A continuació es mostren els principals senyals d’interfície d’un controlador VGA

  • Rellotge Pixel o VGA
  • Senyals HSYNC i VSYNC

Per a la pantalla VGA escollida, primer heu de calcular la freqüència de rellotge de píxels necessària per conduir-la. Depèn de 3 paràmetres: píxels horitzontals totals, píxels verticals totals, percentatge d’actualització de pantalla.

Normalment, F = THP * TVP * Taxa d’actualització

Trobareu la documentació sobre el rellotge de píxels necessària per a diverses pantalles VGA al RAR adjunt.

Els senyals HSYNC i VSYNC es generen a partir del rellotge Pixel. La sincronització dels senyals HSYNC i VSYNC depèn del nombre de paràmetres: Horitzontal i Vertical Frontporch, Horizontal and Vertical Backporch, Horitzontal and Vertical Display Pixels, Horizontal and Vertical Pulse Ampls and Polarities.

Aquests paràmetres estan estandarditzats per a una pantalla VGA triada. Cerqueu aquests documents al RAR adjunt.

Aquests paràmetres són paràmetres configurables a la nostra IP del controlador VGA.

Pas 2: integració del controlador VGA amb una pantalla VGA

Integració del controlador VGA amb pantalla VGA
Integració del controlador VGA amb pantalla VGA

La figura mostra com integrar el controlador VGA amb una pantalla VGA. Necessiteu dos components més per completar el sistema:

  • Frame Buffer: memòria que conté el marc que es mostrarà.
  • Video DAC: DAC que converteix les dades digitals RGB i condueix la pantalla VGA amb senyals analògics RGB al nivell de voltatge adequat.

Un dels DAC de vídeo més senzills i populars és l’ADV7125. És un DAC de 8 bits que converteix les paraules digitals RGB en senyals analògics de 0-0,7 V i condueix la pantalla VGA.

Pas 3: disseny de la memòria intermèdia de marcs

És la memòria que "emmagatzema" la imatge que es mostrarà. Normalment és una memòria RAM o, de vegades, una ROM. Discutirem com dissenyar un buffer de fotogrames per representar una imatge. El buffer de trameses transmet aquesta informació digital a un DAC de vídeo per ordre del controlador VGA.

Primer hem de decidir la profunditat de píxels necessària. Decideix la qualitat de la imatge, la varietat de colors que pot representar un píxel. Per a un DAC de 8 bits, hem de representar els components de color primaris d’un píxel: R, G i B en 8 bits cadascun. Vol dir que un píxel és de 24 bits.

Cada píxel s'emmagatzema de manera contigua a les ubicacions de memòria del búfer de trames.

Suposem que la imatge que es mostrarà és de 800 x 600 píxels.

Per tant, la memòria intermèdia necessària és de 800x600 = 480000 x 24 bits de memòria

La mida total de la memòria és de 800x600x24 = 1400 kB aprox.

Si es tracta d’una imatge en blanc i negre, 800x600x1 = 60 kB aprox.

Bloquejar RAM potser s’utilitza per representar un búfer de trama als FPGA de Xilinx.

Pas 4: notes

  • Es necessiten senyals addicionals al controlador VGA en funció del DAC triat. He utilitzat ADV7125.
  • Afegiu retards de cicle a través de xancles a VSYNC i HSYNC abans de conduir la pantalla VGA. Això es deu a les latències DAC i Memory. Els senyals de píxels s'han de sincronitzar amb HSYNC i VSYNC. En el meu cas, va ser un retard de 2 cicles.
  • Si la memòria intermèdia de trameses de mida determinada no es pot dissenyar a FPGA a causa de la limitació de la mida de la memòria RAM, utilitzeu memòria més petita per representar la imatge i simplement editeu el codi per passar la direcció al límit de la memòria disponible, en lloc del límit del fotograma complet. Això replicarà la mateixa imatge una i altra vegada al llarg de tota la pantalla. Un altre mètode és l’escala de píxels en què cada píxel es replica per mostrar tota la imatge a pantalla completa, amb una resolució menor. Això es pot fer ajustant la lògica d'increment d'adreces al codi.
  • La IP és completament portàtil a tots els FPGA i té un temps verificat fins a 100 MHz a Virtex-4 FPGA.

Pas 5: fitxers adjunts

El RAR conté:

  • Codi del controlador VGA
  • PDF d’estàndards VGA.

Recomanat: