Satura rādītājs:

Vienkārša VGA kontroliera dizains VHDL un Verilog: 5 soļi
Vienkārša VGA kontroliera dizains VHDL un Verilog: 5 soļi

Video: Vienkārša VGA kontroliera dizains VHDL un Verilog: 5 soļi

Video: Vienkārša VGA kontroliera dizains VHDL un Verilog: 5 soļi
Video: Tháo VGA ( Card màn hình ) khi sử dụng main H81 Esonic hoặc tương đương ( ĐƠN GIẢN NHẤT ) 2024, Novembris
Anonim
Vienkārša VGA kontroliera dizains VHDL un Verilog
Vienkārša VGA kontroliera dizains VHDL un Verilog

Šajā pamācībā mēs izstrādāsim vienkāršu VGA kontrolieri RTL. VGA kontrolieris ir digitālā shēma, kas paredzēta VGA displeju vadīšanai. Tas nolasa no kadru bufera (VGA atmiņa), kas attēlo parādāmo kadru, un ģenerē nepieciešamos datus un sinhronizācijas signālus displeja vajadzībām.

Ja jūs meklējat Verilog/sistēmas verilog kodu: apmeklējiet manu emuāru VGA kontrolieris un video sistēma Verilog

1. darbība: VGA kontroliera saskarne

Tālāk ir norādīti galvenie saskarnes signāli VGA kontrollerī

  • Pixel Clock vai VGA pulkstenis
  • HSYNC un VSYNC signāli

Lai izvēlētos VGA displeju, vispirms jāaprēķina tā vadīšanai nepieciešamā pikseļu pulksteņa frekvence. Tas ir atkarīgs no 3 parametriem: kopējie horizontālie pikseļi, kopējie vertikālie pikseļi, ekrāna atsvaidzes intensitāte.

Parasti F = THP * TVP * atsvaidzes intensitāte

Pievienotajā RAR atrodiet dokumentāciju par pikseļu pulksteni, kas nepieciešama dažādiem VGA displejiem.

HSYNC un VSYNC signāli tiek ģenerēti no Pixel pulksteņa. HSYNC un VSYNC signālu laiks ir atkarīgs no parametru skaita: Horizontālā un vertikālā priekšpuse, Horizontālā un vertikālā aizmugure, Horizontālā un vertikālā displeja pikseļi, Horizontālā un vertikālā sinhronizācijas impulsa platums un polaritāte.

Šie parametri ir standartizēti izvēlētajam VGA displejam. Atrodiet šos dokumentus pievienotajā RAR.

Šie parametri ir konfigurējami parametri mūsu VGA kontroliera IP.

2. darbība. VGA kontroliera integrēšana ar VGA displeju

VGA kontroliera integrēšana ar VGA displeju
VGA kontroliera integrēšana ar VGA displeju

Attēlā parādīts, kā integrēt VGA kontrolieri ar VGA displeju. Lai pabeigtu sistēmu, jums ir nepieciešami vēl divi komponenti:

  • Rāmja buferis: atmiņa, kurā tiek parādīts rāmis.
  • Video DAC: DAC, kas pārveido RGB digitālos datus un vada VGA displeju ar RGB analogiem signāliem atbilstošā sprieguma līmenī.

Viens no vienkāršākajiem un populārākajiem video DAC ir ADV7125. Tas ir 8 bitu DAC, kas pārveido RGB digitālos vārdus par 0-0,7 V analogiem signāliem un vada VGA displeju.

3. solis: rāmja bufera dizains

Tā ir atmiņa, kas “saglabā” parādāmo attēlu. Parasti tā ir RAM vai dažreiz ROM. Mēs apspriedīsim, kā izveidot rāmja buferi attēla attēlošanai. Kadra buferis nodod šo digitālo informāciju video DAC pēc VGA kontrollera komandas.

Vispirms mums jāizlemj par nepieciešamo pikseļu dziļumu. Tas nosaka attēla kvalitāti, krāsu dažādību, ko var attēlot pikselis. Lai iegūtu 8 bitu DAC, mums ir jāatspoguļo pikseļa primārās krāsas sastāvdaļas: R, G un B 8 bitos katrā. Tas nozīmē, ka pikseļa izmērs ir 24 biti.

Katrs pikselis tiek nepārtraukti saglabāts kadru bufera atmiņas vietās.

Pieņemsim, ka parādāmā attēla izmērs ir 800x600 pikseļi.

Tāpēc nepieciešamais kadra buferis ir 800x600 = 480000 x 24 bitu atmiņa

Kopējais atmiņas izmērs ir aptuveni 800x600x24 = aptuveni 1400 kB.

Ja attēls ir melnbalts, 800x600x1 = aptuveni 60 kB apm.

Bloķētās RAM var izmantot, lai attēlotu kadru buferi Xilinx FPGA.

4. solis: piezīmes

  • Atkarībā no izvēlētā DAC, VGA kontrolierim ir nepieciešami papildu signāli. Esmu izmantojis ADV7125.
  • Pirms VGA displeja braukšanas pievienojiet cikla aizkavēšanos, izmantojot flip-flops VSYNC un HSYNC. Tas ir saistīts ar DAC un atmiņas latentumu. Pikseļu signāliem jābūt sinhronizētiem ar HSYNC un VSYNC. Manā gadījumā tā bija 2 ciklu kavēšanās.
  • Ja noteiktā izmēra kadru buferi nevar izveidot FPGA, jo ir ierobežots bloka izmēra ierobežojums, attēla attēlošanai izmantojiet mazāku atmiņu un vienkārši rediģējiet kodu, lai pārietu uz adresi uz pieejamās atmiņas robežas, nevis pilna kadra robežas. Tas atkārtos vienu un to pašu attēlu visā ekrānā. Vēl viena metode ir pikseļu mērogošana, kurā katrs pikselis tiek atkārtots, lai parādītu visu attēlu pilnekrāna režīmā ar mazāku izšķirtspēju. To var izdarīt, kodā pielāgojot adreses palielināšanas loģiku.
  • IP ir pilnībā pārnēsājams visos FPGA, un tā laiks ir pārbaudīts līdz 100 MHz Virtex-4 FPGA.

5. darbība. Pievienotie faili

RAR satur:

  • VGA kontrollera kods
  • VGA standartu PDF faili.

Ieteicams: