Startseite > Nachrichten > Inhalt

Kontaktiere uns

Hinzufügen: Block 5, Fuqiang Technology Park, Zhugushi Straße, Wulian, Longgang 518116

Mob: + 86-13510459036

E-Mail: info@panadisplay.com

LCD-Touchscreen-Controller
Dec 13, 2017

Der LCD-Touchscreen-Controller umfasst ein Datenschnittstellenmodul, ein Speichermodul (FSMC_Ctrl (SDRAM_Ctrl), ein Flüssigkristallanzeigemodul (TFT_Ctrl) und ein Berührungssteuermodul (TOUCH_Ctrl), das in 2 gezeigte Blockdiagramm).

2.png

LCD-Touchscreen-Controller Arbeitsprozess: Mikroprozessor (STM32F407) über den FSMC-Bus zum Senden von Daten an das FPGA, das FSMC_Ctrl-Modul zum Empfangen von Daten, das Zeitsteuermodul SDRAM_Ctrl zum Schreiben von Speicher SDRAM, die Zeitsteuerung von TFT_Ctrl-Modul vom SDRAM zum Einlesen von Daten Echtzeitanzeige. Das TOUCH_Ctrl-Modul steuert den Touch-Control-Chip ADS7843 und sendet die gesammelten Koordinaten an das FSMC_Ctrl-Modul, um darauf zu warten, dass ARM es regelmäßig liest.


1. Dateninteraktionsmodul

Das Datenaustauschmodul ist der Schlüssel zur Realisierung einer bidirektionalen Datenübertragung, wobei der FSMC-Bus das CS-Chipauswahlsignal und das Schreibsignal WR, das Lesebetriebssignal RD, den Adreßbus AB 25: 0 (Multiplexbetrieb), den Datenbus DB 15: 0 und einen Adressen / Daten-Multiplex-Steuersignal NADV (unter Verwendung einer gemultiplexten Adressenleitung). Unter diesen sind das Chipauswahlsignal CS, Lese- und Schreiboperationen des WR-Signals RD-Signal normalerweise bei geringer Leistung wirksam. Wenn das Betriebssignal WR für eine niedrige Leistung geschrieben wird, sendet ARM die Adresse und Daten der Flüssigkristallanzeige an den DB - Bus, die Latch - Adresse an der ansteigenden Flanke des NADV - Signals und die entsprechenden Daten an der ansteigenden Flanke des WR - Signals, die auf der LCD nach SDRAM-Cache. Wenn das Leseoperationssignal RD niedrig ist, sendet FPGA die Berührungskoordinaten an den DB-Bus. ARM realisiert die Berührungsoperation gemäß dem Koordinatenwert des Abbildungsadressraumregisters, und das FSMC-Busarbeitsabfolgediagramm ist in 3 gezeigt.

3.png


2. Flüssigkristall-Anzeigemodul

Gemäß dem Anzeigeprinzip des Flüssigkristallbildschirms enthält das von diesem Modul gesteuerte Signal hauptsächlich ein Pixeltaktsignal, ein Zeilen / Halbbild-Synchronsignal und ein Freigabesignal. Gemäß der Zeitgebungsanforderung der LCD-Anzeige wird die LCD-Steuerzeitgebung durch FPGA ausgelegt, und die Steuerung des Zeilensignals, des Rahmensignals und des versteckten Signals wird realisiert.

Unter diesen basiert die Rahmenabtastzeitsequenz auf HSYNC als dem Referenztakt, HSYNC wird als das Zeilenabtastsignal verwendet, und VSYNC ist ein Rahmensynchronisationssignal und der niedrige Pegel ist wirksam. Jedes Bild wird abgetastet, die effektive Fläche des vorderen Endes des VSYNC-Signals ist eine Bildausblendungsschulter (VBPD + 1), es gibt eine hintere Bildausblendungsvorderschulter (VFPD + 1), das effektive VSYNC-Signal, bevor es ein Hoch ist Pegel (VSPW + 1), das Rahmensynchronisationsimpulsbreitensignal. Unter diesen basieren VBPD, VFPD und VSPW auf dem Referenztakt HSYNC. In ähnlicher Weise gibt es für jede Reihe von Abtastsignalen auch eine verborgene hintere Schulter (HBPD + 1), eine verborgene vordere Schulter (HFPD + 1), eine Reihensynchronsignal-Impulsbreite (HSPW + 1) und einen Pixeltakt VCLK als eine Einheit. Bei LCD-Bildschirmen mit unterschiedlicher Auflösung unterscheidet sich das Anzeige-Timing von denen der vorderen Schulter, der verdeckten Schulter und der Signalimpulsbreite. Der Bildschirmtreiber kann die verschiedenen LCD-Bildschirme nur durch Ändern dieser Parameter umschalten.

Um den LCD-Bildschirm Treiber für eine Vielzahl von verschiedenen Auflösungen, innerhalb der FPGA Verilog Hardware-Sprache mit Pre VCLK, VBPD, VFPD, VSPW, HBPD, HFPD, HSPW Parameter der verschiedenen LCD-Bildschirm, unter Verwendung der FSMC-Bus-Adresszeile 2 als die Steuerparameter eines LCD-Bildschirms. In der Anwendung müssen wir nur die Adresse des Steuer-Bitmap-Registers ändern, um die Konfiguration von Parametern zu realisieren, die für verschiedene LCD-Bildschirme geeignet ist und die Portabilität des Controllers verbessert. Das Zeitablaufdiagramm der Flüssigkristallanzeige ist in 4 gezeigt.

4.png

3. Speichermodul

Das Speichermodul enthält ein Datenvorverarbeitungsmodul, einen SDRAM-Controller und ein Cache-Modul, hauptsächlich zum Vervollständigen des Eingabedatenspeichers und zum Anzeigen von gelesenen Daten. Die Speichermodulstruktur, die in 5 gezeigt ist.

5.png

4. Datenvorverarbeitungsmodul

Das Datenvorverarbeitungsmodul beinhaltet hauptsächlich die Integration und das Zwischenspeichern von Daten. Da die Datenübertragungsrate des FSMC-Busses viel niedriger als die Arbeitsfrequenz des SDRAM ist, werden Daten zwischengespeichert, um die Ratenfehlanpassung zwischen ihnen zu lösen, bevor Daten in den SDRAM geschrieben werden, um einen Datenverlust zu verhindern.

Um die Übereinstimmung zwischen den Anzeigedaten und der Adresse zu gewährleisten, verhindern Anzeigefehler, die durch Spleißen angezeigte Adressen- und Dateninformation, Spleißen, nachdem die Daten in einen Puffer-FIFO geschrieben wurden (First-In-First-Out, FIFO), die Schreiboperation zu warten für SDRAM.


5. Cache-Modul

Das Cache-Modul enthält zwei einzelne Direktzugriffsspeicher (Direktzugriffsspeicher, RAM), deren Hauptfunktion es ist, kontinuierliche Ausgangs-Ping-Pong-Betriebsdaten durch zwei RAM zu erreichen, das Ping-Pong-Betriebsprinzip, wie in 6 gezeigt.

6.png

Um die kontinuierliche Anzeige der Ausgangsdaten in der Tiefe von zwei internen SDRAM-Back-End-FPGA-Aufruf für 2048, Breite 16 RAM zu realisieren, durch die Eingangsdatenstromauswahleinheit "und" Ausgabedatenstromauswahleinheit "regelmäßig zu wechseln , nach dem RAM-Cache den Datenstrom kontinuierlich an die Datenflussverarbeitungseinheit "Verarbeitung.

Die Daten jedes Rahmens in dem Anzeigeprozess werden in dem ersten bis zwei Zeilensignal vor dem Eintreffen des synchronen Signals während des Vorlesens der Daten in dem SDRAM, RAM1 und RAM2, um Daten im Voraus zu schreiben, so dass zuerst ein Freigabesignal gesendet wird Kommt kann die RAM1-Datenanzeige erfolgreich gelesen werden, die sofort aus dem Pre-SDRAM ausgelesen wird. Die nächsten Zeilendaten werden in den RAM1 eingelesen.

In den zweiten DE-Signalfreigabebereichen wird RAM2 gelesen und angezeigt, und der Prozess ist der gleiche wie bei RAM1. RAM1 und RAM2 werden abwechselnd gelesen und geschrieben, um die kontinuierliche Ausgabe von Daten zu vervollständigen.


6. SDRAM-Controller

Da die LCD-Anzeige während jedes Freigabesignals eine kontinuierliche Datenausgabe und keine Datenunterbrechung erfordert, müssen wir die Leseoperation des SDRAM als die höchste Priorität festlegen. Bei der gesamten SDRAM-Steuerung müssen wir uns auf die Datenlesesteuerung konzentrieren.

Der SDRAM-Controller steuert hauptsächlich die Initialisierungs-, Auffrisch-, Lese- und Schreiboperationen des SDRAM, und die Lese- und Schreibsteuerung des SDRAM ist der Kern dieses Moduls. Dies ist der Schlüssel zur Verbesserung der Datenaktualisierungsrate und zur Reduzierung der ARM-Datenverarbeitung.

Daher zielt das Design des SDRAM-Controllers hauptsächlich darauf ab, die Datenaktualisierungsrate zu verbessern und die beiden Aspekte der ARM-Datenverarbeitungslast zu reduzieren.


Um die Geschwindigkeit der Datenaktualisierung zu verbessern, wird das Verfahren des zeitverteilten Lesens und Schreibens übernommen, um die vom Datenpuffer bereitgestellte Leerlaufzeit voll auszunutzen. Ein Zähler wird auch während des Lesevorgangs des SDRAM eingerichtet. Der maximale Wert des Zählers ist M (M ist das Zeilenpixel eines anderen Flüssigkristalls), so dass die effektiven Daten in RAM geschrieben werden können, um bequem zu lesen.

Auf der einen Seite, Lese-Burst-Lesemodus wird in den Prozess der Operation in SDRAM verwendet, jeder Lese 256 Datensatz noch einmal auf das nächste Lesen warten, bis eine gültige Daten gelesen; auf der anderen Seite, nach dem Ping-Pong-Betrieb einen separaten Zähler eingerichtet, der maximale Wert ist Y / 2 (Y für verschiedene Pixel LCD), jeder abgeschlossen 1 Ping-Pong-Betriebszähler plus 1, akkumuliert bis zum Maximum Null anzeigt Wenn eine Datenanzeige abgeschlossen ist, wartet SDRAM bis zum nächsten Datenrahmen, um Daten anzuzeigen.

In den zwei Warteintervall-Steuer-Controller, um SDRAM-Datenbus wiederherzustellen, schreiben Operation von SDRAM, verkürzen die Wartezeit von SDRAM-Schreibvorgang, eine Schreiboperation von Burst-Schreibmodus, jede Burst 1 schreibt 8 Daten, effektiv lindern das resultierende Datenverlustproblem von FSCM High Speed und kann nicht Daten eingeben, wenn die Bandbreite von SDRAM gespeichert wird, verbessert die Datenaktualisierungsrate.

Eine feste Auffrischungsbetriebszeit (N wird gemäß der Flüssigkristallauflösung eingestellt) in der ersten N Zeilenperiode jedes Rahmendaten, was sicherstellt, dass alle Bank im SDRAM in 64 ms aufgefrischt werden können, um einen Konflikt zwischen Auffrischoperation und Lesen zu vermeiden und Schreiboperation.


Um die Anzeige Aktualisierungsrate zu verbessern, reduzieren Sie die Belastung der Datenverarbeitung von ARM-Flüssigkristall, wird in Übereinstimmung mit der Bank Speicheradresse Pufferraum ist in 4 Schichten unterteilt, jede Schicht hat 2MB, SDRAM-Controller durch Multi SDRAM Multi-Puffer-Betrieb Um das Design des Hardware-Beschleunigers zu erreichen, wird das Arbeitsprinzip wie in Abbildung 7 gezeigt.

7.png

Der Beschleuniger realisiert eine kundenspezifische Logiksteuerung durch angepasste Befehle und Nachschlagetabellen und erreicht verschiedene Operationen des FPGA mit Daten, wie das Ausführen komplexer mathematischer Operationsfunktionen, das Übertragen von Daten von einem Ort zu einem anderen und das wiederholte Durchführen derselben Operation.

In der Flüssigkristall-Display-Prozess auf der einen Seite, SDRAM wird in 4 Ebenen unterteilt, Bank1 als untere, Bank2, Bank3, Bank4, durch die Multi-Operation, kann nicht ändern, die zugrunde liegende Prämisse der Anzeige, ändern Sie die Puffern des Bereichs durch die erste Befehlsadresse, um eine Region ohne Daten ARM zu aktualisieren, um Daten zu senden;

Auf der anderen Seite ist SDRAM in 4 Puffer unterteilt. Durch das Senden von angepassten Anweisungen verwenden wir eine Nachschlagetabelle, um mathematische Operationen mit verschiedenen Pufferbereichsdaten auszuführen und eine transparente Anzeige und andere Funktionen zu realisieren.

Speichern der Daten vor dem Anzeigerahmen in Bank1, Speichern der in Bank2 und Bank3 anzuzeigenden Framedaten, Anzeigen des Endes der letzten Framedaten, Anzeigen der nächsten Framedaten direkt durch den Befehl, Sicherstellen der Integrität der Anzeigerahmendaten und Verbessern der visuelle Effekt des LCD. Durch einen Multilayer- und Multi-Buffer-Betrieb wird ein Teil der Datenverarbeitung dem FPGA für die parallele Verarbeitung zugewiesen, um die Last der ARM-Datenverarbeitung zu reduzieren. Verglichen mit dem seriellen Verarbeitungsmodus von ARM kann die Datenaktualisierungsrate verbessert werden.