Aplicarea puterii reglabile LCD Power bazate pe DWIN T5L ASIC

——Distribuit de la DWIN Froum

Folosind cipul DWIN T5L1 ca nucleu de control al întregii mașini, primește și procesează atingerea, achiziția ADC, informațiile de control PWM și conduce ecranul LCD de 3,5 inchi pentru a afișa starea curentă în timp real.Suportă reglarea tactilă de la distanță a luminozității sursei de lumină LED prin modulul WiFi și acceptă alarma vocală.

Caracteristicile programului:

1. Adoptați cipul T5L pentru a rula la frecvență înaltă, eșantionarea analogică AD este stabilă, iar eroarea este mică;

2. Suport TYPE C conectat direct la PC pentru depanare și ardere a programelor;

3. Suportă interfață de bază de sistem de operare de mare viteză, port paralel pe 16 biți;Portul PWM de bază al interfeței de utilizator, portul AD duce la ieșire, design de aplicație cu costuri reduse, nu este nevoie să adăugați MCU suplimentar;

4. Suport WiFi, telecomandă Bluetooth;

5. Suportă tensiune largă de 5 ~ 12V DC și intrare cu gamă largă

imagine1

1.1 Diagrama de schemă

imaginea 2

1.2 Placă PCB

imagine3

1.3 Interfață cu utilizatorul

Rușine introducere:

(1)Design de circuit hardware

imagine4

1.4 Schema circuitului T5L48320C035

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

2. Alimentare de bază MCU 1.25V: C23, C24;

3. Alimentare analogică MCU 3.3V: C35 este sursa de alimentare analogică pentru MCU.La compunere, masa de bază de 1,25 V și împământarea logică pot fi combinate împreună, dar masa analogică trebuie separată.Masa analogică și pământul digital trebuie colectate la polul negativ al condensatorului mare de ieșire LDO, iar polul pozitiv analogic ar trebui colectat și la polul pozitiv al condensatorului mare LDO, astfel încât zgomotul de eșantionare AD să fie redus la minimum.

4. Circuit de achiziție a semnalului analogic AD: CP1 este condensatorul filtrului de intrare analogică AD.Pentru a reduce eroarea de eșantionare, împământarea analogică și masa digitală a MCU sunt separate independent.Polul negativ al CP1 trebuie conectat la masa analogică a MCU cu impedanță minimă, iar cei doi condensatori paraleli ai oscilatorului cu cristal sunt conectați la masa analogică a MCU.

5. Circuitul soneriei: C25 este condensatorul de alimentare pentru sonerie.Soneria este un dispozitiv inductiv și va exista un curent de vârf în timpul funcționării.Pentru a reduce vârful, este necesar să reduceți curentul de antrenare MOS al soneriei pentru a face ca tubul MOS să funcționeze în regiunea liniară și să proiectați circuitul pentru a-l face să funcționeze în modul comutator.Rețineți că R18 ar trebui să fie conectat în paralel la ambele capete ale soneriei pentru a regla calitatea sunetului și a face soneria să sune clar și plăcut.

6. Circuit WiFi: cip WiFi eșantionare ESP32-C, cu WiFi+Bluetooth+BLE.Pe cablare, masa de alimentare RF și masa de semnal sunt separate.

imagine5

1.5 Design de circuit WiFi

În figura de mai sus, partea superioară a stratului de cupru este bucla de împământare.Bucla de împământare de reflexie a antenei WiFi trebuie să aibă o suprafață mare față de împământul de alimentare, iar punctul de colectare a pământului de alimentare este polul negativ al lui C6.Trebuie furnizat un curent reflectat între împământarea și antena WiFi, așa că trebuie să existe un strat de cupru sub antena WiFi.Lungimea stratului de cupru depășește lungimea extensiei antenei WiFi, iar extensia va crește sensibilitatea WiFi;punct la polul negativ al lui C2.O suprafață mare de cupru poate proteja zgomotul cauzat de radiația antenei WiFi.Cele 2 pământuri de cupru sunt separate pe stratul de jos și colectate pe suportul din mijloc al ESP32-C prin vias.Masa de putere RF are nevoie de o impedanță mai mică decât bucla de masă a semnalului, așa că există 6 căi de la masa de alimentare la placa de cip pentru a asigura o impedanță suficient de scăzută.Bucla de masă a oscilatorului cu cristal nu poate avea putere RF să curgă prin ea, altfel oscilatorul cu cristal va genera fluctuații de frecvență, iar offset-ul de frecvență WiFi nu va putea trimite și primi date.

7. Iluminare de fundal LED circuit de alimentare cu energie: SOT23-6LED driver chip eșantionare.Sursa de alimentare DC/DC a LED-ului formează independent o buclă, iar împământarea DC/DC este conectată la masa LOD de 3,3 V.Deoarece miezul portului PWM2 a fost specializat, emite un semnal PWM de 600K și este adăugat un RC pentru a utiliza ieșirea PWM ca control ON/OFF.

8. Interval de intrare de tensiune: sunt proiectate două reduceri DC/DC.Rețineți că rezistențele R13 și R17 din circuitul DC/DC nu pot fi omise.Cele două cipuri DC/DC acceptă intrare de până la 18V, ceea ce este convenabil pentru alimentarea externă.

9. Port de depanare USB TIP C: TIPUL C poate fi conectat și deconectat înainte și înapoi.Inserarea directă comunică cu cipul WIFI ESP32-C pentru a programa cipul WIFI;inserția inversă comunică cu XR21V1410IL16 pentru a programa T5L.TIPUL C acceptă sursa de alimentare de 5V.

10. Comunicare cu port paralel: Miezul sistemului de operare T5L are multe porturi IO gratuite, iar comunicația cu port paralel pe 16 biți poate fi proiectată.Combinat cu protocolul ST ARM FMC cu port paralel, acceptă citirea și scrierea sincronă.

11. Designul interfeței LCM RGB de mare viteză: Ieșirea T5L RGB este conectată direct la LCM RGB, iar rezistența tampon este adăugată la mijloc pentru a reduce interferența ondulată a apei LCM.La cablare, reduceți lungimea conexiunii interfeței RGB, în special semnalul PCLK și măriți punctele de testare PCLK, HS, VS, DE ale interfeței RGB;portul SPI al ecranului este conectat la porturile P2.4~P2.7 ale T5L, ceea ce este convenabil pentru proiectarea driverului de ecran.Conduceți punctele de testare RST, nCS, SDA, SCI pentru a facilita dezvoltarea software-ului de bază.

(2) Interfață DGUS

imagine6 imagine7

1.6 Controlul afișajului variabilelor de date

(3) OS
//———————————Format de citire și scriere DGUS
typedef struct
{
adresa u16;//Adresă variabilă UI pe 16 biți
u8 datLen;//lungimea datelor de 8 biți
u8 *pBuf;// pointer de date de 8 biți
} UI_packTypeDef;//DGUS citește și scrie pachete

//——————————-controlul afișajului variabilei de date
typedef struct
{
u16 VP;
u16 X;
u16 Y;
u16 Culoare;
u8 Lib_ID;
u8 FontSize;
u8 Alinierea;
u8 IntNum;
u8 DecNum;
u8 Tip;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;//structura de descriere a variabilei de date

typedef struct
{
Number_spTypeDef sp;//definiți pointerul de descriere SP
UI_packTypeDef spPack;//definiți pachetul de citire și scriere a variabilei SP DGUS
UI_packTypeDef vpPack;//definiți pachetul de citire și scriere a variabilei vp DGUS
} Number_HandleTypeDef;//structura variabilelor de date

Cu definiția anterioară a mânerului variabilei de date.Apoi, definiți o variabilă pentru afișarea eșantionării tensiunii:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Mai întâi, executați funcția de inițializare
NumberSP_Init(&Hsample,voltage_sample,0×8000);//0×8000 aici este indicatorul de descriere
//——Variabila de date care arată inițializarea structurii pointerului SP——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
number->spPack.addr = numberAddr;
number->spPack.datLen = sizeof(number->sp);
număr->spPack.pBuf = (u8 *)&număr->sp;
        
Read_Dgus(&number->spPack);
număr->vpPack.addr = număr->sp.VP;
switch(number->sp.Type) //Lungimea datelor variabilei vp este selectată automat în funcție de tipul de variabilă de date proiectat în interfața DGUS.

{
cazul 0:
cazul 5:
număr->vpPack.datLen = 2;
pauză;
cazul 1:
cazul 2:
cazul 3:
cazul 6:
număr->vpPack.datLen = 4;
cazul 4:
număr->vpPack.datLen = 8;
pauză;
}
număr->vpPack.pBuf = valoare;
}

După inițializare, Hsample.sp este indicatorul de descriere a variabilei de date de eșantionare a tensiunii;Hsample.spPack este indicatorul de comunicare între nucleul OS și variabila de date de eșantionare a tensiunii UI prin funcția de interfață DGUS;Hsample.vpPack este atributul modificării variabilei de date de eșantionare a tensiunii, cum ar fi culorile fontului, etc., de asemenea, sunt transmise miezului UI prin funcția de interfață DGUS.Hsample.vpPack.addr este adresa variabilă a datelor de eșantionare a tensiunii, care a fost obținută automat din funcția de inițializare.Când modificați adresa variabilă sau tipul de date variabile în interfața DGUS, nu este nevoie să actualizați adresa variabilă în sistemul de operare central în mod sincron.După ce sistemul de bază calculează variabila voltage_sample, trebuie doar să execute funcția Write_Dgus(&Hsample.vpPack) pentru ao actualiza.Nu este nevoie să împachetați voltage_sample pentru transmisia DGUS.


Ora postării: 15-jun-2022