6.Woche: VGA Monitoransteuerung

Slides:



Advertisements
Ähnliche Präsentationen
Inhalt Bildparameter Bildquellen Bildgröße/Bildformat Bildauflösung Farbtiefe Farbmodus Scannen Monitor Dateiformat Bildausschnitt Tonwertkorrektur.
Advertisements

TITEL DER JEWEILIGEN PRÄSENTATION
oder der Weg zum „Platzsparen“
Metriken in Netzwerken
Oszilloskop Was ist ein Oszilloskop? Wozu wird es benutzt?
Bildung von gleitenden Durchschnitten mit gerader Ordnung Prinzip: Die folgenden Schritte werden für jeden Zeitpunkt t ausgeführt, mit Ausnahme des ersten.
CRT - Monitor.
Lic.Sc.Inf. Dr. Monique Jucquois-Delpierre
_____________________________ Einführung in die Bildbearbeitung Jucquois-Delpierre 1 Grundlagen Photoshop Ein zentraler Begriff bei Pixelgrafiken.
Quantenphänomene Elektronenbeugung Braunsche Röhre U Kristallines
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Der Monitor Einführung CRT- Monitore (Röhrenmonitor)
Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung
Fernseher LCD- Bildschirme.
Stand: Mai 2004 Überschriften 0. Dachzeilen 1. Allgemeines 2. Aufbau des Institutes 3. Forschung Fliesstext Arial Fett 25pt Rot 0 Grün 51 Blau 102 Arial.
Statistische Methoden I WS 2002/2003 Probeklausur Freitag, 13. Dezember statt Vorlesung - Nächsten Freitag!!!
Festkörper Halbleiter Farben und Spektren
Medien- Technik Grafikkarten Makroaufnahme Monitor mit Ordner-Icon Löcher, die meistens leuchten Hier einmal nicht...
Grafikkarten Makroaufnahme Monitor mit Ordner-Icon
Heute: Scherenzange zeichnen
CRT Bildröhre Kathodenstrahlröhre
(additives Farbmischen)
CAD-Elektronik 1 PSpice Martin SchadeWS 09/10. CAD-Elektronik 1 - PSpice - Martin Schade - WS 09/10 2 Verstärker 1 Verstärker 2 Verstärker 3 Problembeschreibung.
Grafikformate Nicolas Ruh.
Bildbearbeitung: Theorie
den folgenden Aufgaben!!!
Die Funktionsweise eines Beamers
Erwartungswerte Erwartungswerte berechnen (bis 7 Trumpf anwendbar)
Nordfriesen - Abitur + M D M D = 550 Zeit: 1 Minute
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Thema: Grafikkarten.
Bildbearbeitung im Unterricht

Mühlviertler - Matura + + M D M D = 550 Zeit: 1 Minute
Das Oszilloskop Gerät zur Darstellung zeitlich schnell veränderlicher elektrischer Spannungen.
DIE FARBEN.
OPTISCHE TÄUSCHUNGEN & ILLUSIONEN
Die Wochentage Vorgestern war Übermorgen ist Sonntag Montag
Bildbearbeitung Nicolas Ruh.
Digitale Bilder Advanced IT Basics
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.

So funktioniert EUROPA.
FRÜHLING.
Numbers: Die Zahlen 1 – eins 2 – zwei 3 – drei 4 – vier 5 – fünf
Kurzvortrag Grafikkarten
Nordfriesen - Abitur + M D M D = 550 Zeit: 1 Minute
Aus der Geschichte des Fernsehens
FPGA Praktikum WS2000/ Woche: VHDL Tips Ein Schläger für das Spiel.
Die Praktikumsplatine Handhabung der Platine LEDs, CLK und Taster Konfiguration des FPGA Aufgaben.
Der Monitor Von ... und ....
FPGA Praktikum WS2000/ Woche: Ein Ball Blöcke zum Abräumen Projektvorschläge.
Bildbearbeitung: Theorie
Der Begriff Grafik Computergrafik ist die Erstellung und Verarbeitung von Grafiken mit Hilfe eines Computers. Hierzu benötigt man: Eingabegeräte wie zum.
1 AINF Bildschirme Kurt Pater AINF-Lehrgang in Wien, HTL Rennweg Titel : Hardware - Bildschirme Name : Kurt Pater.
RC-5-Code.
CRT – Monitor (Cathodic Ray Tube)
Monitor Geschichte.
...ist eine Maßeinheit für die Datenmenge und den Informationsgehalt. Dabei ist 1 Bit die kleinste darstellbare Datenmenge, die beispielsweise durch eine.
Clonpinsel/Kopierstempel
GRUNDBEGRIFFE.
EINFÜHRUNG IN DIE BILDVERARBEITUNG Grafiktypen Rastergrafiken (bitmaps) Vektorengrafiken.
Monitore Thema: Monitore.
1 in Meter in Sekunden Punkt H.
Interne Geräte - Grafikkarten
Es ist ein ORANGER KREIS
Achtung! Es gibt viele verschieden Arten von Bildsignalen!
Bildschirm MANUEL kARNER.
Hexadezimale Darstellung von Zahlen
Die Rot-Grün-Blau-Geschichte
 Präsentation transkript:

6.Woche: VGA Monitoransteuerung FPGA Praktikum WS2000/2001 6.Woche: VGA Monitoransteuerung

VGA Grafik Prinzip einer Braunschen-Röhre VGA Signale Anschluß an den FPGA Aufgaben

Die Braunsche-Röhre Vakuumröhre mit einem Elektronenstrahl, der ein Beschichtung auf der Vorderseite einen Punkt zum leuchten bringt. Der Elektronenstrahl kann abgelenkt werden Die Intensität des Strahls kann gesteuert werden.

Bildaufbau Der Strahl baut jedes Bild Zeile für Zeile und Punkt für Punkt nacheinander auf. Er läuft eine Zeile von links nach rechts ab. Die Intensitätsschwankung gibt die Helligkeit der Punkte auf der Zeile an. Dann läuft er schnell an den Anfang der nächsten Zeile zurück. Dabei muß der Strahl ausgeschaltet sein. Am Ende der letzten Zeile läuft der Strahl an den Anfang des Bildes zurück. (Austastlücke)

Problemstellung: Um ein Bild darzustellen, muß der Elektronenstrahl genau zum richtigen Zeitpunkt die richtige Intensität haben Aufeinanderfolgende Bilder müssen richtig positioniert werden Beim Zeilenrücklauf muß der Elektronenstrahl abgeschaltet sein

Ansteuerung Ein VGA Monitor wird über 5 Signale gesteuert: HSYNC (Horizontale Synchronisation, Ende einer Zeile) VSYNC (Vertikale Synchronisation, Ende eines Bildes) Rote Intensität Grüne Intensität Blaue Intensität

Sync Signale Das HSYNC Signal kennzeichnet das Ende einer Zeile Das VSYNC Signal kennzeichnet das Ende eines Bildes Da die meisten Monitore einen Schwingkreis mit diesen Signalen synchronisieren müssen die Signale zeitlich sehr gleichmäßig sein. Außerdem müssen die Signalzeiten in einem vom Monitor vorgegebenen Bereich liegen. Bei manchen Monitoren (fixed frequency, Fernseher) müssen sogar genau vorgeschriebene Timings eingehalten werden.

Video Timing Wer schon mal einen Monitor oder eine Grafikkarte gekauft hat, ist über die Timinggrenzwerte gestolpert: Vertikalfrequenz: Bilder pro Sekunde 25 Hz beim Fernseher, z.B. 50 bis 100 Hz bei meinem 17“ Monitor Horizontalfrequenz: Zeilen pro Sekunde Auch unsichtbare Zeilen der Austastlücke werden mitgezählt 15 kHz Fernseher 30 kHz bis 90kHz bei meinem 17“ Monitor D.h.: Mein Monitor kann offiziell den guten alten Spiele-Modus mit 320x200 Punkten bei 60 Bildern/s (ca. 14kHz) nicht darstellen. Eine Verletzung des Timings kann den Monitor beschädigen!

Beispieltiming für den SVGA Modus mit 31,5 MHz Vertikalfrequenz: ca. 60 Bilder/s (16,784 ms pro Bild) 480 Sichtbare Zeilen pro Bild Horizontalfrequenz: 31,5 kHz 31,77 µs pro Zeile 31,77 µs * 480 = 15,25 ms für den Sichtbaren Teil des Bildes 16,784 ms - 15,25 ms = 1,534 ms vertikale Austastlücke 1,534 ms / 31,77 µs = 48 Zeilen Austastlücken Insgesamt also 528 Zeilen 640 Pixel pro Zeile in sichtbaren 25,17 µs 31,77 µs - 25,17 µs = 6,6 µs horizontale Austastlücke 640 / 25,17 µs = 25,4 MHz Pixelfrequenz

HSYNC Timing Aufbau einer Zeile Die HSYNC Signale werden für jede Zeile gesendet, auch während der Vertikalen Austastlücke HSYNC Puls ist 3,77 µs lang auf dem Wert ‘0‘.

HSYNC Timing Damit es bei allen läuft, sollte die Schaltung mit 19,202 MHz arbeiten. Dann ergeben sich die folgenden Werte: 610 Pixel pro Zeile (31,77 µs) 512 sichtbare Pixel (26,66 µs statt 25,17 µs) die restlichen 98 Pixel sind schwarz Der HSYNC Puls startet bei Pixel 520 der HSYNC Puls endet vor Pixel 592 Durch verschieben des HSYNC Pulses läßt sich das Bild links/rechts verschieben.

VSYNC Timing Aufbau eines Bildes

VSYNC Timing Das Bild besteht aus 529 Zeilen 480 Zeilen sind sichtbar 49 Zeilen sind schwarz Der VSYNC Puls ist zwei Zeilen lang ‘0‘: Zeilen 494 und 495

Intensitätssteuerung Der Monitor bekommt vom FPGA drei Intensitätssignale gesendet. Je eins für die Grundfarben Rot, Grün und Blau. Jedes Signal kann über einen einfachen 2-Bit Analog/Digitalwandler auf vier verschiedene Spannungswerte gesetzt werden Damit sind 23*2 = 26 = 64 verschiedene Farben möglich. Am bequemsten faßt man im VHDL-Code die sechs Signale zu einem Vektor zusammen: RGB <= R(1 downto 0) & G(1 downto 0) & B(1 downto 0);

Pinbelegung Für die UCF Datei: NET HSYNCB LOC=P180; NET VSYNCB LOC=P181; NET R<1> LOC=P194; NET R<0> LOC=P193; NET G<1> LOC=P192; NET G<0> LOC=P191; NET B<1> LOC=P189; NET B<0> LOC=P188;

Schaltung eines VGA Farbausganges

2-Bit D/A Wandler 3,3V Ausgangsspannung am FPGA Pin Red = „00“ Ausgangsspannung 0V Red = „01“ Spannungsteiler 1000 zu (470 || 75)=65 Ausgangsspannung 201 mV Red = „10“ Spannungsteiler 470 zu (1000 || 75)=70 Ausgangsspannung 390 mV Red = „11“ Spannungsteiler (1000 || 470)=320 zu 75 Ausgangsspannung 627 mV

Aufgabe 6.1: Generierung des VGA Timings Baut eine Schaltung, die HSYNC und VSYNC mit dem beschriebenen Timing erstellt. Verwendet dazu einen X Zähler von 0 bis 610 und einen Y Zähler von 0 bis 528 aus STD_LOGIC_VECTOR (Wieviele Bits benötigen die Zähler?) Simuliert mit einem 19,2 MHz Takt mindestens 700 Taktzyklen und überprüft, ob die HSYNC Timing richtig ist. (72 Pixel lang, alle 610 Pixel) Implementiert, und testet ob im Logfile mindestens 19,2 MHz Taktfrequenz angegeben sind. Nur weitermachen, wenn diese Überprüfungen positiv ausfallen! Falls euer Rechner schnell genug ist, überprüft auch das VSYNC Timing. Andernfalls prüft wenigstens, ob der Y Zähler einmal pro Zeile zählt.

Aufgabe 6.2: Ein schwarzes Testbild Im Diplomandenraum steht ein zusätzlicher Monitor. Zuhause müßt Ihr ständig umstöpseln, oder euch irgendwoher einen zweiten Monitor besorgen. Ladet die Schaltung in den FPGA, schließt einen Monitor an und steuert gegebenenfalls das Reset Signal an. Der Monitor sollte nicht pfeifen, kein rollendes Bild zeigen oder rote Warnlampen aufblinken lassen oder sich abschalten. Es sollte ein stabiles, schwarzes Bild zu sehen sein. Falls nicht: Schnell Monitor ausschalten und Kontakt zu Till aufnehmen.

Aufgabe 6.3: Ein buntes Testbild Im Diplomandenraum steht ein zusätzlicher Monitor. Benutzt die obersten Bits des X Zählers, um dem RGB Farbausgang Werte zuzuweisen. Beispielsweise für Streifen Schwarz, Blau, Rot, Lila: RGB <= H(7) & H(7) & “00“ & H(6) & H(6) Denkt daran, daß ab Zeile 480 wieder RGB=“000000“ gelten muß. Testet, ob Ihr die Streifen seht. Gebt die VHDL Dateien für 6.3, den Bitstream für 6.3 und das Simulationsskript aus Aufgabe 6.1 ab bei prak@em.informatik.uni-frankfurt.de

Nützliche VHDL Infos Unbedingt zusätzlich die Bibliothek std_logic_unsigned verwenden: use IEEE.std_logic_unsigned.all Zähler: if rising_edge(clk) if zaehler < 609 then -- zaehlt von 0 bis 609 = 610 Pixel zaehler <= zaehler + 1; else zaehler <= “000000000“; end if;

Nützliche VHDL Infos Taktet alle Ausgangssignale in Register. Die 52ns Verzögerung die dadurch entstehen sind egal, wenn alle Signale gleichmäßig verzögert werden. Dies erhöht die mögliche Taktfrequenz, da die externen Signallaufzeiten von den internen getrennt werden. Wer möchte kann auch intern noch mehrere Pipelinestufen einbauen.

Aufgabe 6.4: Bilder (Einführung) Wenn man die X- und Y-Zähler als Adressen eines ROMs verwendet, kann man ein Bild darstellen, das in dem ROM gespeichert ist. Wenn man obere Adressbits nicht anschließt, wiederholt sich das Bild mehrmals, wenn man untere nicht anschliest, werden die Bildpunkte größer. Schließt man z.B. XCOUNT(6 downto 3) und YCOUNT(6 downto 3) an ein ROM mit 8 Adressleitungen, so enthält das Bild 16x16 Bildpunkte, die jeweils 8x8 Pixel auf dem Monitor groß sind. Das Bild kann sich in X-Richtung also 4 mal wiederholen. Man kann z.B. ein 1-Bit breites ROM verwenden und dann abhängig vom Wert des Bits eine von zwei Farben anzeigen (palette), oder man speichert in einem 6-Bit breiten ROM direkt die Farbe. (direct color)

Aufgabe 6.4: Bilder (Einführung) Insgesamt stehen in dem FPGA 14 BlockROMs mit je 4096 Bits zur Verfügung. Möglich Aufteilungen sind daher: 2-Farben, 256x196, 12 BlockROMs 4-Farben, 196x128, 12 BlockROMs 8-Farben, 128x128, 12 BlockROMs 64-Farben, 128x64, 12 BlockROMs

Aufgabe 6.4: Bilder (Aufgabe) Generiert ein ROM, daß die Daten für ein einfaches Bild enthält. (Z.B. zwei diagonale Linien) Das Bild soll mindestens 16x16 Pixel groß sein. Sucht euch aus, wieviele Farben Ihr haben wollt, und ob Ihr eine Palette oder direct color verwenden wollt. Baut das ROM so in eure Schaltung ein, daß das Bild auf dem Monitor zu sehen ist. (Das sollten nur ein paar Drähte sein)

Zusatzaufgabe 6 (schwer, nur für gelangweilte Studenten) Der Prozessor enthält ein DPRAM, daß je einen Port zum PC und zur ALU besitzt. Statt des Ausgaberegisters kann man dort ein DPRAM einbauen, daß einen Schreib-Port zum Prozessor hat, und einen Leseport zur VGA Grafik Für die VGA Grafik ersetzt das RAM dann das ROM Der Prozessor kann jetzt Grafik in das RAM malen. (Probiert mal ein Rechteck zu füllen)