LCD TV
Ich war schon
seit langem auf der Suche nach einem günstigen Ersatz für Monitor
der Überwachungskamera, da dessen Stromverbrauch bei fast 15 Betriebsstunden
doch recht hoch ist. Anfangs dachte ich an einen TFT Monitor, aber einen Farbmonitor
für eine Schwarzweis Kamera zu verwenden, das wäre eine Verschwendung.
Und etwas fertiges kaufen, das ist doch langweilig. Obwohl
aktive TFT LCDs gegenüber passiven LCDs einige Vorteile haben, kann man
auch aus einem Standard LCD noch einiges rausholen, wie
dieses Beispiel zeigt.
Bei
dem LCD handelt es sich um LM038QB1R10 von Sharp das für etwa 8€ bei
Pollin erhältlich ist. Bei diesem LCD handelt es sich um ein normales 320x240
LCD mit 4bit Anschluss. Da es sich um ein passives LCD handelt, kann es keine
Graustufen darstellen, sondern nur schwarz und weiß. Ursprünglich
war das LCD für einen PDA gedacht, weshalb es nur 4mm dick ist !
Um diese Dicke zu erreichen, wurde leider bei den Bauteilen auf dem Modul gespart:
Man muss daher nicht nur die negative Spannung von etwa -20V für das LCD
erzeugen, sondern jede der 5 Teilspannung einzeln. Bei diesem LCD ist es sogar
noch komplizierter, da das LCD nicht nur eine negative Spannung benötigt,
sondern auch noch eine positive.
Im Vergleich zu anderen 320x240 LCDs benötigt dieses LCD verhältnismäßig
viel Spannung, dafür ist auch der Kontrast sehr gut und auch der Blickwinkel
ist für ein passive Grafik LCD beachtlich.
Die
Aufgabe der Schaltung ist es, aus dem TV Signal die entsprechenden Pixeldaten
und Timingsignale für das LCD zu erzeugen. Angefangen habe ich mit einigen
Versuchen, das LCD direkt mit dem TV Signal zu betrieben. Allerdings war das
Ergebnis nicht so ganz optimial, da aufgrund der hohen Zeilenanzahl vom TV Bild
von 288 Halbzeilen der Kontrast des LCDs schlechter wurde, und aufgrund des
digitalen LCD Ansteuerung nur an und aus für die Pixel möglich war.
Dadurch waren eigentlich nur Umrisse mit starkem Kontrast zu erkennen.
Dieser Konverter macht
das ganze besser:
Der Schaltungsaufwand hält sich dank dem Einsatz eines CPLDs in Grenzen.
So werden nur ein ADC für die digitalisierung des Videosignals, ein SRAM
als Bildspeicher, die LCD Spannungserzeugung und der CPLD benötigt.
Kurz zusammengefasst, speichert die Schaltung das TV Bild mit 256 Graustufen im SRAM ab, und belegt daher 1Byte pro Pixel. Gleichzeitig wird das Bild wieder ausgelesen und mit verschiedenen Techniken in 64 Pseudograustufen umgerechnet und ans LCD übertragen. Das Timing wird dabei komplett neu erzeugt.
Als Zeitbasis dient
ein 18,432MHz Takt, der in 3 Taktphasen unterteilt wird.
In der 3. Taktphase wird ein Pixel/Byte vom ADC eingelesen und ins SRAM geschrieben.
In der 1. und 2. Taktphase werden je ein Pixel wieder aus dem SRAM geladen.
Dabei werden nur die 6 höherwertigen Bits verwendet, da selbst 64 Graustufen
auf dem LCD nicht unterscheidbar sind.
Diese 64 Graustufen werden jetzt in 2 Graustufen (an/aus) umgerechnet. Dazu
dienen 2 Techniken, die jeweils 8 Graustufen erzeugen. Die 8 großen Stufen
werden mittels Framerate Modulation erzeugt. Dies entspricht dem üblichen
PWM: Je nach Wert wird ein Pixel nur in 0/7, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7 oder
7/7 der Frames eingeschaltet. Der Vorteil dieser Technik ist die Einfachheit:
Man benötigt nur einen Vergleicher und einen Zähler der in jedem Frame
erhöht wird. Allerdings gibt es auch einen Nachteil: Die Effektive Bildwiederholrate
ist vom Bildinhalt abhängig und wird im Extremfall auf 1/7 reduziert. Daher
läuft das LCD mit einer etwas erhöhten Framerate von etwa 157Hz:
18,432MHz * 2/3 / (324Pixel pro Zeile) / (241 Zeilen pro Bild) = 157Hz
Dies ergibt mit der Framerate Modulation minimal etwa 22,5Hz, was an der unteren
Flimmergrenze ist.
Die unteren 8 Graustufen werden mitteld Dithering erzeugt. Im Prinzip ist das
nichts anderes als ein Multibit Delta-Sigma DAC: Dazu wird der Wert von jedem
Pixel zum vorhergehenden Ergebnis aufaddiert und das Ergebnis zum nächstniedrigeren
Wert der mittels Frameratemodulation darstellbar ist abgerundet und angezeigt.
Die Differenz bleibt erhalten und wird für die nächste Berechnung
verwendet. Hier mal ein Beispiel:
Es soll der Pixelwert 12 dargestellt werden. Es lassen sich aber nur die Werte
0, 8, 16, 24, 32, 40, 48, 56 darstellen. Daher wird der Wert 8 dargestellt,
man erhält die Differenz 4. Beim nächsten Pixel soll der Wert 13 dargestellt
werden. Dazu werden die 4 vom letzen Pixel addiert, und man erhält 17.
Nun wird der Wert 16 angezeigt. Dieses Streuraster macht sich die Tatsache zu
nutze, dass nebeneinanderliegende Pixel zu einem verschwimmen, wenn sie ausreichend
klein sind. Der gesehene Farbwerte entspricht dann dem Verhältnis zwischen
hellen und dunklen Pixeln.
Allerdings kann sich so ein ungewünschtes Muster ergeben. Da das Videosignal
normalerweise aber ausreichend stark verrauscht ist, und das LCD träge
genug ist um diese Muster in Unschärfe umzuwandeln, stellt dies kein Problem
dar. Der Farbträger bei einem FBAS Signal verursacht ebenfalls ein Rauschen,
das hilft die Quantisierungsfehler zu verringern.