Treiberschaltung für eine LCD-Anzeige
Die Erfindung betrifft eine Treiberschaltung gemäß dem Oberbegriff des Anspruches 1 , wie sie, zum Ansteuern von großen LCD-Anzeigen mit z.B. 76.800 Biidpunkten pro Bild, handelsüblich ist. Typische Vertreter solcher Treiberschaltungen sind auf die Ansteuerung von LCD-Anzeigen opti- mierte Prozessoren, wie sie im „Technical Manual S1 D13305 Series" der
Seiko Epson Corporation, p 2001 , als LCD-Controller-ICs beschrieben sind.
In der Konfiguration eines solchen als LCD-Treiberschaltung dienenden Prozessors ist üblicherweise vorgesehen, daß er von einem Host-Prozessor Bilddaten und Befehle empfangen sowie Signale zur zeitlichen Abstimmung abgeben kann, wofür er mit einem eigenen Taktgenerator ausgestattet ist. Solche Prozessoren sind im übrigen darauf optimiert, mit großen Speichern zu korrespondieren. Die werden in dieser Anwendung als Video-RAM (im folgenden V-RAM) bezeichnet, weil binäre Bilddaten für die Anzeige in den Speicher geladen und von dort wieder abgerufen werden. Jedem Speicherplatz ist, je nach seiner Bittiefe, die binäre Information wenigstens eines Bildpunktes zugeordnet; der entsprechende Speicherinhalt bestimmt also, welcher Bildpunkt momentan hell oder dun- kel geschaltet ist. In einem speziellen Funktionsteil solch eines
LCD-Prozessors werden Steuersignale erzeugt und zeitrichtig mit den aus dem Speicher abgerufenen Bilddaten an die LCD-Anzeige ausgegeben.
Die so in eine autarke Prozessorstruktur eingebundenen, standardmäßig verfügbaren Treiberschaltungen haben den Vorteil einfacher Anwendung, aber den Nachteil, daß sie sehr teuer sind. Denn da sie für universellen
Einsatz konzipiert sind, gewährleisten sie sehr umfangreiche Funktionali-
täten, die bei speziellen Anwendungen nur zu einem geringen Teil ausgenutzt werden. Der Anwender muß somit Kosten für Funktionen aufbringen, die er gar nicht nutzen will. Das ist insbesondere in Anwendungsbereichen kritisch, die - wie auf dem Gebiete der Haushalts-Großgeräte - gegen einen vom Markt diktierten Niedrigpreis entwickelt werden und deshalb jedenfalls in der Grundversion mit minimalen Displayfunktionen auskommen müssen.
Der vorliegenden Erfindung liegt deshalb die technische Problemstellung zugrunde, eine Treiberschaltung für eine LCD-Anzeige anzugeben, die auf vergleichsweise weniger komplexe Anwendungen optimiert ist, vorzugsweise auf solche wie sie in einer Waschmaschine oder dergleichen Haushalts-Großgerät vorkommen, um eine Anzeige als Bedienungshilfe mit geringstmöglichem schaltungstechnischem Mehraufwand und deshalb preisgünstigst ansteuern zu können.
Diese Aufgabe ist durch die Kombination der im Hauptanspruch angegebenen wichtigsten Merkmale gelöst. Dabei wird davon Gebrauch gemacht, daß die großen als V-RAMs einsetzbaren Speicherbausteine im Gegen- satz zu den universellen LCD-Prozessoren sehr preisgünstig erhältlich sind. Es wird im Rahmen der erfindungsgemäßen Lösung nun aber darauf verzichtet, alle in einem solchen Speicherbaustein verfügbaren Speicherzellen zu nutzen, also mit Bilddaten zu belegen. Vielmehr werden dafür nun nur noch solche Speicherzellen herangezogen, die sich mit einer be- sonders einfach gestalteten, zyklisch zu durchlaufenden binären Zählschaltung adressieren lassen. Dadurch reduziert sich der schaltungstechnische Aufwand für die optimierte LCD-Treiberschaltung auf eine relativ einfache Verschaltung von aus dem Host-Prozessor getakteten logischen Gattern, die deshalb sehr preisgünstig in Standard-PALs realisierbar ist: Ohne Verzicht auf notwendige Funktionalitäten senkt die erfindungsgemäße Lösung so die Kosten auf die Größenordnung von einem Drittel des Preises herkömmlicher, prozessororientierter LCD-Treiberschaltungen und
eröffnet dadurch die Möglichkeit, trotz des vom Markt diktierten niedrigen Preispunktes auch einfach ausgestattete Haushaltsgroßgeräte zur Bedienungserleichterung mit Bildanzeigen auszurüsten.
Bezüglich Einzelheiten, Alternativen und zweckmäßiger Weiterbildungen zur erfindungsgemäßen Lösung und deren Vorteilen wird auf die weiteren Ansprüche und auf die nachstehende Zeichnungsbeschreibung Bezug genommen. In der Zeichnung zeigt :
Fig. 1 im auf das Funktionswesentliche abstrahierten Blockschaltbild die Einbindung einer erfindungsgemäßen LCD-Treiberschaltung in die Ansteuerung einer Mosaikanzeige, Fig. 2 im detaillierteren Blockschaltbild - aber ohne Berücksichtigung des Taktens der logischen Schaltungen aus dem Host- Prozessor und ohne Berücksichtigung des periodischen Polaritätswechsel in der punktweisen LCD-Hellsteuerung zum Vermeiden von elektrolytischen Zersetzungserscheinungen - die erfindungsgemäße Treiberschaltung nach Fig. 1 und Fig. 3 eine gegenüber Fig. 2 weiter vereinfachte Treiberschaltung.
Ein Mosaik-Bild auf einer LCD-Anzeige 11 wird gemäß Fig.1 und Fig. 2 ausgehend von der Nullstellung wie folgt aufgebaut: Zunächst wird die nullte Zeile 12 (die ist oberste oder die unterste Zeile 12 in der Anzeige 11) angesteuert. Jede der Zeilen 12 besteht aus typischerweise 320 ne- beneinander gelegenen Bildpunkten, entsprechend 320 Spalten 13 im Bild der Anzeige 1 1. Die visuell darzustellenden Informationen des jeweiligen Bildpunktes (unten auch als Bilddaten 36 bezeichnet) sind durch die aktuellen binären Werte („hell" der „dunkel") der jeweils -zugeordneten Zelle im Bildspeicher, dem V-RAM 14 vorgegeben. Da für jeden Bildpunkt, also für jeden Schnittpunkt von Zeilen 12 und Spalten 13 in der Anzeige 11 , nur die Information von einem Bit („hell" oder „dunkel") erforderlich ist, jede Speicherzelle aber mehrere Bit tief ist, werden unter jeder Speicherzel-
len-Adresse entsprechend viele in der Anzeige 11 auf einer Zeile 12 nebeneinander gelegene Bildpunkte angesteuert. Insoweit also z.B. unter jeder der aufeinanderfolgenden Spaltenadressen 15 üblicherweise eine 4-Bit-lnformation parallel ausgelesen wird, ist eine Zeile 12 schon mit 320/4=80 aufeinanderfolgenden Spaltenadressen 15 gefüllt, und es kann dann auf die erste der 80 Spaltenadressen in der nächstbenachbarten der Zeilen 12 weitergeschaltet werden.
Die Zeilenweiterschaltung mit gleichzeitigem Rücksprung auf den ersten Bildpunkt unter der ersten Spaltenadresse 15 in der nächstfolgenden Zeile 12 wird für dieses Auslegungsbeispiel demnach mit dem Aufzählen auf die 80. Spaltenadresse 15 bewirkt, d.h. das Erreichen der binären Zählstellung 80 als Spaltenadresse 15 dient außer dem Rücksetzen eines Spal- ten-Adreßzählers 20.1 auch als Zeilen-Umschaltsignal 16. Nach Durchzählen von abermals 80 Spaltenadressen 15 ist auch die nächste Zeile 12 mit Bildpunkt-Daten belegt und das nun erscheinende Umschaltsignal 16 schaltet auf die Nummer der nächstfolgenden Zeilenadresse 17 weiter, also auf die nächstbenachbarte Zeile 12; und so fort, bis auch die letzte (die 239.) der Zeilen 12 gefüllt ist.
Mit dem Ende dieser letzten Zeile 12 des Bildes in der Anzeige 11 schaltet ein Bildimpuls 18 zum Aufbau des nächstfolgenden Bildes den Adreßzäh- ler 20 auf die erste Spaltenadresse 15 in der ersten Zeile 12 des nächsten von der Anzeige 1 1 darzubietenden Bildes zurück - wenn der Inhalt des V- RAM 14 unterdessen nicht geändert wurde, ist das wieder dasselbe Bild.
Auf diese Weise kann z. B. die LCD-Anzeige 11 des Typs 32F62 der Fa. Technologies Corporation mit 240 Zeilen 12 und 320 Spalten 13 (also mit 320 x 240 = 76.800 Bildpunkten pro Bild) betrieben werden.
In diesem Sinne ist es die Aufgabe einer LCD-Treiberschaltung 19 mit ihrem Adress-Zähler 20, die von einem Host-Prozessor 23 in den V-RAM 14 eingespeicherten Bilddaten 36 zyklisch auszulesen und hinsichtlich Spal-
ten- und Zeilenadressen 15, 17 bildpunktrichtig der LCD-Anzeige 1 1 zuzuführen. Um das mit möglichst wenig Schaltungsaufwand zu realisieren, sind gemäß der vorliegenden Erfindung die jeweiligen Binärwerte der einzelnen Bildpunkte (d.h. der Bilddaten 36) im V-RAM 14 nur noch unter solchen Speicheradressen 15, 17 abgelegt, die in einfachster Zählabfolge und deshalb einfach zyklisch angesprochen werden können. Dazu laufen in einem binärkodierten Zähler 20 zwei Zählschaltungen - ein Spaltenzähler 20.1 für die Bildpunkte einer Zeile 12 und ein ihm nachgeschalteter Zeilenzähler 20.2 für die Zeilen 12 im Bild der Anzeige 1 1 - jeweils konti- nuierlich um, angesteuert über eine Taktleitung 24 von Zählimpulsen 21 , die aus der Taktschaltung 22 des Host-Prozessors 23 abgeleitet werden, um die Treiberschaltung 19 dafür nicht mit eigenem Oszillator ausstatten zu müssen. Aufgrund der Binärkodierung kann der Zähler 20 einfach als Reihenschaltung von bistabilen Kippstufen (Flipflops) realisiert sein, wo- durch er infolge binärer Teilung der Wiederholfrequenz der Zählimpulse 21 z.B. mit acht solchen Kippstufen bis 28 = 256 zählen könnte.
Von einer Dekodierlogik 25 wird der Zählerstand 15 der Kaskade des Spaltenzählers 20.1 im Zähler 20 laufend überwacht, und mit Erfassen aller Bildpunkte (d.h. Spalten 13) einer Zeile 12 wird der Spaltenzähler
20.1 vom Umschaltsignal 16 über eine Resetleitung 26 auf Null zurückgesetzt. Die Flipflops des Spaltenzählers 20.1 liefern so über einen Spalten- Bus 28 zu sechs Leitungen mit den Spaltennummern nacheinander in binärer Zählfolge die unteren Adressen 15 sowohl an die Anzeige 1 1 wie auch - im Ausführungsbeispiel nach Fig.1 über einen vom Host-Prozessor
23 gesteuerten Adressenumschalter 29 - an das V-RAM 14.
Auf den Spaltenzähler 20.1 folgt im Adreßzähler 20 die weitere Kaskade von binären Teilerstufen als dem Spaltenzähler 20.1 nachgeschalteter Zeilenzähler 20.2. Der besteht z.B. aus einer Serienschaltung von acht
Flipflops und liefert in binärer Zählfolge aufeinanderfolgende Zeilennummern als die Zeilenadressen 17. Dafür wird die Zählstellung des Zeilen-
Zählers 20.2 mit jedem Umschaltsignal 16 am Ende der Zählkapazität des Spaltenzählers 20.1 , sobald also eine Zeile 12 mit Bildpunkt-Daten 36 gefüllt ist, über eine Taktleitung 30 um den Wert Eins erhöht. Der Zeilenzähler 20.2 zählt im vorliegenden Beispiel so von Zeile 0 bis zur Zeile 239 und wird dann über die Dekodierlogik 25 vom Bildimpuls 18 mit dem gesamten Adreßzähier 20 wieder auf Null zurückgesetzt. So liefert der Zeilenzähler 20.2 mit der Folge der Zeilennummern über einen Zeilen-Bus 31 zu acht Leitungen die oberen Adressen 17 an die Anzeige 11 und an das V-RAM 14.
Mit den Adress-Nummern 15 vom Spaltenzähler 20.1 und den Adress-Nummern 17 vom Zeilenzähler 20.2 ist deshalb jeder zu einer Folge von vier Bildpunkten der LCD-Anzeige 1 1 gehörende Speicherplatz von vier Bit Tiefe im V-RAM 14 gezielt ansprechbar.
Der Adressumschalter 29 bekommt außerdem über einen Bus 32 noch Adressen 33 von vierzehn Bit Breite vom Host-Prozessor 23. Diese drei Gruppen von Adressen 15, 17, 33 kann der Adressumschalter 29, beeinflußt vom Host-Prozessor 23 mittels einer Steuerleitung 34, über einen Bus 35 wahlweise auf das V-RAM 14 schalten.
Es können also die Speicheradressen des V-RAM 14 außer von den Spalten- und Zeilenzählern 20.1 , 20.2 wahlweise auch vom Host-Prozessor 23 aus adressiert werden. Letzteres erfolgt vom Host-Prozessor 23 aus über den Bus 32 und den Adressumschalter 29 sowie den Bus 35, wenn das V-RAM 14 vom Host-Prozessor 21 aus mit Bilddaten 36 beschrieben werden soll, oder wenn Bilddaten 36 in ihn eingelesen werden sollen. Die laufen über einen Bild-Bus 37 mit Datentreiber 38. Der ist ein bidirektionaler Bus-Treiber mit Tristate-Ausgängen. Er kann also Daten 36 in beiden Richtungen treiben; er kann aber auch ganz weggeschaltet werden, um eine Übertragung der Bilddaten 36 vom V-RAM 14 über einen weiteren Zweig des Bild-Bus 37 zur Anzeige 1 1 nicht zu stören.
Eine Freigabe des Bilddaten-Verkehrs 36 zwischen Host-Prozessor 23 und V-RAM 14 oder zwischen V-RAM 14 und Anzeige 11 ist zeitlich geregelt. Beispielsweise hat der Host-Prozessor 23 immer dann Zugriff auf das V-RAM 14, wenn das letzte (niedrigwertigste) Bit der Spaltennummer 15 gerade Null (Low) ist; ist es dagegen +U (High), hat die Steuerlogik in der LCD Anzeige 11 über den Bild-Bus 37 Zugriff auf das V-RAM 14. In Fig.2 ist berücksichtigt, ist es dafür zweckmäßig ist, den Host-Prozessor 23 über eine Leitung 39 aus der Dekodierlogik 25 zu synchronisieren.
Wie vorstehend unter Bezugnahme auf Fig. 2 beschriebenen, wird für die übergeordnete Steuerungsfunktion zum mosaikartig punktweisen Bildaufbau die ohnehin gegebene Funktionalität des Host-Prozessors 23 genutzt, um die Treiberschaltung 19 funktional möglichst einfach auslegen zu können. Man kann gemäß einer Weiterbildung der Erfindung über intelligente Software die Treiberschaltung 19 sogar noch weiter vereinfachen. Eine mögliche derartige Ausgestaltung ist in Fig. 3 dargestellt. Sie beruht darauf, daß die Adreßbusse 28, 31 vom Spaltenzähler 20.1 und vom Zeilenzähler 20.2 das V-RAM 14 mit den Adressen 15, 17 immer in gleicher Reihenfolge ansteuern. Dessen Adressierung muß deshalb gar nicht mehr eigens über den Host-Prozessor 23 verlaufen, die Adreß-Busse 28, 31 vom Spalten- und vom Zeilenzähler 20.1 , 20.2 können direkt auf das V- RAM 14 führen. Der Aufwand von typisch vier Bausteinen für einen Adressumschalter (29 in Fig. 2) entfällt dadurch. Der Host-Prozessor 23 muß die Bilddaten 336 nur zum richtigen Zeitpunkt über den Datentreiber
38 an das V-RAM 14 schicken. Dafür ist eine Synchronisation des Host- Prozessor 23 von der Adreß-Dekodierlogik 25 über die Leitung 39 besonders sinnvoll.
In Fig.2 und Fig.3 der Zeichnung ist für die Ablieferung der aus dem V-
RAM 14 ausgelesenen Bilddaten 36 an die Steuerelektronik in der Anzeige 11 noch ein Datenumschalter 40 mit Tristate- Verhalten vorgesehen.
Der ist aber nur erforderlich, wenn das V-RAM 14, moderner Speichertechnologie entsprechend, pro Speicheradresse 15/17 mit acht Bit Tiefe (also einem Byte statt wie bisher beschrieben mit vier Bit Tiefe) ausgelesen wird, während die Ansteuerung einer LCD-Anzeige 11 üblicherweise immer noch pro Spaltenadresse 15 zu vier Bildpunkten parallel, also mit den sogenannten Nibbel-Worten von nur vier Bit Tiefe pro Speicheradresse 15/17 erfolgt. Zum Aufspalten der acht Bit tiefen Spaltenadresse 15 in zwei auf der Zeile 12 aufeinanderfolgende Gruppen von je vier Bildpunkten ist der Umschalter 40 vorgesehen. Um dessen Umschalten vor Wei- terzählen zur nächsten Spaltennummer 15 durchzuführen, werden aus der
Taktschaltung 22 des Host-Prozessor 23 originär Umschaltimpulse 42 vom Doppelten der Frequenz der Zählimpulse 21 abgeleitet. Diese doppelte Zählfrequenz wird in einem dem Spaltenzähler 20.1 vorgeschalteten binären Untersetzer 41 auf den Zähltakt der Impulse 21 halbiert. Der Un- tersetzer 41 kann deshalb als erste Teilerstufe des Zählers 20 vor seiner
Kaskade des Spaltenzählers 20.1 realisiert sein. Jedenfalls erscheint, jeweils vor dessem Umschalten zur nächsten Spaltenadresse 15 auf dem Bus 28, am Datenumschalter 40 ein Umschaltimpuls 42, der nach den ersten vier Bit auch noch die zweiten vier Bit für die acht unter einer Spal- tenadresse 15 anzusteuernden Bildpunkte in der aktuellen Zeile 12 aus dem V-RAM 14 ausliest. Der Spaltenzähler 20.1 braucht in dieser Konfiguration zum Füllen einer Zeile 12 also nur noch bis 320 / 8 = 40 zu zählen. Der mit Erscheinen des nächsten Zählimpulses 21 anstehende Umschaltimpuls 42 schaltet dann den Datenumschalter 40 auf die ersten vier Bit der nächsten acht Bit tiefen Spaltenadresse 15 zurück.
Unabhängig von der Speichertiefe des benutzten V-RAM 14 ist also festzustellen, daß auch einfacher ausgestattete Haushaltsgroßgeräte, trotz des vom Markt ausgehenden enormen Preisdruckes, mit LCD-Anzeigen 1 1 etwa zur Benutzerführung ausgestattet werden können, werden die teuren Universal-Treiberschaltkreise (LCD-Controller-ICs) mit ihren vielfach ungenutzten Funktionalitäten erfindungsgemäß ersetzt werden durch
einfache, vom Host-Prozessor 21 für die Übermittlung der Bilddaten 36 zwischen V-RAM 14 und Anzeige 11 synchronisierte logische Gatterschaltungen zum zyklisch aufeinanderfolgenden Durchzählen der Bildpunkte (d.h. Spalten 13) pro Bildzeile 12 und der Zeilen 12 pro Bilddarstellung der Anzeige 11. Da nun jeder Zählstellung 15/27 pro Bild nicht nur eine Matrixposition im Bild der Anzeige 11 , sondern auch eine Adresse im V-RAM 14 entspricht, wird dieser Speicher 14 nicht ausgenutzt, da er nicht kontinuierlich, sondern nur in einem entsprechenden Ausschnitt mit Bilddaten 22 belegt wird; was aber nicht stört, weil große Bilddatenspeicher 14 im Vergleich zu einem teuren LCD-Controller-IC sehr preisgünstig verfügbar sind.