DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Technische Universität <strong>Berlin</strong><br />
Institut für <strong>Mikroelektronik</strong><br />
Lukas Bauer<br />
Diplomarbeit<br />
Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />
Abschnitt 3.4<br />
Seite 21<br />
Im Vollbildbetrieb ist der Zustand noninter aktiv, und das vertikale Timing entspricht im wesentlichen<br />
dem horizontalen. Auf eine Erklärung kann verzichtet werden.<br />
Im Halbbildbetrieb ist während der Anzeige eines geradzahligen Halbbildes der Zustand<br />
even field, sonst odd field aktiv. Im Vergleich mit dem Diagramm S HCNT des horizontalen<br />
Timings entsprechen hier die Transitionen T9 und T10 der Transition T2 dort; sie steuern<br />
die Erhöhung des Vertikalzählers und die damit zusammenhängenden Prozesse. So erfolgt hier die<br />
Steuerung des Signals für die Videophase IPHASE, von der nicht nur die Art der auf CSYNC out<br />
erzeugten Synchronpulse abhängt, sondern auch die Art und Weise, in der VCOUNT in der Zeilenmitte<br />
erhöht wird. Auch VBLANK wird hier erzeugt.<br />
Im Fall der internen Synchronisation übernehmen T5 und T6 die Funktion von T3 des horizontalen<br />
Timings; am Ende des Halbbildes (das auch in der Zeilenmitte auftreten kann) wird zum<br />
anderen Halbbild übergegangen, der Vertikalzähler zurückgesetzt und VSYNC out aktiviert.<br />
Bei externer Synchronisation darf der Vertikalzähler am Halbbildende erst zurückgesetzt werden,<br />
wenn ein gültiges externes Sync-Signal erkannt wird. T7 und T12 entsprechen hier T4; sie<br />
fangen die Erhöhung des Zählers ab. Das Rücksetzen des Zählers geschieht, wenn eines der Signale<br />
VS Coming oder CS Coming einen externen Sync-Puls anzeigt. Hierbei wird der Zustand<br />
next field (drop-through state) scheinbar aktiv; in Wirklichkeit erfolgt sofort wieder ein Wechsel<br />
in einen der Grundzustände. In der Regel wird beim Halbbildwechsel in den zuletzt inaktiven<br />
Zustand gewechselt; zum Beginn der externen Synchronisation muß aber das richtige Halbbild gefunden<br />
werden. Daher wird bei jedem Wechsel aus der Lage der externen Signale ermittelt, welches<br />
Halbbild das nächste ist.<br />
Falls VSYNC in Eingang ist, wird genau dann ein ungerades Halbbild begonnen (T11), wenn<br />
zum Zeitpunkt des VSYNC-Pulses HBLANK aktiv war (bei NTSC) bzw. inaktiv war (bei PAL).<br />
Anderenfalls wird ein gerades Halbbild begonnen (T13). Falls CSYNC in Eingang ist, ist die<br />
Entscheidung vom Signal Next odd abhängig, dessen Erzeugung im folgenden Abschnitt erläutert<br />
wird.<br />
Simulationsergebnisse sind auf Abbildung 69 (S. 102) für ein Vollbild mit sechs dargestellten<br />
Zeilen und auf Abbildung 70 (S. 103) für ein ungerades Halbbild mit vier dargestellten Zeilen zu<br />
sehen.<br />
Abbildung 71 (S. 104) zeigt die Synchronisation auf externe HSYNC- und VSYNC-Signale (Modus<br />
2) im Vollbildbetrieb. An den Horizontal- und Vertikalzählern ist zu erkennen, daß die Registerwerte<br />
HTOTAL und VTOTAL hier falsch programmiert wurden, daß die Synchronisation aber dennoch<br />
funktioniert. Die Zähler verbleiben einfach in ihren Endzuständen, bis das externe SYNC-Signal<br />
kommt.<br />
Im Halbbildbetrieb ist auf Abbildung 72 (S. 105) zu sehen, daß im externen Synchronisations-<br />
Modus 2 in das richtige Halbbild gewechselt wird. Der Puls an VSYNC in kommt hier am Zeilenanfang,<br />
gleichzeitig mit dem Puls an HSYNC in. Daher muß (bei NTSC) das ungerade Halbbild<br />
folgen.<br />
3.4.3 Steuerung der externen Synchronisation<br />
Das Diagramm CSYNC (Seite 84) ist nur im externen Synchronisationsmodus wichtig, um aus<br />
einem externen CSYNC-Signal die vertikale Sync-Information zu extrahieren.<br />
In diesem Modus werden Serrationspulse daran erkannt, daß ihre Länge um mindestens 2 VClk-<br />
Takte über der Länge der HSYNC-Pulse liegt, die im HESYNC-Register programmiert wurde.