De toepassing van instelbaar vermogen LCD-vermogen gebaseerd op DWIN T5L ASIC

——Gedeeld van DWIN Froum

Met behulp van de DWIN T5L1-chip als de besturingskern van de hele machine, ontvangt en verwerkt aanraking, ADC-acquisitie, PWM-besturingsinformatie en stuurt het 3,5-inch LCD-scherm aan om de huidige status in realtime weer te geven.Ondersteuning op afstand aanpassen van de helderheid van de LED-lichtbron via WiFi-module en ondersteuning voor gesproken woord ontruiming.

Programma kenmerken:

1. Gebruik de T5L-chip om op hoge frequentie te werken, AD analoge bemonstering is stabiel en de fout is klein;

2. Ondersteuning van TYPE C direct aangesloten op pc voor foutopsporing en branden van programma's;

3. Ondersteuning van snelle OS-kerninterface, 16-bits parallelle poort;UI core PWM-poort, AD-poort lead out, goedkoop applicatieontwerp, geen extra MCU nodig;

4. Ondersteuning van WiFi, Bluetooth-afstandsbediening;

5. Ondersteuning van 5 ~ 12V DC breed voltage en breed ingangsbereik

afbeelding1

1.1 Schemaschema

afbeelding2

1.2 printplaat

afbeelding3

1.3 Gebruikersinterface

Schande introductie:

(1)Hardwarecircuitontwerp

afbeelding4

1.4 T5L48320C035 schakelschema

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

2. MCU kernvoeding 1.25V: C23, C24;

3. MCU analoge voeding 3.3V: C35 is de analoge voeding voor MCU.Bij het zetten kunnen de kern 1,25V aarde en de logische aarde worden gecombineerd, maar de analoge aarde moet worden gescheiden.De analoge aarde en de digitale aarde moeten worden verzameld bij de negatieve pool van de grote LDO-uitgangscondensator, en de analoge positieve pool moet ook worden verzameld bij de positieve pool van de grote LDO-condensator, zodat AD-bemonsteringsruis wordt geminimaliseerd.

4. AD analoog signaalverwervingscircuit: CP1 is de AD analoge ingangsfiltercondensator.Om de bemonsteringsfout te verminderen, zijn de analoge en digitale aarde van de MCU onafhankelijk van elkaar gescheiden.De negatieve pool van CP1 moet met minimale impedantie worden verbonden met de analoge aarde van de MCU en de twee parallelle condensatoren van de kristaloscillator worden verbonden met de analoge aarde van de MCU.

5. Zoemercircuit: C25 is de voedingscondensator voor de zoemer.De zoemer is een inductief apparaat en tijdens het gebruik zal er een piekstroom zijn.Om de piek te verminderen, is het noodzakelijk om de MOS-stuurstroom van de zoemer te verminderen om de MOS-buis in het lineaire gebied te laten werken, en het circuit te ontwerpen om het in de schakelmodus te laten werken.Merk op dat R18 aan beide uiteinden van de zoemer parallel moet worden aangesloten om de geluidskwaliteit van de zoemer aan te passen en de zoemer helder en aangenaam te laten klinken.

6. WiFi-circuit: WiFi-chipbemonstering ESP32-C, met WiFi + Bluetooth + BLE.Op de bedrading zijn de RF-vermogensaarde en de signaalaarde gescheiden.

afbeelding5

1.5 WiFi-circuitontwerp

In de bovenstaande afbeelding is het bovenste deel van de koperen coating de aardingslus.De wifi-antenne-reflectie-aardlus moet een groot gebied hebben naar de stroomgrond en het verzamelpunt van de stroomgrond is de negatieve pool van C6.Er moet een gereflecteerde stroom worden geleverd tussen de voedingsaarde en de wifi-antenne, dus er moet een koperen coating onder de wifi-antenne zijn.De lengte van de koperen coating overschrijdt de verlengingslengte van de WiFi-antenne en de verlenging verhoogt de gevoeligheid van de WiFi;punt naar de negatieve pool van C2.Een groot stuk koper kan de ruis die wordt veroorzaakt door de straling van de wifi-antenne afschermen.De 2 koperen massa's worden op de onderste laag gescheiden en via via's naar de middelste pad van ESP32-C verzameld.De RF-voedingsaarde heeft een lagere impedantie nodig dan de signaalaardingslus, dus er zijn 6 via's van de voedingsaarding naar de chippad om een ​​voldoende lage impedantie te garanderen.Er kan geen RF-vermogen door de aardlus van de kristaloscillator stromen, anders genereert de kristaloscillator frequentiejitter en kan de wifi-frequentieoffset geen gegevens verzenden en ontvangen.

7. Achtergrondverlichting LED-voedingscircuit: SOT23-6LED driverchip-sampling.De DC/DC-voeding naar de LED vormt onafhankelijk een lus en de DC/DC-aarde is verbonden met de 3,3 V LOD-aarde.Omdat de PWM2-poortkern is gespecialiseerd, voert deze een 600K PWM-signaal uit en wordt een RC toegevoegd om de PWM-uitgang als AAN/UIT-regeling te gebruiken.

8. Spanningsingangsbereik: er zijn twee DC/DC-verlagingen ontworpen.Merk op dat de weerstanden R13 en R17 in het DC/DC-circuit niet kunnen worden weggelaten.De twee DC/DC-chips ondersteunen tot 18V-invoer, wat handig is voor externe voeding.

9. USB TYPE C-foutopsporingspoort: TYPE C kan voorwaarts en achterwaarts worden aangesloten en losgekoppeld.Voorwaartse invoeging communiceert met de WIFI-chip ESP32-C om de WIFI-chip te programmeren;reverse insertion communiceert met de XR21V1410IL16 om de T5L te programmeren.TYPE C ondersteunt 5V voeding.

10. Parallelle poortcommunicatie: T5L OS-kern heeft veel vrije IO-poorten en 16-bits parallelle poortcommunicatie kan worden ontworpen.In combinatie met het ST ARM FMC-parallelpoortprotocol ondersteunt het synchroon lezen en schrijven.

11. LCM RGB high-speed interface-ontwerp: T5L RGB-uitgang is rechtstreeks verbonden met LCM RGB en bufferweerstand wordt in het midden toegevoegd om LCM-waterrimpelinterferentie te verminderen.Verminder bij het bedraden de lengte van de RGB-interfaceverbinding, met name het PCLK-signaal, en vergroot de RGB-interface PCLK-, HS-, VS-, DE-testpunten;de SPI-poort van het scherm is verbonden met de P2.4~P2.7-poorten van de T5L, wat handig is voor het ontwerpen van de schermdriver.Leid RST-, nCS-, SDA- en SCI-testpunten uit om de ontwikkeling van de onderliggende software te vergemakkelijken.

(2) DGUS-interface

afbeelding6 afbeelding7

1.6 Gegevensvariabele weergavecontrole

(3) Besturingssysteem
//———————————DGUS lees- en schrijfformaat
typedef-structuur
{
u16 adres;// UI 16bit variabel adres
u8 datLen;// 8 bit gegevenslengte
u8 *pBuf;// 8-bits gegevensaanwijzer
} UI_packTypeDef;//DGUS leest en schrijft pakketten

//——————————- gegevensvariabele weergavecontrole
typedef-structuur
{
u16 VP;
u16 X;
u16 J;
u16 Kleur;
u8 Lib_ID;
u8 Lettergrootte;
u8 uitlijning;
u8 IntNum;
u8 DecNum;
u8 Type;
u8 LenUint;
u8 StringUinit[11];
} Getal_spTypeDef;// datavariabele beschrijvingsstructuur

typedef-structuur
{
Number_spTypeDef sp;// definieer SP-beschrijvingsaanwijzer
UI_packTypeDef spPack;// definieer SP-variabele DGUS lees- en schrijfpakket
UI_packTypeDef vpPack;// definieer vp-variabele DGUS lees- en schrijfpakket
} Number_HandleTypeDef;//structuur van gegevensvariabelen

Met de vorige gegevensvariabele handvatdefinitie.Definieer vervolgens een variabele voor de spanningsbemonsteringsweergave:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Voer eerst de initialisatiefunctie uit
GetalSP_Init(&Hsample,voltage_sample,0×8000);//0×8000 hier is de beschrijvingswijzer
//——Gegevensvariabele die de initialisatie van de SP-aanwijzerstructuur weergeeft——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
nummer->spPack.addr = nummerAddr;
getal->spPack.datLen = groottevan(aantal->sp);
nummer->spPack.pBuf = (u8 *)&nummer->sp;
        
Read_Dgus(&nummer->spPack);
nummer->vpPack.addr = nummer->sp.VP;
switch(number->sp.Type) //De datalengte van de vp-variabele wordt automatisch geselecteerd volgens het type datavariabele dat is ontworpen in de DGUS-interface.

{
geval 0:
geval 5:
aantal->vpPack.datLen = 2;
pauze;
zaak 1:
geval 2:
geval 3:
geval 6:
aantal->vpPack.datLen = 4;
geval 4:
aantal->vpPack.datLen = 8;
pauze;
}
nummer->vpPack.pBuf = waarde;
}

Na initialisatie is Hsample.sp de beschrijvingswijzer van de spanningsbemonsteringsgegevensvariabele;Hsample.spPack is de communicatieaanwijzer tussen de OS-kern en de UI-spanningsbemonsteringsgegevensvariabele via de DGUS-interfacefunctie;Hsample.vpPack is het attribuut van het wijzigen van de spanningsbemonsteringsgegevensvariabele, zoals lettertypekleuren, enz. Worden ook doorgegeven aan de UI-kern via de DGUS-interfacefunctie.Hsample.vpPack.addr is het adres van de spanningsbemonsteringsgegevensvariabele, dat automatisch is verkregen uit de initialisatiefunctie.Wanneer u het variabele adres of het variabele gegevenstype in de DGUS-interface wijzigt, hoeft u het variabele adres in de OS-kern niet synchroon bij te werken.Nadat de kern van het besturingssysteem de variabele voltage_sample heeft berekend, hoeft deze alleen de functie Write_Dgus(&Hsample.vpPack) uit te voeren om deze bij te werken.Het is niet nodig om het voltage_sample in te pakken voor DGUS-transmissie.


Posttijd: 15 juni 2022