Reguliuojamos galios LCD galios taikymas, pagrįstas DWIN T5L ASIC

——Bendrinama iš DWIN Froum

Naudojant DWIN T5L1 lustą kaip visos mašinos valdymo šerdį, jis priima ir apdoroja prisilietimus, ADC gavimą, PWM valdymo informaciją ir valdo 3,5 colio LCD ekraną, kad realiuoju laiku būtų rodoma esama būsena.Palaikykite nuotolinį LED šviesos šaltinio ryškumo reguliavimą per WiFi modulį ir palaikykite balso signalą.

Programos ypatybės:

1. Priimkite T5L lustą, kad jis veiktų aukštu dažniu, AD analoginis mėginių ėmimas yra stabilus, o paklaida nedidelė;

2. Palaikykite C TIPO tiesiogiai prijungtą prie kompiuterio derinimui ir programų įrašymui;

3. Palaikykite didelės spartos OS pagrindinę sąsają, 16 bitų lygiagretųjį prievadą;UI branduolio PWM prievadas, AD prievado išvestis, nebrangus programos dizainas, nereikia pridėti papildomo MCU;

4. Palaiko WiFi, Bluetooth nuotolinio valdymo pultą;

5. Palaikykite 5 ~ 12 V DC platų įtampą ir platų įvestį

vaizdas1

1.1 Scheminė schema

vaizdas2

1.2 PCB plokštė

vaizdas3

1.3 Vartotojo sąsaja

Gėda įžanga:

(1) Aparatinės įrangos grandinės dizainas

vaizdas4

1.4 T5L48320C035 grandinės schema

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

2. MCU šerdies maitinimo šaltinis 1,25V: C23, C24;

3. MCU analoginis maitinimo šaltinis 3,3 V: C35 yra analoginis MCU maitinimo šaltinis.Rengiant šerdies 1,25 V įžeminimą ir loginį įžeminimą galima sujungti, tačiau analoginis įžeminimas turi būti atskirtas.Analoginis įžeminimas ir skaitmeninis įžeminimas turėtų būti surinkti prie neigiamo LDO išvesties didelio kondensatoriaus poliaus, o analoginis teigiamas polius taip pat turėtų būti surinktas prie teigiamo LDO didelio kondensatoriaus poliaus, kad būtų sumažintas AD atrankos triukšmas.

4. AD analoginio signalo gavimo grandinė: CP1 yra AD analoginio įvesties filtro kondensatorius.Siekiant sumažinti diskretizavimo paklaidą, MCU analoginis ir skaitmeninis įžeminimas yra atskirti atskirai.Neigiamas CP1 polius turi būti prijungtas prie MCU analoginio įžeminimo su minimalia varža, o du lygiagretūs kristalinio generatoriaus kondensatoriai yra prijungti prie MCU analoginio įžeminimo.

5. Skambučio grandinė: C25 yra signalo maitinimo kondensatorius.Garso signalas yra indukcinis įtaisas, o veikimo metu bus didžiausia srovė.Norint sumažinti piką, reikia sumažinti garsinio signalo MOS pavaros srovę, kad MOS vamzdis veiktų linijinėje srityje, ir suprojektuoti grandinę, kad ji veiktų perjungimo režimu.Atkreipkite dėmesį, kad R18 turi būti prijungtas lygiagrečiai abiejuose garsinio signalo galuose, kad sureguliuotumėte garsiakalbio garso kokybę ir garsinis garsas skambėtų aiškiai ir maloniai.

6. WiFi grandinė: WiFi lusto mėginių ėmimas ESP32-C, su WiFi+Bluetooth+BLE.Ant laidų RF maitinimo įžeminimas ir signalo įžeminimas yra atskirti.

vaizdas5

1.5 WiFi grandinės dizainas

Aukščiau pateiktame paveikslėlyje viršutinė varinės dangos dalis yra maitinimo įžeminimo kilpa.WiFi antenos atspindžio įžeminimo kilpa turi turėti didelį plotą iki maitinimo įžeminimo, o maitinimo įžeminimo surinkimo taškas yra neigiamas C6 polius.Tarp maitinimo įžeminimo ir WiFi antenos turi būti atspindėta srovė, todėl po WiFi antena turi būti varinė danga.Varinės dangos ilgis viršija WiFi antenos prailginimo ilgį, o prailginimas padidins WiFi jautrumą;taškas neigiamame C2 poliuje.Didelis vario plotas gali apsaugoti nuo triukšmo, kurį sukelia WiFi antenos spinduliuotė.2 variniai gruntai atskiriami apatiniame sluoksnyje ir per angas surenkami į ESP32-C vidurinį padą.RF maitinimo įžeminimui reikalinga mažesnė varža nei signalo įžeminimo kilpai, todėl nuo maitinimo įžeminimo iki lusto bloko yra 6 perėjimai, kad būtų užtikrinta pakankamai žema varža.Kristalinio generatoriaus įžeminimo kilpa negali tekėti RF galios, kitaip kristalinis generatorius sukels dažnio virpėjimą, o WiFi dažnio poslinkis negalės siųsti ir priimti duomenų.

7. Foninio apšvietimo LED maitinimo grandinė: SOT23-6LED tvarkyklės lusto atranka.Nuolatinės srovės / nuolatinės srovės maitinimas į LED nepriklausomai sudaro kilpą, o nuolatinės srovės / nuolatinės srovės įžeminimas yra prijungtas prie 3,3 V LOD įžeminimo.Kadangi PWM2 prievado šerdis buvo specializuota, jis išveda 600K PWM signalą ir pridedamas RC, kad PWM išėjimas būtų naudojamas kaip įjungimo / išjungimo valdiklis.

8. Įtampos įvesties diapazonas: suprojektuoti du DC/DC laipteliai.Atkreipkite dėmesį, kad R13 ir R17 rezistorių DC/DC grandinėje negalima praleisti.Du DC/DC lustai palaiko iki 18V įvestį, kuris yra patogus išoriniam maitinimo šaltiniui.

9. C TIPO USB derinimo prievadas: C TYPE galima prijungti ir atjungti pirmyn ir atgal.Įdėjimas į priekį palaiko ryšį su WIFI mikroschema ESP32-C, kad programuotų WIFI lustą;atvirkštinis įterpimas palaiko ryšį su XR21V1410IL16, kad programuotų T5L.C TIPO palaiko 5 V maitinimo šaltinį.

10. Lygiagretaus prievado ryšys: T5L OS šerdyje yra daug laisvų IO prievadų, galima suprojektuoti 16 bitų lygiagrečiųjų prievadų ryšį.Kartu su ST ARM FMC lygiagrečiojo prievado protokolu, jis palaiko sinchroninį skaitymą ir rašymą.

11. LCM RGB didelės spartos sąsajos dizainas: T5L RGB išvestis tiesiogiai prijungta prie LCM RGB, o viduryje pridedama buferio varža, siekiant sumažinti LCM vandens bangavimo trukdžius.Sujungdami laidus sumažinkite RGB sąsajos jungties ilgį, ypač PCLK signalą, ir padidinkite RGB sąsajos PCLK, HS, VS, DE testavimo taškus;ekrano SPI prievadas yra prijungtas prie T5L P2.4~P2.7 prievadų, tai patogu projektuojant ekrano tvarkyklę.Išveskite RST, nCS, SDA, SCI bandymo taškus, kad palengvintumėte pagrindinės programinės įrangos kūrimą.

(2) DGUS sąsaja

vaizdas6 vaizdas7

1.6 Duomenų kintamo rodymo valdymas

(3) OS
//———————————DGUS skaitymo ir rašymo formatas
typedef struktūra
{
u16 adr;//UI 16 bitų kintamasis adresas
u8 datLen;//8 bitų duomenų ilgis
u8 *pBuf;//8 bitų duomenų rodyklė
} UI_packTypeDef;//DGUS skaitymo ir rašymo paketai

//——————————-duomenų kintamųjų rodymo valdymas
typedef struktūra
{
u16 VP;
u16 X;
u16 Y;
u16 Spalva;
u8 Lib_ID;
u8 šrifto dydis;
u8 Algnment;
u8 IntNum;
u8 DecNum;
u8 tipas;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;//duomenų kintamojo aprašo struktūra

typedef struktūra
{
Number_spTypeDef sp;//apibrėžti SP aprašymo žymeklį
UI_packTypeDef spPack;//nustatyti SP kintamąjį DGUS skaitymo ir rašymo paketą
UI_packTypeDef vpPack;//apibūdinkite vp kintamąjį DGUS skaitymo ir rašymo paketą
} Number_HandleTypeDef;//duomenų kintamųjų struktūra

Su ankstesniu duomenų kintamojo rankenos apibrėžimu.Tada apibrėžkite įtampos atrankos ekrano kintamąjį:
Number_HandleTypeDef Hsample;
u16 įtampos_pavyzdys;

Pirmiausia paleiskite inicijavimo funkciją
NumberSP_Init(&Hsample,voltage_sample,0×8000);//0×8000 čia yra aprašymo rodyklė
//——Duomenų kintamasis, rodantis SP rodyklės struktūros inicijavimą——
void NumberSP_Init(Number_HandleTypeDef *numeris,u8 *reikšmė, u16 numerisAddr)
{
numeris->spPack.addr = numberAddr;
numeris->spPack.datLen = dydis(skaičius->sp);
number->spPack.pBuf = (u8 *)&number->sp;
        
Skaityti_Dgus(&numeris->spPack);
numeris->vpPack.addr = numeris->sp.VP;
switch(number->sp.Type) //Vp kintamojo duomenų ilgis parenkamas automatiškai pagal DGUS sąsajoje suprojektuotą duomenų kintamojo tipą.

{
0 atvejis:
5 atvejis:
numeris->vpPack.datLen = 2;
pertrauka;
1 atvejis:
2 atvejis:
3 atvejis:
6 atvejis:
numeris->vpPack.datLen = 4;
4 atvejis:
numeris->vpPack.datLen = 8;
pertrauka;
}
skaičius->vpPack.pBuf = reikšmė;
}

Po inicijavimo Hsample.sp yra įtampos atrankos duomenų kintamojo aprašymo rodyklė;Hsample.spPack yra ryšio žymeklis tarp OS branduolio ir vartotojo sąsajos įtampos atrankos duomenų kintamojo per DGUS sąsajos funkciją;Hsample.vpPack yra įtampos atrankos duomenų kintamojo keitimo atributas, pvz., šrifto spalvos ir kt., taip pat perduodamos į vartotojo sąsajos branduolį per DGUS sąsajos funkciją.Hsample.vpPack.addr yra įtampos atrankos duomenų kintamojo adresas, kuris buvo automatiškai gautas iš inicijavimo funkcijos.Keičiant kintamąjį adresą arba kintamųjų duomenų tipą DGUS sąsajoje, nereikia sinchroniškai atnaujinti kintamojo adreso OS branduolyje.Kai OS šerdis apskaičiuoja kintamąjį voltage_sample, norint jį atnaujinti, tereikia vykdyti Write_Dgus(&Hsample.vpPack) funkciją.Nereikia pakuoti voltage_sample, kad būtų galima perduoti DGUS.


Paskelbimo laikas: 2022-06-15