Decodierung von gemultiplexten LCD-Signalen



In diesem Artikel werde ich darüber sprechen, wie die Flüssigkristallanzeige (LCD) in Bezug auf Signale funktioniert, wie diese Signale dekodiert und für ihre eigenen Zwecke verwendet werden.

Manchmal stellen sich Fragen zur Bedienung des LCD. Zum Beispiel ist der Bildschirm des Geräts geflossen und es gibt nichts zu ersetzen:



Oder der LCD-Bildschirm ist sehr klein, im Dunkeln nicht sichtbar und die Aufgabe besteht darin, die Ausgabe anstelle des LCD in eine LED oder ein anderes Display umzuwandeln.

Ich bin auch auf ein solches Problem gestoßen: Es gibt eine Klimaanlage, und um ihre Betriebseigenschaften zu verbessern, muss ein zusätzlicher Lüfter eingeschaltet werden, wenn das Symbol „Schneeflocke“ auf dem Bildschirm angezeigt wird.



Ich denke, Sie können sich viele solcher Probleme einfallen lassen, und die allgemeine Aufgabe besteht darin, zu lernen, wie die auf dem LCD angezeigten Informationen dekodiert und für den vorgesehenen Zweck verwendet werden.

Flüssigkristallindikatoren erfordern aufgrund ihrer physikalischen Eigenschaften die Erfüllung von zwei Hauptanforderungen:

  1. Die Spannung zwischen den Elektroden muss mindestens drei Volt betragen.
  2. Es ist notwendig, Wechselspannung an die Elektroden ohne Gleichstromkomponente anzulegen.

Wenn Sie die erste Anforderung nicht erfüllen und eine Spannung von weniger als 3 Volt zwischen der gemeinsamen Elektrode und der Segmentelektrode anlegen, ist das Segment einfach nicht sichtbar.

Wenn die zweite Anforderung nicht erfüllt ist, kann sich der Indikator ziemlich schnell verschlechtern (Flüssigkristalle verschlechtern sich). Die Indikatoren der ersten Probleme litten besonders stark unter der Nichterfüllung der zweiten Anforderung, und es könnte durchaus vorkommen, dass der Benutzer immer Zeit auf dem Indikator hatte, wenn die Batterie in der Uhr leer war.



Das LCD verwendet gemeinsame Elektroden und Segmentelektroden. Segmentelektroden befinden sich auf einer Seite des LCD, gemeinsam - auf der gegenüberliegenden Seite. Zwischen ihnen befinden sich Flüssigkristalle. Wenn eine Wechselspannung angelegt wird, ändern die Flüssigkristalle ihre Polarisationsebene und lassen unter Berücksichtigung der Polarisationsfilter an den Seiten des Indikators kein Licht durch sich selbst, und das Segment wird schwarz angezeigt.



Hier ist ein Foto einer Taschenrechneranzeige, auf der Elektroden sichtbar sind.



Wie gesagt, zwischen dem Segment und den gemeinsamen Elektroden muss eine Wechselspannung angelegt werden. Seine Frequenz sollte mehr als 30 Hertz betragen. Anstelle einer Sinuskurve werden entweder Signale einer speziellen Form oder ein Mäander angegeben (ein Mäander ist ein periodisches Signal einer rechteckigen Form, bei dem die Pulsdauern und Pausen gleich sind), was mit einiger Annahme auch als vereinfachte Sinuskurve betrachtet werden kann.

Die einfachsten LCDs haben eine gemeinsame Elektrode. Die Anzahl der Schlussfolgerungen im Indikator entspricht der Anzahl der Segmente plus der Gesamtleistung.

Ein Mäander wird zur allgemeinen Schlussfolgerung geführt. Aber auf segmentierten - auch ein Mäander. Der Unterschied besteht darin, dass, wenn das Segment angezeigt werden soll, der Impuls und das Intervall (Phase, relativ zum Signal der gemeinsamen Elektrode) vertauscht werden. Wenn das Segment nicht angezeigt werden soll, fallen die Phasen zusammen.



Aus Sicht des Indikators beträgt die Spannung zwischen den Elektroden immer 0 Volt, wenn die Phasen zusammenfallen. Und wenn die Phasen nicht zusammenfallen, wechselt die Spannung zwischen den Elektroden immer und beträgt 3 Volt.

Die Ausgabe an den Indikator mit einer gemeinsamen Elektrode ist recht einfach. Wenn jedoch die Anzahl der Segmente groß ist, steigen die Kosten sowohl für die Anzeige der Anzeige als auch für die Reservierung der entsprechenden Anzahl der Ausgangsanschlüsse am Controller entsprechend an.

Um die Anzahl der Segmente zu verringern, werden zwei oder mehr übliche Elektroden verwendet. Dies reduziert einerseits die Anzahl der Segmentausgänge erheblich, andererseits erschwert es die Ausgabe hinsichtlich der Signalerzeugung. Die Idee beim Signalmultiplex ist, dass ein Segmentausgang für die Anzeige von zwei oder mehr Segmenten verantwortlich ist.

Wenn in einem Indikator mit einem gemeinsamen Signal ein Segment ständig gesteuert wird, wird während des Multiplexens die Anzahl der Zeitintervalle, in denen ein Segment gesteuert wird, durch die Anzahl der gemeinsamen Signale geteilt. Das heißt, Segmente mit dem gemeinsamen Signal COM1 werden zuerst gesteuert (angezeigt oder gelöscht), im nächsten Zeitintervall werden Segmente, die mit dem gemeinsamen Signal COM2 usw. verbunden sind, durch die Anzahl der gemeinsamen Signale gesteuert.

Da die Zeitintervalle, in denen ein Segment gesteuert wird, verringert werden, wird die Zeit seiner Anzeige entsprechend verringert, und je häufiger Signale verwendet werden, desto geringer ist der Kontrast des gesamten Bildes.

Anstelle eines einfachen Mäanders mit mehreren gemeinsamen Signalen müssen Signale einer speziellen Form mit Zwischenspannungen angelegt werden. Zwischenspannungen werden benötigt, um die beiden oben beschriebenen Anforderungen zu erfüllen.

Ich habe ein kurzes Video gedreht, in dem Sie auf einem Oszilloskop Oszillogramme von einer realen Uhr mit einer gemeinsamen Elektrode und einem Taschenrechner mit drei gemeinsamen sehen können.




Dies ist Teil der MK-62 Electronics-Rechnerschaltung. Der Indikator verwendet drei gemeinsame Elektroden. Das Diagramm zeigt die Verdrahtung der gemeinsamen Elektroden und der Segmentelektroden.

Das vollständige Schema finden Sie hier .



Der Einfachheit halber habe ich den Verantwortungsbereich gemeinsamer Elektroden aufgeblüht. In dem Diagramm sind die gemeinsamen Elektroden als O1, O2 und O3 bezeichnet.

Ich habe auch die Segmente gefärbt, so dass es bequem war zu sehen, welche Segmente für die Segmentschlussfolgerungen verantwortlich sind.



Diagramme der Pulsform der an das Segment angelegten Signale und allgemeine Schlussfolgerungen erscheinen auf den ersten Blick gruselig. Aber wenn Sie schauen, können Sie verstehen, wie das funktioniert:



Die ersten drei Diagramme entsprechen gemeinsamen Elektroden. Ich habe sie gemäß der Abbildung des Indikators im Diagramm geblüht.



Wir werden uns nur für die farbigen „Regale“ von Signalen interessieren, deren Pegel sich oben auf den Wellenformen befinden. Dies sind die Momente, in denen segmentierte Ausgänge gesteuert (angezeigt oder ausgeschaltet) werden.

In diesen Diagrammen ist zu sehen, dass zuerst unten „O2“ funktioniert, dann O1, dann O3. Danach die Regale auf die gleiche Weise (nur oben), zuerst bei O2, dann bei O1 und dann bei O3. Sie wechseln sich ab und beobachten den Zustand der Wechselspannung.



Nachdem die Diagramme der gemeinsamen Signale „entschlüsselt“ wurden, können Sie sich die Diagramme der Segment-Signale ansehen, die ich ebenfalls gemalt habe. Diese Diagramme stammen aus der tatsächlichen Anzeige auf dem Indikator der Ziffer 0. (mit einem Punkt) in der ersten Vertrautheit.

Die Form der Impulse des Segments und der gemeinsamen Signale wird mit der Berechnung der Erfüllung der ersten Anforderung ausgewählt - die Spannung zwischen den Elektroden sollte gleich drei Volt sein. Flüssigkristalle und Polarisationsfilter sind so ausgelegt, dass sie nur bei drei Volt angezeigt werden. Wenn die Spannung niedriger ist, sind die Segmente nicht sichtbar.

Sie können unabhängig voneinander herausfinden, welche bestimmten Segmente angezeigt werden oder ausgehen, wenn die entsprechenden gemeinsamen Signale eintreffen.

Nun - nachdem wir das Prinzip der Zuordnung von Segmenten herausgefunden haben, können Sie einen ziemlich einfachen Decoder erstellen.

Als ich schrieb, dass eine Wechselspannung zwischen den Elektroden angelegt werden muss, ist dies wahr und richtig, aber nur aus Sicht der Elektroden. Wir nutzen die Entdeckung des großen Einsteins, der sagt: „Alles ist relativ“, und binden uns an einen der Signalpole (negativ). Alle anderen Ebenen werden automatisch positiv.

Im obigen Diagramm haben sich die Entwickler bereits von einer multipolaren Spannung entfernt und Signale mit Pegeln von 0 und -3 Volt erzeugt.

Da die Logik unseres Geräts positiv ist, gehen wir davon aus, dass die in der Schaltung als -3 Volt in unserer Schaltung angezeigte Spannung Null ist und die Spannung von 0 Volt plus drei Volt beträgt.

In unserem Schema beträgt die Ankunft des unteren Regals 0 Volt (GND-Signal ist Masse). Wenn das oberste Regal kommt, sind es +3 Volt. Und die verbleibenden Spannungen bilden eine Sinuskurve, und wir werden sie ignorieren.



Wir müssen zwei Komparatoren anwenden. Der Komparator funktioniert einfach: Er hat zwei Eingänge (positiv und negativ) und einen Ausgang. Wenn die Spannung am positiven Eingang größer als am negativen ist, erscheint eine am Ausgang und umgekehrt - wenn die Spannung am positiven Ausgang kleiner als die negative ist, ist der Ausgang Null.

Der erste Komparator (grüne Linie) verfolgt die Ankunft des obersten Regals des Gesamtsignals. Der zweite Komparator (rote Linie) verfolgt die Ankunft des Segmentsignals. Der grüne Leitungspegel wird dem negativen Eingang des ersten Komparators und der rote Leitungspegel dem negativen Eingang des zweiten Komparators zugeführt. An den positiven Eingängen der Komparatoren werden jeweils ein gemeinsames Signal und ein Segment-Signal geliefert. Der Pegel des allgemeinen Signals wird oben und der Segmentpegel unten ausgewählt, um den Moment zu „fangen“, in dem das Segment angezeigt wird (die gleichen 3 Volt). In anderen Fällen wird es nicht angezeigt. Achten Sie auf das unterste Diagramm im Rechnerschema - jene Momente, in denen die anderen Segmente nicht leuchten - dort erreichen die Signale weder den oberen noch den unteren Pegel.

Infolgedessen erfassen wir im Moment der gelben vertikalen Linie an den Ausgängen der Komparatoren drei Volt der Differenz zwischen den Signalen, wenn das Segment eingeschaltet ist, und 0 Volt, wenn es nicht eingeschaltet ist.

Wir haben also den Moment erfasst, in dem das gewünschte Segment angezeigt (oder gelöscht) wird. Jetzt muss dieser Moment behoben werden. Um diesen Moment zu beheben, verwenden wir ein Register mit einem Latch-Typ 74HC374. Zum Registereingang geben wir ein Signal vom Komparator Nr. 2, wo das Segmentsignal verfolgt wurde, und zum Takteingang des Latch, der vom Komparator Nr. 1 ausgegeben wird, wo die logische Einheit zum Zeitpunkt des Eintreffens des von uns benötigten gemeinsamen Signals startet.

Nachdem das Register auf den positiven Sprung des CLK-Eingangs geklickt hat, ändert sich das Signal an seinem Ausgang erst, wenn das positive Regal des gemeinsamen Signals, das wir benötigen, neu eingetroffen ist.

Um ein Segment zu verfolgen (sei es ein Schneeflockensymbol), sieht das Diagramm folgendermaßen aus:



Hier im Diagramm überwacht der Komparator U1 das untere Regal des Segmentsignals, dessen Pegel niedriger als der am variablen Widerstand RP1 eingestellte ist, und setzt an seinem Ausgang Null. Der zweite Komparator überwacht das Eintreffen des oberen Regals des gemeinsamen Signals und speichert das Register mit einer positiven Flanke.

Der Kondensator C1 ist erforderlich, um die Erkennung des allgemeinen Niveaus ein wenig zu verzögern und den Moment der Fixierung nicht ganz am Anfang des allgemeinen Niveaus zu verschieben (zu diesem Zeitpunkt kann das Segment 1 zu spät sein oder es werden einige Transienten auftreten), sondern etwas später (in der Abbildung befindet sich eine gelbe Linie in der Mitte des Regals). Die Ausgabe des Registers ist eine logische Null, wenn das Segment angezeigt wird, und eine logische Einheit, wenn das Segment nicht angezeigt wird.

Ein solches Schema wird benötigt, um jedes Segment zu erfassen. Die Hauptkomplexität eines solchen Schemas besteht darin, dass für jedes Segment und jedes gemeinsame Signal ein separater Komparator erforderlich ist und die Anzahl der Registerausgänge gleich der Anzahl der Segmente ist. Andererseits sind all diese Komparatoren und Register jetzt einen Cent wert.

Um die Arbeit zu vereinfachen und die Funktionsfähigkeit von allem, was ich geschrieben habe, zu überprüfen, habe ich einen kleinen Schal angefertigt, auf dem ich mehrere Komparatoren und Register ausgebreitet habe.





Schema: habrastorage.org/webt/wk/1i/kg/wk1ikgqdavyjnxcqsqlr2174jke.jpeg

Die Beschreibung der Schaltung ist dieselbe wie für ein Segment, nur multipliziert mit 16 Segmenten und einem oder zwei gemeinsamen Signalen (die Nummer wird von einem Jumper ausgewählt).

Die Karte bietet Transit-Ein- und Ausgänge für Leistung und Komparatorpegel, um Details und Konfiguration zu sparen.

Hier ist ein weiteres Video, das die Funktionsweise dieser Karte beschreibt und zeigt, wie die Erkennung funktioniert:


Das Erkennen eines Taschenrechners ist nur für akademische Zwecke interessant, und für mich selbst habe ich auf der Grundlage dieser Karten ein echtes Gerät hergestellt - eine LED-Uhr, die auf der Uhr der sowjetischen Elektronik 55 basiert.








Es gibt ziemlich viele Segmente in der Uhr, und ich musste vier Bretter verwenden.

Diese Karten ermöglichen auch das Multiplexen der Ausgänge der Register. Das heißt, die Ausgänge jedes Registers können zu einem 8-Bit-Bus kombiniert werden. Die Karten ermöglichen das Deaktivieren der Ausgänge (Abschnitt 1 an jedem Register). Zum Deaktivieren wird jedem Register (z. B. von einem Multiplexerchip vom Typ 74HC137) und dem Register, aus dem Daten entfernt werden müssen, eine logische Einheit zugeführt - eine logische Null. Wenn Sie dann abwechselnd das gewünschte Register auswählen, können Sie die Daten beispielsweise mit einem anderen Mikrocontroller vom LCD-Bus lesen und nach eigenem Ermessen verarbeiten. Darüber hinaus kann die Auswahl aus der Decodierschaltung bei jeder Geschwindigkeit asynchron getroffen werden.

Auf diese Weise können Sie Informationen vom LCD lesen und für Ihre eigenen Zwecke verwenden. Vielen Dank für Ihre Aufmerksamkeit.

Source: https://habr.com/ru/post/de412297/


All Articles