Приложението на LCD захранване с регулируема мощност, базирано на DWIN T5L ASIC

——Споделено от DWIN Froum

Използвайки чип DWIN T5L1 като контролно ядро ​​на цялата машина, получава и обработва докосване, придобиване на ADC, информация за контрол на PWM и управлява 3,5-инчовия LCD екран, за да показва текущото състояние в реално време.Поддържа дистанционно регулиране с докосване на яркостта на светодиодния източник на светлина чрез WiFi модул и поддържа гласова аларма.

Функции на програмата:

1. Приемете T5L чип, за да работи на висока честота, AD аналоговото вземане на проби е стабилно и грешката е малка;

2. Поддържа TYPE C директно свързан към компютър за отстраняване на грешки и запис на програма;

3. Поддържа високоскоростен интерфейс на ядрото на ОС, 16-битов паралелен порт;UI основен PWM порт, AD изходен порт, евтин дизайн на приложения, няма нужда от добавяне на допълнителен MCU;

4. Поддържа WiFi, Bluetooth дистанционно управление;

5. Поддържа 5~12V DC широко напрежение и широк обхват на входа

изображение1

1.1 Схематична диаграма

изображение2

1.2 печатна платка

изображение3

1.3 Потребителски интерфейс

Увод за срам:

(1)Проектиране на хардуерна верига

изображение4

1.4 Схема на веригата T5L48320C035

1. MCU логическо захранване 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;

2. MCU ядро ​​захранване 1.25V: C23, C24;

3. MCU аналогово захранване 3.3V: C35 е аналоговото захранване за MCU.При набор, заземяването на ядрото 1,25 V и заземяването на логиката могат да се комбинират заедно, но аналоговото заземяване трябва да бъде разделено.Аналоговото заземяване и цифровото заземяване трябва да се събират на отрицателния полюс на LDO изходния голям кондензатор, а аналоговият положителен полюс също трябва да се събира на положителния полюс на LDO големия кондензатор, така че шумът от AD семплиране да бъде сведен до минимум.

4. AD верига за получаване на аналогов сигнал: CP1 е AD аналогов кондензатор на входния филтър.За да се намали грешката при вземане на проби, аналоговото заземяване и цифровото заземяване на MCU са разделени независимо.Отрицателният полюс на CP1 трябва да бъде свързан към аналоговата земя на MCU с минимален импеданс, а двата паралелни кондензатора на кристалния осцилатор са свързани към аналоговата земя на MCU.

5. Верига на зумера: C25 е захранващият кондензатор за зумера.Зумерът е индуктивно устройство и ще има пиков ток по време на работа.За да се намали пикът, е необходимо да се намали MOS задвижващият ток на зумера, за да може MOS тръбата да работи в линейната област, и да се проектира веригата, за да работи в режим на превключване.Обърнете внимание, че R18 трябва да бъде свързан паралелно в двата края на зумера, за да регулирате качеството на звука на зумера и да направите зумера чист и приятен.

6. WiFi верига: Вземане на проби от WiFi чип ESP32-C, с WiFi+Bluetooth+BLE.При окабеляването заземяването на радиочестотното захранване и заземяването на сигнала са разделени.

изображение5

1.5 Дизайн на WiFi верига

На горната фигура горната част на медното покритие е захранващият заземителен контур.Заземителната верига за отразяване на WiFi антената трябва да има голяма площ спрямо заземяването на захранването, а събирателната точка на заземяването на захранването е отрицателният полюс на C6.Необходимо е да се осигури отразен ток между захранващата маса и WiFi антената, така че под WiFi антената трябва да има медно покритие.Дължината на медното покритие надвишава дължината на разширение на WiFi антената и разширението ще увеличи чувствителността на WiFi;точка на отрицателния полюс на C2.Голяма площ от мед може да екранира шума, причинен от излъчването на WiFi антената.Двете медни заземявания са разделени на долния слой и са събрани към средната подложка на ESP32-C чрез отвори.Радиочестотното захранващо заземяване се нуждае от по-нисък импеданс от заземяващия контур на сигнала, така че има 6 отвора от захранващото заземяване до подложката на чипа, за да се осигури достатъчно нисък импеданс.Заземителният контур на кристалния осцилатор не може да има RF мощност, протичаща през него, в противен случай кристалният осцилатор ще генерира трептене на честотата и изместването на честотата на WiFi няма да може да изпраща и получава данни.

7. Светодиодна захранваща верига за подсветка: вземане на проби от чипа на драйвера SOT23-6LED.DC/DC захранването към светодиода независимо образува верига, а DC/DC заземяването е свързано към 3,3 V LOD заземяване.Тъй като ядрото на PWM2 порта е специализирано, то извежда 600K PWM сигнал и се добавя RC, за да използва PWM изхода като контрол за ВКЛ./ИЗКЛ.

8. Диапазон на входното напрежение: проектирани са две DC/DC понижаващи нива.Имайте предвид, че резисторите R13 и R17 в DC/DC веригата не могат да бъдат пропуснати.Двата DC/DC чипа поддържат до 18V вход, което е удобно за външно захранване.

9. USB TYPE C порт за отстраняване на грешки: TYPE C може да се включва и изключва напред и назад.Предното вмъкване комуникира с WIFI чипа ESP32-C, за да програмира WIFI чипа;обратното вмъкване комуникира с XR21V1410IL16, за да програмира T5L.TYPE C поддържа 5V захранване.

10. Комуникация с паралелен порт: T5L OS ядрото има много свободни IO портове и може да се проектира комуникация с 16-битов паралелен порт.В комбинация с протокола за паралелен порт ST ARM FMC, той поддържа синхронно четене и запис.

11. LCM RGB високоскоростен дизайн на интерфейса: T5L RGB изходът е директно свързан към LCM RGB, а буферното съпротивление е добавено в средата, за да се намалят смущенията от водни пулсации на LCM.Когато окабелявате, намалете дължината на връзката на RGB интерфейса, особено на сигнала PCLK, и увеличете тестовите точки на RGB интерфейса PCLK, HS, VS, DE;SPI портът на екрана е свързан към портовете P2.4~P2.7 на T5L, което е удобно за проектиране на драйвера на екрана.Изведете RST, nCS, SDA, SCI тестови точки, за да улесните разработването на основния софтуер.

(2) DGUS интерфейс

изображение6 изображение7

1.6 Управление на дисплея на променливи данни

(3) OS
//———————————Формат за четене и запис на DGUS
typedef структура
{
u16 адрес;//UI 16-битов променлив адрес
u8 datLen;//8bit дължина на данните
u8 *pBuf;//8-битов указател за данни
} UI_packTypeDef;//DGUS пакети за четене и запис

//———————————контрол на показване на променливи данни
typedef структура
{
u16 VP;
u16 X;
u16 Y;
u16 цвят;
u8 Lib_ID;
u8 Размер на шрифта;
u8 Подравняване;
u8 IntNum;
u8 DecNum;
тип u8;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;//структура на описание на променлива на данни

typedef структура
{
Number_spTypeDef sp;//дефиниране на указател за описание на SP
UI_packTypeDef spPack;//дефиниране на SP променлива DGUS пакет за четене и запис
UI_packTypeDef vpPack;//дефиниране на vp променлива DGUS пакет за четене и запис
} Number_HandleTypeDef;//структура на променливите данни

С предишната дефиниция на променливата за данни.След това дефинирайте променлива за дисплея за вземане на проби от напрежение:
Number_HandleTypeDef Hsample;
u16 проба_напрежение;

Първо, изпълнете функцията за инициализация
NumberSP_Init(&Hsample,voltage_sample,0×8000);//0×8000 тук е указателят на описанието
//——Променлива с данни, показваща инициализация на структурата на указателя на SP——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
номер->spPack.addr = numberAddr;
номер->spPack.datLen = sizeof(номер->sp);
номер->spPack.pBuf = (u8 *)&номер->sp;
        
Read_Dgus(&номер->spPack);
номер->vpPack.addr = номер->sp.VP;
switch(number->sp.Type) //Дължината на данните на vp променливата се избира автоматично според типа на променливата на данните, проектиран в интерфейса DGUS.

{
случай 0:
случай 5:
номер->vpPack.datLen = 2;
прекъсване;
случай 1:
случай 2:
случай 3:
случай 6:
номер->vpPack.datLen = 4;
случай 4:
номер->vpPack.datLen = 8;
прекъсване;
}
номер->vpPack.pBuf = стойност;
}

След инициализацията Hsample.sp е указателят за описание на променливата за данни за вземане на проби от напрежението;Hsample.spPack е комуникационният указател между ядрото на операционната система и променливата на данните за вземане на проби от потребителския интерфейс чрез интерфейсната функция DGUS;Hsample.vpPack е атрибутът за промяна на променливата на данните за вземане на проби от напрежението, като цветовете на шрифта и т.н. също се предават на ядрото на потребителския интерфейс чрез интерфейсната функция DGUS.Hsample.vpPack.addr е адресът на променливата на данните за вземане на проби от напрежението, който е автоматично получен от функцията за инициализация.Когато промените адреса на променливата или типа данни на променливата в интерфейса DGUS, няма нужда да актуализирате адреса на променливата в ядрото на ОС синхронно.След като ядрото на ОС изчисли променливата voltage_sample, то трябва само да изпълни функцията Write_Dgus(&Hsample.vpPack), за да я актуализира.Няма нужда да се пакетира sample_sample за DGUS предаване.


Време на публикуване: 15 юни 2022 г