L'applicazione di l'Ajustable Power LCD Power Basatu nantu à DWIN T5L ASIC

——Spartitu da DWIN Froum

Utilizendu u chip DWIN T5L1 cum'è u core di cuntrollu di tutta a macchina, riceve è processa u toccu, l'acquisizione ADC, l'infurmazioni di cuntrollu PWM, è guida u screnu LCD di 3.5-inch per visualizà u statu attuale in tempu reale. Supporta l'aghjustamentu remotu di u toccu di a luminosità di a fonte di luce LED attraversu u modulu WiFi, è sustene l'alarma vocale.

Funzioni di u prugramma:

1. Adoptate chip T5L per eseguisce à alta frequenza, u campionamentu analogicu AD hè stabile, è l'errore hè chjucu;

2. Supportu TYPE C direttamente cunnessu à u PC per u debugging è u prugramma;

3. Support interfaccia di core OS high-vitezza, portu parallelu 16bit; Portu PWM core UI, porta AD, cuncepimentu di l'applicazione à pocu costu, senza bisognu di aghjunghje MCU supplementari;

4. Support WiFi, Bluetooth remote control;

5. Support 5 ~ 12V DC wide voltage è larga gamma input

imagine 1

1.1 Schema schema

imagine 2

1.2 scheda PCB

imagine 3

1.3 Interfaccia d'utilizatore

Vergogna introduzione:

(1) Disegnu di circuitu hardware

imagine 4

1.4 Schema di circuitu T5L48320C035

1. L'alimentazione logica MCU 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;

2. MCU core power supply 1.25V: C23, C24;

3. Alimentazione analogica MCU 3.3V: C35 hè l'alimentazione analogica per MCU. Quandu si scrive, u core 1.25V ground è a terra logica ponu esse cumminati, ma a terra analogica deve esse separata. U terrenu analogicu è a terra digitale deve esse culligatu à u polu negativu di u condensatore grande di output LDO, è u polu pusitivu analogicu deve ancu esse cullatu à u polu pusitivu di u condensatore grande LDO, cusì chì u rumore di campionamentu AD hè minimizatu.

4. Circuitu d'acquistu di signali analogichi AD: CP1 hè u condensatore di filtru di input analogicu AD. Per riduce l'errore di campionamentu, a terra analogica è a terra digitale di u MCU sò separati indipindente. U polu negativu di CP1 deve esse cunnessu à a terra analogica di u MCU cù impedenza minima, è i dui condensatori paralleli di l'oscillatore di cristallo sò cunnessi à a terra analogica di u MCU.

5. Circuitu Buzzer: C25 hè u capacitore di alimentazione per u buzzer. U buzzer hè un dispositivu inductivu, è ci sarà un piccu currente durante l'operazione. Per riduce u piccu, hè necessariu di riduce u currente di MOS di u buzzer per fà u travagliu di u tubu MOS in a regione lineale, è cuncepisce u circuitu per fà u travagliu in u modu di cambiamentu. Nota chì R18 deve esse cunnessu in parallelu à e duie estremità di u buzzer per aghjustà a qualità di u sonu di u buzzer è fà u buzzer sonu croccante è piacevule.

6. Circuitu WiFi: WiFi chip sampling ESP32-C, cù WiFi+Bluetooth+BLE. Nantu à u cablaggio, a terra di putenza RF è a terra di signale sò separati.

imagine 5

1.5 Disegnu di circuitu WiFi

In a figura sopra, a parte suprana di u revestimentu di cobre hè u ciclu di terra di putenza. U loop di terra di riflessione di l'antenna WiFi deve avè una grande area à a terra di putenza, è u puntu di cullizzioni di a terra di putenza hè u polu negativu di C6. Un currente riflessu deve esse furnitu trà a terra di putenza è l'antenna WiFi, cusì ci deve esse un revestimentu di rame sottu l'antenna WiFi. A durata di u revestimentu di cobre supera a lunghezza di l'estensione di l'antenna WiFi, è l'estensione aumenterà a sensibilità di u WiFi; puntu à u polu negativu di C2. Una grande zona di rame pò scherma u rumore causatu da a radiazione di l'antenna WiFi. I terreni di ramu 2 sò siparati nantu à a capa di fondu è cullate à u pad mediu di ESP32-C attraversu vias. A terra di putenza RF hà bisognu di una impedenza più bassa di u loop di terra di signale, cusì ci sò 6 vias da a terra di putenza à u chip pad per assicurà una impedenza abbastanza bassa. U ciclu di terra di l'oscillatore di cristallo ùn pò micca avè una putenza RF chì scorri per ellu, altrimenti l'oscillatore di cristallo genererà jitter di frequenza, è l'offset di frequenza WiFi ùn serà micca capaci di mandà è riceve dati.

7. Backlight LED circuit supply power: SOT23-6LED driver chip sampling. L'alimentazione DC / DC à u LED forma indipindentamente un ciclu, è a terra DC / DC hè cunnessa à a terra 3.3V LOD. Siccomu u core di u portu PWM2 hè statu specializatu, emette un signalu 600K PWM, è un RC hè aghjuntu per utilizà l'output PWM cum'è un cuntrollu ON / OFF.

8. Gamma di input di tensione: dui step-downs DC / DC sò cuncepiti. Nota chì i resistori R13 è R17 in u circuitu DC / DC ùn ponu esse omessi. I dui chip DC / DC supportanu finu à 18V input, chì hè cunvenutu per l'alimentazione esterna.

9. USB TYPE C debug portu: TYPE C pò esse chjapputu è unplugged in avanti è in daretu. Inserzione in avanti cumunicà cù u chip WIFI ESP32-C per programà u chip WIFI; inserzione inversa cumunicà cù u XR21V1410IL16 per programà u T5L. TYPE C supporta l'alimentazione di 5V.

10. A cumunicazione di u portu parallelu: u core T5L OS hà parechji porti IO gratuiti, è a cumunicazione di u portu parallelu 16bit pò esse designatu. Cumminatu cù u protocolu di portu parallelu ST ARM FMC, sustene a lettura è a scrittura sincrona.

11. Disegnu di l'interfaccia LCM RGB d'alta velocità: a pruduzzione T5L RGB hè direttamente cunnessa à LCM RGB, è a resistenza di buffer hè aghjuntu à mezu à riduce l'interferenza di l'ondulazione di l'acqua LCM. Quandu u cablaggio, riduce a lunghezza di a cunnessione di l'interfaccia RGB, in particulare u segnu PCLK, è aumenta i punti di prova di l'interfaccia RGB PCLK, HS, VS, DE; u portu SPI di u screnu hè cunnessu à i porti P2.4 ~ P2.7 di u T5L, chì hè cunvenutu per cuncepisce u driver di schermu. Pigliate i punti di prova RST, nCS, SDA, SCI per facilità u sviluppu di u software sottostante.

(2) Interfaccia DGUS

imagine 6 imagine 7

1.6 Cuntrolla di visualizazione variabile di dati

(3) OS
//———————————Formato di lettura è scrittura DGUS
typedef struct
{
u16 indirizzu; //indirizzu variabile UI 16bit
u8 datLen; // lunghezza di dati 8bit
u8 *pBuf; // Puntatore di dati 8bit
} UI_packTypeDef; //DGUS leghje è scrive pacchetti

//——————————-controlu di visualizazione variabile di dati
typedef struct
{
u16 VP;
u16 X;
u16 Y;
u16 culore;
u8 Lib_ID;
u8 FontSize;
u8 Alignment;
u8 IntNum;
u8 DecNum;
u8 Type;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef; // struttura di descrizzione di variabile di dati

typedef struct
{
Number_spTypeDef sp; // Definisce u puntatore di descrizzione SP
UI_packTypeDef spPack; // Definisce u pacchettu di lettura è scrittura di a variabile SP DGUS
UI_packTypeDef vpPack; //Define vp variable DGUS lettura è scrittura pacchettu
} Number_HandleTypeDef; // struttura variabile di dati

Cù a definizione di a variabile di dati precedente. Dopu, definisce una variabile per a visualizazione di campionamentu di tensione:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Prima, eseguite a funzione di inizializazione
NumberSP_Init(&Hsample,voltage_sample,0 × 8000); //0×8000 quì hè u puntatore di descrizzione
//——Variabile di dati chì mostra l'inizializazione di a struttura di u puntatore SP——
void NumberSP_Init (Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
number->spPack.addr = numberAddr;
number->spPack.datLen = sizeof (number->sp);
numeru->spPack.pBuf = (u8 *)&number->sp;
        
Read_Dgus(&number->spPack);
number->vpPack.addr = numeru->sp.VP;
switch(number->sp.Type) //A durata di dati di a variabile vp hè automaticamente selezziunata secondu u tipu di variabile di dati cuncepitu in l'interfaccia DGUS.

{
casu 0:
casu 5:
numeru-> vpPack.datLen = 2;
rompe;
casu 1:
casu 2:
casu 3:
casu 6:
numeru-> vpPack.datLen = 4;
casu 4:
numeru-> vpPack.datLen = 8;
rompe;
}
numeru->vpPack.pBuf = valore;
}

Dopu à l'inizializazione, Hsample.sp hè l'indicatore di descrizzione di a variabile di dati di campionamentu di tensione; Hsample.spPack hè l'indicatore di cumunicazione trà u core OS è a variabile di dati di campionamentu di tensione UI attraversu a funzione di l'interfaccia DGUS; Hsample.vpPack hè l'attributu di cambià a variabile di dati di campionamentu di tensione, cum'è font Colors, etc. sò ancu passati à u core UI attraversu a funzione di l'interfaccia DGUS. Hsample.vpPack.addr hè l'indirizzu variabile di dati di campionamentu di tensione, chì hè stata automaticamente ottenuta da a funzione d'inizializazione. Quandu cambiate l'indirizzu variabile o u tipu di dati variabili in l'interfaccia DGUS, ùn ci hè bisognu di aghjurnà l'indirizzu variabile in u core OS in modu sincronu. Dopu chì u core di u SO hà calculatu a variabile voltage_sample, hè solu bisognu di eseguisce a funzione Write_Dgus(&Hsample.vpPack) per aghjurnà. Ùn ci hè bisognu di imballà u voltage_sample per a trasmissione DGUS.


Tempu di post: 15-ghjugnu-2022