-
Die
Erfindung betrifft eine Treiberschaltung gemäß dem Oberbegriff des Anspruchs
1 (
US 6 320 575 B1 ),
wie sie zum Ansteuern von großen
LCD-Anzeigen mit z.B. 76.800 Bildpunkten pro Bild handelsüblich ist.
-
Typische
Vertreter solcher Treiberschaltungen sind auf die Ansteuerung von
LCD-Anzeigen optimierte Prozessoren, wie sie im „Technical Manual S1D13305
Series" der Seiko
Epson Corporation März
2001, als LCD-Controller-ICs beschrieben sind.
-
In
der Konfiguration eines solchen als LCD-Treiberschaltung dienenden
Prozessors ist üblicherweise
vorgesehen, dass 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 dunkel 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, dass sie
sehr teuer sind. Denn da sie für
universellen Einsatz konzipiert sind, gewährleisten sie sehr umfangreiche
Funktionalitäten,
die bei speziellen Anwendungen nur zu einem geringen Teil ausgenutzt
werden. Der Anwender muss somit Kosten für Funktionen aufbringen, die
er gar nicht nutzen will. Das ist insbesondere in Anwendungsbereichen
kritisch, die – wie
auf dem Gebiete der Haushaltsgroßgeräte – gegen einen vom Markt diktierten
Niedrigpreis entwickelt werden und deshalb jedenfalls in der Grundversion
mit minimalen Displayfunktionen auskommen müssen.
-
Ferner
offenbart die
US 6,320,575
B1 eine Treiberschaltung für die mosaikartige Bilddarstellung auf
einer LCD-Anzeige, auf welcher der Oberbegriff des Anspruchs 1 basiert,
wobei jedem Bildpunkt auf der LCD-Anzeige eine Speicheradresse zugewiesen ist.
-
Weitere
Treiberschaltungen für
LCD-Anzeigen mit einem V-RAM sind zum Beispiel in den Dokumenten
DE 35 14 821 C2 ,
US 4,760,387 A ,
US 5,699,076 A ,
US 5,717,906 A und
US 6,078,361 A beschrieben.
-
Der
vorliegenden Erfindung liegt 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 Haushaltsgroßgerät vorkommen,
um eine Anzeige als Bedienungshilfe mit geringstmöglichem
schaltungstechnischem Mehraufwand und deshalb preisgünstigst
ansteuern zu können,
wobei gleichzeitig eine Speicherdichte eines verwendeten V-RAM erhöht werden
soll.
-
Diese
Aufgabe ist durch die Kombination der im Hauptanspruch angegebenen
wichtigsten Merkmale gelöst.
Dabei wird davon Gebrauch gemacht, dass die großen als V-RAMs einsetzbaren
Speicherbausteine im Gegensatz 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 besonders
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öglich keit,
trotz des vom Markt diktierten niedrigen Preispunktes auch einfach
ausgestattete Haushaltsgroßgeräte zur Bedienungserleichterung mit
Bildanzeigen auszurüsten.
Zur Erhöhung
der Speicherdichte des V-RAM ist einer Speicheradresse im V-RAM
entsprechend seiner Speichertiefe eine Mehrzahl nebeneinander auf
einer Bildzeile anzusteuernder Bildpunkte zugeordnet, und die Treiberschaltung übermittelt
aus einer Speicheradresse des V-RAM gleichzeitig Bilddaten mehrerer
nebeneinander auf einer Bildzeile anzusteuernder Bildpunkte an die
LCD-Anzeige.
-
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
-
1 im
auf das Funktionswesentliche abstrahierten Blockschaltbild die Einbindung
einer erfindungsgemäßen LCD-Treiberschaltung
in die Ansteuerung einer Mosaikanzeige,
-
2 im
detaillierteren Blockschaltbild – aber ohne Berücksichtigung
des Taktens der logischen Schaltungen aus dem Host-Prozessor und ohne
Berücksichtigung
des periodischen Polaritätswechsels
in der punktweisen LCD-Hellsteuerung zum Vermeiden von elektrolytischen
Zersetzungserscheinungen – die
erfindungsgemäße Treiberschaltung
nach 1, und
-
3 eine
gegenüber 2 weiter
vereinfachte Treiberschaltung.
-
Ein
Mosaik-Bild auf einer LCD-Anzeige 11 wird gemäß 1 und 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 nebeneinander gelegenen Bildpunkten, entsprechend 320 Spalten 13 im Bild
der Anzeige 11. 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
Speicherzellen-Adresse entsprechend viele in der Anzeige 11 auf einer
Zeile 12 nebeneinander gelegene Bildpunkte angesteuert.
Insoweit also z.B. unter jeder der aufeinander folgenden Spaltenadressen 15 üblicherweise eine
4-Bit-Information parallel ausgelesen wird, ist eine Zeile 12 schon
mit 320/4 = 80 aufeinander folgenden Spaltenadressen 15 gefüllt, und
es kann dann auf die erste der 80 Spaltenadressen in der nächst benachbarten
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 Spalten-Adresszä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ächst benachbarte 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 Adresszähler 20 auf
die erste Spaltenadresse 15 in der ersten Zeile 12 des
nächsten
von der Anzeige 11 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. Technologics Corporation mit 240 Zeilen 12 und
320 Spalten 13 (also mit 320 × 240 = 76.800 Bildpunkten
pro Bild) betrieben werden.
-
In
diesem Sinne ist es die Aufgabe einer LCD-Treiberschaltung 19 mit
ihrem Adresszähler 20, die
von einem Host-Prozessor 23 in den V-RAM 14 eingespeicherten
Bilddaten 36 zyklisch auszulesen und hinsichtlich Spalten-
und Zeilenadressen 15, 17 bildpunktrichtig der
LCD-Anzeige 11 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är
kodierten 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 11 – jeweils
kontinuierlich 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, wodurch 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 11 wie
auch – im Ausführungsbeispiel
nach 1 über
einen vom Host-Prozessor 23 gesteuerten Adressenumschalter 29 – an das
V-RAM 14.
-
Auf
den Spaltenzähler 20.1 folgt
im Adresszä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
aufeinander folgende Zeilennummern als die Zeilenadressen 17.
Dafür wird
die Zählstellung des
Zeilenzä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 Adresszähler 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 11 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, beeinflusst 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 11 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 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 2 beschriebenen,
wird für
die übergeordnete Steuerungsfunktion
zum mosaikartig punktweisen Bildaufbau die ohnehin gegebene Funktionalität des Host-Prozessois 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 3 dargestellt.
Sie beruht darauf, dass die Adressbusse 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 muss deshalb gar
nicht mehr eigens über
den Host-Prozessor 23 verlaufen, die Adressbusse 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 2)
entfällt
dadurch. Der Host-Prozessor 23 muss die Bilddaten 336 nur
zum richtigen Zeitpunkt über
den Datentreiber 38 an das V-RAM 14 schicken.
Dafür ist eine
Synchronisation des Host-Prozessors 23 von der Adress-Dekodierlogik 25 über die
Leitung 39 besonders sinnvoll.
-
In 2 und 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 so genannten Nibble-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 aufeinander folgende Gruppen von
je vier Bildpunkten ist der Umschalter 40 vorgesehen. Um
dessen Umschalten vor Weiterzä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
Untersetzer 41 kann deshalb als erste Teilerstufe des Zählers 20 vor
seiner Kaskade des Spaltenzählers 20.1 realisiert
sein. Jedenfalls erscheint, jeweils vor dessen 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 Spaltenadresse 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,
dass auch einfacher ausgestattete Haushaltsgroßgeräte, trotz des vom Markt ausgehenden
enormen Preisdruckes, mit LCD-Anzeigen 11 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 aufeinander folgenden 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.