DE102008025915A1 - Video-Displaytreiber mit Daten-Enable-Lernfunktion - Google Patents

Video-Displaytreiber mit Daten-Enable-Lernfunktion Download PDF

Info

Publication number
DE102008025915A1
DE102008025915A1 DE102008025915A DE102008025915A DE102008025915A1 DE 102008025915 A1 DE102008025915 A1 DE 102008025915A1 DE 102008025915 A DE102008025915 A DE 102008025915A DE 102008025915 A DE102008025915 A DE 102008025915A DE 102008025915 A1 DE102008025915 A1 DE 102008025915A1
Authority
DE
Germany
Prior art keywords
pixel clock
pixel
data
display
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102008025915A
Other languages
English (en)
Other versions
DE102008025915B4 (de
Inventor
Christopher Ludden
John Childs
Jeff Lillie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Semiconductor Corp
Original Assignee
National Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE102008025915A1 publication Critical patent/DE102008025915A1/de
Application granted granted Critical
Publication of DE102008025915B4 publication Critical patent/DE102008025915B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • G09G2320/0276Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3685Details of drivers for data electrodes
    • G09G3/3688Details of drivers for data electrodes suitable for active matrices only
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3696Generation of voltages supplied to electrode drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Liquid Crystal (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

Es wird eine Daten-Enable-Lernfunktion für einen Video-Displaytreiber bereitgestellt, bei der ein Daten-Enable-Signal und ein Pixeltakt exklusive ihrer zugehörigen horizontalen und vertikalen Synchronisationssignale für ein digitales Videosignal verwendet werden, um das Erzeugen von Signalen zu erleichtern, die den zugehörigen horizontalen und vertikalen Synchronisationssignalen entsprechen.

Description

  • VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität der US-Provisional-Anmeldung 60/932,910, die am 1. Juni 2007 eingereicht wurde und deren Inhalt durch Bezugnahme ind die vorliegende Offenbarung aufgenommen wird.
  • HINTERGRUND
  • Flüssigkeitskristall-Displays (Liquid Crystal Displays, LCDs) werden in einer Vielzahl von Produkten verwendet, beispielsweise Mobiltelefonen, digitalen Musikabspielgeräten, PDAs, Internet-Browsing-Geräten, und sogenannten Smart Phones wie beispielsweise dem angekündigten Apple I-Phone, welche eine oder mehrere der vorstehend genannten Funktionen in einem einzigen, in der Hand zu haltenden Gerät für vereinen. Andere Verwendungen findet man bei in der Hand zu haltenden Spielen, in der Hand zu haltenden Computer und Laptop- bzw. Notebook-Computern. Diese Anzeigen oder Displays sind sowohl in Graustufen-Ausführungen (monochromen Ausführungen) als auch in farbigen Ausführungen erhältlich und nehmen typischerweise die Form einer Matrix aus einander schneidenden Zeilen und Spalten an. Der Schnittpunkt einer jeden Zeile und Spalte bildet ein Pixel bzw. Punkt, dessen Dichte und/oder Farbe gemäß der Spannung variiert werden kann, die an das Pixel angelegt ist, um die Graustufe des LCD zu definieren. Die verschiedenen Spannungen produzieren die unterschiedlichen Farbschattierungen bzw. -stufen auf dem Display und werden normalerweise selbst dann als „Graustufen" bezeichnet, wenn von einem Farbdisplay gesprochen wird.
  • Das Bild, welches auf dem Schirm angezeigt wird, kann gesteuert werden, indem individuell eine Zeile des Displays zu jeweils einer Zeit ausgewählt wird und Steuerspannungen an eine jede Spalte der ausgewählten Zeile angelegt werden. Die Periode, während der eine jede solcher Zeilen ausgewählt ist, kann als eine „Zeilen-Treibungs-Periode" bezeichnet werden. Dieser Prozess wird für jede Zeile des Schirms einzeln ausgeführt. Wenn in der Matrix bei spielsweise 480 Zeilen vorliegen, gibt es typischerweise 480 Zeilen-Treibungs-Perioden in einem Display-Zyklus. Nach der Beendigung eines Display-Zyklus, während dem eine jede Zeile in der Matrix ausgewählt wurde, beginnt ein neuer Display-Zyklus, und der Prozess wird wiederholt, um das angezeigte Bild aufzufrischen und/oder zu aktualisieren. Ein jedes Pixel des Displays wird periodisch viele Male pro Sekunde aufgefrischt oder aktualisiert, sowohl um die an dem Pixel gespeicherte Spannung aufzufrischen, als auch um jegliche Änderungen in der von dem Pixel anzuzeigenden Schattierung im Verlauf der Zeit zu reflektieren.
  • LCDs, die in Computerbildschirmen verwendet werden, benötigen eine verhältnismäßig große Anzahl solcher Kanaltreiber-Ausgaben. Kanaltreiber sind mit einem Source-Anschluss eines Dünnfilm-Transistors verbunden, der auf dem Glas des LCD fabriziert ist. Viele kleinere Display-Geräte, darunter Kameras, Mobiltelefone und PDAs, haben Sensoren, die die Orientierung des Displays detektieren. Derartige Geräte können in Abhängigkeit von der Orientierung des Gerätes die Ansicht von Hochformat auf Querformat ändern. Spalten, die vertikal sind, werden in der Querformat-Orientierung horizontal. Jedoch ist immer noch dieselbe Struktur (die Spalte) die getriebene Struktur, obwohl sie die Orientierung einer Zeile einnimmt. Um Verwirrungen zu vermeiden wird in diesem Patent auf einen „Kanaltreiber" Bezug genommen, und dieser bezeichnet die Struktur zum Treiben des Source-Anschlusses des Dünnfilm-Pass-Transistors.
  • Farbdisplay benötigen typischerweise dreimal so viele Kanaltreiber wie herkömmliche „monochrome" LCD-Displays; derartige Farbdisplays benötigen üblicherweise drei Spalten pro Pixel, eine für eine jede der drei Primärfarben, die anzuzeigen sind. Die Kanaltreiber-Schaltung wird typischerweise in Form von monolithischen integrierten Schaltungen (ICs) ausgebildet. ICs dienen als Kanaltreiber für so genannte Active-Matrix-LCDs und erzeugen unterschiedliche Ausgangsspannung, um die verschiedenen „Graustufen" auf dem LCD zu definieren. Die variierenden analogen Ausgangsspannungen variieren den Farbton bzw. die Farbstufe, die an einem bestimmten Punkt bzw. Pixel des Displays angezeigt wird. Der IC des Kanaltreibers muss die analogen Spannungen in der richtigen Timing-Folge auf die Spalten der Display-Matrix anwenden bzw. treiben.
  • LCDs sind in der Lage Bilder anzuzeigen, weil die optischen Transmissionseigenschaften des Flüssigkristall-Materials sich gemäß der Stärke der angelegten Spannung ändern. Jedoch würde die Anlegung einer konstanten DC-Spannung an einen Flüssigkeitskristall im Laufe der Zeit seine physikalischen Eigenschaften permanent ändern und verschlechtern. Aus diesem Grund ist es üblich, LCDs mit Techniken zu treiben, bei denen ein jeder Flüssigkeitskristall mit Spannungen alternierender Polarität bezüglich eines gemeinsamen Spannungs-Mittelpunkt-Wertes geladen wird. Man beachte, dass in diesem Zusammenhang der Begriff „Spannungen alternierender Polaritäten" nicht notwendigerweise verlangt, dass Treibungs-Spannungen verwendet werden, die größer als und geringer als das Massepotential sind, sondern er bringt lediglich zum Ausdruck, dass die Spannungen oberhalb und unterhalb einer vorbestimmten mittleren Display-Bias-Spannung liegen. Das Anlegen von Spannungen alternierender Polarität an die Pixel des Displays ist allgemein als „Inversion" bekannt.
  • Dementsprechend beinhaltet das Treiben eines Pixels eines Flüssigkeitskristall-Materials entsprechend einer bestimmten Graustufe zwei Spannungspulse gleicher Größe aber mit entgegengesetzter Polarität bezüglich der mittleren Display-Bias-Spannung. Die Treibungs-Spannung, die an ein beliebiges gegebenes Pixel während seiner Zeilen-Treibungs-Periode innerhalb eines Display-Zyklus angelegt wird, wird typischerweise in ihrer Polarität während seiner Zeilen-Treibungs-Periode im nächsten folgenden Display-Zyklus umgekehrt. Das Pixel reagiert auf den betragsmäßigen Wert der Spannung, so dass die letztendlich erreichte „Helligkeit" des Pixels nur von der Größe der Spannung, nicht aber ihrer Polarität abhängt. Die alternierende Polarität wird verwendet, um eine „Polarisierung" des Flüssigkeitskristall-Materials in Folge von Verunreinigungen zu verhindern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Hinweis: Die 112 und 1317 verwenden unabhängige Sätze von Bezugszeichen für die jeweils gezeigten Elemente. Daher sollten sämtliche Bezugnahmen auf Elemente der Zeichnungen im Kontext gelesen werden, weil sonst der Eindruck einer zweifachen Verwendung auftreten könnte.
  • 1A ist ein Blockdiagramm, welches direkte Videodaten-Verbindungen von einem Host-Prozessor zu einem Matrix-Display gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • 1B ist ein Blockdiagramm, welches eine seriell codierte Videodatenverbindung von dem Hostprozessor zu dem Display durch eine Mobile Pixel Link(MPL)- Schnittstelle gemäß einer anderen Ausführungsform der vorliegenden Erfindung zeigt.
  • 2 ist ein Blockdiagramm eines Displaytreibers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt den Betrieb der LoSSI-Schnittstelle von 2.
  • 4 ist ein Blockdiagramm der MPL-Schnittstelle von 1B.
  • 5 ist ein Diagramm von fünf Konfigurationen von RAM-Daten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6 zeigt Operationen, die das RAM von 2 einbeziehen, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 7 zeigt Operationen für das DE-Lern-Element von 2, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 8 ist ein Timing-Diagramm von Signalen, die bei dem Betrieb des DE-Lern-Elements von 2 einbezogen sind, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 9 ist ein Timing-Diagramm von weiteren Signalen, die bei dem Betrieb des DE-Lern-Elements von 2 einbezogen sind, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 10 zeigt Operationen, die das Alpha-Misch-Element von 2 einbeziehen, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 11 zeigt ein Display mit einem Bild innerhalb eines Fensters, wenn ein Display-Treiber in einem Teil-Modus betrieben wird, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 12 zeigt einen Betrieb für einen Abschalt-Modus, eine Beendigung eines Video-Modus und das Ablaufen einer Zeit zum Anzeigen von Video-Daten, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 13 ist ein Teil-Blockdiagramm des Source-Treiberblocks.
  • 14 ist eine schematische Darstellung der Ausgangskanäle im Source-Treiberblock.
  • 15A ist eine schematische Darstellung der Gamma-Generator-Schaltung in dem Source-Treiberblock.
  • 15B ist eine alternative Ausführungsform der Gamma-Generator-Schaltung.
  • 15C ist eine weitere Alternative Ausführungsform der Gamma-Generator-Schaltung.
  • 16 zeigt, wie Pixel in dem Drei-Bit-Modus gepackt werden.
  • 17 ist eine graphische Darstellung einer exemplarischen Gamma-Kurve.
  • 18 ist ein Blockdiagramm einer kommerziellen Ausführungsform eines Video-Display-Treibersystems zum Anzeigen von Videodaten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 19A und 19B zeigen mögliche negative und positive Gamma-Polaritätskurven.
  • 20 ist eine Tabelle mit Werten für Gamma-Kurven gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 21 zeigt eine Gamma-Kurven-Einstellung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 22 ist ein Blockdiagramm einer Gamma-Referenz-Architektur gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 23 ist ein Blockdiagramm einer AC-VCOM-Schaltung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • Verschiedene Ausführungsformen der vorliegenden Erfindung werden unter Bezugnahme auf die Zeichnungen beschrieben, wobei in mehreren Ansichten gleiche Bezugszeichen gleiche Teile und Anordnungen bezeichnen. Die Bezugnahme auf verschiedene Ausführungsformen beschränkt nicht den Schutzumfang der Erfindung, der lediglich durch die beigefügten Ansprüche begrenzt ist. Darüber hinaus sollen sämtliche Beispiele, die in dieser Beschreibung ausgeführt werden, nicht als einschränkend verstanden werden, sondern sie zeigen lediglich einige unter den vielen möglichen Ausführungsformen der beanspruchten Erfindung.
  • In der Beschreibung und den Ansprüchen haben die folgenden Ausdrücke mindestens die hier explizit zugewiesenen Bedeutungen, falls der Kontext nicht klar etwas anderes vorgibt. Die im Folgenden identifizierten Bedeutungen sollen die Ausdrücke nicht beschränken, sondern lediglich Beispiele für die Ausdrücke angeben. Die Bedeutung von "ein" und "der, die, das" kann auf Gegenstände in der Einzahl und im Plural hinweisen. Das Wort "in" kann sowohl die Bedeutung von "in" als auch "an" haben. Der Begriff "verbunden" bezeichnet eine direkte elektrische Verbindung zwischen verbundenen Gegenständen, ohne irgendwelche dazwischen geschalteten Vorrichtungen. Der Begriff "gekoppelt" bedeutet entweder eine direkte elektrische Verbindung zwischen den verbundenen Gegenständen, oder eine indirekte Verbindung durch eine oder mehrere passive oder aktive zwischengeschaltete Vorrichtungen. Der Begriff "Schaltung" kann entweder eine einzelne Komponente oder eine Mehrzahl von Komponenten bezeichnen, die aktiv und/oder passiv sein können, und gekoppelt sind, um eine erwünschte Funktion bereitzustellen. Der Begriff "Signal" bedeutet mindestens einen Strom, eine Spannung, eine Ladung, eine Temperatur, Daten oder ein anderes Signal.
  • Der Begriff "Kanal" identifiziert die Schaltungselemente, die digitale Daten empfangen und die empfangenen digitalen Daten in analoge Spannungen umwandeln, die an die Kontaktinsel-Orte auf einem Glassubstrat angelegt werden. Die Kontaktinseln, so genannte "Pads", sind mit Source-Anschlüssen von Dünnfilmtransistoren verbunden. Der Begriff "Reihe" bezieht sich auf einen Satz von benachbarten Kanalpixeln, die mit einem gemeinsamen Gate-Signal verbunden sind. Sämtliche Gates von benachbarten Dünnfilmtransistoren in einer Reihe sind mit einem gemeinsamen Gate-Signal verbunden. Eine Reihe wird zum Empfangen von Daten ausgewählt, wenn ihr Gate-Signal die Transistoren in der Reihe einschaltet. In einer ersten Orientierung des Displays sind die Ausgangskanäle Spalten und die Reihen Zeilen. Wenn das Display um neunzig Grad in eine zweite Orientierung gedreht wird, werden die Spalten zu Zeilen und die Reihen werden zu Spalten. Im nachfolgenden Text wird angenommen, dass sich das Display stets in der ersten Orientierung befindet, und die Begriffe "Spalte" und "Kanal" sind austauschbar, ebenso wie die Begriffe "Reihe" und "Zeile". Der Fachmann versteht, dass in der zweiten Orientierung die "Zeilen" immer noch die Ausgangskanäle sind und die "Spalten" von dem Gate-Treiber ausgewählt werden.
  • Ferner wird in der folgenden Diskussion eine Reihe von Begriffen verwendet, deren Definitionen im Folgenden angegeben werden:
    Normalmodus: Dieser Modus ist der Display-Modus, in dem ein Videodatenstrom zum Display gesandt wird. In diesem Modus wird das Timing von dem Pclk-Signal und dem DE-Signal abgeleitet, die durch die Videoschnittstelle empfangen werden. In diesem Modus wird der Teil-Display-Speicher ("Partial Display Memory") nicht verwendet.
    Teilmodus: Dies ist der Display-Modus, in dem Daten von dem internen Teil-Display-Speicher ausgelesen und zum Display gesandt werden. Das Timing zum Anzeigen wird durch Registereinstellungen spezifiziert und von einem internen Oszillator abgeleitet.
    Alpha-Modus: Dies ist der Display-Modus, in dem Bilddaten, die in dem Teil-Display-Speicher gespeichert sind, mit einlaufenden Videodaten gemischt werden bzw. diesen überlagert werden. Das Timing wird von den Pclk- und DE-Signalen abgeleitet, die durch die Videoschnittstelle empfangen werden.
    Teil-Display-Speicher: Ein On-Chip-Speicher, der verwendet wird, um Display-Daten für das Teil-Display-Fenster zu speichern.
    Teil-Display-Fenster: Ein nutzerdefinierter Bereich auf dem Display, der mit Bilddaten, welche in dem Teil-Display-Speicher gespeichert sind, selbsttätig aufgefrischt wird, wenn die Vorrichtung im Teilmodus betrieben wird.
    Farb-Modus: Der Farb-Modus bestimmt die Bit-Tiefe der Daten, die zu dem Display gesendet werden, und ist von dem Pack-Modus insofern zu unterscheiden, als unterschiedliche "Pack-Schemata" für einen gegebenen Farb-Modus verwendet werden können. Beispielsweise kann in dem Teilmodus das BITS_PER_PIXEL-Register verwendet werden, um einen der Farb-Modi auszuwählen:
    1-Bit-Modus: Jedes Pixel wird unter Verwendung eines Bits (zweier Stufen) definiert. Derselbe Datenwert wird für das rote, das grüne und das blaue Unterpixel verwendet. Die Treib-Spannungen des Sourcetreibers können so eingestellt werden, dass sie eine Vordergrundfarbe für einen Datenwert von 1 und eine Hintergrundfarbe für einen Datenwert von 0 definieren. Die Vordergrund- und Hintergrundfarbe sind nicht auf Schwarz/Weiß-Werte beschränkt.
    3-Bit-Modus: Ein jedes Pixel wird unter Verwendung von einem Datenbit (2 Stufen) für ein jedes des roten, des grünen und des blauen Unterpixels definiert. Die Treibspannungen des Sourcetreibers können so eingestellt sein, dass sie eine 8-farbige Palette definieren, die nicht auf die herkömmlichen Farben Schwarz, Weiß, Rot, Grün, Blau, Cyan, Gelb und Magenta beschränkt ist.
    3-Bit-Modus-LP: Modus mit geringer Systemleistung (LP = "low power") und verringerter LoSSI-Schreibgeschwindigkeit (LoSSI = low-speed serial interface, serielle Schnittstelle niedriger Geschwindigkeit). Ansonsten ist dieser Modus identisch mit dem 3-Bit-Modus.
    12-Bit-Modus: Ein jedes Pixel wird unter Verwendung von jeweils 4 Bits (16 Stufen) für das rote, das grüne und das blaue Unterpixel definiert bzw. gerendert.
    18-Bit-Modus: Ein jedes Pixel wird unter Verwendung von jeweils 6 Bits (64 Stufen) für das rote, das grüne und das blaue Unterpixel definiert.
    Im Normalmodus ist der Ausgangs-Farbmodus 24/18-Bit, unabhängig von dem Wert des BITS_PER_PIXEL-Registers oder des TS-Farbeinstell-Befehlszustands.
    Pack-Modus: Wenn Daten über die serielle Schnittstelle in den Teil-Display-Speicher geschrieben werden, werden sie gemäß der Bit-Tiefe gepackt, die verwendet werden wird, wenn die Teil-Display-Speicher-Daten (BITS_PER_PIXEL-Register) angezeigt werden. Es werden fünf Pack-Modi bereitgestellt (siehe 5).
    1-Bit-Packung: Ein jedes Byte, das über die serielle Schnittstelle gesendet wird, enthält sechs Pixel.
    3-Bit-Packung: Ein jedes Byte, das über die serielle Schnittstelle gesendet wird, enthält zwei Pixel.
    Effiziente 3-Bit-Packung: Jeweils drei Bytes, die über die serielle Schnittstelle gesandt werden, enthalten acht Pixel.
    12-Bit-Packung: Je zwei Bytes, die über die serielle Schnittstelle gesendet werden, enthalten ein Pixel.
    18-Bit-Packung: Je drei Bytes, die über die serielle Schnittstelle gesendet werden, enthalten ein Pixel.
    Konfigurations-Register: Register, die die Betriebsmodi und Einstellungen steuern, die das Verhalten des Treibers beeinflussen.
    Register-Zugriffs-Modus: Dieser Modus gestattet es der seriellen Schnittstelle, direkt auf die Einstellungen des Konfigurations-Registers zuzugreifen. In diesem Modus steuert die Host- CPU die Einstellungen der Konfigurations-Register direkt. Alternativ kann die Vorrichtung über den Befehls-Modus gesteuert werden. In den Register-Zugriffs-Modus wird eingetreten, indem der Register-Zugriffs-Modus-Eintrittsbefehl gesendet wird.
    Befehls-Modus: Dieser Modus stellt ein Verfahren zum Steuern des Displaybetriebs unter Verwendung von OpCodes einer hohen Stufe bereit. Ein jeder OpCode lädt einen zugehörigen Satz von Konfigurations-Registerwerten aus einem internen EEPROM. Somit braucht die Host-CPU keine Kenntnis von den Konfigurations-Registern zu haben. Alternativ kann die Vorrichtung über den Register-Zugriffs-Modus gesteuert werden. In den Befehls-Modus kann eingetreten werden, indem der Befehls-Modus-Eintrittsbefehl gesendet wird, oder indem irgendwelche Daten in die Registeradresse 5Fh geschrieben werden. Nach dem Reset befindet sich der FPD95120 in dem Befehls-Modus.
  • Low-Speed Serial Interface (LoSSI)-Protokolle:
    • SPI-Protokoll: Ein traditionalles SPI-ähnliches Protokoll einer seriellen Schnittstelle, welche ein Lese-/Schreibe-Bit, ein Adressenfeld von 7 Bit, und ein Datenfeld von 8 Bit enthält. Wenn es in Transaktionen im Befehls-Modus verwendet wird, wird das Lese-/Schreibe-Bit zusammen mit dem Adressenfeld durch einen Befehl von 8 Bit ersetzt, und das Datenfeld bzw. die Datenfelder sind optional.
    • TSI-Protokoll: Ein Protokoll für eine serielle Schnittstelle, welches ein Befehls-/Daten-Bit enthält, ein Befehls- oder Adressenfeld von 8 Bit, und optional ein oder mehrere Datenfelder von 8 Bit.
  • 1A ist ein Blockdiagramm, welches direkte Videodatenverbindungen von einem Host-Prozessor 30 zu einer Display-Platine 32 zeigt, die ein Display 34 des Matrix-Typs, wie beispielsweise ein LCD-Display, und einen Display-Treiber 36 umfasst, der die Daten von dem Host-Prozessor zum Display-Treiber 36 weiterleitet, gemäß einer Ausführungsform der vorliegenden Erfindung. Zwei Versorgungsspannungen und eine Erdungsspannung bzw. Massepotential werden auf den drei Leitungen eines Busses 38 vom Host-Prozessor 30 für den Display-Treiber bereitgestellt. Videodaten oder RGB-Daten (rot, grün und blau) werden auf 24 Leitungen eines Busses 40 bereitgestellt, wodurch der parallele Transfer von 24 Bit Pixel-Daten (8 Bit pro Unterpixel) ermöglicht wird. Außerdem werden auch auf einem Bus 42 zwei Signale übertragen, die Signale Pclk und DE, die von dem Host-Computer 30 mit den Video daten synchronisiert werden. Drei oder vier Leitungen eines Busses 44 stellen eine serielle Schnittstelle niedriger Geschwindigkeit, eine so genannte "low-speed serial interface" (LoSSI) zwischen dem Host-Prozessor 30 und dem Display-Adapter 36 bereit, die in einer Ausführungsform entweder gemäß der so genannten "Serial Peripheral Interface" (SPI) oder der so genannten "Three Wire Serial Interface" (TSI) codiert ist. Außerdem ist in 1A eine Resetleitung 46 zum Zurücksetzen des Display-Treibers 36 durch den Host-Prozessor 30 und ein Videotransfer-Timingsignal auf Leitung 48 von dem Display-Treiber 36 zum Host-Prozessor 30 gezeigt. Das Videotransfer-Timingsignal macht Übergänge zwischen high und low zur selben Zeit, zu der ausgewählte Reihen in das Display 34 geschrieben werden, damit der Host-Prozessor den Teil-Speicher-RAM 82 aktualisieren kann, ohne gleichzeitig Teile von zwei Bildern auf dem Display 34 anzuzeigen.
  • 1B ist ein Blockdiagramm, welches eine seriell codierte Videodatenverbindung von dem Host-Prozessor 30 zu dem Display-Treiber 36 durch eine so genannte "Mobile Pixel Link"(MPL)-Schnittstellenschaltung 50 zeigt, die parallele Videodaten von dem Host-Prozessor empfangt, diese in serielle Hochgeschwindigkeits-Daten umwandelt und sie gemeinsam mit einem MPL-Power-Down-Signal auf Leitung 56 auf den MPL-Datenbus 54, welcher drei Leitungen enthält, platziert, gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Der MPL-Datenbus 54 mit drei Leitungen besteht aus einem Leitungspaar für zwei differentielle Signale und einer Taktleitung. Die anderen Kabel und Busse 38, 44, 46 und 48 sind ebenfalls in 1B gezeigt. Die MPL-Schnittstellenschaltung 50 ist ebenfalls mit der Schnittstelle 44 niedriger Geschwindigkeit mit 3 oder 4 Drähten und der Reset-Leitung 46 verbunden.
  • 2 ist ein Blockdiagramm des Display-Treibers 36 gemäß einer Ausführungsform der vorliegenden Erfindung. Der Display-Treiber 36 umfasst eine Stromversorgung 70, die auf dem Bus 38 zwei Versorgungsspannungen und eine Erdungsspannung empfängt und verschiedene Versorgungsspannungen für den Rest des Display-Treibers 36 und das Display 34 bereitstellt. Einige der Spannungen, die von der Stromversorgung 70 produziert werden, hängen von den Charakteristika des Displays 34 und anderer Betriebsbedingungen ab, die von dem in 1A und 1B gezeigten Prozessor 30 eingestellt sind. Der Display-Treiber 36 umfasst außerdem einen Timing- und Steuerblock 72, der die Timing-Signale erzeugt, die in dem Display-Treiber 36 verwendet werden, und der, in Abhängigkeit von den Registereinstellungen in den Registern 74 und dem Modus, in welchem der Display-Treiber 36 betrieben wird, die not wendigen Steuersignale für den Rest des Display-Treibers 36 bereitstellt. Die Register 74 sind mit einem EEPROM 76 gekoppelt, welches bestimmte nicht-flüchtige Daten enthält, wie beispielsweise die Einstellungen für die verschiedenen Register 74, wenn der Display-Treiber 36 zum ersten Mal hochgefahren wird bzw. nach einem Zurücksetzen ("reset"). Das EEPROM 76 enthält auch eine Mehrzahl von nutzerdefinierten Kombinationen von Registereinstellungen, so dass der Display-Treiber 36 mit einem einzelnen Befehl in eine dieser gespeicherten Kombinationen von Registereinstellungen geschaltet werden kann, anstatt eine jede dieser erwünschten registrierten Einstellungen direkt eingeben zu müssen. Wenn der Display-Treiber 36 einen Befehl erhält, in eine der gespeicherten Kombinationen von Registereinstellungen zu schalten, wird die in dem EEPROM 76 gespeicherte Einstellung zu den geeigneten Registern 74 übertragen.
  • Der Display-Treiber 36 hat eine so genannte "Low-Speed Serial Interface" (LoSSI) 78, die eine Schnittstelle mit den Daten auf dem Bus 44 bildet und die Daten so verarbeitet, wie unten beschrieben wird. Mit Ausnahme des Reset-Befehls auf der Leitung 46 empfängt der Schnittstellen-Treiber 36 alle seine Betriebsbefehle durch die LoSSI-Schnittstelle 78, und er sendet durch die LoSSI-Schnittstelle 78 Daten zurück zum Host-Prozessor 30. Wie unten mehr im Detail beschrieben wird, hat der Display-Treiber 36 zwei grundlegende Betriebskonfigurationen, einen Befehls-Modus und einen Register-Modus. Wenn er im Befehls-Modus betrieben wird, werden Befehle, die an der LoSSI-Schnittstelle 78 empfangen werden, zum Timing- und Steuerblock 72 geleitet, und wenn er in dem Register-Modus betrieben wird, wird in die ausgewählten Register 74 geschrieben.
  • Die LoSSI-Schnittstelle 78 wird verwendet, um Bilddaten weiterzuleiten, die verwendet werden, wenn sich der Display-Treiber 36 in dem Teilmodus oder dem Alpha-Modus befindet, die beide unten mehr im Detail beschrieben werden. Der Teilspeicher-Datenpacker 80 empfängt Teilspeicher-Daten von der LoSSI-Schnittstelle 78, entfernt nicht verwendete Bits von den Daten und leitet die verbleibenden Daten zum RAM 82, wie unten mehr im Detail beschrieben wird. Wenn das in dem RAM gespeicherte Bild angezeigt werden soll, formatiert ein Teilspeicher-Datenformatierer 84 die Daten in Abhängigkeit von dem Format der Daten, die in dem RAM gespeichert sind und von dem Betriebs-Modus des Display-Treibers 36, der unten im Detail beschrieben wird.
  • Die normalen Videodaten können von einem Display-Treiber 36 als Daten mit 24 Bits pro Pixel auf dem Bus 40 empfangen werden, zusammen mit dem Takt-Timingsignal Pclk, und dem Daten-Enablesignal, DE, auf Bus 42. Alternativ kann der Display-Treiber 36 normale Videodaten, welche gemäß dem MPL-Standard codiert sind, auf dem seriellen Hochgeschwindigkeits-Daten-Bus 54 mit Drahtkabel empfangen, gemeinsam mit einem MPL-Verbindung-Power-Down-Signal 56 auf Leitung 56. Welcher Modus des Display-Treibers 36 eingestellt ist, um die normalen Videodaten zu empfangen, wird durch einen Kabel-Jumper auf der Display-Platine 32 bestimmt, wie durch Leitung 86 in 2 angezeigt ist.
  • Eine Videoschnittstelle 90 empfängt die normalen Videodaten, decodiert die MPL-Daten, wenn die Videodaten über die MPL-Verbindung gesendet werden und wandelt die Pixel-Daten in 24 Bits pro Pixel um, wenn die einlaufenden Videodaten Daten mit 18 oder 16 Bit pro Pixel sind, gemäß Algorithmen, die Fachleuten bekannt sind. Die 24-Bit-Pixel-Daten werden dann zu einem DE-Lernblock 92 übertragen, der ein Ersatz-DE-Signal für den Rest des Display-Treibers 36 erzeugt und dabei im Wesentlichen das einlaufende DE-Signal digital filtert, so dass praktisch alle fehlerhaften Übergänge in dem einlaufenden DE-Signal korrigiert werden, wie unten mehr im Detail beschrieben wird. Der DE-Lernblock 92 detektiert außerdem die vertikale Dunkeltastungszeit auch, "Blanking-Zeit" genannt, wodurch es dem Display-Treiber 36 ermöglicht wird, zu arbeiten, ohne horizontale oder vertikale Synchronisationssignale von der Videoquelle zu empfangen, da der DE-Lernblock 92 das Ersatz-DE-Signal basierend lediglich auf dem DE- und dem Pclk-Signal erzeugt.
  • Nach dem DE-Lernprozess im Block 92 werden die Videodaten in Sätze von zwei Pixel (2-Pixel-Sätze) gemultiplext, die parallel durch einen Video-Multiplexerblock 94 verarbeitet werden, der einen Ausgangsbus 48 benötigt, der 48 Bit breit ist. Dies gestattet es, dass die Pixel-Daten mit der halben Datenrate des einlaufenden Videostroms verarbeitet werden, wodurch die Anforderungen an das Design erleichtert werden und die von dem Display-Treiber 36 verbrauchte Leistung verringert wird, da die Übergänge von einem logischen Zustand zu dem anderen im Wesentlichen doppelt so lang sein können.
  • Nachdem die einlaufenden Daten durch den Video-Multiplexer 94 in 2-Pixel-Sätze aufgeteilt wurden, werden die 24-Bit-Daten eines jeden Pixels in 18-Bit-Daten umgewandelt. Wenn die einlaufenden Videodaten 24 Bits pro Pixel enthalten, können die 24-Bit-Daten in 18 Bits umgewandelt werden, entweder durch so genantes Dithering oder durch Abschneiden der beiden niedrigstwertigen Bits eines jeden Farbkanals oder Unterpixels (rot, grün und blau) durch den Hochskalierungs-, Dithering- und/oder Abschneideblock 96.
  • Der Display-Treiber 36 hat die Fähigkeit, im Alpha-Mischblock 98 die Videodaten mit den Daten zu kombinieren, die in dem RAM 82 gespeichert sind, wobei die Details unten näher beschrieben werden. Zusätzlich zu der Fähigkeit, die Videodaten und die Daten des RAM 82 zu mischen, wird der Alpha-Mischblock 98 auch verwendet, wenn sich der Display-Treiber 36 in einem Video-Hochskalierungs-Modus befindet, um die Größe des einlaufenden Videobildes zu vergrößern, indem ein jedes einlaufende Pixel auf vier Ausgangspixel abgebildet wird.
  • Der Ausgang aus dem Alpha-Mischblock 98 ist mit einem Spaltentreiber oder mit Ausgangskanälen 100 gekoppelt, die in Kombination mit einer Gamma-Referenz 102 die analogen Graustufenspannungen produziert bzw. produzieren, die über einen Bus 104 zu den Unterpixeln im Display 34 geleitet werden, wie unten im Detail beschrieben wird. Da ein sehr üblicher Typ von Matrix-Display ein LCD-Display ist, wird in der folgenden Beschreibung ein LCD-Display beschrieben, um die Beschreibung nicht unnötig kompliziert zu machen. Es versteht sich jedoch, dass der Display-Treiber 36 auch mit anderen Arten von Matrix-Displays verwendet werden kann.
  • Wie im Fachgebiet bekannt ist, ist das LCD-Display 34 eine Matrix aus Polysilizium-Transistoren (nicht gezeigt), die analoge Graustufenspannungen an ihren Source-Kontakten empfangen (daher der Begriff "Source-Treiber" bzw. "Quellen-Treiber"), und die der Reihe nach zeilenweise durch Ansteuerung des Gates ein- und ausgeschaltet werden. Diese Signale werden von dem Timing- und Steuerblock 72 auf einem Bus 106 zum Display 34 geleitet. Wie ebenfalls im Fachgebiet wohlbekannt ist, wird eine Spannung Vcom verwendet, um die Spannungspegel in den Flüssigkristall-Displayelementen (nicht gezeigt) punktweise, zeilenweise oder frameweise einzustellen, und diese Spannung wird in dem Vcom-Treiberblock 108 erzeugt und über einen Bus 110 zum Display 34 übertragen. Die aktuelle Polarität der Spannung Vcom wird zur Gamma-Referenz 102 übertragen, um das Umschalten der Polarität der Spannung Vcom und der Gamma-Referenzspannung zu synchronisieren. Die Stromversorgungsspannungen, die von dem Display 34 benötigt werden, werden über einen Bus 112 zum Display 34 übertragen.
  • LoSSI-Protokoll im Display-Treiber 36 und im MPL-Encoder 50
  • Allgemein gesprochen wird der Display-Treiber 36 durch die Inhalte der Regier 74 gesteuert, obwohl der Display-Treiber 36 durch Transaktionen gesteuert werden kann, die über die serielle Verbindung 44 niedriger Geschwindigkeit gesendet werden, die von der LoSSI-Schnittstelle 78 decodiert werden, entweder als direkte Befehle oder als Einträge in die Register 74. In Abhängigkeit von dem Zustand der Register 74, oder in Antwort auf einen direkten Befehl, speichert der Display-Treiber 36 entweder Teilmodus-Daten im RAM 82, tritt er in einen der mehreren Betriebsmodi ein oder führt er andere verschiedene Aktionen aus, wie beispielsweise das Bereitstellen von Statusdaten zurück an den Host-Prozessor über die serielle Verbindung 44 geringer Geschwindigkeit.
  • In 3 ist der Fluss von Daten in den LoSSI-Schnittstellenblock 78 in einem Flussdiagramm 120 gezeigt. Wie in 3 gezeigt ist, überwacht der LoSSI-Schnittstellenblock 78 die einlaufenden seriellen Daten in Schritt 122 ("Werden die Daten auf der LoSSI-Schnittstelle mit aktivierter Chipauswahl empfangen?"). Wenn der serielle Datenbus 3 Drähte umfasst (ohne eine Chipauswahl-Leitung) werden die seriellen Daten in Schritt 124 ("Serieller Datendecoder") immer decodiert. Wenn die serielle Datenverbindung vier Drähte umfasst (mit einer Chipauswahl-Leitung), leitet der LoSSI-Schnittstellenblock die seriellen Daten nur dann zum seriellen Decodierschritt 124 weiter, wenn die Chipauswahl-Leitung für den Display-Treiber 36 aktiviert ist, wenn die seriellen Daten von dem LoSSI-Schnittstellenblock 78 empfangen werden.
  • Der Display-Treiber 36 kann serielle Daten gemäß einem von zwei unterschiedlichen Protokollen empfangen, dem "Serial Peripheral Interface"(SPI)-Protokoll und dem "Three-Wire Serial Interface"(TSI)-Protokoll, welches im Wesentlichen dasselbe Protokoll ist wie das SPI-Protokoll, jedoch mit einem zusätzlichen Synchronisierungsbit zu Beginn eines einzelnen Lese- oder Schreibvorgangs, und mit einem zusätzlichen "1"-Bit zwischen aufeinander folgenden 8-Bit-Datenblöcken bei einer mehrfachen Schreiboperation.
  • Die LoSSI-Schnittstelle kann in einem System verwendet werden, bei dem der Display-Treiber 36 serielle Daten empfängt, die unter Verwendung desselben seriellen Busses 44, der das Chip-Auswahlsignal hat, auch zu einem anderen Peripheriegerät gesendet werden können. In diesem Betriebsmodus hat der Display-Treiber 36 ein Verriegelt-/Entriegelt-Register für die LoSSI-Schnittstelle, welches Daten enthält, die die LoSSI-Schnittstelle 78 deaktivieren (also verriegelt) oder aktiviert (also entriegelt). Der Host-Prozessor 30 schaltet, wenn er serielle Daten zum Display-Treiber 36 senden soll, die LoSSI-Schnittstelle, falls nötig, von dem verriegelten zum entriegelten Zustand, indem er einen vorbestimmten Register-Schreibbefehl an das Verriegelt-/Entriegelt-Register des LoSSI in dem Registerblock 74 sendet. Wenn der Host-Prozessor jedoch serielle Daten zu einem anderen Peripheriegerät senden möchte, welches den seriellen Bus 44 teilt, muss der Host-Prozessor, falls nötig, die LoSSI-Schnittstelle 78 verriegeln, bevor er mit dem anderen Peripheriegerät kommuniziert.
  • Wie in 1B gezeigt ist, teilt sich der MPL-Codierer 50 denselben seriellen Bus 44 mit dem Display-Treiber 36. 4 ist ein Blockdiagramm des MPL-Codierers 50, der eine MPL-Codierschaltung 130 umfasst, die 24 RGB-Leitungen auf einem Bus 132 empfängt, die Signale Pclk und DE auf einem Bus 134, das MPL-Power-Down-Signal auf Leitung 136, verschiedene andere Steuerungs- und Timing-Signale zum Steuern des MPL-Codierers 50 auf einem Bus 138 und Leistung und Erdung auf einem Bus 141. Wie in 1B gezeigt ist, ist der MPL-Codierer mit dem Display-Treiber 36 über einen Drei-Kabel-Bus 54 und die MPL-Power-Down-Leitung 56 verbunden, die Signale für den und von dem Display-Treiber 36 durch eine Mehrzahl von Leitungstreibern und Empfängern 142 koppelt. Der MPL-Codierer 50 enthält außerdem eine serielle Schnittstelle 144 für die Codiererkonfiguration, die mit dem seriellen Bus 44 mit niedriger Geschwindigkeit und drei oder vier Leitungen verbunden ist. Die vierte Leitung 146 ist als gestrichelte Leitung dargestellt, um anzuzeigen, dass es sich um eine optionale Leitung handelt. Mit der vierten Leitung 146 ist eine separate Dateneingangs-Leitung und Datenausgangs-Leitung verfügbar, anstatt eine einzige Datenleitung für einen bidirektionalen Datenfluss zu verwenden. Die serielle Schnittstelle 144 für die Codiererkonfiguration ist mit Registern 148 gekoppelt, die von der MPL-Codierschaltung 130 verwendet werden, um die Parameter für den Betrieb des MPL-Codierers 50 zu wählen.
  • Da die Signale zwischen dem Host-Prozessor 30 und dem Display-Treiber 36 in einem klappbaren Telefon durch eine Gelenkverbindung übertragen werden müssen, ist es wünschenswert, die Anzahl von separaten Leitern minimal zu halten. Die Verwendung von MPL-Codierer-Daten und einer seriellen Schnittstelle mit niedriger Geschwindigkeit und drei Drähten hilft, die Anzahl von separaten Leitern auf ein Minimum zu verringern.
  • Die Codiererkonfigurations-Schnittstelle 144 ist, ähnlich wie die LoSSI-Schnittstelle 78, entweder in einem verriegelten Zustand, was bedeutet, dass sämtliche seriellen Daten mit Ausnahme eines Befehls, einen Entriegelungs-Code in die Register 148 zu schreiben, ignoriert werden, oder in einem entriegelten Zustand, in dem sämtliche einlaufenden seriellen Daten decodiert werden, wenn eine Chipauswahl-Leitung 146, falls eine solche vorliegt, aktiviert ist. Wenn keine solche Chipauswahl-Leitung 146 vorhanden ist, werden die Daten in diesem Fall immer decodiert. Der Einfachheit halber haben das Verriegelungs- und Entriegelungs-Steuerregister für den Display-Treiber 36 und den MPL-Codierer 50 dieselbe Adresse, und der Verriegelungs-/Entriegelungs-Code wird durch die Daten in den Registern gebildet, die dem Host-Prozessor erlauben, einen ersten Verriegelungs-/Entriegelungs-Code zu schreiben, der den Display-Treiber 36 oder den MPL-Codierer 50 entriegelt und die andere serielle Schnittstelle verriegelt, oder einen Verriegelungs-/Entriegelungs-Code zu senden, der beide seriellen Schnittstellen verriegelt, gemäß einer Ausführungsform der vorliegenden Erfindung. Nachdem die Resetleitung 46 aktiviert ist, wird der Display-Treiber 36 sich in dem entriegelten Zustand befinden, und der MPL-Codierer 50 wird sich in dem verriegelten Zustand befinden, gemäß einer Ausführungsform der Erfindung. Wenn der Display-Treiber 36 ohne eine MPL-Verbindung verwendet wird, wird daher die LoSSI-Schnittstelle 78 entriegelt und bereit für die Verarbeitung serieller Daten auf dem seriellen Datenbus 44 niedriger Geschwindigkeit sein, und der Host-Prozessor 30 braucht keine Entriegelungsdaten in das Verriegelungs-/Entriegelungs-Register zu schreiben.
  • Unter Bezugnahme wiederum auf 3 wird in Schritt 160 ("Ist LoSSI-Block verriegelt?") festgestellt, ob die LoSSI-Schnittstelle 78 verriegelt ist oder nicht, und wenn dies der Fall ist, werden in Schritt 162 die Daten untersucht ("Sind die Daten Entriegelungs-Register-Schreibdaten?"), um zu prüfen, ob es sich um einen Entriegelungs-Code handelt. Wenn es sich bei den Daten nicht um einen Entriegelungs-Code handelt, ignoriert die LoSSI-Schnittstelle 78 die seriellen Daten und wartet auf das nächste Segment serieller Daten. Wenn es sich bei den Daten um einen Entriegelungs-Code handelt, werden die geeigneten Daten in das Verriegelungs-/Entriegelungs-Register geschrieben, um die LoSSI-Schnittstelle 78 in Schritt 164 ("Entriegeln des LoSSI-Blocks") zu entriegeln, und die serielle Schnittstelle 78 wartet auf das nächste Segment serieller Daten.
  • Wenn die LoSSI-Schnittstelle entriegelt ist, werden die seriellen Daten in Schritt 166 ("Sind die seriellen Daten RAM-Daten?") untersucht, um festzustellen, ob es sich um einen Schreib befehl für das RAM 82 handelt. Wenn es sich bei den seriellen Daten nicht um einen Schreibbefehl für das RAM 82 handelt, werden die Daten in Abhängigkeit davon, ob sich der Display-Treiber 36 in dem Befehls-Modus oder in dem Register-Modus befindet, als Befehl oder Register-Schreibbefehl verarbeitet. In Schritt 168 ("Befindet sich der Display-Treiber im Befehls-Modus?") wird ermittelt, in welchem der beiden Modi sich der Display-Treiber 36 befindet, und wenn er sich in dem Register-Modus befindet, werden die Daten in das adressierte Register geschrieben, wie im Block 170 angezeigt ist ("Trage serielle Daten in das adressierte Register ein"). Das adressierte Register kann das Register sein, welches die Befehls-Modus- oder Register-Modus-Konfigurationsdaten für den Display-Treiber 36 speichert. In diesem Fall würde der Display-Treiber 36 unter der Annahme, dass die seriellen Daten den Display-Treiber 36 in den Befehls-Modus konfigurieren, in den Befehls-Modus schalten, und die LoSSI-Schnittstelle 78 würde auf das nächste Segment serieller Daten warten. Wenn der Display-Treiber 36 sich in dem Befehls-Modus befindet, wird der Befehl in Schritt 172 ausgeführt ("Ausführen des Befehls"). Ähnlich wie bei dem Register-Schreibbefehl, welcher den Display-Treiber 36 in den Befehls-Modus schaltet, kann der in dem Block 172 ausgeführte Befehl ein Befehl sein, den Display-Treiber 36 in den Register-Modus zu schalten.
  • Teil-Speicher-Bilddatentransfer in das RAM 82
  • Wenn die seriellen Daten, die in die LoSSI-Schnittstelle 78 eintreten, in das RAM 82 zu schreiben sind, werden die Daten zu dem Teil-Speicher(TS)-Datenpacker übertragen, wo die seriellen Daten in Schritt 174 ("Zerlegen der Eingangsdaten gemäß dem Format der LoSSI-Daten und Speichern der zerlegten Daten im RAM") von 3 zerlegt und in Abhängigkeit von dem Format das RAM-Daten in den seriellen Daten zum RAM 82 gesendet werden. 5 ist ein Diagramm von fünf verschiedenen Konfigurationen der RAM-Daten in einem jeden Wort der seriellen Daten. In 5 ist das linke Bit das erste serielle Bit, welches an der LoSSI-Schnittstelle 78 ankommt. Bei den fünf Konfigurationen handelt es sich um eine 1-Bit-pro-Pixel-Konfiguration 180, eine 3-Bit-pro-Pixel-Standardkonfiguration 182, eine 3-Bit-pro-Pixel-Konfiguration 184 mit effizienter Packung, eine 12-Bit-pro-Pixel-Konfiguration 186 und eine 18-Bit-pro-Pixel-Konfiguration 188. Wenn das RAM 82 mit 1-Bit-pro-Pixel-Daten zu füllen ist, wie sie in Konfiguration 180 gezeigt sind, werden die beiden ersten Bits ignoriert, und die nächsten sechs Bits bilden Daten für sechs Pixel. Wenn das RAM 82 mit 3-Bit-pro-Pixel-Daten zu laden ist, können die Pixel-Daten in einer von zwei Konfigurationen zu dem Display-Treiber 36 gesendet werden, nämlich der Konfiguration 182, bei der jedes seriel le Datenwort Daten für zwei Pixel enthält, und der Konfiguration 184 mit effizienter Packung, bei der drei serielle Datenworte Pixel-Daten für acht Pixel bereitstellen. Somit ermöglicht die Konfiguration mit effizienter Packung einen schnelleren Transfer von 3-Bit-pro-Pixel-Daten zum RAM 82 als die Konfiguration 182, und zwar um einen Faktor von 8 zu 6 in einem jeden der drei seriellen Datenworte. Dieser schnellere Transfer der Daten ermöglicht es, dass das Teil-Speicher-Bild schneller aktualisiert wird, was gestattet, dass das Teil-Speicher-Bild als stärker animiert wahrgenommen wird, als wenn die Konfiguration 182 verwendet wird, um 3-Bit-Pixel in dem RAM 82 zu platzieren. Die 12-Bit-pro-Pixel-Konfiguration 186 verwendet zwei serielle Worte, um die 12-Bit-Pixel in das RAM 82 zu laden, und die 18-Bit-pro-Pixel-Konfiguration 188 verwendet drei serielle Worte, um die 18-Bit-Pixel in das RAM 82 zu laden.
  • Leserate des RAM 82
  • 6 ist ein Flussdiagramm 200 des Transfers von Teil-Speicher-Daten von dem RAM 82 zu den Ausgangskanälen 100 und des Transfers von Video- oder normalen RGB-Daten von den Video-Eingangsleitungen 40, 42, 54 und 56 zu den Ausgangskanälen 100. Der Fluss von Pixel-Daten von dem RAM 82 zu den Ausgangskanälen 100 befindet sich auf der linken Seite von 6, die damit beginnt, zu bestimmen, ob sich der Display-Treiber 36 entweder in dem Teilmodus befindet, was bedeutet, dass das Bild in dem RAM 82 anzuzeigen ist, oder in dem Alpha-Modus, was bedeutet, dass das Bild in dem RAM 82 mit den normalen Videodaten zu kombinieren ist, wie dies in Schritt 202 angezeigt ist ("Ist Display-Treiber im Teilmodus oder Alpha-Modus?"). Wenn sich der Display-Treiber 36 in dem Teilmodus oder dem Alpha-Modus befindet, werden die Teil-Bild-Daten mit einer konstanten Rate aus dem RAM 82 gelesen, welche von den Konfigurationen des Teilmodus abhängt, wie in Schritt 204 angezeigt ist ("Lesen von Daten aus dem RAM mit Rate, die durch das Format der in dem RAM gespeicherten Daten bestimmt ist, und in Abhängigkeit davon, ob Display-Treiber mit normaler oder niedriger Leistung arbeitet"). Die Konfigurationen des Teilmodus enthalten den Fall, in dem der Display-Treiber 36 sich in dem Alpha-Modus befindet, wobei das Timing des Lesens von Daten aus dem RAM 82 durch das Signal Pclk vorgegeben wird, oder nicht im Alpha-Modus befindet, wobei das Timing des Display-Treibers 36 durch einen internen Oszillator vorgegeben wird, welcher eine Frequenz von ungefähr 13,0 MHz aufweisen kann. Andere Konfigurationen des Teilmodus, die einen Einfluss auf die Leserate des RAM haben, hängen davon ab, ob der Betrieb des Teilmodus bei normaler Leistung oder niedriger Leistung stattfindet, und ob das Bild hochzuskalieren ist, um eine zweifache Bildgröße zu erhalten. Diese weiteren Konfigurationen des Teilmodus werden unten mehr im Detail beschrieben.
  • Teilmodus mit niedriger Leistung
  • In dem Flussdiagramm von 6 wird in Schritt 206 festgestellt, ob der partielle Modus ein Modus normaler Leistung oder ein Modus niedriger Leistung ist. Wenn der Normalleistungs-Modus vorliegt, werden die Daten des RAM 82 in Pixel von 18 Bit formatiert, indem in Schritt 208 Nullen in die Positionen der niedrigstwertigen Bits eingefügt werden ("Falls nötig, Formatieren der Daten in Sätze aus zwei 18-Bit-Pixeln, um 2-Pixelgruppen zu bilden"). Falls der Niedrigleistungs-Modus vorliegt, der von dem Host-Prozessor 30 nur ausgewählt werden kann, wenn die Daten in dem RAM 82 Daten mit 1- oder 3-Bit-pro-Pixel sind, werden sämtliche der 18-Bit-Daten, die zu den Ausgangskanälen 100 gesendet werden, Daten für 4 Pixel beinhalten, wodurch gestattet wird, dass die Frequenz des Oszillators (nicht gezeigt) durch 4 geteilt wird, wodurch die von dem Display-Treiber 36 verbrauchte Leistung im Wesentlichen auf ein Viertel der normalen Leistung verringert wird. Wenn der Display-Treiber 36 sich in dem Niedrigleistungs-Modus befindet, werden zwei Sätze von 18-Bit-Pixeln gleichzeitig zu den Ausgangskanälen 100 übertragen und Daten für 8 Pixel werden gleichzeitig zu vier Latches der Ausgangskanäle 100 übertragen, wie in Schritt 210 angezeigt ist ("Setze Adressenzeilen auf Latch der ersten Zeile, so dass vier 2-Pixel-Gruppen unter Verwendung derselben 36 Bit gleichzeitig geladen werden"), wobei der Begriff "Latches der ersten Zeile" sich auf die Zeile von Latches 110 bezieht, die in Anlage B zu dieser Anmeldung gezeigt und beschrieben ist.
  • Teil-Hochskalierungs-Modus
  • Wenn der Teilmodus sich in dem Normalleistungs-Modus befindet, können die Daten des Teil-Speicher-RAMs 82 in Schritt 212 hochskaliert werden ("Hochskalieren von TS-Daten"). Da ein jedes Pixel in dem Hochskalierungs-Modus in einer benachbarten Spalte und in einer benachbarten Zeile nachgebildet wird, wird das Laden der Daten in die Spalten-Latches so modifiziert, dass die Sätze von 2-Pixel-Daten, bzw. 36 Pixel-Bits aus den Daten für ein Pixel bestehen, welches nachgebildet wird, um die beiden Pixelpositionen wie in Schritt 214 angezeigt, zu füllen ("Laden des Latches der ersten Zeile, so dass beide Pixel denselben Datenwert haben"). Um zwei benachbarte Zeilen des Displays mit denselben Pixeldaten zu versehen, wird darüber hinaus das Latch der ersten Zeile geladen, nachdem jede zweite Zeile des Displays in Schritt 216 beschrieben wurde ("Laden des Latches der ersten Zeile einmal für je zwei Zeilen Ausgabe"). Wenn es sich bei dem Teilmodus um den Niedrigleistungs-Modus oder den Hochskalierungs-Modus handelt, werden die resultierenden Teil-Daten zu einem Alpha-Mischblock 218 ("Alpha-Mischen") übertragen, der die Normalleistungs-Teil-Daten mit den normalen Video-Daten mischen kann, aber nicht muss, und die resultierenden Daten werden zu den Source-Treibern 100 geleitet, wie in Schritt 220 angezeigt ist ("Senden der Pixel-Daten zu den Source-Treibern"). Nachdem die 2-Pixel-Daten in die Ausgangskanäle 100 geschrieben wurden, beginnt der Zyklus des Display-Treibers 36 in Abhängigkeit davon, ob sich der Display-Treiber 36 in dem Teilmodus oder in dem Normalmodus befindet, wie in Schritt 222 von 6 ("Teilmodus?") ermittelt wird, von neuem.
  • Normaler Video-Modus
  • In dem normalen Video-Modus werden die Daten als 24-Bit-RGB-Videodaten oder MPL-Videodaten in Schritten 230 ("Ist Display-Treiber im RGB-Video-Modus?") bzw. 232 ("Ist Display-Treiber im MPL-Modus?") in den Display-Treiber 36 eingegeben. Wenn die normalen Videodaten, die empfangen werden, 24-Bit-RGB-Daten sind, werden die Daten direkt zu der Videoschnittstelle 90 gesendet, wo sie, falls nötig, in 24-Bit-Pixel formatiert werden, der DE-Puls wird verzögert, und die Übergänge in dem DE-Puls werden mit dem Signal Pclk in Schritt 234 synchronisiert ("Transformieren aller Nicht-24-Bit-Eingangsdaten zu 24-Bits/Pixel, Verzögern und Synchronisieren von DE"). Wenn die normalen Videodaten, die empfangen werden, MPL-Daten sind, werden sie in Schritt 236 in parallele Daten decodiert ("Decodieren von MPL-Daten"). Nachdem die normalen Videodaten durch die Prozesse in Schritt 234 normalisiert wurden, werden die normalen Videodaten zum DE-Lernen 92 gesendet und digital gefiltert, wie in Schritt 238 angezeigt ist ("Entfernen irrelevanter Übergänge im DE-Eingang"). Der Betrieb des DE-Lernblocks wird in dem DE-Lernabschnitt unten beschrieben.
  • Nachdem die normalen Videodaten den DE-Lernblock 92 passiert haben, werden zwei normale Video-Pixel in dem Video-Multiplexing-Block 94 von 2 in Schritt 240 als 36 Bits paralleler Daten arrangiert ("Verdoppeln der Busbreite, um eine Gruppe aus 2 Pixeln zu bilden") (siehe 6). Die resultierenden Videodaten werden zu dem Hochskalierungs-, Dithe ring- und/oder Abschneide-Block 96 gesendet, in dem in Schritt 242 ("Hochskalieren der Videodaten?") festgestellt wird, ob die Videodaten hochskaliert werden sollen. Wenn die normalen Videodaten nicht hochskaliert werden sollen, wird die Pclk-Frequenz in Schritt 244 zur Verwendung im Rest des Normalmodus durch 2 geteilt ("Verlängern der Pclk-Periode um Faktor 2 zur Verwendung im Rest der Normalmodus-Operationen"). Wenn die normalen Videodaten hochzuskalieren sind, wird ein jedes 24-Bit-Pixel nachgebildet, so dass die beiden Sätze von Pixeln, die parallel verarbeitet werden, in Schritt 246 dieselben sind ("Setzen der Adressenzeilen auf Latch der ersten Zeile, so dass 2-Pixel-Gruppen unter Verwendung derselben 36 Bits gleichzeitig geladen werden"). Dann wird das Zeilen-Timing so eingestellt, dass zwei Ausgangszeilen für eine jede Zeile von Videodaten in Schritt 248 geschrieben werden ("Wähle Display-Zeilen-Timing so, dass zwei Ausgangszeilen für jede Videozeile geschrieben werden").
  • Es wird ermittelt, ob die 24-Bit-pro-Pixel auf 18-Bit-pro-Pixel gedithert werden sollen, oder ob die letzten 2 Bits eines jeden Unterpixels abzuschneiden sind (vgl. Schritt 250, "Ist der Dither-Modus aktiviert?"). Das Dithern der 24-Bit-Daten wird, falls anwendbar, in Schritt 252 durchgeführt ("Dithern von 24-Bit-Daten zu 18-Bit-Daten"), andernfalls werden die 24-Bit-Daten in Schritt 254 abgeschnitten ("Abschneiden der letzten 2 Bits eines jeden Unterpixels"). Die resultierenden Daten mit 18-Bit-pro-Pixel werden dann in Schritt 202 dem Alpha-Mischblock 98 von 2 zugeführt.
  • DE-Lernen
  • In dem DE-Lernblock 92 wird die Anzahl von Pclk-Perioden, während der das DE-Signal "low" ist, für einen jeden DE-Puls gezählt, und wenn zwei aufeinander folgende Zählergebnisse gleich sind, wird das Zählergebnis als gelerntes DE-Low-Zählergebnis bezeichnet. Dieses Zählergebnis ändert sich nicht, bis zwei aufeinander folgende DE-Low-Zählergebnisse auftreten, die gleich sind, aber verschieden von dem zuvor gelernten DE-Low-Zählergebnis. Das gleiche Prinzip wird auf die DE-Periode angewendet, d. h., die Zahl von Pclk-Perioden zwischen aufeinander folgenden abfallenden Flanken des DE-Signals werden gezählt, und wenn zwei aufeinander folgende DE-Perioden-Zählergebnisse gleich sind, wird das Zählergebnis zu dem gelernten DE-Perioden-Zählergebnis. Durch das Erzeugen des gelernten DE-Low-Zählergebnisses und des gelernten DE-Perioden-Zählergebnisses wird eine nur einmal auftretende Variation in der DE-Low-Zeit oder der DE-Periode das gelernte DE-Low- Zählergebnis oder das gelernte DE-Perioden-Zählergebnis nicht ändern. Die DE-Pulse liegen während der vertikalen Dunkeltastungs- bzw. Blanking-Periode der Anzeige nicht vor, und durch das Detektieren der Abwesenheit der DE-Pulse zu Anfang der vertikalen Dunkeltastungs-Periode und der Gesamtzeit, zu der die DE-Pulse vorliegen und fehlen und bis sie erneut auftreten, kann die Anzahl von gültigen Zeilen und die Gesamtzahl der Zeilen gelernt werden.
  • 7 ist ein Flussdiagramm 240 des DE-Lernprozesses zwischen dem Kreis A und dem Kreis B in 7, um ein digital gefiltertes DE-Signal bereitzustellen. Wie in 8 gezeigt ist, beginnt die gelernte DE-Low-Zählung und die gelernte DE-Perioden-Zählung, wenn die ersten DE-Pulse in den DE-Lernblock 92 von 2 eingegeben werden, während das Lernen der gelernten gültigen Zeilen und der gelernten Gesamtzeilen erst beginnt, nachdem das gelernte DE-Low-Zählergebnis und das gelernte DE-Perioden-Zählergebnis von Null verschieden sind. In 7 wird die Zahl von Pclk-Perioden während des Low-Pulses des DE-Signals zweimal gezählt, in Schritt 242 ("Zählen von Pclk-Perioden in einem DE-Low-Puls beginnend eine Pclk-Periode nachdem DE fällt und endend eine Pclk-Periode nachdem DE ansteigt") und in Schritt 244 ("Zählen von Pclk-Perioden in dem nächsten DE-Low-Puls beginnend eine Pclk-Periode nachdem DE fällt und endend eine Pclk-Periode nachdem DE ansteigt"), und die beiden Zählergebnisse werden in Schritt 246 verglichen ("Sind die beiden Zählergebnisse gleich?"). Wenn die beiden Zählergebnisse gleich sind, wird das gelernte DE-Low-Zählergebnis in Schritt 248 auf das letzte Zählergebnis gesetzt ("Setzen des gelernten DE-Low-Zählergebnisses auf das letzte Zählergebnis"). Wenn die beiden Zählergebnisse verschieden sind, wird in Schritt 244 nochmals gezählt, und das Zählergebnis mit der letzten Zählung verglichen. Dieser Prozess dauert an, bis zwei aufeinander folgende Zählergebnisse gleich sind, und das gelernte DE-Low-Zählergebnis festgesetzt ist. Nachdem das Zählergebnis festgesetzt ist, wird in Schritt 250 während des nächsten DE-Pulses die Anzahl der Pclk-Perioden während des Low-Zustandes des DE-Pulses gezählt ("Zählen von Pclk-Perioden in dem nächsten DE-Low-Puls beginnend eine Pclk-Periode nachdem DE fällt und endend eine Pclk-Periode nachdem DE ansteigt"), und wenn die letzten beiden Zählergebnisse gleich sind, wird das zuletzt gelernte DE-Low-Zählergebnis in Schritt 252 auf das letzte Zählergebnis gesetzt ("Sind die letzten zwei Zählergebnisse gleich?"). Wenn die beiden Zählergebnisse nicht gleich sind, wird die Anzahl von Pclk-Perioden während des Low-Zustandes des nächsten DE-Signals gezählt, wie in Block 250 angezeigt ist, und dann in Schritt 252 mit dem letzten Zählergebnis verglichen. Somit ändert sich das gelernte DE-Low-Zählergebnis nicht, wenn nicht zwei aufeinander folgende Zählergebnisse auftreten, die gleich sind, aber verschieden von dem aktuellen gelernten DE-Low-Zählergebnis sind. Dieser Prozess filtert nicht nur auf digitale Weise die DE-Low-Pulszeit, sondern sie gestattet, dass sich der Display-Treiber 36 an ein neues DE-Signal mit einer verschiedenen Low-Puls-Zeit anpasst. Wenn hingegen zwei Störungen, so genannte Glitches, während zweier aufeinander folgender DE-Low-Puls-Zeiten gleich sein sollten, wird sich das gelernte DE-Low-Zählergebnis fehlerhafterweise ändern, aber es wird korrigiert, sobald zwei Glitch-freie DE-Low-Pulse nacheinander auftreten. Da der Display-Treiber 36 das Display in einer Ausführungsform 60-mal pro Sekunde auffrischt, wird ein Zeit-Glitch zu praktisch keiner wahrnehmbaren Veränderung in dem angezeigten Bild führen.
  • Auf dieselbe Weise, wie das gelernte DE-Low-Zählergebnis berechnet wird, wird das gelernte DE-Perioden-Zählergebnis berechnet. Somit sind die Prozesse in den Schritten 254 ("Zählen von Pclk-Perioden in einer DE-Periode beginnend eine Pclk-Periode nachdem DE fällt und endend ein Pclk-Periode nachdem DE wiederum fällt"), 256 ("Zählen von Pclk-Perioden in der nächsten DE-Periode beginnend eine Pclk-Periode nachdem DE fallt und endend eine Pclk-Periode nachdem DE wiederum fällt"), 258 ("Sind die beiden Zählergebnisse gleich?"), 260 ("Setzen des gelernten DE-Perioden-Zählergebnisses auf das letzte Zählergebnis") und 262 ("Sind die beiden letzten Zählergebnisse gleich?") die DE-Perioden-Gegenstücke zu den Prozessen in den Schritten 242, 244, 246, 248 bzw. 252. Der Prozess, der in Schritt 264 genannt ist ("Zählen von Pclk-Perioden in der nächsten DE-Periode beginnend eine Pclk-Periode nachdem DE fällt und endend eine Pclk-Periode nachdem DE wiederum fallt und Bereitstellen einer X-Zählstands-Zahl die ein durchlaufender Zählstand der Pclk-Perioden während des Zählens ist") führt das DE-Gegenstück des Prozesses in Schritt 250 aus, aber erzeugt zusätzlich einen fortlaufenden Zählstand der Pclk-Perioden während der Perioden-Zählung. Diese fortlaufende Zählung wird verwendet, um festzustellen, wenn ein DE-Puls fehlt, was auf den Start der vertikalen Dunkeltastungs-Periode (Blanking-Periode) hinweist.
  • 8 ist ein Timing-Diagramm der relevanten Signale, die verwendet werden, um das gelernte DE-Low-Zählergebnis, das gelernte DE-Perioden-Zählergebnis, das gelernte Zählergebnis gültiger Zeilen und das gelernte Zählergebnis sämtlicher Zeilen zu bestimmen. Oben in 8 ist das Signal Pclk gezeigt, welches in dieser Ausführungsform symmetrisch ist. Unter dem Signal Pclk ist ein Reset-Signal von der Leitung 46 in 1A gezeigt, welches als reset_n bezeichnet ist. Unterhalb des Reset-Signals befindet sich das DE-Signal auf dem Bus 42, wel ches um zwei DE-Signalperioden verzögert wurde, wie durch die Bezeichnung de_d2 angezeigt ist. Die relativen Längen der Low-Pulse und der High-Pulse des DE-Signals wurden in 8 verzerrt, um die Erfindung besser zu illustrieren. Typischerweise ist die Breite der Low-Pulse (Low-Pulse), welche der horizontalen Dunkeltastungs-Periode (Blanking-Periode) entspricht, weniger als 5% der Breite der High-Pulse. Die fallende Flanke des Signals de_d2 wird verwendet, um ein Signal der abfallenden Flanke de_fe (fe = "falling edge") zu erzeugen, welches beim Abfallen der Flanke von de_d2 beginnt und eine Pclk-Periode breit ist. Auf ähnliche Weise wird die ansteigende Flanke des Signals de_d2 verwendet, um ein Signal de_re (re = "rising edge") der ansteigenden Flanke zu erzeugen, welches beim Ansteigen der Flanke des Signals de_d2 beginnt und ebenfalls eine Pclk-Periode breit ist. Unter dem Signal de_re befindet sich ein Zähler, der mit de_cnt bezeichnet ist und mit der nächsten fallenden Flanke des Signals de_fe beginnt, nachdem Reset deaktiviert wurde, indem der High-Zustand angenommen wird, und der Zielstand steigt für jede Pclk-Periode an, bis die nächste fallende Flanke von de_fe auftritt. Zu diesem Zeitpunkt wird der Zählstand auf "1" zurückgesetzt, und das Zählen beginnt von neuem.
  • In einer Zeile, die mit last_de_low bezeichnet ist, wird die Anzahl von Pclk-Perioden von der fallenden Flanke des Signals de_fe bis zur nächsten fallenden Flanke des Signals de_re gezählt, beginnend nachdem der Display-Treiber 36 aus dem Reset kommt. Wie in 7 gezeigt ist, ist das erste Zählergebnis des Signals last_de_low 2, und dasselbe gilt für den nächsten DE-Low-Puls. Demzufolge ändert sich das Signal learned_de_low nach dem zweiten last_de_low-Zählergebnis von 0 auf 2. Auf ähnliche Weise beginnt last_de_per bei der ersten fallenden Flanke von de_fe, nachdem der Display-Treiber 36 aus dem Reset kommt, zu zählen, und das Zählen wird bei der nächsten fallenden Flanke von de_fe angehalten, und zu diesem Zeitpunkt beginnt das Zählen von last_de_per von neuem. Nachdem zwei aufeinander folgende Zählergebnisse gleich sind, wird der Wert learned_de_per auf den letzten Zählstand von last_de_per gesetzt. Nachdem das gelernte DE-Low-Zählergebnis von 0 verschieden ist, und das gelernte DE-Perioden-Zählergebnis von 0 verschieden ist, beginnt der Zähler learned_x_cnt bei der nächsten fallenden Flanke von de_fe zu zählen, und beginnt wieder zu zählen bei der nächsten fallenden Flanke von de_fe, nachdem der Wert von learned_de_cnt denselben Zählstand erreicht, wie der gelernte DE-Perioden-Zählstand.
  • In 8 sind drei Fehler in dem DE-Signal bei Bezugszeichen 270, 272 und 274 gezeigt. die gestrichelten Linien zeigen, wie das korrekte DE-Signal aussehen sollte. Ein jeder dieser Feh ler ändert de_cnt, das DE-Low-Zählergebnis und das DE-Perioden-Zählergebnis, wie in 8 gezeigt ist. Da keiner dieser Fehler zwei aufeinander folgende fehlerhafte de_cnt mit demselben Zählergebnis, zwei aufeinander folgende fehlerhafte DE-Low-Zählergebnisse mit demselben Zählstand oder zwei aufeinander folgende fehlerhafte DE-Perioden-Zählergebnisse mit demselben Zählstand produziert, bleiben die Werte von learned_x_cnt, der gelernte DE-Low-Zählstand und der gelernte DE-Perioden-Zählstand unverändert, und diese drei Fehler werden aus dem erzeugten DE-Signal, welches von dem Rest des Display-Treibers 36 verwendet wird, ausgefiltert.
  • 9 ist ein Timing-Diagramm eines gesamten Frames und dauert wie gezeigt 8 DE-Perioden, um die Illustration der vorliegenden Erfindung zu erleichtern. Da die DE-Perioden einer Zeile entsprechen, die in das Display 34 geschrieben wird, ist die Anzahl von DE-Perioden in jedem Frame viel größer und beträgt üblicherweise mehrere Hundert. Die DE-Pulse 276, die als gestrichelte Linien gezeigt sind, zeigen in einem jeden Frame die vertikale Dunkeltastungs-Periode ("Blanking-Periode") an.
  • Unter Bezugnahme auf 7 und 9 zeigt ein Schritt 280 („Sind das gelernte DE-Low-Puls-Zählergebnis und das gelernte DE-Perioden-Zählergebnis beide > 0?"), dass der Prozess zum Ermitteln der gelernten gültigen Zeilen und der gelernten Gesamtzeilen nicht beginnt, bis das gelernte DE-Low-Zählergebnis und das gelernte DE-Perioden-Zählergebnis beide von Null verschieden sind. Das gelernte DE-Low-Zählergebnis und das gelernte DE-Perioden-Zählergebnis werden auf Null gesetzt, wenn der Display-Treiber 36 zurückgesetzt wird. Nachdem diese Bedingung erfüllt ist, wird in Schritt 282 („Zählen der Anzahl von vertikalen Blanking-Zeilen") und in Schritt 284 („Ist DE in der nächsten DE-Periode für 2 Pclks high?") die Anzahl von vertikalen Dunkeltast-Zeilen gezählt, wodurch auch die erste gültige Zeile gefunden wird. In Schritt 286, („Setze Zeilenzähler auf 1") wird in Schritt 286 auf 1 gesetzt, und in Schritt 288 („Ist DE für 2 Pclks in der nächsten DE-Periode high?") und Schritt 290 („Erhöhen des Zeilenzählers") wird ein Test durchgeführt, um die erste DE-Periode der vertikalen Dunkeltastung zu finden. Dann ermittelt der Schritt 292 („Wurden die gültigen Zeilen zweimal gezählt?"), ob der vorliegende Zeilenzählstand der erste gültige Zeilenzählstand ist. Falls dies nicht der Fall ist, wird der gelernte Zählstand gültiger Zeilen in Schritt 294 („Setze gelernte gültige Zeilen auf letzten gültigen Zeilen-Zählstand") auf den aktuellen Zeilen-Zählstand gesetzt, und im Schritt 296 wird der gelernte Gesamtzeilen-Zählstand auf den gegenwärtigen Zeilen-Zählstand plus der Anzahl von vertikalen Dunkeltast-Zeilen gesetzt, die in den Schritten 282 und 284 bestimmt wurden („Setze gelernte Gesamtzeilen auf gelernten Gültige-Zeilen-Zählstand plus der Anzahl von vertikalen Blanking-Zeilen"). Dann wird in dem Schritt 298 („Erhöhen des Zählers") und im Schritt 300 („Ist DE für 2 Pclks in der nächsten DE-Periode high?") die erste Zeile gefunden. Der Schritt 302 („Wurden die Gesamtzeilen zweimal gezählt?") bestimmt, ob die Gesamtzeilen zweimal gezählt wurden, und wenn dies nicht der Fall ist, schreitet der Betrieb zum Schritt 286 voran. Wenn die Gesamtzeilen zweimal gezählt wurden, werden die beiden Zählstände verglichen, um festzustellen, ob sie gleich sind (Schritt 304: „Sind die letzten zwei Gesamtzeilen-Zählergebnisse gleich?"), und wenn dies nicht der Fall ist, schreitet der Betrieb wiederum zum Schritt 286 voran. Wenn die beiden Zählergebnisse gleich sind, wird der gelernte Gesamtzeilen-Zählstand auf den letzten Zeilenzählstand gesetzt (Schritt 306: „Setze gelernte Gesamtzeilen auf letzten Gesamtzeilen-Zählstand"), und der Betrieb kehrt zum Schritt 286 zurück. Wenn der Test in Schritt 292 ergibt, dass gültige Zeilen zweimal gezählt wurden, werden die beiden Zählergebnisse bzw. Zählstände verglichen, um festzustellen, ob sie identisch sind (Schritt 308: „Sind die letzten zwei Gültige-Zeilen-Zählstände gleich?"), und wenn dies nicht der Fall ist, schreitet der Betrieb wiederum zu Schritt 298 voran. Wenn die beiden Zählergebnisse bzw. Zählstände gleich sind, wird das gelernte Gültige-Zeilen-Zählergebnis auf das letzte Zeilen-Zählergebnis gesetzt (Schritt 310: „Setze gelernte gültige Zeilen auf letztes Gültige-Zeilen-Zählergebnis") und der Betrieb kehrt zu Schritt 286 zurück. Die Schritte 312, 314 und 316 enthalten keine Operation („No Operation", NOOP) und sind Flussdiagramm-Werkzeuge, die verwendet werden, um den Prozessfluss der DE-Lernprozedur korrekt zu zeigen.
  • Wenn sich das gelernte DE-Low-Zählergebnis oder das gelernte DE-Perioden-Zählergebnis während des DE-Lernprozesses, der kontinuierlich arbeitet, wenn sich der Displaytreiber 36 nicht in einem Reset-Zustand oder einem Schlafzustand befindet, ändert, wird der DE-Lernprozess erneut gestartet.
  • Alpha-Mischung
  • 10 ist ein Prozess-Flussdiagramm 320, welches den Betrieb des Alpha-Mischblocks 98 von 2 zeigt. Wie in 10 gezeigt ist, werden Teilmodus-Daten im Start bei Kreis C zum Ausgang des Alpha-Mischblocks 98 bei Kreis E geleitet, wenn sich der Displaytreiber 36 im Schritt 322 („Im Niedrigleistungsmodus?") befindet, da der Niedrigleistungsmodus nicht damit kompatibel ist, Daten des RAM 82 und normale Videodaten zu mischen. Als Nächstes wird festgestellt, ob sich der Displaytreiber 36 in dem Alpha-Mischungsmodus befindet (Schritt 324: „In Alpha-Mischungsmodus?"). Wenn dies nicht der Fall ist, werden die Daten des Teilmodus zum Ausgang bei Kreis E gesendet. Als Nächstes wird festgestellt, ob der normale 2-Pixel-Satz außerhalb des definierten Teilfensters liegt (Schritt 326: „Befindet sich der Normalvideo-2-Pixel-Satz außerhalb des definierten Teilfensters?"). Wenn dies der Fall ist, werden die Teilmodus-Daten gehalten, bis ein normaler 2-Pixel-Satz gegenwärtig verarbeitet wird, welcher sich in dem definierten Teilfenster befindet, wobei das Teilfenster durch Anfangs- und Endzeilen des Teilspeichers und Anfangs- und Endspalten des Teilspeichers definiert ist, welche in Registern festgesetzt werden, welche der Hostprozessor 30 ändern kann, um das Teilspeicherfenster an einem erwünschten Ort auf dem Display 34 zu platzieren. Wenn die normalen Pixeldaten, die angezeigt werden, zumindest teilweise innerhalb des definierten Teilfensters liegen, wird dann ein jedes Pixel aus dem 2-Pixel-Satz separat und parallel verarbeitet und später rekombiniert, bevor sie durch den Ausgangs-Kreis E des Alpha-Mischblocks 98 zu den Ausgangskanälen 100 gesendet werden.
  • Normale Videodaten treten, falls sie vorliegen, bei dem Kreis D in das Alpha-Mischungs-Flussdiagramm 320 ein und in Schritt 328 („In Alpha-Misch-Modus?") wird festegestellt, ob sich der Displaytreiber 36 in dem Alpha-Modus befindet. Falls dies nicht der Fall ist, werden die normalen Videodaten direkt zum Ausgang bei Kreis E gesendet. Wenn sich der Displaytreiber 36 in dem Alpha-Misch-Modus befindet wird festgestellt, ob der Normalvideo-2-Pixel-Satz außerhalb des definierten Teilfensters liegt (Schritt 340: „Liegt Normalvideo-2-Pixel-Satz außerhalb des definierten Teilfensters?").
  • Wenn dies der Fall ist, wird der Normalvideo-2-Pixel-Satz zu dem Ausgang bei Kreis E gesendet. Ein jedes der zwei Pixel in dem 2-Pixel-Satz wird separat und zur gleichen Zeit und auf dieselbe Weise gemischt. Das Teilspeicher-Pixel wird in Schritt 342 untersucht („Befindet sich Displaytreiber in dem transparenten Modus und ist erstes Pixel des TS-2-Pixel-Satzes = 0?"), um festzustellen, ob sich der Displaytreiber 36 in dem transparenten Modus befindet, und falls dies der Fall ist, ob die Teilspeicher-Pixeldaten nur aus Nullen bestehen (das heißt, ob sämtliche der drei Unterpixel-Daten lediglich aus Nullen bestehen). Wenn beide Bedingungen erfüllt sind, wird das Teilspeicher-Pixel ignoriert (Schritt 344: „Ignorieren des ersten TS-Pixels"). Wenn eine dieser beiden Bedingungen nicht erfüllt ist, werden die individuellen Unterpixel der Teilspeicher-Pixel nötigenfalls herunterskaliert (Schritt 346: „Arithmetisches Teilen der Unterpixel-Daten des ersten Pixels der 2-Pixel-Satzes gemäß dem Misch-Niveau") und zwar auf 75%, 50%, 25% oder 0% (lauter Nullen) ihres numerischen Wertes, durch Verfahren, die im Stand der Technik bekannt sind. In dem Normalvideo-Gegenstück dieses Prozesses wird das Teilspeicher-Pixel in Schritt 348 ebenfalls untersucht („Befindet sich Displaytreiber in dem transparenten Modus und ist das erste Pixel des TS-2-Pixel-Satzes = 0?"), um festzustellen, ob der Displaytreiber 36 sich in dem transparenten Modus befindet und, wenn dies der Fall ist, ob die Teilspeicher-Pixeldaten aus lauter Nullen bestehen (das heißt ob die Daten eines jeden der drei Unterpixel aus lauter Nullen bestehen). Wenn beide Bedingungen erfüllt sind, wird das erste Normalvideo-Pixel in die erste Pixelposition des modifizierten 2-Pixel-Satzes platziert, welcher in Schritt 350 gebildet wird („Platzieren des ersten Video-Pixels in die erste Pixelposition der rekonstruierten 2-Pixel-Gruppe"). Wenn eine dieser Bedingungen nicht erfüllt ist, werden die individuellen Unterpixel der Normalvideo-Pixel wenn nötig, auf 0%, 25%, 50% oder 75% ihres numerischen Wertes herunterskaliert, (Schritt 352: „Arithmetisches Teilen der Unterpixel-Daten des ersten Pixels des 2-Pixel-Satzes gemäß dem Mischniveau"), und die skalierten Teilspeicher-Unterpixel und die skalierten Normalvideo-Unterpixel werden in Schritt 354 addiert („Arithmetische Addition der Unterpixel-Daten"). Das gemischte Pixel wird dann in der ersten Pixelposition des modifizierten 2-Pixel-Satzes platziert, welcher in Schritt 356 zu bilden ist („Platzieren des ersten gemischten Pixels in der ersten Pixelposition der rekonstruierten 2-Pixel-Gruppe").
  • Das zweite Pixel des einlaufenden 2-Pixel-Satzes von Teilspeicher-Daten und Normalvideo-Daten wird auf dieselbe Weise verarbeitet, wie das erste Pixel des 2-Pixel-Satzes, und zwar in den folgenden Schritten: Schritt 362 („Befindet sich Displaytreiber in dem transparenten Modus und ist das zweite Pixel des TS-2-Pixel-Satzes = 0?"), Schritt 364 („Ignoriere das zweite TS-Pixel"), Schritt 366 („Arithmetisches Teilen der Unterpixel-Daten des zweiten Pixels des 2-Pixel-Satzes gemäß dem Mischniveau"), Schritt 368 („Befindet sich Displaytreiber in dem transparenten Modus und ist das zweite Pixel des TS-2-Pixel-Satzes = 0?"), Schritt 370 („Platzieren des zweiten Videopixels in die zweite Pixelposition der rekonstruierten 2-Pixel-Gruppe"), Schritt 372 („Arithmetisches Teilen von Unterpixel-Daten des zweiten Pixels des 2-Pixel-Satzes gemäß dem Mischniveau"), Schritt 374 („Arithmetisches Addieren der Unterpixel-Daten") und Schritt 376 („Platzieren des zweiten gemischten Pixels in die zweite Pixelposition der rekonstruierten 2-Pixel-Gruppe"). Diese Schritte entsprechen den Schritten 342, 344, 346, 348, 350, 352, 354 bzw. 356.
  • Steuern der Position des Bildes auf dem Display
  • In 11 ist ein Display 600 gezeigt, welches ein Displaybild (DB) 602 im Fenster 604 zeigt, bei dem es sich um ein Normalvideobild oder ein Bild handeln kann, welches erzeugt wird, wenn sich der Displaytreiber 36 in dem Teilmodus befindet. Das Displaybild 602 wird durch einen Koordinatensatz auf dem Display definiert. Bei diesen Koordinaten handelt es sich um die Anfangsspalte 606, die Endspalte 608, die Anfangszeile 610 und die Endzeile 612. Der Rest des Displays 600, welcher das Displaybild 602 umgibt, ist der Rand 614. Das Displaybild 602 kann beispielsweise einen Hintergrund-Farbbereich 616 umfassen, der einen Marken- oder Logobereich 618 umgibt, der mit der Vorrichtung selbst assoziiert ist, oder mit dem Dienst, der von der Vorrichtung bereitgestellt wird. Das Bild 602 wird automatisch dargestellt, wenn die Vorrichtung in den Teil-Betriebsmodus eintritt. Die Vorrichtung kann nach einer vorbestimmten Zeit ohne Eingabe durch den Nutzer in einen Niedrigleistungs-Modus eintreten. Der Übergang in den Niedrigleistungs-Modus und der reduzierten Anzeige kann auch durch den Ladezustand der Batterie begrenzt sein.
  • Das oben beschriebene RAM 82 wird verwendet, um Bilddaten für eine lokale Auffrischung des Displays zu speichern. Es kann als die einzige Videoquelle in dem Teilmodus verwendet werden, oder seine Inhalte können in dem Alpha-Mischmodus neben den einlaufenden Videodaten gemischt werden (oder diesen überlagert werden). Wenn das System in dem Teilmodus arbeitet, wird die Systemleistung stark verringert, da der Videokontroller in dem System heruntergefahren werden kann. In diesem Modus werden Bilddaten aus dem RAM 82 ausgelesen und verwendet, um das Display aufzufrischen. Das gesamte Display-Auffrischungstiming wird von dem internen Oszillator (nicht gezeigt) abgeleitet, so dass keine externen Videosignale benötigt werden.
  • In der bevorzugten Ausführungsform umfasst das RAM 82 230.400 Bits Speicher. Diese Größe reicht aus, um ein 80 × 320 Fenster aus 3-Bit-Daten anzuzeigen, oder irgendeine äquivalente Größe gemessen an Gesamtpixeln, die in dem Displayfenster enthalten sind, multipliziert mit der Farbtiefe eines jeden Pixels.
  • Der Systemprozessor erfasst es, wenn die Vorrichtung in einen Abschaltmodus eintritt, erfasst die Beendigung des Videomodus und/oder wenn die Zeit für das Anzeigen des Videomodus abläuft. Instruktionen, die in einem Speicher gespeichert sind, können dann das Display so betreiben, dass das Display mit Daten aus dem RAM 82 geladen wird. Die Schritte zum Ausführen dieses Betriebs sind in 12 gezeigt.
  • In einem ersten Schritt 620 („Platzieren von Randpixeln in der obersten Zeile von Sourcetreiber (ST) Latches") liest der Displaytreiber 36 die Randdaten in das Display. Randdaten können in sämtlichen der ersten Zeile von Latches gespeichert werden, die Anhang B zu dieser Anmeldung unter Bezugszeichen 110 identifiziert sind, so lange sie dieselben für alle Randpixel sind.
  • Im nächsten Schritt 622 („Ist die nächste zum Glas zu sendende Zeile niedriger als die Anfangszeile des Teildisplayfensters oder höher als die spezifizierte Endzeile des Teildisplayfensters?") liest der Displaytreiber 36 das RAM 82 und die Daten in den Registern 72 für das Displaybild 602 aus. Wie an einer anderen Stelle in diesem Patent erläutert wird, wird der Ausgang des RAM 82 über ein Paar von Bussen den Ausgangskanälen 100 zugeführt. Die Adressen der Daten werden untersucht, und wenn das Pixel außerhalb der Koordinaten des Displaybildes liegen, ist das Pixel ein Randpixel und bleibt unverändert, die Antwort ist „ja", das Pixel in dem Latch bleibt dasselbe und die Pixel in dem Latch werden im Schritt 624 zum Display 34 gesendet („Anzeigen der Pixel, die im Latch der ersten Zeile des ST kodiert sind"). Wenn sich jedoch das Pixel in dem Displayfenster befindet, schreitet der Displaytreiber zum nächsten Schritt 626 voran („Platzieren der nächsten Zeile des Bildes in die oberste Zeile der Latches des ST beginnend bei dem Latch, welches der Anfangsspalte des Teildisplayfensters entspricht und endend bei dem Latch, welches der Endspalte des Teildisplayfensters entspricht").
  • In diesem Schritt werden die Nicht-Rand-Pixel in das oberste Latch geladen, und zwar mehrere Spalten gleichzeitig, um eine Zeile des Displayfensters zu bilden. Wie an anderer Stelle erläutert wird, gestattet der Displaytreiber 36 ein effizientes Packen von Daten, so dass mehrere Spalten gleichzeitig gefüllt werden. Die Ausgangkanäle 100 empfangen 36 Datenbits gleichzeitig, und in Folge der Datenpackung können in einem Taktzyklus acht Spalten gefüllt werden. Danach lädt der Sourcetreiber die Ausgangskanäle wie oben beschrieben, bis sich eine gesamte Zeile von Pixeln in der ersten Zeile von Latches befindet, die in Anhang B zu dieser Anmeldung mit dem Referenzzeichen 110 bezeichnet ist. Bei Beendigung des Laden werden die Pixel so dargestellt, wie in Schritt 628 angegeben ist („Anzeigen der Pixel, die im Latch der ersten Zeile des ST kodiert sind").
  • Wenn die zuletzt angezeigte Zeile die Endzeile 612 des Displayfensters war, wiederholt der Displaytreiber 36 die oben beschriebenen Schritte. Siehe hierzu Schritt 630 („War die letzte angezeigte Zeile die Endzeile des Teildisplayfensters?"). Wenn dies nicht der Fall ist, prüft der Prozessor, ob das Display in vertikales Dunkeltasten (Blanking) eingetreten ist (Schritt 632: „Ist Display in vertikales Blanking eingetreten?). Wenn dies der Fall ist, springt der Prozessor zum Schritt 622 und wiederholt die nachfolgenden Schritte.
  • Der Hostprozessor 30 ist somit in der Lage, das Bild auf dem Display 34 zu positionieren, indem er die geeigneten Register 78 mit der Displaytfenster-Anfangszeile, der Displayfenster-Endzeile, der Displayfenster-Anfangsspalte und der Displayfenster-Endspalte lädt. Durch dieses Verfahren kann das Bild mit zwei Register-Schreibbefehlen zum Laden neuer Nummern der Anfangs-Zeile und der End-Zeile nach oben oder unten bewegt werden, es kann mit zwei Register-Schreibbefehlen zum Laden neuer Nummern für die Anfangsspalte und die Endspalte nach rechts oder links bewegt werden, oder es kann in eine neue vertikale und horizontale Position bewegt werden, mit lediglich vier Register-Schreibbefehlen für den Displaytreiber 36. Somit kann das Bild leicht positioniert werden, um als Bildschirmschoner benutzt zu werden.
  • Gamma-Kompensation
  • Unter Bezugnahme auf 13 stellt eine Sourcetreiberschaltung 100 digitale Bilddaten für Ausgangskanäle 200 bereit, die mit den Sourceanschlüssen der Pass-Transistoren gekoppelt sind. Ein Gamma-Generator-Schaltungsblock 300 wandelt digitale Eingangsbilddaten in analoge Spannungen um, die benötigt werden, um die Sourceleitungen auf dem Glas zu treiben. Die digitalen Bilddaten können aus einer Videostrom-Schnittstelle oder einer anderen Quelle stammen, wie beispielsweise einem Register, einem Speicher für vollständige Frames oder einem Teildisplayspeicher. Die Sourcetreiberschaltung hat eine vorbestimmte Anzahl von Ausgangskanälen 200. In den bevorzugten Ausführungsformen gibt es 320 Ausgangskanäle. Ein jeder Ausgangskanal empfängt RGB-Daten für ein Pixel und führt eine Digital-zu-Analog-Umwandlung für die Rot-, Grün- und Blaudaten in einer Zeitmultiplexsequenz durch, die mit Glas-Demultiplexer-Auswahlsignalen (CKH1–CKH3) synchronisiert ist. Die Umwandlungssequenz der RGB-Daten innerhalb einer jeden Zeilenzeit wird durch die Einstellungen für ein erstes Register bestimmt.
  • Ein Registerbit in dem ersten Register steuert die Daten-Laderichtung der Ausgangskanäle. Für Displayanwendungen, bei denen die Anzahl von Pixeln/Zeilen auf dem Glas geringer als 320 Kanäle ist, kann ein zweites Register verwendet werden, um zu spezifizieren, welche Ausgänge aktiv sind und welche Ausgänge durch die Anwendung nicht verwendet werden. Dies kann dabei helfen, den Sourceleitungs-Auffächerungsbereich ("fan-out region") zwischen dem Treiber und dem aktiven Glasbereich zu optimieren. Das zweite Register wird im Zusammenhang mit der ersten Registereinstellung spezifiziert. Wenn die Laderichtung als die Richtung S0→S319 festgesetzt ist, wird das zweite Register bezüglich der S0-Ausgabe referenziert. Wenn als Laderichtung die Richtung S319→S0 festgesetzt ist, wird das zweite Register bezüglich der S319-Ausgabe referenziert.
  • Die Spannungstransfer-Charakteristik des Digital/Analog-Wandlers (DAC, digital/analog converter) wird durch die 64 Gamma-Referenzspannungen bestimmt, die von der Gamma-Referenzschaltung erzeugt werden. Die Treibungsstärke für den Ausgang des Kanaltreibers ist ebenfalls programmierbar, um das Einschwingverhalten und Leistungsverhalten für Displayscheiben verschiedener Größen und mit verschiedenen parasitären kapazitiven Lasten zu optimieren.
  • In einer bevorzugten Ausführungsform des Gamma-Generatorblocks 300 stehen vier unterschiedliche intrinsische Gamma-Kurven zur Verfügung. Der Gamma-Generator erzeugt 64 Referenzspannungen für eine jede Gamma-Kurve. Die intrinsischen Kurven können verschiedene Ziele für den Nutzer des Moduls erreichen. Ein Ziel kann darin bestehen, für verschiedene Modullieferanten ein aufeinander abgestimmtes optisches Leistungsverhalten zu erhalten. Es ist sogar möglich, die individuellen Kurvenformen für die unterschiedlichen Farbkanäle eines bestimmten Zulieferers zu optimieren. In diesem Fall können die vier Kurvenoptionen für eine jede der Charakteristika des Glases des Lieferanten des Moduls optimiert werden, und die Auswahl der geeigneten Kurven und Einstellungen ist möglich.
  • Ein weiterer Grund für die Verwendung mehrerer intrinsischer Kurveneinstellungen kann darin bestehen, verschiedene Gamma-Charakteristika (z. B. γ = 1,0; 1,8; 2,2; 2,5) für ein gegebenes Modul bereitzustellen, um das Leistungsverhalten für verschiedene Betrachtungsbedingungen und Anwendungen zu optimieren. In diesem Fall können die verschiedenen Kurven über einen Gamma-Einstellungs-Befehl oder durch einen direkten Registerzugriff zu den Einstellungen des Gamma-Registers ausgewählt werden.
  • Nachdem die intrinsische Kurve ausgewählt wurde, die am besten zu den gewünschten Charakteristika passt, kann die Kurvenform dann weiter optimiert werden, wie später in diesem Patent erläutert wird. In einer bevorzugten Ausführungsform werden vier Formen verwendet, aber dem Fachmann ist klar, dass die Erfindung mit einer oder irgendeiner Anzahl von Gamma-Auswahl-Kurvenformen ausgeführt werden kann. Der Nutzer kann eine Form für sämtliche Farben wählen, oder unterschiedliche Kurven wählen, oder er kann Anpassungseinstellungen für einen jeden Farbkanal wählen. Diese selbe intrinsische Form kann für die grüne und die blaue Kurve mit unterschiedlichen Optimierungseinstellungen verwendet werden, oder es können unterschiedliche intrinsische Formen und Optimierungseinstellungen für einen jeden Farbkanal gewählt werden. Für einen gegebenen Farbkanal kann dieselbe intrinsische Kurvenform für beide Treibungs-Polaritäten verwendet werden. Andere maßgeschneiderte Gamma-Kurven können von dem offenbarten Gamma-Generatorblock erzeugt werden, beispielsweise dadurch, dass Ausgangsmultiplexer mit mehr als 4-zu-1-Auswahlmöglichkeiten zugefügt werden.
  • Sourcetreiberschaltung: Ausgangskanalblock
  • Die Sourcetreiberschaltung 100 hat zwei Haupt-Schaltungsblocks. Einer ist der Ausgangskanalblock 200, der die digitalen Bilddaten für ein jedes Pixel trägt. Eine jede Spalte entspricht einem Kanal. Der andere Block ist der Gamma-Generator-Schaltungsblock 300.
  • Die Sourcetreiberschaltung 100 arbeitet in zwei Modi: einem Normalmodus, in dem Videodaten in das LCD fließen, und einem Niedrigleistungsmodus (3 Bit oder 1 Bit), in dem Daten aus dem Teil-RAM oder einem anderen Speicher das Display treiben. Unter Bezugnahme auf 14 lädt die Sourcetreiberschaltung 100 im Normalmodus einen jeden Kanal 400.n in eine Zeile, und zwar zwei Kanäle (d. h. Spalten) gleichzeitig. Daten werden über einen geradzahligen und einen ungeradzahligen Bus 202, 204 übertragen. Ein 8-Bit-Adressenbus 205 verläuft zu Adressen-Decodern 208.n. Es gibt einen Decoder 208 für ein jedes Paar aus einem geradzahligen und einen umgeradzahligen Kanal. Nachdem die erste Latch-Zeile 110 vollständig geladen ist, werden deren Daten in eine zweite Latch-Zeile 120 übertragen. Ein jeder Kanal (d. h. Spalte) 400.n hat einen Decoder 60, der ein digitales Eingangsdatensignal in eine analo ge Ausgangsspannung umwandelt, um ein Unterpixel zu treiben. Die analoge Spannung wird an ein Spalten-Pad 20n angelegt. Die Glass-Demultiplexer 30R, 30G und 30B und die Pass-Transistoren 40 an den Kreuzungen von Zeilen und Spalten schalten die analoge Spannung auf den Pads 20n auf das Flüssigkeitskristall-Unterpixel in dem Display.
  • Im Normalmodus strömen Videodaten von dem Systemprozessor zur Sourcetreiberschaltung 100. Die Bilddaten werden in die Ausgangskanäle 400 geladen, und ein jeder Datenwert wird in analoge Spannung gewandelt, die von dem Gamma-Generatorblock 300 zur Verfügung gestellt werden, um die Farbpixel in ein Flüssigkeitskristall-Display zu treiben. Der Normalmodus verwendet 18 Datenbits für ein jedes Pixel. Ein jedes Pixel hat drei Unterpixel, eines für Rot, ein zweites für Blau und ein drittes für Grün. Ein jedes Unterpixel entspricht einem 6-Bit-Wort. Somit gibt es 18 Datenbits für ein jedes Pixel, umfassen drei 6-Bit-Wörter, eines für jedes Unterpixel. Der Ausgangskanal 200 wandelt den digitalen Datenwert für ein jedes Unterpixel in eine analoge Spannung zum Treiben der Unterpixel um. Die Umwandlung wird für jeweils eine Farbe gleichzeitig vorgenommen, und eine jede Farbumwandlung kann mit einem separaten Gamma für eine Farbe vorgenommen werden. Die analoge Treibungsspannung wird an dem Flüssigkeitskristall an dem Ort des Unterpixels im Display angelegt. Die Größe der angelegten anlogen Treibungsspannung steuert die Transmissivität des Flüssigkeitskristalls auf eine Weise, die dem Fachmann bekannt ist.
  • Sourcetreiberschaltung: erstes und zweites Latch
  • Wie in 14 gezeigt ist, gibt die Sourcetreiberschaltung 100 36 Datenbits gleichzeitig an die Ausgangskanäle 200 aus. Diese Daten werden über zwei Busse 202, 204 zugeführt. Im Normalmodus führt jeder Bus 18 Datenbits für ein Pixel, und gemeinsam führen die Busse 202, 204 die Daten für zwei benachbarte Spalten (eine gerade und eine ungerade). Der Pixeladressenblock 208 führt die Daten von einem Bus zu den geradzahligen Latches in der Zeile 110, und die Daten für die andere Spalte zu den ungeradzahligen Latches in der Zeile 110. Für ein jedes Pixel gibt es ein Latch. Innerhalb eines jeden Latches gibt es drei Sechs-Bit-Register, die 18 Bits der RGB-Daten für ein jedes Pixel halten. Nachdem die erste Zeile 110 vollständig geladen ist, nimmt ihr Enable-Signal 101 den High-Zustand an, und ihre Inhalte werden zur zweiten Zeile 120 transferiert. Demzufolge können die Spalten 400 in der Zeile 110 mit Daten für zukünftige Pixel geladen werden. Nach Beendigung des Ladens werden die Daten für eine vollständige Pixelzeile in das zweite Latch 120 geladen.
  • Die Sourcetreiberschaltung 100 lädt die Daten immer in das Latch 110, unabhängig davon, ob das Gerät im Normalmodus, im Drei-Bit-Modus oder im Ein-Bit-Modus betrieben wird. Während des Drei-Bit-Modus gibt es acht mögliche Zustände für ein jedes Unterpixel: weiß, schwarz, rot, blau, grün und Kombinationen dieser Farben, um Gelb, Cyan und Magenta herzustellen. Im Ein-Bit-Modus sind die Unterpixel alle gleich, und ein jedes Pixel ist entweder weiß oder schwarz.
  • Um in dem Drei-Bit-Modus Leistung zu sparen, wird der interne Oszillator (nicht gezeigt) durch 4 geteilt. Dieser geteilte Oszillator taktet sämtliche digitalen Blocks. Einer oder mehrere unnötige Schaltungsblocks (z. B. Hintergrundbeleuchtung, nicht gezeigt) werden abgeschaltet, um Leistung zu sparen. Acht 3-Bit-Pixel werden gleichzeitig ausgegeben, und die Adressenausgaben haben zwei niedrigswertige Bits, die auf den Wert Eins gesetzt werden, wodurch acht Drei-Bit-Pixel gleichzeitig adressiert werden. Die Ausgaben pix0 und pix1 packen die acht Drei-Bit-Pixel so, wie in 4 gezeigt ist.
  • Pixelblocks haben immer 18 Datenbits. Für den Drei-Bit-Modus werden die Daten der Pixelblocks pix0 und pix1 in die (linke/rechte) Spalte geladen, wie dargestellt ist. Das Laden ist redundant und wird viermal wiederholt. Nach vier Ladevorgängen wird ein jedes Latch jedoch mindestens vier Bits für ein jedes Unterpixel haben. Die beiden geringstwertigen Bits in einem jeden Unterpixel-Latch des Datenbusses werden nicht verwendet. Im Ein-Bit-Modus sind die Daten für alle drei Bits einer Farbe gleich.
  • Sourcetreiberschaltung: Decoder
  • Daten für die Spalte 120 werden eine Farbe nach der anderen von digital nach analog gewandelt, um die Sourceleitungen der Dünnfilmtransistoren auf dem Display zu treiben. Die Ausgaben der Zeile 120 werden durch Drei-Zustand-Puffer 50 in die Spaltendecoder 60 gemultiplext. Zu einem jeden Zeitpunkt ist nur eine einzige Farbe, d. h. ein Sechs-Bit-Wort, welches Rot, Blau oder Grün repräsentiert, aktiviert bzw. enabled und wird zum Decoder 60 gesendet. Mit anderen Worten werden die Daten in den Registern 13.1, 13.2 und 13.3 in einem jeden Latch sequentiell von digitalen zu analogen Spannungen umgewandelt. Die Umwandlung erfolgt simultan auf jedem Register 131 (rot) in einem jeden Latch und wird wiederholt, um zuerst Rot, dann Blau und schließlich Grün umzuwandeln.
  • Die Decoder 60 wandeln digitale Signale in analoge Spannungen um. Ein jeder Decoder wird durch einen 64-zu-1-Analogmultiplexer gebildet. Für einen digitalen Eingang aus einem Register 13.1, 13.2 oder 13.3 wählen die Decoder 60 eine der 64 analogen Eingangsspannungen aus. Diese Spannungen treiben das Farbpixel. Ein jeder Decoder 60 ist mit einem 64-Leitungen-Ausgangsbus 250 der Gamma-Generatorschaltung 300 verbunden. Wie unten näher erläutert wird, hat jede Farbe in der Gamma-Generatorschaltung 300 ihr eigenes Gamma. Die Digital-zu-Analog-Wandlung wird seriell durchgeführt, für jeweils nur eine Farbe gleichzeitig. Beispielsweise wird, wenn Rot ausgewählt ist, das 6-Bit-Wort für Rot aus dem Register 131 in den Decoder 60 eingegeben. Der Decoder 60 empfangt 64 rote Referenzspannungssignale, von denen er den Spannungspegel auswählt, welcher dem Sechs-Bit-Wort für die Farbe Rot entspricht. Der Decoder 60 ist ein analoger 64-zu-1-Multiplexer in Form eines Baumdecoders. Derartige Decoder sind im Stand der Technik bekannt. Für ein jedes gegebenes digitales Sechs-Bit-Wort gibt es nur einen gültigen Pfad durch den Decoderbaum. Das Eingangsende eines jeden möglicherweise gültigen Pfades wird mit einer der 64 Referenzspannungen verbunden, und die digitalen Signale aus dem Register 13.1, 13.2 oder 13.3 stellen den gültigen Pfad ein, um die analoge Spannung zu verbinden, die dem digitalen Signal entspricht.
  • Zwischen den Ausgängen der Drei-Zustand-Puffer 50 und der Decoder 60 befinden sich Niveauverschieber, so genannte "level shifter" 70. Die Level-Shifter werden im digitalen Bereich betrieben, um Leistung zu sparen. Die digitale Spannung beträgt ungefähr 1,8 V und die analoge Spannung beträgt bis zu 5,5 V. Dieses Merkmal hilft dabei, Leistung zu sparen, da die Leistung proportional zum Quadrat der Spannung ist. Daher arbeitet ein so großer Teil der Erfindung wie möglich in dem digitalen Bereich.
  • Der analoge Ausgang des Decoders 60 ist mit einem analogen 3-zu-1-Multiplexer 61 verbunden. Dieser hat drei analoge Eingänge, darunter einen ersten analogen Eingang, der für eine Sechs-Bit-Dateneingabe für den Normalmodus repräsentativ ist, und einen zweiten und ein dritten analogen Eingang, die für Ein-Bit-Daten-Eingaben für den Ein-Bit- und den Drei-Bit-Modus repräsentativ sind. Außerdem hat er zwei Steuersignale. Ein Steuersignal wählt den Normalmodus zum Decodieren des ersten analogen Signals aus, und das andere wählt das zweite oder dritte analoge Signal aus. Während des Normalmodus empfangt der Multiplexer 61 die analoge Farbspannung und leitet sie zu dem Pad 20 des Displays weiter. Während des Drei-Bit-Modus nimmt der Multiplexer 61 jedoch die Null- oder Eins-Daten von dem zweiten und dem dritten analogen Eingang und legt sie an dem Pad 20 an.
  • Der Ausgang des Multiplexers 61 ist mit einem Verstärker 62 verbunden, der die analoge Spannung während des 18-Bit-Modus von dem Pad 20 puffert. Während des Normalmodus leitet der Multiplexer 61 die decodierte analoge Spannungsausgabe zu dem Operationsverstärker 62. Dieser puffert das Farbspannungssignal und legt es an das Pad 20 der Spalte an. Während des Drei-Bit-Betriebs ist der Operationsverstärker 62 jedoch heruntergefahren, und ein Parallelschalter in dem Operationsverstärker 62 schließt den Eingang mit dem Ausgang kurz. Somit ist der Ausgang des Multiplexers 61 während des Drei-Bit-Modus mit dem Pad 20 verbunden. Der Multiplexer 61 empfängt eine Referenzspannung direkt von der Gamma-Generatorschaltung 300 und legt die Referenzspannung über eine Umgehungsverbindung des Operationsverstärkers 62 direkt an dem Pad 20 an.
  • Das LCD-Glasdisplay hat für ein jedes Pixel drei Dünnfilm-Passtransistoren 40R, 40G oder 40B (einen für jede Farbe). Der Kanaltreiber hat separate Auswahlsignale Rs, Gs und Bs zum Auswählen der Daten für anzuzeigende rote, grüne oder blaue Unterpixel. Die Glasplatte hat drei Taktleitungen, CKH1 (rot), CKH2 (grün) und CKH3 (blau), die den Betrieb des roten, des grünen bzw. des blauen Unterpixels steuern. In einer Ausführungsform können die Auswahlsignale Rs, Gs und Bs und die Taktsignale CKH1–3 dieselben sein, oder sie können so geschaltet werden, dass sie dieselben sind. In jedem Fall gilt, dass wenn CKH1 den Hoch-Zustand einnimmt, die roten Spannungen für eine jede Spalte in die roten Unterpixel für die ausgewählte Zeile getaktet werden. Die Farbauswahl und das Takten wird für Blau und Grün wiederholt, bis die gesamte Zeile ihre Farbspannungen hat. Eine Timing-Steuerung (nicht gezeigt) steuert das Takten der Farbauswahlsignale und der Taktleitungen CKH1–CKH3. Die Timing-Steuerung kann durch einen separaten Block der Sourcetreiberschaltung gebildet werden oder durch einen integralen Block innerhalb der Sourcetreiberschaltung. Derartige Konfigurationen von Timing-Steuerungen und Kanaltreiberschaltungen sind dem Fachmann bekannt. Die Timing-Steuerung (nicht gezeigt) schreitet von Zeile zu Zeile voran, bis das Display gefüllt ist.
  • Der Dünnfilmtransistor 40R wird eingeschaltet, wenn Rot ausgewählt ist. Die analoge Ausgangsspannung an dem Pad 20 wird an das rote Unterpixel in der ersten Spalte des Displays angelegt. Sämtliche rote Unterpixel werden simultan aktiviert bzw. enabled. Der Prozess wird für die anderen beiden Farben wiederholt, bis die Zeile vollständig aktiviert ist. Das Display ist kapazitiv, und dieses Merkmal gestattet es, dass die Unterpixel rasch auf ihren Farbpegel gesetzt werden, der durch das Sechs-Bit-Farbwort bestimmt ist. Die kapazitive Eigenschaft hält die Spannung an den Unterpixeln, bis das Display aufgefrischt wird. Somit wird ein jedes Unterpixel rasch aktiviert, um eine Mischung der drei Farben bereitzustellen, und die Zeilen des Displays werden rasch geladen, um einen Frame eines Bildes zu laden. Die Abfolge der Beleuchtung der roten, grünen und blauen Unterpixel geschieht in einer Zeit, die zu kurz ist, um vom menschlichen Auge wahrgenommen zu werden, und die Kapazität des Displays ist ausreichend, um den Anschein einer kontinuierlichen Farbe aufrechtzuerhalten.
  • Zu den Vorteilen der Erfindung gehört die gemeinsame Verwendung der Decoder 60, der Multiplexer 61 und der Operationsverstärker 62 für ein jedes Farbpixel. Anstelle von separaten Decoder und Verstärkern für eine jede Farbe (3 × 320 = 960) hat die bevorzugte Ausführungsform nur einen Decoder und einen Operationsverstärker für alle drei Farben.
  • Der Fachmann versteht, dass die Zeilen-Auswahlsignale (nicht gezeigt) verwendet werden, um während eines jeden Schreibvorgangs auf das Display die Zeilen auszuwählen. Die Zeilen-Auswahlsignale beginnen bei der obersten Zeile oder der untersten Zeile und arbeiten sich Zeile für Zeile voran, bis das gesamte Display beschrieben ist. Dann beginnt der Prozess für den nächsten Videoframe von neuem. Die Anzahl von Zeilen ist beliebig. In der bevorzugten Ausführungsform gibt es 480 Zeilen. Jedoch ist dem Fachmann klar, dass ein Display mehr oder weniger Zeilen haben kann, und die Sourcetreiberschaltung ist dazu ausgelegt, alle Zeilen in dem ausgewählten Display zu treiben.
  • Sourcetreiberschaltung: Gamma-Generatorschaltung
  • Der Gamma-Generatorschaltungsblock 300 ist in 15 gezeigt. Er wird durch ein Netzwerk aus 80 Bereichswiderständen ("range resistors") 390, fünf Bereichsdecodern 370, fünf Bereichsverstärkern 350 und einem Referenzwiderstand-String 330 mit 64 Referenzspannungsausgängen 310.00–310.63 und 64 analogen 4-zu-1-Multiplexern 320 gebildet. Für heuristische Zwecke zeigt 15 nur fünf Ausgangsmultiplexer. Die Ausgänge der 64 Multiplexer 320 sind auf dem 64-Bit-Ausgangsbus 250 angeordnet, um eine Auswahl von 64 Referenzspannungen zu den Digital-Analog-Wandlern 60 der Ausgangskanäle bereitzustellen. Die Gamma-Generatorschaltung ist in der Lage, separate Gamma-Werte für eine jede Farbe zu erzeugen, sowohl für positive als auch für negative Spannungen. Die Gamma-Generatorschaltung überwindet das Problem von Nachschlagetabellen und stellt stattdessen einen analogen Echtzeit-Spannungsgenerator für das LCD-Display bereit. Die Gamma-Generatorschaltung ist außerdem in der Lage, in Echtzeit (on the fly") von einer Gamma-Kurve zu einer anderen umzuschalten, um zu gestatten, dass das Display unterschiedliche Gammas für eine jede Farbe hat. Die Gamma-Generatorschaltung ist einstellbar, um mit Gammas für unterschiedliche Displays kompatibel zu sein. Ein jeder Gamma-Wert kann geändert werden, um unterschiedlichen Displays angepasst zu werden.
  • Der Fachmann versteht, dass die Polarität, die an die Flüssigkristalle angelegt wird, periodisch umgekehrt werden sollte. Wenn eine einzige Polarität kontinuierlich an einen Flüssigkristall angelegt wird, kann der Kristall permanent ausgerichtet werden oder seine Fähigkeit zur Veränderung seines Zustandes verlieren. Dies führt dann zu einem so genannten "Geisterbild" auf dem Display. Um dieses Problem zu vermeiden, werden die Spannungen 301, 302 auf dem Gamma-Referenznetzwerk periodisch umgekehrt, um Spannungen entgegengesetzter Polarität für die Zeilen des Displays bereitzustellen. Eine typische Technik ist die Leistungsinversion, bei der an eine jede Leitung eine Spannung einer ersten Polarität in einem Frame angelegt wird und eine Spannung mit entgegengesetzter Polarität im nächsten Frame angelegt wird. Eine andere Technik besteht in Pixel-Inversion, bei der angrenzende Pixel in einem ersten Frame entgegengesetzte Polaritäten haben, und die Polaritäten der Pixel im nächsten Frame umgekehrt werden.
  • Die Inversion wird durch die Umkehr des Polaritätssignals in 15A erreicht. Dies "kehrt" den Bereichswiderstands-String effektiv "um", indem eine niedrige Spannung an dem oberen Ende und eine hohe Spannung an dem unteren Ende angelegt wird, und umgekehrt. Sobald diese Spannungen geändert werden, propagieren die Spannungen durch die Gamma-Referenz, und die Gamma-Kurve wird ohne irgendwelche zusätzlichen Änderungen der Schaltung invertiert.
  • Der Betreib der Gamma-Generatorschaltung 300 wird am besten von dem Referenzwiderstand-String 330 zurück zum Eingangs-Bereichswiderstands-String 390 erläutert. Die Gamma-Generatorschaltung gibt 64 Referenzspannungen aus, die von Null (VREFMIN) zu einem Maximum (VREFMAX) reichen. Die 64 Ausgänge sind jedoch nicht linear. Der Fachmann versteht, dass die Treibungs-Spannungen für ein LCD nicht-linear variieren sollten. Die menschliche Farbwahrnehmung ist nicht-linear, und somit muss die Reproduktion von Farbbildern durch LCDs nicht-linear sein, um dem Betrachter akzeptabel zu erscheinen. Darüber hinaus ist die Transmissivitäts-Response des LCD nicht-linear, und dies muss ebenfalls in die Gamma-Kurve eingebaut sein.
  • In der bevorzugten Ausführungsform haben die Decoder 60 64 Referenzspannungen. Die Referenzspannungen werden an Abgriffsstellen 310.00–310.63 an den Referenzwiderstands-String 330 gefunden. Die Nichtlinearität wird auf verschiedene Weisen in den Referenzwiderstands-String 330 programmiert. Erstens sind die Abstände zwischen den Abgriffen nicht gleich. Somit sind Spannungsabfälle zwischen aufeinander folgenden Abgriffen unterschiedlich. Zweitens werden die Referenzspannungen an fünf Abgriffen (0, 7, 24, 56 und 63) auf dem String 330 durch fünf Operationsverstärker 350 getrieben. Diese Verstärker sind mit Bereichs-DACs 370 verbunden, die die Referenzspannung von dem Bereichswiderstands-String 390 auswählen. Dies liefert eine grobe Einstellung der Gamma-Kurve und gestattet es dem Nutzer, in Echtzeit über unterschiedliche Gamma-Kurven für Rot, Grün, Blau, positiv und negativ zu verfügen. Dies entspricht effektiv sechs Sätzen von Spannungen.
  • Der Eingangs-Bereichswiderstands-String 390 hat 80 Abgriffe, die voneinander gleichmäßig beabstandet sind. Der String 390 stellt einen linearen Spannungsteiler mit gleichen Spannungsunterteilungen bereit. Es gibt fünf Bereichs-DACs 370. Ein jeder Bereichs-DAC wählt eine aus 32 möglichen Referenzspannungen aus, die an dem Bereichswiderstands-String 390 verfügbar sind. Beispielsweise kann der DAC 371 mit irgendeinem Abgriff zwischen 0 und 32 verbunden werden, der DAC 372 kann mit irgendeinem Abgriff in dem Bereich von 12–44 verbunden werden, der DAC 373 kann mit den Abgriffen 24–56 verbunden werden, der DAC 374 kann mit Abgriffen 36–68 verbunden werden und der DAC 375 kann mit Abgriffen 48–80 verbunden werden. Die Bereichs-DACs 370 gestatten es dem Nutzer, die Gamma-Ausgangsspannungen des Ausgangs-Referenzwiderstands-Strings 330 zu modifizieren, indem die Eingangsspannungen für den Widerstands-String 330 modifiziert werden. Beispielsweise kann die Referenzspannung am Ort 24 auf dem Referenzwiderstands-String 330 eingestellt werden, indem die Eingriffseingabe in den Range-DAC 373 geändert wird. Dies wird selbstverständlich die Spannungen zwischen den Orten 7 und 56 beeinflussen. Die Spannungen werden nur an fünf Orten 0, 7, 24, 56 und 63 getrieben. Spannungen zwischen den Orten werden durch den ausgewählten Ort zwischen zwei getriebenen Orten bestimmt. Beispielsweise sind die Spannungen zwischen den Orten 24 und 7 Ergebnis eines Spannungsteilers, der nicht-gleichförmige Schritte zwischen den Orten 24 und 7 hat. Um dieses Ergebnis zu erreichen, sind die Ausgänge der 4-zu-1-Multiplexer 322 am Ort 7, 323 am Ort 24 und 325 am Ort 56 mit den Ausgängen der jeweiligen Bereichsverstärker 352, 353 und 354 verbunden.
  • Der Spannungsabfall über dem Bereichswiderstands-String 330 variiert von der hohen Referenzspannung VHR, typischerweise 3–5 V. zur niedrigen Referenzspannung VLR, typischerweise Massepotential bzw. null Volt. Obwohl es nur 80 Widerstände gibt, empfangt ein jeder DAC 370 32 Referenzspannungen von dem Bereichswiderstands-String 390. Somit gibt es einen relativ großen Überlapp der Referenzspannungen unter den DACs 370. Die Ausgänge der DACs 370 sind die Bruchstellen einer nicht-linearen Kurve mit vier Segmenten. Diese Segmente entsprechen den vier einstellbaren Bereichen: 63–56, 56–24, 24–7 und 7–0. Ein jeder Bereichs-DAC ist individuell auswählbar, um eine Referenzspannung an einem der Enden des Bereichs herzustellen. Der DAC 375 setzt die Spannung am Level 63, der DAC 374 setzt die Spannung am Level 56, der DAC 373 setzt die Spannung am Level 24, der DAC 372 setzt die Spannung am Level 7 und der DAC 371 setzt die Spannung am Level 0 fest. Der Spannungsabfall zwischen einem Bereich und dem nächsten ist unterschiedlich, und die individuellen Schritte sind nicht-linear.
  • Beispielsweise zeigt 17 eine typische Gamma-Kurve einer Farbe. Sie hat 64 nominelle Niveaus bzw. Levels. Zwischen Level 63 und Level 56 kann die Ausgangsspannung um ein Volt variieren. Jedoch beträgt die Spannungsänderung zwischen dem Level 56 und dem Level 24 ungefähr 0,4 V. Zwischen dem Level 24 und dem Level 7 ändert sich die Spannung um ungefähr 0,7 V. Zwischen dem Level 7 und dem Level 0 beträgt die Änderung fast 2 V. Anders ausgedrückt ist der Widerstandswert zwischen Abgriff 63 und Abgriff 62 nicht derselbe wie der Widerstandswert zwischen Abgriff 62 und 61. Das Abgreifen am Referenzwiderstands-String an unterschiedlichen ungleichen Orten erzeugt die nicht-lineare Gamma-Ausgabe.
  • Die Gamma-Generatorschaltung der bevorzugten Ausführungsform teilt die Gamma-Kurve in vier einstellbare Kurvenbereiche: 63–56, 56–24, 24–7 und 7–0. Der Bereichs-DAC bestimmt ein Ende eines jeden Bereichs, und die Ausgangs-Abgriffe bestimmen das andere Ende des Kurvenbereichs. Die maximale Ausgangsspannung, ungefähr 4 V liegt am Level 63 vor, und die minimale Spannung, nämlich Null, am Level 0. Die Spannungen an den Levels 63, 56, 24, 7 und 0 können entsprechend den Display-Spezifikationen konfiguriert werden.
  • Sourcetreiberschaltung: Niedrigleistungs-Modus
  • Der Niedrigleistungs-Modus kann ein Bit oder drei Bits verwenden. Im Ein-Bit-Modus ziehen es die Nutzer oft vor, Schwarz und Weiß zu verwenden. Es ist jedoch auch möglich, irgendeine Farbe zu verwenden, die unter Verwendung des Bereichs von Spannungen erzeugt werden kann, die durch die DACs 375 und 371 in 15A geliefert werden können. Eine Farbe kann eine Hintergrundfarbe sein, und die andere Farbe eine Vordergrundfarbe. Es ist auch möglich, von einer Vordergrundfarbe zu einer anderen umzuschalten. Wenn die Batterieleistung beispielsweise gering ist, könnte ein Hersteller die Gamma-Generatorschaltung so auslegen, dass die Vordergrundfarbe von Weiß auf Rot umschaltet, und somit die Farbe verwenden, um vor der niedrigen Leistung zu warnen, zusätzlich zu einer Textbotschaft oder einem Bild, das eine niedrige Leistung anzeigt. Im Drei-Bit-Modus schalten die Unterpixel auf unterschiedliche Weise, um eine Farbe bereitzustellen. In dem Ein-Bit-Modus schalten die Unterpixel auf gleiche Weise (d. h. haben denselben Wert), um lediglich zwei Farben bereitzustellen, typischerweise Schwarz und Weiß.
  • In einem typischen Niedrigenergie-Modus befinden sich die Farben bei ihren Maximalwerten, und man kann Rot, Grün, Blau, Cyan, Magenta, Gelb, Schwarz und Weiß erzeugen. Der Drei-Bit-Modus verwendet Primärfarben (Rot, Grün oder Blau) oder Kombinationen dieser Farben. Eine jede Farbe kann High oder Low sein. Jedoch besteht ein Merkmal der Erfindung darin, dass die Farben so gewählt werden können, dass sie weniger als ihr Maximum oder Minimum betragen. Somit ist ein leichterer roter Farbton auswählbar (eine Spannung, die geringer als die höchstmögliche Spannung ist). Die Auswahl wird durch die Bereichs-Multiplexer 320, 321 vorgenommen. Dadurch, dass Rot geringer als bei seinem Maximalwert angesetzt wird, und die anderen Farben bei ihrem Maximum angesetzt werden, wird der Rot-Beitrag verringert. Auf diese Weise ist durch das Variieren des Beitrags einer jeden Farbe die Gamma-Schaltung nicht auf die Basis-Kombinationen von Rot, Grün und Blau beschränkt, sondern stattdessen auf einen Satz von acht (im 3-Bit-Modus) oder zwei (im 1-Bit-Modus) "maßgeschneiderten" Farben.
  • Ein Merkmal der Erfindung besteht in ihrer Flexibilität beim Bereitstellen optimaler Leistung im Normalmodus und Sparen von Leistung im Niedrigleistungs-Modus. Im Normalmodus wird ein jeder Kanal (Spalte) individuell durch einen Pufferverstärker 62 getrieben. Im Niedrigleistungs-Modus sind die Puffer 62 jedoch abgeschaltet, und das Display wird zentral nur durch zwei der Bereichsverstärker getrieben. Während des Niedrigleistungs-Modus sind die Operationsverstärker 62 in den Ausgangskanälen und die Bereichsverstärker 353355 in der Gamma-Generatorschaltung 300 abgeschaltet, und alle Gamma-Multiplexer 320 sind getrennt. Eine Vorspannungsschaltung stellt einen ausreichenden Boost für die Leistung der Bereichsverstärker 351 und 352 bereit, um das Display ausgehend von einer zentralen Gamma-Referenz zu treiben.
  • Im Niedrigleistungs-Modus benötigen die Kanaltreiber nur eine High- und eine Low-Spannung. Da nur die High- und die Low-Spannung verwendet werden, wird der Referenzwiderstand-String 330 nicht benötigt, und er wird effektiv getrennt, um Leistung zu sparen. Die Niedrigleistungs-Spannungen werden nicht decodiert. Stattdessen wird die analoge Spannung, die dem Niedrigspannungs-Modus-Signal entspricht, direkt mit den Multiplexer 61 in den Ausgangskanälen verbunden. So versorgen der Biasblock und die beiden Bereichsverstärker 351, 352 das Display mit Leistung. Ein Farbmodus-Multiplexer 340 ist mit der hohen Referenzspannung 63 und dem Ausgang des DAC 372 gekoppelt. Wenn der Farb-Modus ausgewählt ist und die Vorrichtung in den Niedrigleistungs-Modus eintritt, ist die hohe Referenzspannung am Ort 63 direkt mit dem zweiten Bereichsverstärker 352 verbunden. Nur zwei gültige Referenzspannungen treten auf, und sie liegen an den Orten 0 und 7 vor und werden an den Bus 250 angelegt. Verglichen mit anderen Schaltungs-Leiterbahnen sind die Schaltungs-Leiterbahnen, die die Spannung und den Strom von den Orten Null und 7 zu den Kanalmultiplexern 61 führen, größer als der Rest. Diese größere Größe verringert den Widerstand, was wiederum ermöglicht, dass das Display von einem zentralen Ort getrieben wird.
  • Im Niedrigleistungs-Drei-Bit-Modus führt der Kanaltreiber eine Datenpackung durch, die oben im Zusammenhang mit 16 erläutert wurde. Unter Bezugnahme auf 14 empfangen die Drei-Zustand-Schalter 50 die Drei-Bit-Daten. Eine jede Farbe wird effektiv entmultiplext und über die niedrigstwertigen Bits zu dem Multiplexer 61 gesendet, die den Multiplexer über die gepunktete Leitungsverbindung 51 steuern. Die Gamma-Multiplexer 320 werden abgeschaltet, und dies räumt die Möglichkeit einer Konkurrenzsituation während des Drei-Bit-Modus aus.
  • Sourcetreiberschaltung: Herstellereinstellungen
  • Die 64 Gamma-Multiplexer 320 gestatten es dem Hersteller, die individuellen Abgriffspunkte des Referenzwiderstands-String 330 einzustellen. Ein jeder Multiplexer hat vier oder mehr Eingangs-Abgriffspunkte. Ein Auswahlsignal auf dem Multiplexer gestattet es dem Nutzer, die erwünschten Abgriffspunkte auszuwählen. Der Grund dafür, dass es nicht 64 DACs gibt, also einen für eine jede Gamma-Referenzspannung, liegt darin, dass die Referenzspannungen 0 und 63 stets den Endpunkten der Kurve entsprechen und immer mit den Enden des Referenzwiderstand-Strings verbunden sind.
  • Die 64 Gamma-Ausgangs-Multiplexer 320 gestatten eine weitere Einstellung. Beispielsweise ist in der bevorzugten Ausführungsform ein jeder Gamma-Multiplexer 320 ein analoger 4-zu-1-Multiplexer zum Erzeugen von vier unterschiedlichen Gamma-Kurven. Die Multiplexer können jedoch von beliebiger Größe sein, d. h. größer oder kleiner als in den bevorzugten Ausführungsformen und beispielsweise 8-zu-1- oder 3-zu-1-Multiplexer sein, ohne darauf beschränkt zu sein.
  • Eine Gamma-Generatorschaltung 300B mit einer alternativen Niedrigleistungs-Farbpalette ist in 15B gezeigt. Die Gamma-Generatorschaltung 300B hat zwei 64-zu-1-DACs 376, 377, die mit dem Bereichswiderstands-String 390 verbunden sind. Die Farbregister im Block 394 stellen die DACs 376, 377 so ein, dass sie einen der Orte auf dem Referenzwiderstands-String 390 auswählen. Ein jeder DAC 376, 377 kann eine von 80 Spannungen aus dem vollständigen Bereich des Bereichswiderstands-String 390 auswählen. Einer der DACs ist für eine höhere Spannung eingestellt und einer für eine niedrigere. Die Farbregistereinstellungen gestatten es dem Hersteller, die Ein- und Aus-Intensität einer jeden der Farben Rot, Blau und Grün individuell einzustellen, um mehrere Farben für den Niedrigleistungs-Modus bereitzustellen. Im Betrieb wählen Steuersignale in den Multiplexern 340, 341 die Ausgänge der DACs 376, 377 aus, und andere Steuerungen schalten die DACs 371375 und die Bereichsverstärker 353, 354, 355 aus. Die Eingänge der Bereichsverstärker 351, 352 sind mit den Ausgängen der Auswahlmultiplexer 340, 341 verbunden. Die Verstärkerausgänge sind mit Leitungen 252, 253 zum direkten Treiben des Displays verbunden. Wie oben beschrieben wurde, sind die Leitungen 252, 253 die größeren Leiterbahnen des Gamma-Ausgangsbusses 250. Somit werden nur die zwei Ausgangsleitungen im Niedrigleistungs-Modus betrieben.
  • Ein alternatives Verfahren bietet eine höhere Farbauflösung, indem ein 64-zu-1-Multiplexer am Ausgang des Referenzwiderstands-Strings 330 zugefügt ist und die Bereichsverstärker 350 im Drei-Bit-Modus aktiviert bleiben. Dies würde 64 Ausgangs-Referenzspannungen zur Verfügung stellen, die direkt auf die Pads 20 angewendet werden können. Beispielsweise könnte der Fachmann sämtliche Gamma-Multiplexer aktiviert lassen, die Multiplexer verwenden, um die High- und Low-Spannung für eine bestimmte Farbe auszuwählen, und dann die Farbe von den Gamma-Multiplexer direkt auf die Kanaltreiber anwenden. Man bräuchte zwei zusätzliche 64-zu-1-Multiplexer und zwei Puffer, um die Spalten direkt von dem Gamma-Referenzblock zu treiben. Dies würde es einem Nutzer gestatten, im Niedrigleistungs-Modus eine Farbe auf ähnliche Weise auszuwählen, wie dies im Normalmodus möglich ist. Effektiv könnte man eine unabhängige Farbe und sieben weitere Farben haben, die von der einen unabhängigen Farbe abhängen.
  • Die Gamma-Generatorschaltung 300C skizziert diesen Ansatz und ist in 15C gezeigt. Sie umfasst 64-zu-1-Decoder 378, 379, die mit dem 64-Bit-Ausgangsbus 250 verbunden sind. Die Eingänge zu Verstärkern 358, 359 sind jeweils mit den Ausgängen der Decoder 378 bzw. 379 verbunden, und die Verstärkerausgänge sind mit Ausgangsleitungen im Bus 250 verbunden, die größer als normal sind, um das Display zu treiben. Farbregister 391, 392 stellen die Farbpegel in den Decoder 378, 379 ein. Im Betrieb bleibt die gesamte Gamma-Schaltung 300C vollständig eingeschaltet. Obwohl diese Ausführungsform mehr Leistung verbraucht, hat sie den zusätzlichen Vorteil einer breiteren Auswahl von Farben, da die Farbauswahl aus dem 64-Bit-Ausgang der Gamma-Generatorschaltung 300C getroffen werden kann.
  • In der Ausführungsform von 15B haben die Decoder 376, 377 jeweils 32 Abgriffe zur Handhabung von fünf Bits. Sie könnten jedoch sechs Bits handhaben, wenn sie 64 Abgriffe hätten. Die Register 394 wählen die High- und Low-Einstellung für eine jede der Farben Rot, Grün und Blau aus.
  • In der Gamma-Generatorschaltung 300C haben die DACs 378, 379 einen vollständigen Farbbereich zur Verfügung, im Gegensatz zu dem beschränkten Bereich, der in der Gamma-Generatorschaltung 300A zur Verfügung steht. Auf ähnliche Weise haben die Decoder 378, 379 in der Gamma-Generatorschaltung 300C ebenfalls den vollständigen Farbbereich.
  • Unter Bezugnahme auf 18 enthält gemäß einer Ausführungsform der vorliegenden Erfindung ein kommerzielles Produkt des Anmelders, National Semiconductor Corporation, eine Befehls- und Konfigurationsstufe, eine serielle Schnittstelle geringer Geschwindigkeit ("low- speed serial interface", LoSSI), einen Teildisplayspeicher, eine Videoschnittstelle, einen MPL-Empfänger, ein EEPROM, eine Timing-Steuerung, Level-Shifter, einen Oszillator, einen DC-DC-Wandler, einen Sourcetreiber, eine Gamma-Referenz und einen VCOM-Treiber, die im Wesentlichen so verbunden sind, wie in der Figur gezeigt ist.
  • Der Befehls- und Konfigurationsblock enthält den Befehls-Interpreter und Konfigurationsregister, die die Funktionen, Einstellungen und Operations-Modi der Vorrichtung steuern. Es gibt zwei Verfahren, die zum Steuern der Vorrichtung und Modifikation der Konfigurationsregister verwendet werden können. Im Befehls-Modus verursachen OpCodes, die von der LoSSI-Schnittstelle empfangen werden, Änderungen im Modus oder Änderungen in den Konfigurationsregistern basierend auf dem OpCode, der empfangen wird, und dem "Befehlsprofil", welches in dem EEPROM gespeichert ist. Eine Gerätesteuerung unter Verwendung des Befehls-Modus ist insofern vorteilhaft, als sie gestattet, dass die Displaytreibersoftware des Host-Prozessors vom Display unabhängig ist. Im Register-Zugriffs-Modus hat die LoSSI-Schnittstelle direkten Zugriff auf die Konfigurationsregister. Nach Erklären eines Hardware-Reset (RESET_N pin) wird die Vorrichtung in den Befehls-Modus gebracht. Der Register-Zugriffs-Modus kann von der LoSSI-Schnittstelle ausgewählt werden, indem ein entsprechender Befehl (Eintritt in Register-Zugriffs-Modus) gegeben wird. Der Befehls-Modus kann von der LoSSI-Schnittstelle ausgewählt werden, indem ein entsprechender OpCode gegeben wird (Eintritt in Befehls-Modus).
  • Die LoSSI-Schnittstelle wird für mehrere Funktionen verwendet: zum Senden von Befehlen, für den Zugriff auf die Konfigurationsregister und zum Senden von Daten zum Teildisplayspeicher. Die LoSSI-Schnittstelle verwendet entweder das SPI- oder das TSI-Protokoll, was durch den Zustand des SPI_CFG pin bestimmt wird. Die LoSSI-Schnittstellensignale verwenden logische CMOS-Pegel (GND, VDDD). Die LoSSI-Schnittstelle enthält vier Signale: SP_CSX (Chip-Auswahl-Eingabe), das bei Low aktiv ist SP_CLK; (serielle Takteingabe) ist das Datentransfer-Synchronisationssignal, welches bei Geschwindigkeiten von bis zu 10 MHz während Registerschreibvorgängen oder Befehlsoperationen arbeiten kann, oder bis zu 6,6 MHz während Register-Leseoperationen, und es sollte auf High gesetzt werden, wenn es nicht aktiv ist; SP_DI (serielle Dateneingabe) ist der serielle Daten-Eingangspin und wird an der ansteigenden Flanke von SP_CLK gesampelt; und SP_DO (serieller Datenausgang) ist der serielle Daten-Ausgangspin und wird in einem Zustand hoher Impedanz gehalten, außer wenn Daten während Leseoperationen herausgetrieben werden. Die Signale SP_DI und SP_DO können zusammengruppiert sein, wenn der Host-Prozessor einen bidirektionalen Datentransfer unterstützt. Zwei Protokolle werden über die LoSSI-Schnittstelle unterstützt: ein 8-Bit-Protokoll (SPI-Protokoll) und ein 9-Bit-Protokoll (TSI-Protokoll), welches ein zusätzliches Bit am Anfang einer jeden Transaktion enthält. Das SPI-Protokoll wird ausgewählt, indem der SPI_CFG-pin mit VDD verbunden wird.
  • Das Extra-Bit in dem TSI-Protokoll (Daten/Befehl oder D/CX) ist im Befehls-Modus nützlich, um die nachfolgenden 8 Bits entweder als Befehl oder als Datenfeld zu identifizieren. Dies kann nützlich sein für eine Wiederherstellung nach einem teilweise vollständigen Transfer eines Befehlsarguments. Diese Situation kann beispielsweise auftreten, wenn ein Host-Interrupt auftritt, während Bilddaten zum Teildisplayspeicher übertragen werden. Wenn das TSI-Protokoll verwendet wird, ist es möglich, eine Transaktion im Prozess abzubrechen und den Transfer der verbleibenden Daten abzubrechen. Nachdem der Interrupt verarbeitet wurde, können die verbleibenden Daten zum Teildisplayspeicher gesendet werden, ohne den Befehl und zuvor gesendete Daten erneut auszugeben, indem die Transaktion als Datentransfer identifiziert wird und nicht als Befehl. Wenn alternativ das SPI-Protokoll verwendet wird, ist es immernoch möglich, einen Interrupt zu bedienen und einen Datentransfer aufzuschieben, solange das Chipauswahlsignal (SP_CSX) und das Taktsignal (SP_CLK) des LoSSI in ihrem gegenwärtigen Zustand gehalten werden, bis der Datentransfer wieder aufgenommen werden kann.
  • Der Teildisplayspeicher-Block wird verwendet, um Bilddaten für eine lokale Auffrischung des Displays zu speichern. Er kann als die einzige Videoquelle im Teilmodus verwendet werden, oder seine Inhalte können im Alpha-Modus mit einlaufenden Videodaten gemischt werden (oder diesen überlagert werden). Während des Betriebs im Teilmodus wird die Systemleistung erheblich verringert, da der Videocontroller im System abgeschaltet werden kann. In diesem Modus werden Bilddaten aus dem Teildisplayspeicher gelesen und verwendet, um das Display aufzufrischen. Das gesamte Display-Auffrischungstiming wird von einem internen Oszillator abgeleitet, so dass keine externen Videosignale benötigt werden. Im Alpha-Modus können die Inhalte des Teildisplayspeichers als ein transparenter Text oder als eine Überlagerung mit Rand ("border overlay") der einlaufenden Videodaten verwendet werden. Es ist auch möglicht, die Inhalte des Teildisplayspeichers einzublenden bzw. einzumischen, um Vollfarben-Logos oder andere Effekte in den Videodaten zuzufügen. Der Teildisplayspeicher enthält 230.400 Speicherbits. Diese Größe reicht aus, um ein Fenster von 80 × 320 mit 3-Bit-Daten anzuzeigen oder irgendeine äquivalente Größe bezogen auf die Gesamtpixel, die in dem Teildisplayfenster enthalten sind, multipliziert mit der Farbtiefe eines jeden Pixels. Im Register-Zugriffs-Modus sollten Bilddaten in Raster-Ordnung in den Teildisplayspeicher strömen gelassen werden, indem Daten in das RAM_PORT-Register geschrieben werden, wie in den nächsten Abschnitten beschrieben wird. Im Befehls-Modus wird der Speicher-Schreibbefehl verwendet, um Bilddaten zum Teildisplayspeicher zu senden.
  • Während des Teilmodus werden Pixeldaten aus dem Teildisplayspeicher gelesen und in einem rechteckigen Teildisplayfenster angezeigt, wie in 11 gezeigt ist. Bereiche außerhalb dieses Fensters werden dunkelgetastet (so genanntes "Blanking"), um Leistung zu minimieren. Die Farbe der dunkelgetasteten Bereiche wird in den Teilmodus-Randfarben-Registern spezifiziert. Das Raster beginnt stets bei der Anfangszeile und der Anfangsspalte. Die Spalte wird zuerst erhöht, so dass das Raster zunächst von links nach rechts und dann von oben nach unten gefüllt wird.
  • Farbtiefen, die von dem Teildisplayfenster unterstützt werden, umfassen 1-Bit, 3-Bit, 12-Bit und 18-Bit. Im Befehls-Modus wird die Farbtiefe durch den Teilspeicher(TS)-Farb-Festsetz-Befehl (EEh OpCode) festgesetzt. Im Register-Zugriffs-Modus wird die Farbtiefe des Teildisplayfensters durch das BITS_PRO_PIXEL-Register gesteuert. Die maximale Größe des Teildisplayfensters steht mit der Anzahl von Bits in dem Teildisplayspeicher und der Farbtiefeneinstellung in Zusammenhang. Der Teildisplayspeicher kann eine vollständige Seite von 320 × 560 im Betrieb mit einer Farbtiefe von 1 Bit füllen, 76.800 3-Bit-Pixel (d. h. ein Fenster mit 240 × 320 × 3-Bit), 19.200 12-Bit-Pixel (ein Fenster mit 120 × 160 × 12-Bit) und 12.800 Pixeln im Betrieb mit einer Farbtiefe von 18 Bit (ein Fenster mit 128 × 100 × 18-Bit).
  • Die Fenstergröße für das Teildisplayfenster kann in beiden Dimensionen durch Verwendung einer Hochskalierungs-Funktion verdoppelt werden. Um für eine jede Farbtiefe den nutzbaren Speicher zu maximieren, werden die Bilddaten basierend auf der Farbtiefen-Einstellung in den Teildisplayspeicher gepackt. Sie werden dann beim Auslesen zur Auffrischung des Teildisplays auf die aktuelle Farbtiefen-Einstellung entpackt. Wenn die Größe oder die Farbtiefe des Teildisplayfensters geändert wird, wird der Teildisplayspeicher daher mit aktualisierten Bilddaten erneut geladen, die den neuen Fenstereinstellungen entsprechen. Es gibt außerdem einen Zusammenhang zwischen der Einstellung der Farbtiefe im Teilmodus und der Pixeldatenpackung an der LoSSI-Schnittstelle, wie in 5 illustriert ist.
  • Eine Pixel-Skalierungsfunktion gestattet es, dass einlaufende Videodaten oder Bilddaten, die in dem Teildisplayspeicher gespeichert sind, um einen Faktor von 2 sowohl in der x-Dimension als auch der y-Dimension hochskaliert werden. Auf diese Weise wird ein einzelnes Pixel auf ein 2×2-Cluster von Pixeln abgebildet.
  • Die Anzahl von gesendeten Pixeln entspricht einer Gesamtzahl von Bytes. Dementsprechend können Dummy-Pixel gesendet werden, solange die Gesamtzahl von Pixeln nicht die Kapazität des Speichers übersteigt. Vorzugsweise ist die Wortgröße des Teildisplayspeichers festgelegt. Um die verfügbaren Bits in dem Teildisplayspeicher effizient zu nutzen, werden die Pixeldaten in die festgelegte Speicher-Wortgröße gepackt. Einlaufende Pixeldaten werden nicht in den Speicher geschrieben, bis sämtliche Bits des Speicherworts gefüllt wurden. Daher kann es nötig sein, zusätzliche Bits am Ende des Datenstroms vorzusehen, so dass der Datenstrom ein ganzteiliges Vielfaches von 36 Bit enthält.
  • Der Timing-Steuerblock erzeugt die Timing-Signale, die benötigt werden, um die Daten in den Sourcetreiber zu laden, und er steuert das Scannen bzw. Rastern des Displays. Das Display kann in einem von drei Modi betrieben werden: dem Normalmodus, dem Teilmodus und dem Alpha-Modus. Im Normalmodus wird das Display-Rastertiming aus den Signalen DE und Pclk und dem Video-Datenstrom abgeleitet. Die angezeigten Daten werden aus dem Video-Datenstrom erhalten. Im Teilmodus wird das Display durch den Timing-Steuerblock selbsttätig aufgefrischt, wobei der chipinterne ("on-chip") Oszillatorblock als Taktquelle verwendet wird. Die Daten, die zum Display gesendet werden, werden aus dem internen Teildisplayspeicher gelesen. Im Alpha-Modus wird das Display-Raster-Timing ebenfalls von den Signalen DE und Pclk abgeleitet, und Daten, die aus dem Videostrom erhalten werden, werden im Hintergrund dargestellt. Zusätzlich werden Daten aus dem internen Teildisplayspeicher ausgelesen und in einem Teildisplayfenster im Vordergrund angezeigt. Innerhalb dieses Fensters können der Vordergrund und der Hintergrund in einem von vier Verhältnissen gemischt werden: 25% Vordergrund + 75% Hintergrund; 50% Vordergrund + 50% Hintergrund; 100% Vordergrund oder transparenter Vordergrund (OSD-Funktion).
  • Der Timing-Steuerblock ist dazu ausgelegt, mit vielen Konfigurationen von LTPS/CGS-Glass zusammenzuarbeiten: vertikaler Taktsteuerung mit einer oder zwei Phasen, Unterpixel-Reihenfolgen RGB oder BGR für ein horizontales Raster; Timing-Pulsbreiten und überlappfreie Zeiten, die Register-einstellbar sind, um das Display-Einschwingverhalten zu optimie ren, Polarität und Phasensteuerung von Glassignalen, die über Registereinstellungen gesteuert werden und vertikale Timing-Verhältnisse, die mit verschiedenen Konfigurationen von Dummy-Zeilen auf dem Glas assoziiert sind, die durch die Registereinstellungen gesteuert werden.
  • Der Timing-Steuerblock hat zehn Ausgänge, die geeignet sind, die Auffrischung des Displays und das Rastern zu steuern. Der Level-Shifter-Block führt eine Übersetzung von logischen Levels bzw. Pegeln für diese Signale durch, so dass sie auf geeignete Weise mit den Glas-Steuerungseingängen zusammenwirken können. Die Ausgangsspannung der Level-Shifter-Signale beträgt zwischen VSSG und VDDG. Es gibt drei Ausgänge (GPO_0, GPO_1, GPO_2), deren Signalfunktion sich in Abhängigkeit von der Einstellung des GPO-Registers ändert. Sämtliche Level-Shifter-Ausgänge werden im Schlafzustand auf Massepotential bzw. Erde (GND) gesetzt.
  • Ein zusätzlich Level-geshifteter Ausgang XDON wird durch den DC-DC-Wandlerblock bereitgestellt. Normalerweise befindet sich XDON auf dem Level bzw. Pegel VSSG, wann immer VDDDC vorliegt. Wenn VDDDC plötzlich unterbrochen ist, nimmt XDON unmittelbar den VDDG-Pegel ein. Da eine externe Kapazität an den Knoten VDDG und VSSG vorhanden ist, wird XDON für eine kurze Zeitdauer, nachdem VDDC unterbrochen wurde, auf dem Pegel VDDG verbleiben. Somit kann XDON auf zuverlässige Weise durch das Glas als Steuersignal verwendet werden, um sämtliche Knoten auf dem Glas zu entladen, falls eine plötzliche Leistungsunterbrechung auftritt.
  • Der chipinterne Oszillator erzeugt ein internes 13,5 MHz-Taktsignal (OSC). Das Signal OSC wird als Taktquelle für den Timing-Steuerblock während des Teilmodus verwendet, und außerdem während bestimmter Befehlssequenzen, wie beispielsweise der Abschaltungs-Sequenz.
  • Der Sourcetreiberblock wandelt die digitalen Bilddaten, die von der MPL-Schnittstelle oder dem Teildisplayspeicher empfangen werden, in analoge Spannungen um, die benötigt werden, um die Sourceleitungen auf dem Glas zu treiben. Der Sourcetreiberblock besteht aus 320 Treiberkanälen. Ein jeder Treiberkanal empfängt RGB-Daten für ein Pixel und führt eine Digital-Analog-Wandlung für rote, grüne und blaue Daten in einer Zeit-Multiplex-Sequenz durch, die mit den Multiplex-Auswahlsignalen des Glases (CKH1–CKH3) synchronisiert ist.
  • Die Wandlungssequenz der RGB-Daten innerhalb einer jeden Zeilenzeit wird durch die Einstellungen des SCAN-Registers bestimmt. Das Registerbit SCAN[1] steuert die Daten-Laderichtung des Sourcetreiberblocks, also die Richtung S0→S319 oder S319→S0. Für Displayanwendungen, bei denen die Pixel bzw. die Zeilen auf dem Glas weniger als 320 Kanäle betragen, kann das Register COL_OFFSET verwendet werden, um zu spezifizieren, welche Ausgänge aktiv sind und welche Ausgänge von der Applikation nicht verwendet werden. Dies kann dabei helfen, den Auffächerungsbereich, den so genannten "Fan-Out-Bereich" der Sourceleitung zwischen dem Treiber und dem aktiven Bereich des Glases zu optimieren. Die Einstellung des Registers COL_OFFSET wird im Zusammenhang mit der Einstellung von SCAN[1] spezifiziert. Wenn die Laderichtung als die Richtung S0→S319 festgesetzt ist, bezieht sich das Register COL_OFFSET auf die Ausgabe S0. Wenn die Laderichtung entsprechend der Richtung S319→S0 festgelegt ist, bezieht sich COL_OFFSET auf die Ausgabe S319. Die Spannungs-Transfercharakteristik des Sourcetreibers DAC wird durch die 64 Gamma-Referenzspannungen bestimmt, die von dem Gamma-Referenzblock erzeugt werden. Die Treibungsstärke für den Ausgang des Sourcetreibers ist ebenfalls im Hinblick auf ein optimales Einschwingen und ein optimales Leistungsverhalten über die Registerbits GAMMA_CFG1[4:0] programmierbar.
  • Für die 64 Referenzspannungen sind vier intrinsische Gamma-Kurven verfügbar. Die intrinsischen Kurven können verwendet werden, um verschiedene Ziele für den Nutzer des Moduls zu erreichen. Ein Ziel kann darin bestehen, das optische Verhalten für verschiedene Modul-Lieferanten aneinander anzupassen. Es ist sogar möglich, die individuellen Kurvenformen für die unterschiedlichen Farbkanäle eines gegebenen Lieferanten zu optimieren. In diesen Fällen können die vier Kurven für eine jede Charakteristik des Glases des Moduls des Lieferanten optimiert werden, und die Auswahl der geeigneten Kurve und die Einstellungen sind in dem SLEEP_OUT-Befehl enthalten. Der GAMMA_SET-Befehl wird in diesem Fall nicht verwendet, da die anderen Auswahlen für einen anderen Modul-Lieferanten optimiert sind. Ein weiterer Grund für die Verwendung mehrerer intrinsischer Kurveneinstellungen kann darin bestehen, mehrere Gamma-Charakteristika (z. B. γ = 1,0, 1,8, 2,2, 2,5) für ein gegebenes Modul bereitzustellen, um das Leistungsverhalten für verschiedene Betrachtungsbedingungen und Anwendungen zu optimieren. In diesem Fall können die verschiedenen Kurven über den Befehl GAMMA_SET oder durch direkten Registerzugriff auf die Gamma-Register-Einstellungen ausgewählt werden.
  • Unter Bezugnahme auf 19A und 19B, die mögliche negative bzw. positive intrinsische Kurvenformen zeigen, kann die Kurvenform, nachdem die intrinsische Kurve ausgewählt wurde, die mit den gewünschten Eigenschaften am besten übereinstimmt, optimiert werden, um sich durch die Verwendung der Gamma-Register-Einstellungen besser an die gewünschten Charakteristika anzupassen. Die Form und die Gamma-Bezeichnungen in diesen Figuren dienen lediglich der Illustration. Das Registerbit GAMMA_CFG1[7] bestimmt, ob eine dieser vier Formen für alle drei Farbkanäle verwendet wird, oder ob unterschiedliche Kurven oder Anpassungs-Einstellungen für einen jeden Farbkanal ausgewählt werden. Diese selbe intrinsische Form kann für die grüne und die blaue Kurve mit unterschiedlichen Optimierungseinstellungen verwendet werden (siehe die folgende Diskussion der Optimierungs-Einstellungen), oder verschiedene intrinsische Formen und Optimierungseinstellungen können für einen jeden Farbkanal ausgewählt werden. Für einen gegebenen Farbkanal wird dieselbe intrinsische Kurvenform für die beiden Treibungs-Polaritäten verwendet.
  • Unter Bezugnahme auf 20 können Werte gemäß Gleichungen für vier intrinsische Gamma-Kurven erzeugt werden, wie gezeigt wird. Unter Bezugnahme auf 21 kann die ausgewählte intrinsische Kurvenform durch das Festsetzen der Spannungswerte der Endpunkte (V0 und V63) und der drei Abgriffe (V7, V24 und V56) über die Bereichs-Einstell-DACs (hier als Bereichs-DACs bezeichnet) optimiert werden. Gemäß einer beispielhaften Ausführungsform sind die Einstellungen für die Gamma-Kurve positiver Polarität unabhängig von denjenigen für die Gamma-Kurve negativer Polarität, obwohl dieselbe intrinsische Kurvenform zum Treiben beider Polaritäten verwendet wird. Die Spannungen für V0, V7, V24, V56 und V63 werden durch die Referenzspannung VGR bestimmt, die durch die Registerbits VDD_ADJ[7:5] und die Gamma-Referenzregister so einstellbar ist, dass sie zu dem dynamischen Bereich der Kurve passen. Die Einstellungen für VDDA und VGR in dem Register VDD_ADJ sollte wie folgt bestimmt werden: Man berechnet die benötige VGR-Einstellung basierend auf dem positivsten Wert von VcomH, VcomA, V0+ oder V63– unter Verwendung vorbestimmter Beziehungen; und man berechnet den Wert von VDDA aus dem Maximalwert für VGR, VDDGR, VSSGR plus einem gewissen Spielraum der Betriebsspannung.
  • Unter Bezugnahme auf 22 kann die Architektur des Gamma-Referenzblocks wie gezeigt implementiert sein (der Einfachheit halber sind nur die Optimierungsregister des Bereichs-DAC für die roten Kanäle gezeigt). Das Signal DRIVE POLARITY wird durch die Timing-Steuerung bereitgestellt und bewirkt zwei Dinge: es wählt die Einstellungs- bzw. Anpas sungswerte für entweder die negative oder die positive Treibungs-Polarität aus, für eine jede der Farben (die grünen und blauen Register sind nicht gezeigt); und es wählt die korrekten Ausgangsspannungsbereiche für die Digital-Analog-Wandler (DAC) aus. Für eine negative Treibungs-Polarität wird der DAC für V0 eine Spannung in der Nähe der Erdungsspannung erzeugen, und der DAC für V63 wird eine Spannung in der Nähe von VGR erzeugen (siehe 19A). Für eine positive Treibungs-Polarität wird der DAC für V0 eine Spannung in der Nähe von VGR erzeugen, und der DAC für V63 wird eine Spannung in der Nähe der Erdungsspannung erzeugen (siehe 19B). Falls GAMMA_CFG1[7] = 0, wählen die RGB-Auswahlsignale stets die Werte aus, die dem roten Kanal entsprechen. Falls GAMMA_CFG1[7] = 1, wählen die RGB-Auswahlsignale von der Timing-Steuerung den roten, den grünen oder blauen Gamma-Wert entsprechend der Taktsignale CKH1, CKH2 und CKH3 und der RGB-/BGR-Auswahlbits aus (SCAN[7] und SCAN[0]).
  • Unter Bezugnahme auf 23 kann durch das Registerbit VCOM_ADJ[7] ein Treibungs-Schema DC VCOM oder AC VCOM ausgewählt werden. Das Treibungs-Schema AC VCOM verwendet zwei Gerätepins und einen externen Kopplungskondensator. In diesem Modus wirkt der Pin VCOMA_VCS (Pad 1) dergestalt, dass er das Signal VCOMA an den Kopplungskondensator ausgibt. Der zweite Gerätepin VCOMH_VCOM (Pad 2) wirkt dergestalt, dass er den DC-Wert des Knotens VCOM während des High-Zeitabschnitts der Wellenform herstellt. Der Modus AC-VCOM wird durch die Einstellung VCOM_ADJ[7] = 1 ausgewählt. Das VCOM-AC-Signal wird an dem Pad VCOMA_VCS bereitgestellt. Die Amplitude des Signals wird durch das Register VCS_ADJ festgesetzt.
  • Der Ausgang VCOMH_VCOM wird verwendet, um den High-Pegel von VCOM festzuhalten und er soll direkt mit der VCOM-Leitung zum Glas verbunden werden. Wenn VCOM_ADJ[6] = 0, wird dieser High-Pegel durch VCOM_ADJ[5:0] bestimmt. Wenn VCOM_ADJ[6] = 1, wird dieser High-Pegel durch eine externe Spannung eingestellt, die mit dem VCOM_ADJ-Pin verbunden ist. Die VCOMH_VCOM-Pads sollten direkt mit der VCOM-Eingabe des Glases gekoppelt sein, und die VCOMA_VCS-Pads sollten über einen großen Kondensator mit dem VCOM-Eingang zum Glas verbunden sein.
  • Während der Zeit t1 wird das Pad 1 (VCOMA_VCS-Signal) auf die Spannung VCOMA getrieben, und Pad 2 (VCOMH_VCOM-Signal) wird auf die Spannung VCOMH getrieben. Im Ergebnis wird die Spannung VCOM für das Glas gleich VCOMH sein, und der externe Kondensator wird auf eine Spannung von (VCOMH – VCOMA) aufgeladen werden. Während der Zeit t2 wird das Pad 1 auf Massepotential getrieben, und das Pad 2 ist im Schwebezustand. Da der externe Kondensator auf eine Spannung von (VCOMH – VCOMA) geladen bleibt, wird die Spannung an dem Pad 2 (das VCOM-Signal zum Glas) ebenfalls gleich (VCOMH – VCOMA) sein. Somit wird die Spannung VCOM, die an das Glas angelegt wird, zwischen VCOMH und (VCOMH – VCOMA) schwingen.
  • Der DC-VCOM-Modus wird ausgewählt, indem VCOM_ADJ[7] = 0 gesetzt wird. In diesem Fall wird die DC-Spannung VCOM durch den Ausgang VCOMH_VCOM für das Glas bereitgestellt. Die Spannung CSTORE für das Glas (VCS) wird durch den Ausgang VCOMA_VCS bereitgestellt. Der DC-Pegel von VCOMA_VCS wird durch das Register VCS_ADJ eingestellt.
  • Ein Flackern wird dadurch minimiert, dass der VCOMH_VCOM-Pegel entweder dadurch eingestellt wird, dass das Register VCOM_ADJ[5:0] geändert wird, oder dass eine externe Spannung, die mit dem VCOM_ADJ-Pin verbunden ist, eingestellt wird. Wenn das Register-Verfahren verwendet wird, sollten die optimierten Werte für das Register VCOM_ADJ in dem Sleep-Out-Initialisierungsprofil im EEPROM enthalten sein, so dass das Register während der Hochfahrsequenz stets auf den optimierten Wert eingestellt wird. Wenn alternativ mehrere Gamma-Kurven und Vcom-Einstellungen während des Betriebs der Vorrichtung verwendet werden, kann die optimierte VCOM_ADJ-Einstellung in dem geeigneten Gamma-Einstellungs-Befehlsprofil enthalten sein. Auf diese Weise ist es möglich, das Flackern unabhängig von der Auswahl der Gamma-Kurve zu optimieren.
  • Obwohl die Erfindung unter Bezugnahme auf bestimmte Ausführungsformen beschrieben wurde, versteht es sich für den Fachmann, dass verschiedene Änderungen vorgenommen werden können und Elemente derselben durch Äquivalente ersetzt werden können, ohne den Rahmen der Erfindung zu verlassen. Darüber hinaus können viele Modifikationen durchgeführt werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehre der Erfindung anzupassen, ohne den Rahmen der Erfindung zu verlassen.
  • Daher soll die Erfindung nicht durch die bestimmten Ausführungsformen, die als die beste Art, die Erfindung auszuführen, erachtet werden, beschränkt sein, sondern die Erfindung um fasst sämtliche Ausführungsformen, die in den Schutzumfang und Geist der beigefügten Ansprüche fallen.

Claims (8)

  1. Verfahren zur Verwendung eines Daten-Enable-Signals und eines Pixeltakts exklusive ihrer zugehörigen horizontalen und vertikalen Synchronisationssignale für ein digitales Videosignal, um die Erzeugung von Signalen, die den zugehörigen horizontalen und vertikalen Synchronisationssignalen entsprechen, zu erleichtern, das folgendes umfasst: Empfangen eines Pixeltaktes mit einer Mehrzahl von periodischen Taktpulsen; Empfangen eines Daten-Enable-Signals, mit erklärten und einem nicht-erklärten Zuständen, die durch führende und eine nachlaufende Signalflanken getrennt sind; Zählen eines ersten und eines zweiten Teils der Mehrzahl von Pixeltaktpulsen entsprechend Zeitintervallen zwischen ungleichen bzw. zwischen gleichen führenden und nachlaufenden Signalflanken, um wenigstens ein erstes bzw. zweites Pixeltakt-Zählergebnis zu produzieren; Vergleichen jeweiliger erster Pixeltakt-Zählergebnisse aus der Mehrzahl von ersten Pixeltakt-Zählergebnissen, um ein erstes Vergleichs-Zählergebnis mit einem ersten gelernten Wert zu produzieren, welcher indikativ für einen Unterschied zwischen einem ersten ersten Pixeltakt-Zählergebnis und einem zweiten ersten Pixeltakt-Zählergebnis aus der Mehrzahl von ersten Pixeltaktzählergebnissen ist; Vergleichen jeweliger zweiter Pixeltakt-Zählergebnisse aus der Mehrzahl von zweiten Pixeltaktzählergebnissen, um ein zweites Vergleichs-Zählergebnis mit einem zweiten gelernten Wert zu produzieren, welcher indikativ für einen Unterschied zwischen einem ersten zweiten Pixeltakt-Zählergebnis und einem zweiten zweiten Pixeltaktzählergebnis aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen ist; und Zählen eines jeden aus einer Mehrzahl von aufeinanderfolgenden Teilen der Mehrzahl von Pixeltaktpulsen bis zu einem Zählergebnis, welches gleich dem zweiten gelernten Wert ist, in einer Abfolge von Pixelzählungen, um ein Pixel-Zählergebnis-Signal zu produzieren, welches indikativ für ein horizontales Zeilenintervall ist, und ein Gesamtzeilensignal zu produzieren, welches indikativ für ein vertikales Zeilenintervall ist.
  2. Verfahren nach Anspruch 1, bei dem das Zählen des ersten und des zweiten Teils der Mehrzahl von Pixeltaktpulsen entsprechend Zeitintervallen zwischen ungleichen und gleichen führenden und nachlaufenden Signalflanken, um zumindest ein erstes bzw. zweites Pixeltakt-Zählergebnis zu produzieren, folgendes umfasst: Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen entsprechend jeweiliger Zeitintervalle zwischen aufeinanderfolgenden ungleichen führenden und nachlaufenden Signalflanken, um eine Mehrzahl von ersten Pixeltakt-Zählergebnissen zu erzeugen; und Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen entsprechend jeweiliger Zeitintervalle zwischen aufeinanderfolgenden gleichen führenden und nachlaufenden Signalflanken, um eine Mehrzahl von zweiten Pixeltakt-Zählergebnissen zu produzieren.
  3. Verfahren nach Anspruch 2, bei dem das Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen entsprechend jeweiligen Zeitintervallen zwischen aufeinanderfolgenden ungleichen führenden und nachlaufenden Signalflanken zum Produzieren einer Mehrzahl von ersten Pixeltakt-Zählergebnissen das Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen umfasst, die einer Mehrzahl von erklärten oder einer Mehrzahl von nicht-erklärten Zuständen des Daten-Enable-Signals entsprechen.
  4. Verfahren nach Anspruch 2, bei dem das Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen entsprechend jeweiliger Zeitintervalle zwischen aufeinanderfolgenden gleichen führenden und nachlaufenden Signalflanken zum Produzieren einer Mehrzahl von zweiten Pixeltakt-Zählergebnissen das Zählen einer Mehrzahl von Teilen der Mehrzahl von Pixeltaktpulsen umfasst, die aufeinanderfolgenden erklärten und nicht-erklärten Zuständen des Daten-Enable-Signals entsprechen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem: das Vergleichen jeweiliger erster Pixeltakt-Zählergebnis aus der Mehrzahl von ersten Pixeltakt-Zählergebnissen zum Erzeugen eines ersten Vergleichs-Zählergebnis mit einem ersten gelernten Wert, welcher mit einem Unterschied zwischen dem ersten ersten Pixeltakt-Zählergebnis und dem zweiten ersten Pixeltakt-Zählergebnis zusammenhängt, folgendes umfasst: Vergleichen eines ersten ersten Pixeltakt-Zählergebnis und eines zweiten ersten Pixeltakt-Zählergebnis aus der Mehrzahl von ersten Pixeltakt-Zählergebnissen, die aufeinander folgen, um ein erstes Vergleichs-Zählergebnis zu produzieren, wobei das erste Vergleichs-Zählergebnis einen Wert hat, der sich von einem ersten vorherigen Wert auf einen ersten gelernten Wert ändert, welcher dem zweiten ersten Pixeltakt-Zählergebnis entspricht, wenn das erste erste und das zweite erste Pixeltakt-Zählergebnis aus der Mehrzahl von ersten Pixeltakt-Zählergebnissen gleich sind; und bei dem das Vergleichen jeweiliger zweiter Pixeltakt-Zählergebnisse aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen zum Produzieren eines zweiten Vergleichs-Zählergebnisses mit einem zweiten gelernten Wert, der mit einem Unterschied zwischen einem ersten zweiten und einem zweiten zweiten Pixeltakt-Zählergebnis aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen zusammenhängt, folgendes umfasst: Vergleichen eines ersten zweiten Pixeltakt-Zählergebnisses und eines zweiten zweiten Pixeltakt-Zählergebnisses aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen, die aufeinander folgen, um ein zweites Vergleichs-Zählergebnis zu produzieren, wobei das zweite Vergleichs-Zählergebnis einen Wert hat, der sich von einem zweiten vorherigen Wert auf einen zweiten gelernten Wert ändert, der dem zweiten zweiten Pixeltakt-Zählergebnis entspricht, wenn das genannte erste zweite und zweite zweite Pixeltakt-Zählergebnis gleich sind.
  6. Verfahren nach Anspruch 5, bei dem das Vergleichen des ersten ersten Pixeltakt-Zählerergebnisses und des zweiten ersten Pixeltakt-Zählergebnisses aus der Mehrzahl von ersten Pixeltakt-Zählerergebnissen zum Produzieren eines ersten Vergleichs-Zählergebnisses das Vergleichen aufeinanderfolgender erster Pixeltakt-Zählergebnisse aus der Mehrzahl von ersten Pixeltakt-Zählergebnissen umfasst.
  7. Verfahren nach Anspruch 5, bei dem das Vergleichen des ersten zweiten Pixeltakt-Zählergebnisses und des zweiten zweiten Pixeltakt-Zählergebnisses aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen zum Produzieren eines zweiten Vergleichs- Zählergebnisses das Vergleichen aufeinanderfolgender zweiter Pixeltakt-Zählergebnisse aus der Mehrzahl von zweiten Pixeltakt-Zählergebnissen umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Zählen eines jeden aus der Mehrzahl von aufeinanderfolgenden Teilen der Mehrzahl von Pixeltaktpulsen bis zu einem Zählstand, der gleich dem zweiten gelernten Wert ist, in einer Abfolge von Pixelzählungen zum Erzeugen eines Pixel-Zählergebnis-Signals, welches indikativ für ein horizontales Zeilenintervall ist, und eines Gesamtzeilen-Signals, welches indikativ für ein vertikales Zeilenintervall ist, ferner folgendes umfasst: Produzieren eines vertikalen Zählergebnis-Signals, welches indikativ für einen ersten Teil der Abfolge von Pixelzählungen ist, während der das Daten-Enable-Signal den erklärten oder den nicht-erklärten Zustand enthält, und indikativ für einen zweiten Teil der Abfolge von Pixelzählungen ist, während der das Daten-Enable-Signal sowohl erklärte als auch nicht-erklärte Zustände enthält; und Produzieren eines Aktive-Zeile-Signals, das indikativ für den zweiten Teil der Abfolge von Pixelzählungen ist.
DE102008025915.2A 2007-06-01 2008-05-30 Video-Displaytreiber mit Daten-Enable-Lernfunktion Active DE102008025915B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US93291007P 2007-06-01 2007-06-01
US60/932,910 2007-06-01
US12/128,132 2008-05-28
US12/128,132 US8072394B2 (en) 2007-06-01 2008-05-28 Video display driver with data enable learning

Publications (2)

Publication Number Publication Date
DE102008025915A1 true DE102008025915A1 (de) 2009-04-09
DE102008025915B4 DE102008025915B4 (de) 2018-11-08

Family

ID=40094090

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008025915.2A Active DE102008025915B4 (de) 2007-06-01 2008-05-30 Video-Displaytreiber mit Daten-Enable-Lernfunktion

Country Status (6)

Country Link
US (1) US8072394B2 (de)
JP (1) JP2009009122A (de)
KR (1) KR100993813B1 (de)
DE (1) DE102008025915B4 (de)
TW (1) TWI413047B (de)
WO (1) WO2008150854A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080303767A1 (en) 2007-06-01 2008-12-11 National Semiconductor Corporation Video display driver with gamma control
US20090066675A1 (en) * 2007-09-10 2009-03-12 Ying-Lieh Chen Display driver and digital to analog converter thereof
US20100220085A1 (en) * 2009-03-02 2010-09-02 Cheng-Chi Yen Display controlling system and method thereof
JP5448981B2 (ja) 2009-04-08 2014-03-19 株式会社半導体エネルギー研究所 液晶表示装置の駆動方法
US9691360B2 (en) * 2012-02-21 2017-06-27 Apple Inc. Alpha channel power savings in graphics unit
JP5979988B2 (ja) 2012-05-31 2016-08-31 株式会社ジャパンディスプレイ 液晶表示装置
KR20140025169A (ko) * 2012-08-21 2014-03-04 삼성디스플레이 주식회사 디지털 아날로그 변환기, 디스플레이 구동 회로 및 그것을 포함하는 표시 장치
KR102023067B1 (ko) 2013-03-15 2019-09-19 삼성전자주식회사 시스템 온 칩과 이를 포함하는 디스플레이 시스템의 동작 방법
CN114170950A (zh) 2014-03-10 2022-03-11 硅工厂股份有限公司 源驱动器
KR102237039B1 (ko) * 2014-10-06 2021-04-06 주식회사 실리콘웍스 소오스 드라이버 및 이를 포함하는 디스플레이 장치
KR102248822B1 (ko) * 2014-10-06 2021-05-10 삼성전자주식회사 디스플레이 장치를 구비한 모바일 기기 및 그것의 동작 방법
JP2016099935A (ja) * 2014-11-26 2016-05-30 株式会社ジャパンディスプレイ データ通信装置、データ通信システム
CN105373288A (zh) * 2015-09-25 2016-03-02 北京金山安全软件有限公司 被锁定界面的显示方法、装置和移动终端
CN108235098B (zh) * 2016-12-21 2020-09-04 杭州海康威视数字技术股份有限公司 一种显示同步方法及视频显示终端
TWI712904B (zh) * 2018-10-18 2020-12-11 華邦電子股份有限公司 電子裝置及積體電路的佈局方法
US10965302B1 (en) * 2019-10-12 2021-03-30 Analog Devices International Unlimited Company Background static error measurement and timing skew error measurement for RF DAC
WO2021113309A1 (en) * 2019-12-06 2021-06-10 Magic Leap, Inc. Encoding stereo splash screen in static image
US11545072B2 (en) * 2021-06-08 2023-01-03 Huizhou China Star Optoelectronics Display Co., Ltd. Driving device of display panel and display device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08160922A (ja) * 1994-12-09 1996-06-21 Fujitsu Ltd 液晶表示装置
KR0156804B1 (ko) * 1995-11-28 1998-12-15 김광호 데이타 인에이블 신호를 이용하여 바이오스에 관계없이 프리챠지를 하는 스타트 펄스 버티컬 신호 생성기
JP3754531B2 (ja) * 1997-05-01 2006-03-15 Nec液晶テクノロジー株式会社 液晶表示装置
US6670964B1 (en) * 1998-09-18 2003-12-30 Hewlett-Packard Development Company, L.P. Automatic scaler mode detection
JP2000284761A (ja) * 1999-03-31 2000-10-13 Advanced Display Inc 表示装置および表示装置用インターフェイス回路
JP3647338B2 (ja) * 1999-11-11 2005-05-11 富士通株式会社 画像信号解像度変換方法及び装置
TW493159B (en) * 2001-01-05 2002-07-01 Acer Peripherals Inc Method and device to detect the full-screen size by data enable signal
KR100391989B1 (ko) * 2001-04-06 2003-07-22 삼성전자주식회사 해상도 변경 감지 속도가 향상된 디스플레이 장치 및 그감지 방법
US6954491B1 (en) * 2001-06-14 2005-10-11 Silicon Image, Inc. Methods and systems for sending side-channel data during data inactive period
KR100408299B1 (ko) * 2001-09-29 2003-12-01 삼성전자주식회사 모드 판단 장치 및 방법
TW565759B (en) * 2002-04-24 2003-12-11 Pentagon Res Company Ltd Method of clock recovery in a TMDS repeater
JP4754166B2 (ja) * 2003-10-20 2011-08-24 富士通株式会社 液晶表示装置
KR100604907B1 (ko) * 2004-10-05 2006-07-28 삼성전자주식회사 데이터 인에이블 신호로부터 발생되는 수평/수직 동기신호로부터 신호의 안정성 여부를 판별하는 평판 표시장치의 싱크 프로세서
KR101036512B1 (ko) 2004-12-30 2011-05-24 매그나칩 반도체 유한회사 반도체 장치의 타이밍 컨트롤러
WO2006095313A1 (en) * 2005-03-11 2006-09-14 Koninklijke Philips Electronics N.V. Method for remotely controlling a display apparatus based thereon and a portable device comprising such an apparatus
JP4894183B2 (ja) * 2005-07-25 2012-03-14 三菱電機株式会社 ノイズ除去回路およびこれを用いたマトリックス表示装置、ならびに解像度弁別回路
JP2007041437A (ja) 2005-08-05 2007-02-15 Sharp Corp 表示装置
US20070030452A1 (en) * 2005-08-08 2007-02-08 N-Lighten Technologies Image adaptation system and method
US7830450B2 (en) * 2006-09-13 2010-11-09 Realtek Semiconductor Corp. Frame synchronization method and device utilizing frame buffer

Also Published As

Publication number Publication date
JP2009009122A (ja) 2009-01-15
TWI413047B (zh) 2013-10-21
WO2008150854A1 (en) 2008-12-11
TW200910295A (en) 2009-03-01
KR20090086022A (ko) 2009-08-10
US8072394B2 (en) 2011-12-06
US20080303750A1 (en) 2008-12-11
KR100993813B1 (ko) 2010-11-12
DE102008025915B4 (de) 2018-11-08

Similar Documents

Publication Publication Date Title
DE102008025915B4 (de) Video-Displaytreiber mit Daten-Enable-Lernfunktion
DE102008025914A1 (de) Video-Display mit Gamma-Steuerung
DE102008025916A1 (de) Video-Displaytreiber mit Teilspeicher-Steuerung
US7106284B2 (en) Liquid crystal display device
DE102015122838B4 (de) Anzeigevorrichtung geeignet zum Ansteuern mit geringer Geschwindigkeit und Verfahren zum Ansteuern davon
EP2509064A2 (de) Bildanzeigevorrichtung mit Speichereigenschaft
US20020044115A1 (en) Liquid crystal display device driving method
US7733314B2 (en) Display device
CN109188749A (zh) 显示装置
CN100380185C (zh) 显示设备的数据驱动电路及其驱动方法
DE10234963A1 (de) Verfahren und Vorrichtung zum Ansteuern einer Flüssigkristalldisplay-Tafel
US7518586B2 (en) Method and circuit for driving liquid crystal display and image display device
DE102013111908A1 (de) Flüssigkristall-Anzeigevorrichtung und Ansteuerungsverfahren derselben
CN101943830A (zh) 有源式矩阵显示器及其驱动方法
US7796112B2 (en) Liquid crystal display and driving method thereof
KR101197770B1 (ko) 액정표시장치 및 그 구동 방법
US11315497B2 (en) Gate driving circuit and image display device including ihe same
TWI402794B (zh) 顯示裝置及驅動裝置及其驅動方法
CN109830217B (zh) 液晶显示面板、显示装置和驱动方法
EP1995716B1 (de) Flüssigkristallmodul

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: ZELLER, ANDREAS, DE

R082 Change of representative

Representative=s name: ZELLER, ANDREAS, DE