Säädettävän tehon LCD-tehon sovellus DWIN T5L ASICin perusteella

——Jaettu DWIN Froumista

Käyttämällä DWIN T5L1 -sirua koko koneen ohjausytimenä, se vastaanottaa ja käsittelee kosketuksen, ADC:n hankinnan, PWM-ohjaustiedot ja ohjaa 3,5 tuuman LCD-näyttöä näyttämään nykyisen tilan reaaliajassa. Tukee LED-valonlähteen kirkkauden etäsäätöä WiFi-moduulin kautta ja tukee äänihälytystä.

Ohjelman ominaisuudet:

1. Ota T5L-siru käyttöön korkealla taajuudella, AD-analoginen näytteenotto on vakaa ja virhe on pieni;

2. Tuki TYYPPI C suoraan kytkettynä tietokoneeseen virheenkorjausta ja ohjelmien polttamista varten;

3. Tukee nopeaa käyttöjärjestelmän ydinliitäntää, 16-bittistä rinnakkaisporttia; UI-ydin PWM-portti, AD-porttilähtö, edullinen sovellussuunnittelu, ei tarvitse lisätä MCU:ta;

4. Tuki WiFi, Bluetooth-kaukosäädin;

5. Tukee 5 ~ 12 V DC laajaa jännitettä ja laajaa tuloa

kuva1

1.1 Kaaviokaavio

kuva2

1.2 piirilevy

kuva3

1.3 Käyttöliittymä

Häpeä esittely:

(1)Laitteiston piirisuunnittelu

kuva4

1.4 T5L48320C035 piirikaavio

1. MCU:n logiikkavirtalähde 3,3 V: C18, C26, C27, C28, C29, C31, C32, C33;

2. MCU-ydinvirtalähde 1,25 V: C23, C24;

3. MCU:n analoginen virtalähde 3,3 V: C35 on MCU:n analoginen virtalähde. Ladottaessa ydin 1,25 V maadoitus ja logiikkamaa voidaan yhdistää yhteen, mutta analoginen maa on erotettava toisistaan. Analoginen maadoitus ja digitaalinen maa tulisi kerätä LDO-lähdön suuren kondensaattorin negatiiviseen napaan ja analoginen positiivinen napa myös suuren LDO-kondensaattorin positiiviseen napaan, jotta AD-näytteenottokohina minimoidaan.

4. AD analogisen signaalin hankintapiiri: CP1 on AD analogisen tulosuodattimen kondensaattori. Näytteenottovirheen vähentämiseksi MCU:n analoginen maa ja digitaalinen maa erotetaan toisistaan ​​riippumatta. CP1:n negatiivinen napa on kytkettävä MCU:n analogiseen maahan minimiimpedanssilla, ja kideoskillaattorin kaksi rinnakkaista kondensaattoria on kytketty MCU:n analogiseen maahan.

5. Summeripiiri: C25 on summerin virtalähteen kondensaattori. Summeri on induktiivinen laite, ja käytön aikana on huippuvirta. Huipun pienentämiseksi on tarpeen vähentää summerin MOS-käyttövirtaa, jotta MOS-putki toimisi lineaarisella alueella, ja suunnitella piiri toimimaan kytkintilassa. Huomaa, että R18 tulee kytkeä rinnan summerin molempiin päihin, jotta summerin äänenlaatu voidaan säätää ja summeri kuulostaa terävältä ja miellyttävältä.

6. WiFi-piiri: WiFi-sirun näytteenotto ESP32-C, WiFi+Bluetooth+BLE. Johdotuksessa RF-tehomaa ja signaalimaa on erotettu toisistaan.

kuva 5

1.5 WiFi-piirin suunnittelu

Yllä olevassa kuvassa kuparipinnoitteen yläosa on tehomaasilmukka. WiFi-antennin heijastusmaasilmukalla on oltava suuri alue virtamaahan nähden, ja tehomaan keräyspiste on C6:n negatiivinen napa. Virtamaan ja WiFi-antennin väliin on tarjottava heijastunut virta, joten WiFi-antennin alla on oltava kuparipinnoite. Kuparipinnoitteen pituus ylittää WiFi-antennin jatkepituuden, ja jatke lisää WiFin herkkyyttä; piste C2:n negatiivisessa navassa. Suuri kuparipinta-ala voi suojata WiFi-antennin aiheuttaman melun. Kaksi kuparijauhetta erotetaan pohjakerroksessa ja kerätään ESP32-C:n keskimmäiseen tyynyyn läpivientien kautta. RF-tehomaa tarvitsee pienemmän impedanssin kuin signaalin maadoitussilmukka, joten tehomaadosta sirutyynylle on 6 läpivientiä riittävän alhaisen impedanssin varmistamiseksi. Kideoskillaattorin maasilmukassa ei voi virrata RF-tehoa, muuten kideoskillaattori tuottaa taajuusvärinää, eikä WiFi-taajuuspoikkeama pysty lähettämään ja vastaanottamaan dataa.

7. Taustavalon LED-virtalähdepiiri: SOT23-6LED-ohjainpiirin näytteenotto. LEDin DC/DC-virtalähde muodostaa itsenäisesti silmukan, ja DC/DC-maa on kytketty 3,3 V:n LOD-maahan. Koska PWM2-portin ydin on erikoistunut, se lähettää 600K PWM-signaalin ja RC on lisätty käyttämään PWM-lähtöä ON/OFF-ohjaimena.

8. Jännitteen syöttöalue: kaksi DC/DC-asennusta on suunniteltu. Huomaa, että DC/DC-piirin R13- ja R17-vastuksia ei voi jättää pois. Kaksi DC/DC-sirua tukevat jopa 18 V:n tuloa, mikä on kätevä ulkoiselle virtalähteelle.

9. USB TYPE C -virheenkorjausportti: TYPE C voidaan kytkeä ja irrottaa eteenpäin ja taaksepäin. Eteenpäin lisäys kommunikoi WIFI-sirun ESP32-C kanssa ohjelmoidakseen WIFI-sirun; käänteinen lisäys kommunikoi XR21V1410IL16:n kanssa T5L:n ohjelmoimiseksi. TYYPPI C tukee 5V virtalähdettä.

10. Rinnakkaisporttiviestintä: T5L OS -ytimessä on monia vapaita IO-portteja, ja 16-bittinen rinnakkaisporttiviestintä voidaan suunnitella. Yhdessä ST ARM FMC rinnakkaisporttiprotokollan kanssa se tukee synkronista luku- ja kirjoitusta.

11. Nopea LCM RGB -liitäntärakenne: T5L RGB -lähtö on kytketty suoraan LCM RGB:hen, ja puskurin vastus on lisätty keskelle vähentämään LCM:n veden aaltoilua. Kun kytket, lyhennä RGB-liitännän, erityisesti PCLK-signaalin, pituutta ja lisää RGB-liitäntää PCLK, HS, VS, DE; näytön SPI-portti on kytketty T5L:n P2.4-P2.7-portteihin, mikä on kätevää näytönohjaimen suunnittelussa. Ohjaa RST-, nCS-, SDA-, SCI-testipisteet helpottamaan taustalla olevan ohjelmiston kehitystä.

(2) DGUS-liitäntä

kuva 6 kuva7

1.6 Datamuuttujan näytön ohjaus

(3) Käyttöjärjestelmä
//———————————DGUS-luku- ja kirjoitusmuoto
typedef rakenne
{
u16-osoite; //UI 16-bittinen muuttuva osoite
u8 datLen; //8 bittidatan pituus
u8 *pBuf; //8-bittinen dataosoitin
} UI_packTypeDef; //DGUS lukee ja kirjoittaa paketteja

//——————————--datamuuttujan näytön ohjaus
typedef rakenne
{
u16 VP;
u16 X;
u16Y;
u16 Väri;
u8 Lib_ID;
u8 Fonttikoko;
u8 Algnment;
u8 IntNum;
u8 DecNum;
u8 tyyppi;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef; //tietomuuttujan kuvausrakenne

typedef rakenne
{
Number_spTypeDef sp; //määritä SP-kuvausosoitin
UI_packTypeDef spPack; //määrittää SP-muuttujan DGUS-luku- ja kirjoituspaketti
UI_packTypeDef vpPack; //määritä vp-muuttuja DGUS-luku- ja kirjoituspaketti
} Number_HandleTypeDef; //tietomuuttujan rakenne

Edellisellä datamuuttujan kahvamäärityksellä. Määritä seuraavaksi muuttuja jännitteen näytteenottonäytölle:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Suorita ensin alustustoiminto
NumberSP_Init(&Hsample,voltage_sample,0×8000); //0×8000 tässä on kuvausosoitin
//——Datamuuttuja, joka näyttää SP-osoittimen rakenteen alustuksen——
void NumberSP_Init(Number_HandleTypeDef *numero,u8 *arvo, u16 numeroAddr)
{
numero->spPack.addr = numeroAddr;
numero->spPack.datLen = koko(numero->sp);
numero->spPack.pBuf = (u8 *)&number->sp;
        
Read_Dgus(&numero->spPack);
numero->vpPack.addr = numero->sp.VP;
switch(number->sp.Type) //Vp-muuttujan datapituus valitaan automaattisesti DGUS-rajapinnassa suunnitellun datamuuttujan tyypin mukaan.

{
tapaus 0:
tapaus 5:
numero->vpPack.datLen = 2;
tauko;
tapaus 1:
tapaus 2:
tapaus 3:
tapaus 6:
numero->vpPack.datLen = 4;
tapaus 4:
numero->vpPack.datLen = 8;
tauko;
}
numero->vpPack.pBuf = arvo;
}

Alustuksen jälkeen Hsample.sp on jännitteen näytteenottodatamuuttujan kuvausosoitin; Hsample.spPack on tietoliikenneosoitin käyttöjärjestelmän ytimen ja käyttöliittymän jännitteen näytteenottodatamuuttujan välillä DGUS-liitäntätoiminnon kautta; Hsample.vpPack on jännitteen näytteenottodatamuuttujan, kuten fontin värit, muuttamisen attribuutti. Värit jne. myös välitetään käyttöliittymän ytimeen DGUS-liitäntätoiminnon kautta. Hsample.vpPack.addr on jännitteen näytteenottodatan muuttujan osoite, joka on saatu automaattisesti alustusfunktiosta. Kun muutat muuttujan osoitetta tai muuttujan tietotyyppiä DGUS-rajapinnassa, ei ole tarvetta päivittää muuttujaosoitetta käyttöjärjestelmän ytimessä synkronisesti. Kun käyttöjärjestelmäydin on laskenut voltage_sample-muuttujan, sen tarvitsee vain suorittaa Write_Dgus(&Hsample.vpPack) -funktio päivittääkseen sen. Voltage_samplea ei tarvitse pakata DGUS-lähetystä varten.


Postitusaika: 15.6.2022