Ansteuerschaltung für das Pollin-TFT-Modul


Achtung: In Kürze wird es eine verbesserte Version geben!
Dies ist der Schaltplan für eine RGB-Videosignalerzeugung mit einer Auflösung von bis zu 512x256 bei 256 Farben. Sie ist speziell gedacht für das 4-Zoll TFT-Display, was es vor einiger Zeit bei Pollin-Electronic gab. Es gibt sicherlich einfachere Möglichkeiten, für die Ausgabe von einfachen Texten ein passendes Signal zu erzeugen, z.B. die diversen OSD- und Video-ICs, die in vielen Fernsehern Dienst tun. Allerdings bewegt sich hier die erreichbare Auflösung und Farbtiefe in engen Grenzen. Daher meine Schaltung, denn mit den damit möglichen 256-Farben-Bildern sieht das Display recht beeindruckend aus.


Ursprünglich gedacht ist sie für den Anschluß an ein Z80-System, was auch einen Teil der Adressdekodierung erledigen muß. Die insgesamt 128k Bildspeicher sind in Seiten zu je 8k unterteilt; ein Schreibzugriff wird durch /MEMWR signalisiert. Weiterhin sind 12 Adressen im I/O-Bereich notwendig, die wie folgt belegt sind:


Das Konfigurationsregister (IC12)


Erläuterungen dazu:

Es ist nicht möglich, daß die CPU gleichzeitig in den Bildspeicher schreibt und die Videologik Daten ausliest. Der Einfachheit halber muß die CPU Bit 6 auf 1 setzen, um Daten ins RAM schreiben zu können. Vorher sollte sie aber das Signal BLANKING auswerten, ist dieses high, dann werden gerade keine Videodaten ausgegeben, ein kurzfristiges Umschalten führt dann nicht zu Bildstörungen.
Die Schaltung unterstützt eine Art automatische Zeilenverdopplung, d.h. jede Bildzeile wird zweimal ausgegeben. Hierzu ist Bit 7 auf High zu setzen.
Ein Hardware-Cursor ist auch vorgesehen, er ist allerdings maximal 8x8 Pixel groß und hat stets Farbe $FF (bestimmt durch das Widerstandsnetzwerk R12).
Bei mir läuft das Ganze mit einem 4MHz-Quarzoszi, der CRTC ist auf Non-Interlaced geschaltet (Bild is dann stabiler, der Geier weiß wieso). Ich benutze eine Ausgabeauflösung von 184x256, mehr ist vom Display her sowieso nicht drin, dessen maximale Auflösung beträgt 160x234 Pixel. Hierbei passen zwei Bildseiten in die 128k RAM. Da das Display einen eigenartigen Interpolationsalgorithmus benutzt, der abwechselnd jede 6. und 8. Bildzeile wegläßt, um volles PAL-Format auf die 234 Zeilen zu bekommen, und dies bei digitalen Liniengrafiken sehr unruhig aussieht (mal dicke mal dünne horizontale Linien), verwende ich in den Ausgaberoutinen eine Tabelle, so daß mir tatsächlich 184x220 Pixel zur Verfügung stehen, da macht bei einer Zeichenbox von 8x16 + eine Zwischenzeile insgesamt 23x13 Zeichen, größenmäßig noch gut lesbar auf dem Display.
Die Bildspeicherorganisation ist etwas merkwürdig, erst die 0. 8. 16. etc. Zeile, dann die 1. 9. 17. usw., aber wer einen Schneider CPC hatte, dem wirds bekannt vorkommen.
Bei Fragen: Mail an mich.

Links zum Thema



Letzte Aktualisierung am 30.7.1999