——DWIN Froum-etik partekatua
Makina osoaren kontrol-nukleo gisa DWIN T5L1 txipa erabiliz, ukipen-informazioa, ADC eskuratzea eta PWM kontrol-informazioa jasotzen eta prozesatzen ditu, eta 3,5 hazbeteko LCD pantaila gidatzen du uneko egoera denbora errealean bistaratzeko. LED argi-iturriaren distira urrutiko ukipen-doikuntza onartzen du WiFi moduluaren bidez, eta ahots-alarma onartzen du.
Programaren ezaugarriak:
1. T5L txipa hartu maiztasun handian funtzionatzeko, AD analogiko laginketa egonkorra da eta errorea txikia da;
2. C MOTAko euskarria zuzenean ordenagailura konektatuta dago arazketa egiteko eta programak grabatzeko;
3. Abiadura handiko OS core interfazea, 16 biteko portu paraleloa; UI core PWM portua, AD portu irteera, kostu baxuko aplikazioen diseinua, ez da beharrezkoa MCU gehigarririk gehitzea;
4. WiFi eta Bluetooth urrutiko agintea onartzen ditu;
5. 5 ~ 12V DC tentsio zabala eta sarrera-tarte zabala onartzen ditu

1.1 Eskema diagrama
1.2 PCB plaka

1.3 Erabiltzaile interfazea
Lotsaren sarrera:
(1) Hardware zirkuituaren diseinua

1.4 T5L48320C035 zirkuituaren diagrama
1. MCU logikaren elikatze-iturria 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;
2. MCU nukleoaren elikatze-iturria 1.25V: C23, C24;
3. MCUaren elikatze-iturri analogikoa 3.3V: C35 MCUaren elikatze-iturri analogikoa da. Konposatzerakoan, nukleoaren 1.25V-ko lurra eta logika-lurra konbina daitezke, baina lur analogikoa bereizita egon behar da. Lur analogikoa eta lur digitala LDO irteerako kondentsadore handiaren polo negatiboan bildu behar dira, eta polo positibo analogikoa ere LDO kondentsadore handiaren polo positiboan bildu behar da, AD laginketa-zarata minimizatzeko.
4. AD seinale analogikoen eskuratze zirkuitua: CP1 AD sarrera analogikoko iragazki kondentsadorea da. Laginketa errorea murrizteko, MCUaren lur analogikoa eta lur digitala modu independentean bereizita daude. CP1-en polo negatiboa MCUaren lur analogikora konektatu behar da inpedantzia minimoarekin, eta kristal osziladorearen bi kondentsadore paraleloak MCUaren lur analogikora konektatu behar dira.
5. Buzzer zirkuitua: C25 buzzerraren elikatze-kondentsadorea da. Buzzerra gailu induktibo bat da, eta funtzionamenduan zehar gailur-korronte bat egongo da. Gailurra murrizteko, buzzerraren MOS bultzada-korrontea murriztu behar da MOS hodia eskualde linealean funtziona dezan, eta zirkuitua etengailu moduan funtziona dezan diseinatu. Kontuan izan R18 buzzerraren bi muturretan paraleloan konektatuta egon behar dela buzzerraren soinu-kalitatea doitzeko eta buzzerraren soinua garbi eta atsegina izan dadin.
6. WiFi zirkuitua: WiFi txiparen laginketa ESP32-C, WiFi + Bluetooth + BLErekin. Kableatuan, RF potentzia lurra eta seinale lurra bereizita daude.

1.5 WiFi zirkuituaren diseinua
Goiko irudian, kobrezko estalduraren goiko aldea potentzia-lurrerako begizta da. WiFi antenaren islapen-lurrerako begiztak azalera handia izan behar du potentzia-lurrerako, eta potentzia-lurrerako bilketa-puntua C6-ren polo negatiboa da. Korronte islatua eman behar da potentzia-lurrerako eta WiFi antenaren artean, beraz, kobrezko estaldura egon behar da WiFi antenaren azpian. Kobrezko estalduraren luzera WiFi antenaren luzapen-luzera baino handiagoa da, eta luzapenak WiFi-aren sentikortasuna handituko du; puntua C2-ren polo negatiboan. Kobrezko azalera handi batek WiFi antenaren erradiazioak eragindako zarata babestu dezake. 2 kobrezko lurrerako konektoreak beheko geruzan bereizita daude eta ESP32-C-ren erdiko padera biltzen dira bideen bidez. RF potentzia-lurrak seinale-lurrerako begiztak baino inpedantzia txikiagoa behar du, beraz, 6 bide daude potentzia-lurrerako txiparen paderara, inpedantzia nahikoa baxua bermatzeko. Kristal osziladorearen lurrerako begiztak ezin du RF potentzia igaro, bestela kristal osziladoreak maiztasun-dardara sortuko du, eta WiFi maiztasun-desplazamenduak ezingo ditu datuak bidali eta jaso.
7. Atzeko argiztapeneko LED elikatze-zirkuitua: SOT23-6LED kontrolatzaile-txiparen laginketa. LEDera doan DC/DC elikatze-iturriak begizta bat osatzen du modu independentean, eta DC/DC lurra 3,3V-ko LOD lurrera konektatuta dago. PWM2 ataka-nukleoa espezializatu denez, 600K-ko PWM seinalea igortzen du, eta RC bat gehitzen da PWM irteera ON/OFF kontrol gisa erabiltzeko.
8. Tentsio sarrerako tartea: bi DC/DC jaisteko diseinatuta daude. Kontuan izan R13 eta R17 erresistentziak ezin direla kendu DC/DC zirkuituan. Bi DC/DC txipek 18V arteko sarrera onartzen dute, eta hori komenigarria da kanpoko elikatze-iturri baterako.
9. USB C MOTAKO arazketa ataka: C MOTAKOa aurrera eta atzera konektatu eta deskonektatu daiteke. Aurrerantz txertatzeak ESP32-C WIFI txiparekin komunikatzen da WIFI txipa programatzeko; alderantziz txertatzeak XR21V1410IL16rekin komunikatzen da T5L programatzeko. C MOTAKOAK 5V-ko elikatze iturria onartzen du.
10. Ataka paraleloaren komunikazioa: T5L OS nukleoak IO ataka libre asko ditu, eta 16 biteko ataka paraleloaren komunikazioa diseinatu daiteke. ST ARM FMC ataka paraleloaren protokoloarekin konbinatuta, irakurketa eta idazketa sinkronoak onartzen ditu.
11. LCM RGB abiadura handiko interfazearen diseinua: T5L RGB irteera zuzenean LCM RGBra konektatuta dago, eta buffer erresistentzia gehitzen da erdian LCM uraren uhinen interferentzia murrizteko. Kableatzerakoan, murriztu RGB interfazearen konexioaren luzera, batez ere PCLK seinalea, eta handitu RGB interfazearen PCLK, HS, VS, DE proba puntuak; pantailaren SPI ataka T5L-ren P2.4~P2.7 ataketara konektatuta dago, pantailaren kontrolatzailea diseinatzeko komenigarria dena. Atera RST, nCS, SDA, SCI proba puntuak azpiko softwarearen garapena errazteko.
(2) DGUS interfazea
1.6 Datu aldagaien bistaratze kontrola
(3) THE
//————————————DGUS irakurtzeko eta idazteko formatua
typedef egitura
{
u16 addr; //UI 16 biteko aldagaiaren helbidea
u8 datLen; //8 biteko datuen luzera
u8 *pBuf; //8 biteko datu-erakuslea
} UI_packTypeDef; //DGUSek paketeak irakurri eta idatzi
//———————————-datu aldagaien bistaratze kontrola
typedef egitura
{
16 urtetik beherako VP;
16 urtetik beherako X;
16 urtetik beherako Y;
16 urtetik gorakoen kolorea;
u8 Lib_ID;
u8 Letra-tamaina;
u8 Lerrokatzea;
u8 IntNum;
u8 Abe.Zenb.;
u8 Mota;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef; //datu-aldagaiaren deskribapen-egitura
typedef egitura
{
Number_spTypeDef sp; //SP deskribapen erakuslea definitzen du
UI_packTypeDef spPack; //SP aldagaia DGUS irakurri eta idazteko paketea definitzen du
UI_packTypeDef vpPack; //vp aldagaia DGUS irakurtzeko eta idazteko paketea definitzen du
} Number_HandleTypeDef; //datu aldagaien egitura
Aurreko datu-aldagaiaren heldulekuaren definizioarekin. Ondoren, definitu tentsio-laginketaren bistaratze-aldagai bat:
Zenbaki_HandleMotaDef Hlagina;
u16 tentsio_lagina;
Lehenik eta behin, hasieratze funtzioa exekutatu
NumberSP_Init(&Hsample,voltage_sample,0×8000); //0×8000 hemen deskribapen erakuslea da
//——SP erakuslearen egituraren hasieraketa erakusten duen datu-aldagaia——
void NumberSP_Init(Number_HandleTypeDef *zenbakia,u8 *balioa, u16 zenbakiaHelbidea)
{
zenbakia->spPack.addr = zenbakiaHelbidea;
zenbakia->spPack.datLen = sizeof(zenbakia->sp);
zenbakia->spPack.pBuf = (u8 *)&zenbakia->sp;
Read_Dgus(&zenbakia->spPack);
zenbakia->vpPack.addr = zenbakia->sp.VP;
switch(zenbakia->sp.Mota) //vp aldagaiaren datu-luzera automatikoki hautatzen da DGUS interfazean diseinatutako datu-aldagai motaren arabera.
{
0 kasua:
5. kasua:
zenbakia->vpPack.datLen = 2;
atsedenaldia
1. kasua:
2. kasua:
3. kasua:
6. kasua:
zenbakia->vpPack.datLen = 4;
4. kasua:
zenbakia->vpPack.datLen = 8;
atsedenaldia
}
zenbakia->vpPack.pBuf = balioa;
}
Hasieratzearen ondoren, Hsample.sp tentsio-laginketa datuen aldagaiaren deskribapen-erakuslea da; Hsample.spPack sistema eragilearen nukleoaren eta UI tentsio-laginketa datuen aldagaiaren arteko komunikazio-erakuslea da DGUS interfazearen funtzioaren bidez; Hsample.vpPack tentsio-laginketa datuen aldagaia aldatzeko atributua da, hala nola letra-tipoaren koloreak, etab. UI nukleora ere pasatzen dira DGUS interfazearen funtzioaren bidez. Hsample.vpPack.addr tentsio-laginketa datuen aldagaiaren helbidea da, hasieratze-funtziotik automatikoki lortua. Aldagaiaren helbidea edo aldagaiaren datu mota DGUS interfazean aldatzen duzunean, ez dago aldagaiaren helbidea sistema eragilearen nukleoan sinkronoki eguneratu beharrik. Sistema eragilearen nukleoak voltage_sample aldagaia kalkulatu ondoren, Write_Dgus(&Hsample.vpPack) funtzioa exekutatu besterik ez du egin behar eguneratzeko. Ez dago voltage_sample paketatu beharrik DGUS transmisiorako.
Argitaratze data: 2022ko ekainaren 15a






