Zastosowanie regulowanej mocy zasilania LCD w oparciu o DWIN T5L ASIC

—— Udostępnione przez DWIN Froum

Wykorzystując układ DWIN T5L1 jako rdzeń kontrolny całej maszyny, odbiera i przetwarza dotyk, akwizycję ADC, informacje sterujące PWM i steruje 3,5-calowym ekranem LCD, aby wyświetlać aktualny stan w czasie rzeczywistym.Obsługuje zdalną regulację dotykową jasności źródła światła LED za pośrednictwem modułu WiFi i obsługuje alarm głosowy.

Funkcje programu:

1. Zastosuj układ T5L do pracy z wysoką częstotliwością, próbkowanie analogowe AD jest stabilne, a błąd jest mały;

2. Obsługa TYPU C bezpośrednio podłączonego do komputera w celu debugowania i nagrywania programów;

3. Obsługa szybkiego interfejsu rdzenia systemu operacyjnego, 16-bitowego portu równoległego;Port PWM interfejsu użytkownika, wyprowadzenie portu AD, niedrogi projekt aplikacji, nie ma potrzeby dodawania dodatkowego MCU;

4. Wsparcie WiFi, pilot Bluetooth;

5. Obsługa szerokiego napięcia 5 ~ 12 V DC i szerokiego zakresu wejściowego

obraz1

1.1 Schemat schematu

obraz2

1.2 płytka drukowana

obraz3

1.3 Interfejs użytkownika

Wprowadzenie wstydu:

(1)Projekt obwodu sprzętowego

obraz4

1.4 Schemat obwodu T5L48320C035

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

2. Zasilanie rdzenia MCU 1.25 V: C23, C24;

3. Zasilanie analogowe MCU 3.3 V: C35 to analogowe zasilanie MCU.Podczas składu uziemienie rdzenia 1,25 V i uziemienie logiczne można połączyć razem, ale uziemienie analogowe musi być oddzielone.Masa analogowa i masa cyfrowa powinny być zebrane na biegunie ujemnym dużego kondensatora wyjściowego LDO, a analogowy biegun dodatni powinien być również zebrany na biegunie dodatnim dużego kondensatora LDO, aby zminimalizować szum próbkowania AD.

4. Obwód akwizycji sygnału analogowego AD: CP1 to kondensator filtra wejścia analogowego AD.Aby zmniejszyć błąd próbkowania, uziemienie analogowe i cyfrowe uziemienia MCU są oddzielone niezależnie.Biegun ujemny CP1 musi być podłączony do masy analogowej MCU z minimalną impedancją, a dwa równoległe kondensatory oscylatora kwarcowego są podłączone do masy analogowej MCU.

5. Obwód brzęczyka: C25 to kondensator zasilający brzęczyk.Brzęczyk jest urządzeniem indukcyjnym i podczas pracy występuje szczytowy prąd.Aby zmniejszyć szczyt, konieczne jest zmniejszenie prądu sterującego MOS brzęczyka, aby lampa MOS działała w obszarze liniowym i zaprojektowanie obwodu, aby działał w trybie przełączania.Zwróć uwagę, że R18 powinien być podłączony równolegle na obu końcach brzęczyka, aby dostosować jakość dźwięku brzęczyka i sprawić, by brzęczyk brzmiał wyraźnie i przyjemnie.

6. Obwód WiFi: próbkowanie chipa WiFi ESP32-C, z WiFi + Bluetooth + BLE.Na okablowaniu uziemienie zasilania RF i uziemienie sygnału są oddzielone.

obraz5

1.5 projekt obwodu WiFi

Na powyższym rysunku górna część powłoki miedzianej to pętla uziemienia zasilania.Pętla uziemienia odbicia anteny WiFi musi mieć duży obszar do uziemienia zasilania, a punktem zbierania uziemienia zasilania jest biegun ujemny C6.Pomiędzy uziemieniem zasilającym a anteną WiFi musi być zapewniony prąd odbity, dlatego pod anteną WiFi musi znajdować się powłoka miedziana.Długość powłoki miedzianej przekracza długość przedłużenia anteny WiFi, a przedłużenie zwiększy czułość WiFi;punkt na ujemnym biegunie C2.Duży obszar miedzi może chronić przed hałasem powodowanym przez promieniowanie anteny WiFi.2 miedziane uziemienia są oddzielone na dolnej warstwie i zbierane przez przelotki do środkowej podkładki ESP32-C.Masa zasilania RF wymaga niższej impedancji niż pętla uziemienia sygnału, więc istnieje 6 przelotek od masy zasilania do płytki chipowej, aby zapewnić wystarczająco niską impedancję.Pętla masy oscylatora kwarcowego nie może przepływać przez nią mocy RF, w przeciwnym razie oscylator kwarcowy wygeneruje drgania częstotliwości, a przesunięcie częstotliwości Wi-Fi nie będzie w stanie wysyłać i odbierać danych.

7. Obwód zasilania LED podświetlenia: próbkowanie układu sterownika SOT23-6LED.Zasilanie DC/DC diody niezależnie tworzy pętlę, a masa DC/DC jest połączona z masą LOD 3,3 V.Ponieważ rdzeń portu PWM2 został wyspecjalizowany, wyprowadza sygnał PWM 600K, a RC jest dodawany w celu wykorzystania wyjścia PWM jako sterowania włączania/wyłączania.

8. Zakres napięcia wejściowego: zaprojektowano dwa reduktory DC/DC.Należy pamiętać, że rezystorów R13 i R17 w obwodzie DC/DC nie można pominąć.Dwa chipy DC/DC obsługują wejście do 18 V, co jest wygodne dla zewnętrznego źródła zasilania.

9. Port debugowania USB TYPE C: TYP C można podłączać i odłączać do przodu i do tyłu.Wstawianie do przodu komunikuje się z układem WIFI ESP32-C w celu zaprogramowania układu WIFI;odwrotne wstawianie komunikuje się z XR21V1410IL16 w celu zaprogramowania T5L.TYP C obsługuje zasilanie 5 V.

10. Komunikacja portu równoległego: rdzeń T5L OS ma wiele wolnych portów IO i można zaprojektować 16-bitową komunikację portu równoległego.W połączeniu z protokołem portu równoległego ST ARM FMC obsługuje synchroniczny odczyt i zapis.

11. Projekt szybkiego interfejsu LCM RGB: wyjście T5L RGB jest bezpośrednio podłączone do LCM RGB, a rezystancja bufora jest dodawana w środku, aby zmniejszyć zakłócenia tętnienia wody LCM.Podczas okablowania zmniejsz długość połączenia interfejsu RGB, zwłaszcza sygnału PCLK, i zwiększ punkty testowe interfejsu RGB PCLK, HS, VS, DE;port SPI ekranu jest podłączony do portów P2.4~P2.7 T5L, co jest wygodne przy projektowaniu sterownika ekranu.Wyprowadź punkty testowe RST, nCS, SDA, SCI, aby ułatwić rozwój oprogramowania bazowego.

(2) Interfejs DGUS

obraz6 obraz7

1.6 Sterowanie wyświetlaniem zmiennych danych

(3) OS
//———————————Format odczytu i zapisu DGUS
struktura typedef
{
adres u16;//UI 16-bitowy adres zmiennej
u8 datLen;//8bitowa długość danych
u8 *pBuf;//8-bitowy wskaźnik danych
} UI_packTypeDef;//DGUS odczytuje i zapisuje pakiety

//——————————-sterowanie wyświetlaniem zmiennych danych
struktura typedef
{
u16 VP;
u16 X;
u16 Y;
kolor u16;
u8 Identyfikator_biblioteki;
rozmiar czcionki u8;
u8 wyrównanie;
u8 IntNum;
u8 DecNum;
u8 Typ;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;//struktura opisu zmiennej danych

struktura typedef
{
Number_spTypeDef sp;// zdefiniuj wskaźnik opisu SP
UI_packTypeDef spPack;// zdefiniuj zmienną SP DGUS do odczytu i zapisu pakietu
UI_packTypeDef vpPack;// zdefiniuj zmienną vp DGUS do odczytu i zapisu pakietu
} Number_HandleTypeDef;//struktura zmiennych danych

Z poprzednią definicją uchwytu zmiennej danych.Następnie zdefiniuj zmienną dla wyświetlania próbkowania napięcia:
Number_HandleTypeDef Hpróbka;
u16 próbka_napięcia;

Najpierw wykonaj funkcję inicjalizacji
NumberSP_Init(&Hpróbka,próbka_napięcia,0×8000);//0×8000 tutaj jest wskaźnik opisu
//——Zmienna danych przedstawiająca inicjalizację struktury wskaźnika SP——
void NumberSP_Init(Number_HandleTypeDef *liczba,u8 *wartość,u16numerAddr)
{
numer->spPack.addr = numerAddr;
liczba->spPack.datLen = sizeof(liczba->sp);
liczba->spPack.pBuf = (u8 *)&liczba->sp;
        
Read_Dgus(&numer->spPack);
liczba->vpPack.addr = liczba->sp.VP;
switch(number->sp.Type) //Długość danych zmiennej vp jest wybierana automatycznie zgodnie z typem zmiennej danych zaprojektowanym w interfejsie DGUS.

{
przypadek 0:
przypadek 5:
numer->vpPack.datLen = 2;
przerwa;
przypadek 1:
przypadek 2:
przypadek 3:
przypadek 6:
numer->vpPack.datLen = 4;
przypadek 4:
liczba->vpPack.datLen = 8;
przerwa;
}
liczba->vpPack.pBuf = wartość;
}

Po inicjalizacji Hsample.sp jest wskaźnikiem opisu zmiennej danych próbkowania napięcia;Hsample.spPack to wskaźnik komunikacyjny między rdzeniem systemu operacyjnego a zmienną danych próbkowania napięcia interfejsu użytkownika za pośrednictwem funkcji interfejsu DGUS;Hsample.vpPack to atrybut zmiany danych próbkowania napięcia, takich jak kolory czcionek itp., które są również przekazywane do rdzenia interfejsu użytkownika za pośrednictwem funkcji interfejsu DGUS.Hsample.vpPack.addr to adres zmiennej danych próbkowania napięcia, który został automatycznie uzyskany z funkcji inicjalizacji.Gdy zmieniasz adres zmiennej lub typ danych zmiennej w interfejsie DGUS, nie ma potrzeby synchronicznej aktualizacji adresu zmiennej w rdzeniu systemu operacyjnego.Gdy rdzeń systemu operacyjnego obliczy zmienną voltage_sample, wystarczy wykonać funkcję Write_Dgus(&Hsample.vpPack), aby ją zaktualizować.Nie ma potrzeby pakowania pliku voltage_sample do transmisji DGUS.


Czas postu: 15 czerwca 2022 r