L'applicazione della potenza LCD regolabile basata su ASIC DWIN T5L

——Condiviso da DWIN Froum

Utilizzando il chip DWIN T5L1 come nucleo di controllo dell'intera macchina, riceve ed elabora il tocco, l'acquisizione ADC, le informazioni di controllo PWM e guida lo schermo LCD da 3,5 pollici per visualizzare lo stato corrente in tempo reale. Supporta la regolazione remota tramite tocco della luminosità della sorgente luminosa LED tramite il modulo WiFi e supporta l'allarme vocale.

Caratteristiche del programma:

1. Adotta il chip T5L per funzionare ad alta frequenza, il campionamento analogico AD è stabile e l'errore è piccolo;

2. Supporta il TIPO C collegato direttamente al PC per il debug e la masterizzazione del programma;

3. Supporta l'interfaccia core del sistema operativo ad alta velocità, porta parallela a 16 bit; Porta PWM core dell'interfaccia utente, uscita porta AD, progettazione di applicazioni a basso costo, nessuna necessità di aggiungere ulteriori MCU;

4. Supporta WiFi, telecomando Bluetooth;

5. Supporta tensione ampia da 5 ~ 12 V CC e ingresso ad ampio raggio

immagine1

1.1 Diagramma dello schema

immagine2

1.2 Scheda PCB

immagine3

1.3 Interfaccia utente

Introduzione alla vergogna:

(1)Progettazione di circuiti hardware

immagine4

1.4 Schema elettrico T5L48320C035

1. Alimentazione logica MCU 3,3 V: C18, C26, C27, C28, C29, C31, C32, C33;

2. Alimentazione nucleo MCU 1,25 V: C23, C24;

3. Alimentazione analogica MCU 3,3 V: C35 è l'alimentazione analogica per MCU. Durante la composizione, la terra del nucleo da 1,25 V e la terra logica possono essere combinate insieme, ma la terra analogica deve essere separata. La terra analogica e la terra digitale dovrebbero essere raccolte sul polo negativo del condensatore grande di uscita LDO, e anche il polo positivo analogico dovrebbe essere raccolto sul polo positivo del condensatore grande LDO, in modo da ridurre al minimo il rumore di campionamento AD.

4. Circuito di acquisizione del segnale analogico AD: CP1 è il condensatore del filtro dell'ingresso analogico AD. Per ridurre l'errore di campionamento, la terra analogica e la terra digitale dell'MCU sono separate in modo indipendente. Il polo negativo di CP1 deve essere collegato alla terra analogica dell'MCU con un'impedenza minima e i due condensatori paralleli dell'oscillatore a cristallo sono collegati alla terra analogica dell'MCU.

5. Circuito del cicalino: C25 è il condensatore di alimentazione del cicalino. Il cicalino è un dispositivo induttivo e durante il funzionamento si verificherà una corrente di picco. Per ridurre il picco, è necessario ridurre la corrente di pilotaggio MOS del cicalino per far funzionare il tubo MOS nella regione lineare e progettare il circuito per farlo funzionare in modalità interruttore. Si noti che R18 deve essere collegato in parallelo ad entrambe le estremità del cicalino per regolare la qualità del suono del cicalino e rendere il suono nitido e piacevole.

6. Circuito WiFi: campionamento del chip WiFi ESP32-C, con WiFi+Bluetooth+BLE. Sul cablaggio, la terra della potenza RF e la terra del segnale sono separate.

immagine5

1.5 Progettazione del circuito WiFi

Nella figura sopra, la parte superiore del rivestimento in rame è il circuito di terra dell'alimentazione. Il circuito di terra di riflessione dell'antenna WiFi deve avere un'ampia area rispetto alla terra di alimentazione e il punto di raccolta della terra di alimentazione è il polo negativo di C6. È necessario fornire una corrente riflessa tra la terra di alimentazione e l'antenna WiFi, quindi deve esserci un rivestimento di rame sotto l'antenna WiFi. La lunghezza del rivestimento in rame supera la lunghezza dell'estensione dell'antenna WiFi e l'estensione aumenterà la sensibilità del WiFi; punta al polo negativo di C2. Un'ampia area di rame può schermare il rumore causato dalla radiazione dell'antenna WiFi. Le 2 masse in rame sono separate sullo strato inferiore e raccolte al pad centrale dell'ESP32-C tramite via. La terra di potenza RF necessita di un'impedenza inferiore rispetto al circuito di terra del segnale, quindi ci sono 6 vie dalla terra di potenza al chip pad per garantire un'impedenza sufficientemente bassa. Il circuito di massa dell'oscillatore a cristallo non può essere attraversato da potenza RF, altrimenti l'oscillatore a cristallo genererà jitter di frequenza e l'offset della frequenza WiFi non sarà in grado di inviare e ricevere dati.

7. Circuito di alimentazione del LED di retroilluminazione: campionamento del chip del driver SOT23-6LED. L'alimentatore CC/CC al LED forma indipendentemente un anello e la terra CC/CC è collegata alla terra LOD da 3,3 V. Poiché il core della porta PWM2 è stato specializzato, emette un segnale PWM da 600K e viene aggiunto un RC per utilizzare l'uscita PWM come controllo ON/OFF.

8. Intervallo di ingresso della tensione: sono progettati due step-down CC/CC. Si noti che i resistori R13 e R17 nel circuito DC/DC non possono essere omessi. I due chip DC/DC supportano un ingresso fino a 18 V, comodo per l'alimentazione esterna.

9. Porta di debug USB TYPE C: TYPE C può essere collegato e scollegato avanti e indietro. L'inserimento in avanti comunica con il chip WIFI ESP32-C per programmare il chip WIFI; l'inserimento inverso comunica con XR21V1410IL16 per programmare il T5L. Il TIPO C supporta l'alimentazione a 5 V.

10. Comunicazione tramite porta parallela: il core del sistema operativo T5L dispone di numerose porte IO libere ed è possibile progettare la comunicazione tramite porta parallela a 16 bit. In combinazione con il protocollo della porta parallela ST ARM FMC, supporta la lettura e la scrittura sincrona.

11. Design dell'interfaccia ad alta velocità LCM RGB: l'uscita T5L RGB è collegata direttamente a LCM RGB e la resistenza del buffer viene aggiunta al centro per ridurre l'interferenza dell'ondulazione dell'acqua LCM. Durante il cablaggio, ridurre la lunghezza della connessione dell'interfaccia RGB, in particolare il segnale PCLK, e aumentare i punti di test PCLK, HS, VS, DE dell'interfaccia RGB; la porta SPI dello schermo è collegata alle porte P2.4~P2.7 del T5L, il che è comodo per progettare il driver dello schermo. Realizzare punti di test RST, nCS, SDA, SCI per facilitare lo sviluppo del software sottostante.

(2) Interfaccia DGUS

immagine6 immagine7

1.6 Controllo visualizzazione variabile dati

(3) Sistema operativo
//———————————DGUS formato di lettura e scrittura
struttura typedef
{
indirizzo u16; //Indirizzo variabile UI a 16 bit
u8 datLen; //lunghezza dati 8bit
u8 *pBuf; //puntatore dati a 8 bit
} UI_packTypeDef; //DGUS legge e scrive i pacchetti

//——————————-controllo visualizzazione variabile dati
struttura typedef
{
u16 PV;
u16X;
u16Y;
u16 Colore;
u8ID_Lib;
u8 Dimensione carattere;
u8 Allineamento;
u8 NumeroInterno;
u8 DecNum;
Tipo u8;
u8 LenUint;
u8 StringUinit[11];
} Numero_spTypeDef; //struttura della descrizione della variabile dati

struttura typedef
{
Number_spTypeDef sp; //definisce il puntatore della descrizione SP
UI_packTypeDef spPack; //definisce il pacchetto di lettura e scrittura della variabile SP DGUS
UI_packTypeDef vpPack; //definisce il pacchetto di lettura e scrittura della variabile vp DGUS
} Numero_HandleTypeDef; //struttura della variabile dati

Con la definizione della variabile di dati precedente. Successivamente, definire una variabile per la visualizzazione del campionamento della tensione:
Numero_HandleTypeDef Hsample;
u16 tensione_campione;

Innanzitutto, esegui la funzione di inizializzazione
NumeroSP_Init(&Hcampione,tensione_campione,0×8000); //0×8000 ecco il puntatore della descrizione
//——Variabile dati che mostra l'inizializzazione della struttura del puntatore SP——
void NumberSP_Init(Number_HandleTypeDef *numero,u8 *valore, u16 numeroAddr)
{
numero->spPack.addr = numeroAddr;
numero->spPack.datLen = sizeof(numero->sp);
numero->spPack.pBuf = (u8 *)&numero->sp;
        
Read_Dgus(&numero->spPack);
numero->vpPack.addr = numero->sp.VP;
switch(number->sp.Type) //La lunghezza dei dati della variabile vp viene selezionata automaticamente in base al tipo di variabile dati progettata nell'interfaccia DGUS.

{
caso 0:
caso 5:
numero->vpPack.datLen = 2;
rottura;
caso 1:
caso 2:
caso 3:
caso 6:
numero->vpPack.datLen = 4;
caso 4:
numero->vpPack.datLen = 8;
rottura;
}
numero->vpPack.pBuf = valore;
}

Dopo l'inizializzazione, Hsample.sp è il puntatore descrittivo della variabile dei dati di campionamento della tensione; Hsample.spPack è il puntatore di comunicazione tra il core del sistema operativo e la variabile dei dati di campionamento della tensione dell'interfaccia utente tramite la funzione di interfaccia DGUS; Hsample.vpPack è l'attributo di modifica della variabile dei dati di campionamento della tensione, come i colori dei caratteri, ecc. vengono passati anche al core dell'interfaccia utente tramite la funzione dell'interfaccia DGUS. Hsample.vpPack.addr è l'indirizzo della variabile dei dati di campionamento della tensione, ottenuto automaticamente dalla funzione di inizializzazione. Quando si modifica l'indirizzo della variabile o il tipo di dati della variabile nell'interfaccia DGUS, non è necessario aggiornare l'indirizzo della variabile nel core del sistema operativo in modo sincrono. Dopo che il core del sistema operativo ha calcolato la variabile tension_sample, è sufficiente eseguire la funzione Write_Dgus(&Hsample.vpPack) per aggiornarla. Non è necessario comprimere il voltaggio_campione per la trasmissione DGUS.


Orario di pubblicazione: 15 giugno 2022