Casa > notizia > Contenuto
Categorie di prodotti

Contattaci

Aggiungi: Block 5, Fuqiang Technology Park, Zhugushi Road, Wulian, Longgang 518116

Mob: + 86-13510459036

E-mail: info@panadisplay.com

Controller touch screen LCD
Dec 13, 2017

Il controller LCD touch screen include un modulo di interfaccia dati, un modulo di memoria (FSMC_Ctrl (SDRAM_Ctrl), un modulo di visualizzazione a cristalli liquidi (TFT_Ctrl) e un modulo di controllo touch (TOUCH_Ctrl), lo schema a blocchi mostrato in figura 2.

2.png

Processo di lavoro del controller touch screen LCD: microprocessore (STM32F407) attraverso il bus FSMC per inviare dati all'FPGA, il modulo FSMC_Ctrl per ricevere dati, il modulo di controllo della temporizzazione SDRAM_Ctrl scrivere la memoria SDRAM, il controllo della temporizzazione del modulo TFT_Ctrl da SDRAM per leggere i dati in visualizzazione in tempo reale. Il modulo TOUCH_Ctrl aziona il chip touch control ADS7843 e invia le coordinate raccolte al modulo FSMC_Ctrl per attendere che ARM lo legga regolarmente.


1. Modulo di interazione dei dati

Il modulo di scambio dati è la chiave per realizzare la trasmissione di dati bidirezionale, il bus FSMC incluso il segnale di selezione chip CS e il segnale di scrittura WR, il segnale di operazione lettura RD, il bus di indirizzo AB 25: 0 (modalità multiplexing), il bus dati 15: 0 e un segnale di controllo di multiplexing dell'indirizzo / dati NADV (utilizzando una linea di indirizzo multiplexata). Tra questi, il segnale di selezione del chip CS, le operazioni di lettura e scrittura del segnale RD del segnale WR solitamente efficace a bassa potenza. Quando si scrive il segnale di funzionamento WR per bassa potenza, ARM invia l'indirizzo e i dati del display a cristalli liquidi al bus DB, l'indirizzo di aggancio sul fronte di salita del segnale NADV ei dati corrispondenti sul fronte di salita del segnale WR, che viene visualizzato sul LCD dopo la cache SDRAM. Quando il segnale dell'operazione di lettura RD è basso, FPGA invia le coordinate di tocco al bus DB. ARM realizza l'operazione di tocco in base al valore di coordinate del registro dello spazio di indirizzamento della mappatura e il diagramma della sequenza di lavoro del bus FSMC è mostrato in Figura 3.

3.png


2. Modulo display a cristalli liquidi

In base al principio di visualizzazione dello schermo a cristalli liquidi, il segnale controllato da questo modulo include principalmente segnale di clock dei pixel, segnale sincrono di linea / campo e segnale di abilitazione. In base ai requisiti di temporizzazione del display LCD, la temporizzazione del controllo LCD è progettata da FPGA e il controllo del segnale di linea, del segnale del frame e del segnale nascosto viene realizzato.

Tra questi, la sequenza temporale di scansione dei fotogrammi si basa su HSYNC come clock di riferimento, HSYNC viene utilizzato come segnale di scansione di linea e VSYNC è un segnale di sincronizzazione di frame e il livello basso è efficace. Ogni frame è scansionato, l'area effettiva del front-end del segnale VSYNC è una spalla di blanking del frame (VBPD + 1), c'è una spalla anteriore di blanking del frame posteriore (VFPD + 1), l'effettivo segnale VSYNC prima che ci sia un alto livello (VSPW + 1), detto segnale di ampiezza dell'impulso di sincronizzazione del frame. Tra questi, VBPD, VFPD e VSPW sono basati sull'orologio di riferimento HSYNC. Allo stesso modo, per ogni riga di segnali di scansione, c'è anche una spalla posteriore nascosta (HBPD + 1), una spalla anteriore nascosta (HFPD + 1), una larghezza di impulso del segnale sincrono di riga (HSPW + 1) e un orologio VCLK come un'unità. Per schermi LCD a risoluzione diversa, i tempi di visualizzazione sono diversi da quelli della spalla anteriore, della spalla nascosta e della larghezza dell'impulso del segnale. Il driver del display può cambiare i diversi schermi LCD solo modificando questi parametri.

Al fine di rendere il driver dello schermo LCD per una varietà di risoluzioni diverse, all'interno del linguaggio hardware Verilog di FPGA con pre VCLK, VBPD, VFPD, VSPW, HBPD, HFPD, parametri HSPW di diversi schermi LCD, utilizzando la linea di indirizzo del bus FSMC 2 come i parametri di controllo di uno schermo LCD. Nell'applicazione, abbiamo solo bisogno di cambiare l'indirizzo del registro della mappa dei bit di controllo per realizzare la configurazione dei parametri, che è adatto per diversi schermi LCD e migliora la portabilità del controller. Il diagramma della sequenza temporale del display a cristalli liquidi è mostrato in Figura 4.

4.png

3. Modulo di memoria

Il modulo di memoria include il modulo di pre-elaborazione dei dati, il controller SDRAM e il modulo cache, principalmente per completare l'archiviazione dei dati di input e visualizzare i dati letti. La struttura del modulo di memoria mostrato in figura 5.

5.png

4. Modulo di pre-elaborazione dei dati

Il modulo di pre-elaborazione dei dati include principalmente l'integrazione e la memorizzazione nella cache dei dati. Poiché la velocità di trasmissione dei dati del bus FSMC è molto più bassa della frequenza di lavoro della SDRAM, per risolvere il disallineamento della velocità tra di essi, i dati vengono memorizzati nella cache prima che i dati vengano scritti in SDRAM per prevenire la perdita di dati.

Al fine di garantire la corrispondenza tra i dati di visualizzazione e l'indirizzo, evitare l'errore di visualizzazione, l'indirizzo e le informazioni di dati visualizzati mediante splicing, splicing dopo che i dati sono stati scritti su un buffer FIFO (first in first out, FIFO), l'operazione di scrittura attende per SDRAM.


5. Modulo cache

Il modulo cache include due single random access memory (memoria ad accesso casuale, RAM), la cui funzione principale è di ottenere dati di funzionamento ping-pong a uscita continua da due RAM, il principio del funzionamento del ping-pong come mostrato in figura 6.

6.png

Per realizzare la visualizzazione continua dei dati di uscita, nella profondità di due chiamate FPGA back-end SDRAM interne per 2048, larghezza 16 RAM, attraverso l'unità di selezione del flusso di dati di input "e" unità di selezione del flusso di dati in uscita "per passare regolarmente , dopo la cache della RAM, il flusso di dati viene inviato continuamente all'elaborazione dell'unità di elaborazione del flusso di dati.

I dati di ciascun frame nel processo di visualizzazione, nel primo e nel secondo segnale di linea prima dell'arrivo del segnale sincrono durante la pre-lettura dei dati nella SDRAM, RAM1 e RAM2 per scrivere i dati in anticipo, in modo che in primo luogo un segnale di abilitazione viene in grado di leggere correttamente il display dati RAM1 completato immediatamente nella pre SDRAM legge i dati della riga successiva nella RAM1.

Nella seconda area di abilitazione del segnale DE, la RAM2 viene letta e visualizzata e il processo è uguale a RAM1. A sua volta, RAM1 e RAM2 vengono letti e scritti alternativamente per completare l'output continuo di dati.


6. controller sdram

Poiché il display LCD richiede un'uscita dati continua e nessuna interruzione dei dati durante ogni segnale di abilitazione, è necessario impostare l'operazione di lettura di SDRAM come massima priorità. Nell'intero controllo SDRAM, dobbiamo concentrarci sul controllo della lettura dei dati.

Il controller SDRAM controlla principalmente le operazioni di inizializzazione, aggiornamento, lettura e scrittura di SDRAM e il controllo di lettura e scrittura di SDRAM è il cuore di questo modulo. È la chiave per migliorare la velocità di aggiornamento dei dati e ridurre il carico dell'elaborazione dei dati ARM.

Pertanto, la progettazione del controller SDRAM è principalmente finalizzata a migliorare la velocità di aggiornamento dei dati e a ridurre i due aspetti del carico di elaborazione dei dati ARM.


Per migliorare la velocità di aggiornamento dei dati, viene adottato il metodo di lettura e scrittura a condivisione del tempo per sfruttare appieno il tempo di inattività fornito dal buffer di dati. Un contatore viene anche impostato durante l'operazione di lettura di SDRAM. Il valore massimo del contatore è M (M è il pixel di riga di diversi cristalli liquidi), in modo che i dati effettivi possano essere scritti RAM per poter essere letti comodamente.

Da un lato, la lettura della modalità burst read viene utilizzata nel processo di funzionamento in SDRAM, ciascuno dei quali ha letto 256 set di dati, ancora una volta in attesa della successiva lettura, fino a quando non viene letto un dato valido; d'altra parte, secondo l'operazione di ping-pong impostare un contatore separato, il valore massimo è Y / 2 (Y per diversi pixel LCD), ciascuno completato 1 contatore di operazioni ping-pong più 1, accumulato allo zero massimo indica che una visualizzazione dati è completata, SDRAM attenderà fino al prossimo fotogramma per visualizzare i dati.

Nei due controller di controllo dell'intervallo di attesa per recuperare il bus dati SDRAM, scrivere l'operazione di SDRAM, abbreviare il tempo di attesa dell'operazione di scrittura SDRAM, un'operazione di scrittura tramite la modalità burst burst, ogni burst 1 scrive 8 dati, alleviare efficacemente il problema di perdita di dati risultante di FSCM ad alta velocità e non può immettere dati quando si salva la larghezza di banda di SDRAM, migliora la velocità di aggiornamento dei dati.

Un tempo di operazione di aggiornamento fisso (N viene regolato in base alla risoluzione a cristalli liquidi) nel primo periodo di riga N di ciascun frame, che assicura che tutto il banco in SDRAM possa essere aggiornato in 64 ms, in modo da evitare conflitti tra l'operazione di aggiornamento e leggere e scrivi operazione.


Al fine di migliorare la velocità di aggiornamento del display, ridurre il carico di elaborazione dei dati del cristallo liquido ARM, sarà in accordo con lo spazio del buffer dell'indirizzo di memoria Bank è diviso in 4 strati, ogni strato ha 2 MB, controller SDRAM attraverso multi multi buffer SDRAM operazione per ottenere la progettazione dell'acceleratore hardware, il suo principio di funzionamento come mostrato nella Figura 7.

7.png

L'acceleratore realizza controlli logici personalizzati tramite istruzioni personalizzate e tabelle di ricerca e realizza varie operazioni di FPGA sui dati, come l'esecuzione di complesse funzioni di operazioni matematiche, il trasferimento di dati da un luogo a un altro e l'esecuzione della stessa operazione molte volte.

Nel processo di visualizzazione a cristalli liquidi, da un lato, SDRAM sarà diviso in 4 livelli, Bank1 come fondo, a sua volta Bank2, Bank3, Bank4, attraverso l'operazione multipla, non può modificare la premessa sottostante del display, modificare il area del buffer attraverso il primo indirizzo di istruzioni per aggiornare una regione senza dati ARM per inviare dati;

D'altra parte, SDRAM è diviso in 4 buffer. Inviando istruzioni personalizzate, utilizziamo la tabella di ricerca per eseguire operazioni matematiche su diversi dati dell'area buffer e realizzare display trasparenti e altre funzioni.

Memorizzazione dei dati prima del frame del display in Bank1, memorizzazione dei dati del frame da visualizzare in Bank2 e Bank3, visualizzazione della fine degli ultimi dati del frame, visualizzazione dei dati del frame successivo direttamente attraverso l'istruzione, garanzia dell'integrità dei dati del frame dello schermo e miglioramento l'effetto visivo del display LCD. Attraverso l'operazione multilayer e multi buffer, una parte dell'elaborazione dati viene allocata all'FPGA per l'elaborazione parallela per ridurre il carico dell'elaborazione dei dati ARM. Rispetto alla modalità di elaborazione seriale di ARM, può migliorare la velocità di aggiornamento dei dati.