Die Videotechnik umfasst Komponenten, die Informationen auf einem Bildschirm ausgeben können. Die Komponenten beruhen dabei teilweise auf Konzepten, wie Philips sie in der Kombination EE2003/07/08 (Oszilloskop- und Fernsehtechnik) und beim EE3023 (Videotechnik) vorgestellt hat.
Inhalt
- VGA-Modul
- Sprite-Modul
- Sinus-Rechteck-Generator
- Oszilloskop
- DVB-T-Tuner
- Pong!-Modul
- Neues von der Bildröhreneinheit
- Farbgrafik-Modul
VGA-Modul
Dieses Modul soll eine Brücke schlagen vom Video Modul des EE3023 hin zu aktueller Monitortechnik. Dieses Video-Modul erzeugte seinerzeit PAL-Bildsignale für den Fernseher und machte diesen daher zum Teil neuer Experimente, bei denen unter anderem ein rudimentäres Oszilloskop und ein Telespiel gebaut werden konnten.
Statt eines Fernsehers sollte im Neuentwurf aber ein VGA-Computermonitor zum Einsatz kommen, der in heutigen Jugendzimmern wohl auch häufiger anzutreffen sein dürfte als ein Fernseher. Daher entwarf ich ein VGA-Moduls, das als Ersatz für das Video Modul genutzt werden kann und an den VGA-Eingang eines herkömmlichen Computermonitors angeschlossen wird. Die Auflösung bleibt dabei auf 640×480 Punkte bei 60Hz beschränkt, da höhere Auflösungen zum Umgang mit Frequenzen zwingen, die mit dem diskreten EE-System zu konstruktiven Problemen führen können. Als besonderes Bonbon steht dabei natürlich Farbe zur Verfügung.
Inzwischen existieren zwei Varianten des Moduls in mehreren Entwürfen. Die erste setzt auf klassische CMOS-Technik und vollzieht das Prinzip des EE3023 nach; die zweite setzt als zentrales Element einen Mikrocontroller vom Typ ATMega88 ein. Sie kann damit flexibel auch an andere Bildformate angepasst werden. Beide Varianten sind aufgrund des Umfangs auf Unterseiten detailliert dargestellt.
Aufgrund der höheren Präzision bei der Einhaltung der VGA-Signale und der größeren Flexibilität empfehle ich Nachbauern die Mikrocontroller-Variante.
Hier geht’s zur detaillierten Beschreibung des VGA-Moduls in CMOS-Technik
Hier geht’s zur detaillierten Beschreibung des VGA-Moduls in Mikrocontroller-Technik
Sprite-Modul
Dieses Modul soll die Darstellung von Objekten im VGA-Modul vereinfachen und fasst dabei ein NE558-Timer-IC mit den nötigen Komponenten zusammen.
Die im EE3023 gezeigte Methode zur Bewegung von Objekten beruht darauf, zwei der Timer hintereinander zu schalten.Der erste sorgt für die Position des Elements in horizontaler oder vertikaler Richtung, indem er auf das horizontale oder vertikale Synchronisationssignal triggert und dieses um einen gewissen Zeitraum verlängert. Der zweite Timer wird geschaltet, wenn der erste abgelaufen ist – er ist für die Breite oder Höhe des angezeigten Objekts verantwortlich. Um ein bewegliches Objekt auf dem Bildschirm darstellen zu können, muss der erste Timer variabel steuerbar sein, während der zweite fest eingestellt bleibt und für die feste Bildbreite oder -höhe sorgt.
Diese Methode funktioniert prinzipiell, hat aber eine Prinzip-bedingte Schwachstelle. Diese Timer lassen sich nicht sehr gut über eine Spannung steuern; der resultierende Verlauf ist stark nichtlinear. Das Tele-Spiel6.19 zeigt beispielsweise einen springenden Ball, dessen Verlauf kaum vorhersehbar ist. Das Pong-Telespiel der 70er Jahr war da schon weiter.
Zwar bietet der NE558 prinzipiell einen Eingang für eine Steuerspannung, aber dieser Eingang steuert alle vier Timer des NE558 gemeinsam und ist daher ungeeignet für Steuerversuche. Er bewirkt auch kaum Veränderungen.
Es zeigte sich jedoch, dass nur sehr wenig zusätzliche Elektronik nötig ist, um dieses Problem zu lösen. Der NE558 zeigt nämlich an seinem Timereingang ein ausreichend lineares Sägezahnsignal. Man kann dieses Signal nutzen, um es an einem Operationsverstärker mit einer Steuerspannung zu vergleichen. Der OP steuert dann den zweiten Timer, und schon hat man einen weitaus angenehmeren (sprich: linearen) Verlauf der Bewegung. Man muss nur den ersten Timer so abgleichen, dass er am Ende einer Zeile (oder eines Bildes) abläuft – das war`s bereits.
Allerdings haben die NE558 bei langsamen Frequenzen eine weitere kleine Macke – sie triggern nämlich auch gerne mal auf den ansteigenden Teil der Flanke. Ich war nicht in der Lage festzustellen, woran das lag – eine Verändern der Kontrollspannung am NE558 brachte ebenso wenig wie Entkopplungsmaßnahmen. Letztlich führte dieses Verhalten dann immer dazu, dass das vom Sprite-Modul gebildete Objekt am unteren Bildrand ein zweites Mal zu sehen war – und dort natürlich auch eine unerwünschte Kollision mit der Wand auslöste. Auf den beiden Oszillogrammen lässt sich das gut erkennen. Links ist das Taktsignal zu erkennen – nur bei dessen abfallender Flanke sollte der NE558 triggern. Tatsächlich triggert er aber auch auf der ansteigenden Flanke – man kann gut die beiden Nadelimpulse erkennen, die auf dem Bildschirm dann zwei Bildpunkte erscheinen lassen statt nur einen.
Abhilfe konnte über einen kleinen Tiefpass zwischen Triggersignal und NE558 geschaffen werden – allerdings hat mich das einige Stunden intensiven Suchens und Testens gekostet. Ohne Oszilloskop wäre es gar nicht möglich gewesen. Im übrigen funktionierte der horizontale Impuls mit seinen 31,5 kHz bestens – nur der vertikale Impuls mit lachhaften 60 Hz machte Probleme. Wenn jemand eine Idee dazu hat, bin ich sehr gespannt.
Das gezeigte Modul stellt letztlich eine Weiterentwicklung der im EE3023 gezeigten Technik dar. Es sollte mit Anpassungen am Horizontalkreis (wegen der gegenüber PAL doppelten Horizontalfrequenz) auch mit dem Original-Videomodul zusammenarbeiten können. Der horizontale und der vertikale Anteil des Signals sind getrennt herausgeführt zur weiteren Verarbeitung.
Sinus-Generator-Modul
Im EE3023 wird eine Schaltung vorgestellt, die dem TV-Oszilloskop als Funktionsgenerator dient. Genau genommen ist es aber kein Generator, sondern nur ein fremdgetakteter RC-Pass, der aus dem Rechteck-Eingangssignal ein fast sinusförmiges Signal erzeugt. Um mit dem neuen TV-Lab auch die Schaltungen des EE3023 nachbauen zu können, wurde dieses Modul als eigene Platine entworfen. Es findet sich auch auf mehreren VGA-Modulen.
Die DIP-Schalter erlauben dabei die Auswahl der Größe des Eingangssignals und der Signalart. Es darf immer nur einer der Schalter 1-4 bzw. 7-8 umgelegt werden, damit die Schaltung korrekt funktioniert. Sie wird aber bei falschen Schalterstellungen nicht beschädigt.
Oszilloskop-Modul
Genau wie der Sinusgenerator dient das Oszilloskop-Modul dazu, mit dem neuen TV-Lab auch die Schaltungen des EE3023 nachbauen zu können. Es ist eine modifizierte Variante des Originals aus dem EE3023. Insbesondere ist die Verbesserung der Linearität eingeflossen, die bereits beim Sprite-Modul beschrieben wurde.
Die Kondensatoren C1 und C2 sind mit 1µF recht groß gewählt – dies verhindert, dass das Rechtecksignal bei größeren Amplituden verfälscht mit schrägen Flanken dargestellt wird. Grundsätzlich könnte man R6 noch regelbar gestalten, um eine Verstärkung des Signals zu ermöglichen. Aufgrund der doch recht eingeschränkten Möglichkeiten dieses Moduls habe ich darauf verzichtet.
Einige Schaltungen mit diesem Oszilloskop finden sich hier.
DVB-T-Tuner
Der hier gezeigte DVB-T-Tuner wird aus einem Fertigmodul mit einer kleinen Schaltung zur Stromversorgung zusammengesetzt. Tuner und Decoder für digitales Fernsehen lassen sich nicht mehr in diskreter Technik bauen – dies ist der einzige Weg, Fernsehsignale in einer Kleinserie zu gewinnen.
Der Tuner dient in erster Linie als Eingangssignal für den neuen TV-Lab-Fernseher. Er kann jedoch auch ein Eingangssignal für die Fernseher aus EE2007/08 und ABC 6105/6205 zur Verfügung stellen – dazu ist nur ein wenig Pegelanpassung erforderlich. Da deren analoge Tuner heute sowieso nur noch beim Kabelfernsehen verwendet werden können (nur dort wird noch analoges Fernsehen ausgestrahlt), ist es sicher reizvoll, den alten Geräten auf diese Weise wieder neues Leben einzuhauchen.
Hier geht’s zur detaillierten Beschreibung des Tuners.
Pong!
Vermutlich kennt es jeder: Pong, das 70er-Jahre-Teletennis auf dem Bildschirm. Entsprechende Konsolen fanden sich damals in vielen Haushalten – wir hatten seinerzeit auch eins, das zunächst der Renner war, dann aber irgendwann in der Ecke verstaubte und vermutlich still und leise entsorgt wurde. Das ganze basiert auf einem einzigen Chip, dem AY-3-8500, der von General Instruments hergestellt wurde und neben dem Teletennis noch ein paar andere Spielvarianten beinhaltet. Der Chip wird nicht mehr hergestellt, ist aber auf ebay noch gut vertreten.
Hier geht’s zu einer Beschreibung des Pong-Moduls.
Hallo ,
das ist ein tolles Projekt . Ich suche eine Schaltung die von einem MC seriell Daten empängt und in ein VGA Signal umwandelt das auf einem Computermonitor dargestellt werden kann , z. B. SetPixel 100,100,Farbe als einfachsten Befehl . Wäre das mit deiner Schaltung möglich ?
MfG
Hans
Salut Hans,
grundsätzlich geht sowas – allerdings sind MCs nur bedingt VGA-tauglich. Schon bei der Farbgrafikkarte (http://www.brennecke.org/?page_id=2278), die ein PAL-Bild erzeugt, kommt man nur auf 256×236 Pixel. Bei VGA, das in etwa die doppelte Horizontalfrequenz aufweist, verringert sich dann die horizontale Auflösung auf nur noch 128 Pixel. Da lässt sich immer noch einiges darstellen, aber mehr geht eben nicht, weil die Ausgabe der Daten am MC nicht schneller erfolgen kann. Ansonsten ist das Projekt aber so gebaut, wie du schreibst: einfache Grafikbefehle und Texte können über serielle Kommandos ausgeführt werden. Ich will mich hier aber auch nicht mit fremden Federn schmücken – wenn Du dem Link im Artikel zum Mikrocontrollerforum folgst, dann findest Du dort eine umfangreiche Diskussion dieser Schaltung. Sicher lässt sie sich auch auf VGA umstellen.
Grüße, Frank