Применение ЖК-дисплея с регулируемой мощностью на базе ASIC DWIN T5L

——Поделено с форума DWIN

Используя чип DWIN T5L1 в качестве ядра управления всей машиной, он получает и обрабатывает сенсорные данные, сбор данных АЦП, информацию управления ШИМ и управляет 3,5-дюймовым ЖК-экраном для отображения текущего состояния в режиме реального времени. Поддержка удаленной сенсорной регулировки яркости светодиодного источника света через модуль Wi-Fi и поддержка голосовой сигнализации.

Возможности программы:

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

2. Поддержка TYPE C, напрямую подключенного к ПК для отладки и записи программ;

3. Поддержка высокоскоростного основного интерфейса ОС, 16-битный параллельный порт; ШИМ-порт ядра пользовательского интерфейса, вывод порта AD, недорогая конструкция приложения, нет необходимости добавлять дополнительный MCU;

4. Поддержка Wi-Fi, пульт дистанционного управления Bluetooth;

5. Поддержка широкого напряжения 5 ~ 12 В постоянного тока и широкого диапазона входного сигнала.

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

1.1 Принципиальная схема

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

1,2 печатная плата

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

1.3 Пользовательский интерфейс

Позорное введение:

(1) Проектирование аппаратной схемы

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

1.4 Принципиальная схема T5L48320C035

1. Питание логики микроконтроллера 3,3 В: C18, C26, C27, C28, C29, C31, C32, C33;

2. Источник питания ядра MCU 1,25 В: C23, C24;

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

4. Схема сбора аналогового сигнала AD: CP1 — конденсатор фильтра аналогового входного сигнала AD. Чтобы уменьшить ошибку выборки, аналоговое и цифровое заземление микроконтроллера разделены независимо. Отрицательный полюс CP1 должен быть подключен к аналоговой земле MCU с минимальным сопротивлением, а два параллельных конденсатора кварцевого генератора подключены к аналоговой земле MCU.

5. Цепь зуммера: C25 — конденсатор питания зуммера. Зуммер является индуктивным устройством, и во время работы будет наблюдаться пиковый ток. Чтобы уменьшить пик, необходимо уменьшить ток возбуждения МОП-сигнала зуммера, чтобы МОП-трубка работала в линейной области, и спроектировать схему так, чтобы она работала в режиме переключения. Обратите внимание, что R18 должен быть подключен параллельно на обоих концах зуммера, чтобы отрегулировать качество звука зуммера и сделать звук зуммера четким и приятным.

6. Схема Wi-Fi: выборка чипов Wi-Fi ESP32-C, с Wi-Fi + Bluetooth + BLE. В проводке заземление ВЧ-мощности и сигнальное заземление разделены.

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

1.5 Схема схемы Wi-Fi

На рисунке выше верхняя часть медного покрытия представляет собой контур заземления. Контур заземления отражения антенны Wi-Fi должен иметь большую площадь относительно заземления питания, а точкой сбора заземления является отрицательный полюс C6. Между заземлением питания и антенной Wi-Fi необходимо обеспечить отраженный ток, поэтому под антенной Wi-Fi должно быть медное покрытие. Длина медного покрытия превышает длину удлинителя антенны Wi-Fi, а удлинитель увеличит чувствительность Wi-Fi; точка на отрицательном полюсе C2. Большая площадь меди может экранировать шум, вызванный излучением антенны Wi-Fi. Две медные земли разделены на нижнем слое и собраны на средней площадке ESP32-C через переходные отверстия. Для заземления ВЧ-питания требуется более низкий импеданс, чем для контура заземления сигнала, поэтому между заземлением питания и контактной площадкой имеется 6 переходных отверстий, чтобы обеспечить достаточно низкий импеданс. Через контур заземления кварцевого генератора не может проходить радиочастотная мощность, в противном случае кварцевый генератор будет генерировать дрожание частоты, и смещение частоты Wi-Fi не сможет отправлять и получать данные.

7. Схема питания светодиодной подсветки: выборка чипа драйвера SOT23-6LED. Источник питания постоянного/постоянного тока для светодиода независимо образует петлю, а заземление постоянного/постоянного тока подключается к заземлению 3,3 В LOD. Поскольку ядро ​​порта ШИМ2 является специализированным, оно выдает сигнал ШИМ 600К, и добавляется RC для использования выхода ШИМ в качестве управления ВКЛ/ВЫКЛ.

8. Диапазон входного напряжения: предусмотрены два понижающих преобразователя постоянного/постоянного тока. Обратите внимание, что резисторы R13 и R17 в цепи постоянного/постоянного тока нельзя опускать. Два чипа DC/DC поддерживают входное напряжение до 18 В, что удобно для внешнего источника питания.

9. Порт отладки USB TYPE C: TYPE C можно подключать и отключать вперед и назад. Прямая вставка связывается с чипом WIFI ESP32-C для программирования чипа WIFI; обратная вставка связывается с XR21V1410IL16 для программирования T5L. TYPE C поддерживает питание 5 В.

10. Связь через параллельный порт: ядро ​​ОС T5L имеет множество свободных портов ввода-вывода, и может быть спроектирована связь через 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) Интерфейс ДГУС

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

1.6 Управление отображением переменных данных

(3) ОС
//———————————Формат чтения и записи DGUS
структура определения типа
{
адрес u16; //Адрес 16-битной переменной пользовательского интерфейса
у8 датаЛен; //длина данных 8 бит
u8 *pBuf; //8-битный указатель данных
} UI_packTypeDef; //DGUS читает и записывает пакеты

//——————————--управление отображением переменных данных
структура определения типа
{
u16 ВП;
и16 Х;
и16 Ю;
u16 Цвет;
u8 Lib_ID;
u8 Размер шрифта;
u8 Выравнивание;
u8 IntNum;
u8 DecNum;
Тип u8;
u8 ЛенУинт;
u8 StringUinit[11];
} Number_spTypeDef; //структура описания переменной данных

структура определения типа
{
Number_spTypeDef сп; //определяем указатель описания 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 = номерAddr;
число->spPack.datLen = sizeof(number->sp);
число->spPack.pBuf = (u8 *)&number->sp;
        
Read_Dgus(&number->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, нет необходимости синхронно обновлять адрес переменной в ядре ОС. После того, как ядро ​​ОС вычислит переменную Volt_sample, ему нужно только выполнить функцию Write_Dgus(&Hsample.vpPack) для ее обновления. Нет необходимости упаковывать напряжение_образца для передачи DGUS.


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