Stap 2: Uitgang - VGA-Controller deel 1
We zullen onze visuele gegevens via de HDMI-poort aanwezig op het bord uitvoeren. De HDMI-poort is aangesloten op de PL (Programmable Logic = FPGA) kant van de ZYNQ en zullen we een controller in VHDL voor het ontwerpen. Als je ooit een VGA-controller hebben ontworpen vindt u dit zeer vergelijkbaar. De tijdsinstellingen voor HDMI- en VGA-zijn eigenlijk hetzelfde, in feite u kan bouwen op een bestaande VGA-controller te verkrijgen van een HDMI-controller.
Voor een beter begrip van wat er daadwerkelijk gebeurt zullen we eerst het ontwerpen van een VGA-controller
Wij wilt weergeven met een resolutie van 1920 x 1080.
De VGA-controller is verantwoordelijk voor de toezending van de pixelgegevens (in RGB-indeling) opeenvolgend, pixel voor pixel aan de weergave. Buiten het eigenlijke weergave gebied voor gebied van 1920 x 1080 er zijn ook sommige "grens" gebieden, namelijk: front porch, de achterzijde en retrace. De grootte in pixels voor deze gebieden zijn standaard en specifiek zijn voor elke resolutie. Deze gebieden eigenlijk niet op het scherm maar zij zijn verplicht en de kleur van de pixels op dit gebied moet worden zwart. Een geldige vraag zou zijn waarom deze extra gebieden nodig zijn. Deze vraag tart het doel van dit instructable maar bent u benieuwd dat ik zou raden u verder om onderzoek te doen online.
Dit is een goede video uitleg van de VGA-interface https://goo.gl/vfSw6o
In ons geval willen we worden weergegeven bij een resolutie van 1920 * 1080, en dit zijn de tijden:
Horizontale weergavegebied = 1920 pixels
Horizontale Fron veranda = 88 pixels
Horizontale terug veranda = 148 pixels
Horizontale Retrace = 44 pixels
Verticale weergavegebied = 1080 pixels
Verticale Front Porch = 4 pixels
Verticale terug veranda = 36 pixels
Verticale Retrace = 5 pixels
(Hier vindt u tijdsinstellingen voor andere resoluties- http://goo.gl/hFNRVb )
Zo zullen onze werkelijke resolutie 2200 x 1125. We willen de 60 fps (frames per seconde) zodat onze pixel klok 60 * 2200 * 1125 = 148.5 MHz zullen. Op het Zybo-bord een 125 Mhz wordt klok geleverd. Wij zullen een MMCM IP voor het genereren van de 148.5 MHz Pixel klok die we moeten gebruiken.