A aplicação de potência ajustável de LCD com base em DWIN T5L ASIC

——Compartilhado do DWIN From

Usando o chip DWIN T5L1 como o núcleo de controle de toda a máquina, recebe e processa toque, aquisição ADC, informações de controle PWM e aciona a tela LCD de 3,5 polegadas para exibir o status atual em tempo real.Suporta ajuste de toque remoto do brilho da fonte de luz LED através do módulo WiFi e suporta alarme por voz.

Recursos do programa:

1. Adote o chip T5L para funcionar em alta frequência, a amostragem analógica AD é estável e o erro é pequeno;

2. Suporte TYPE C conectado diretamente ao PC para depuração e gravação de programas;

3. Suporta interface de núcleo OS de alta velocidade, porta paralela de 16 bits;Porta PWM do núcleo da interface do usuário, saída da porta AD, design de aplicativo de baixo custo, sem necessidade de adicionar MCU adicional;

4. Suporte WiFi, controle remoto Bluetooth;

5. Suporta tensão ampla de 5~12V DC e entrada de ampla faixa

imagem1

1.1 Diagrama do esquema

imagem2

1.2 placa PCB

image3

1.3 Interface do usuário

Introdução à vergonha:

(1) Projeto de circuito de hardware

image4

1.4 T5L48320C035 diagrama de circuito

1. Fonte de alimentação lógica MCU 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;

2. Fonte de alimentação do núcleo MCU 1,25V: C23, C24;

3. Fonte de alimentação analógica MCU 3.3V: C35 é a fonte de alimentação analógica para MCU.Ao compor, o aterramento central de 1,25 V e o aterramento lógico podem ser combinados, mas o aterramento analógico deve ser separado.O terra analógico e o terra digital devem ser coletados no pólo negativo do capacitor grande de saída LDO, e o pólo positivo analógico também deve ser coletado no pólo positivo do capacitor grande LDO, de modo que o ruído de amostragem AD seja minimizado.

4. Circuito de aquisição de sinal analógico AD: CP1 é o capacitor de filtro de entrada analógica AD.Para reduzir o erro de amostragem, o terra analógico e o terra digital do MCU são separados independentemente.O polo negativo do CP1 deve ser conectado ao terra analógico do MCU com impedância mínima, e os dois capacitores paralelos do oscilador de cristal são conectados ao terra analógico do MCU.

5. Circuito da campainha: C25 é o capacitor de alimentação da campainha.A campainha é um dispositivo indutivo e haverá um pico de corrente durante a operação.Para reduzir o pico, é necessário reduzir a corrente de acionamento MOS da campainha para fazer o tubo MOS funcionar na região linear e projetar o circuito para fazê-lo funcionar no modo chaveado.Observe que o R18 deve ser conectado em paralelo em ambas as extremidades da campainha para ajustar a qualidade do som da campainha e fazer com que o som da campainha seja nítido e agradável.

6. Circuito WiFi: amostragem de chip WiFi ESP32-C, com WiFi+Bluetooth+BLE.Na fiação, o aterramento da alimentação de RF e o aterramento do sinal são separados.

imagem5

1.5 Projeto de circuito WiFi

Na figura acima, a parte superior do revestimento de cobre é o loop de aterramento de energia.O loop de aterramento de reflexão da antena WiFi deve ter uma grande área para o aterramento de energia, e o ponto de coleta do aterramento de energia é o pólo negativo de C6.Uma corrente refletida precisa ser fornecida entre o aterramento de energia e a antena WiFi, portanto, deve haver revestimento de cobre sob a antena WiFi.O comprimento do revestimento de cobre excede o comprimento da extensão da antena WiFi, e a extensão aumentará a sensibilidade do WiFi;ponto no pólo negativo de C2.Uma grande área de cobre pode proteger o ruído causado pela radiação da antena WiFi.Os 2 aterramentos de cobre são separados na camada inferior e coletados no bloco intermediário do ESP32-C por meio de vias.O aterramento de energia de RF precisa de uma impedância mais baixa do que o loop de aterramento do sinal, portanto, há 6 vias do aterramento de energia ao chip pad para garantir uma impedância suficientemente baixa.O loop de terra do oscilador de cristal não pode ter energia de RF fluindo através dele, caso contrário, o oscilador de cristal gerará instabilidade de frequência e o deslocamento de frequência WiFi não poderá enviar e receber dados.

7. Circuito de fonte de alimentação do LED de retroiluminação: Amostragem de chip de driver SOT23-6LED.A fonte de alimentação DC/DC para o LED forma um loop independente, e o terra DC/DC é conectado ao solo LOD de 3,3 V.Como o núcleo da porta PWM2 foi especializado, ele emite um sinal PWM de 600K e um RC é adicionado para usar a saída PWM como um controle ON/OFF.

8. Faixa de entrada de tensão: dois abaixadores DC/DC são projetados.Observe que os resistores R13 e R17 no circuito CC/CC não podem ser omitidos.Os dois chips DC/DC suportam entrada de até 18V, o que é conveniente para fonte de alimentação externa.

9. Porta de depuração USB TYPE C: TYPE C pode ser conectado e desconectado para frente e para trás.A inserção direta se comunica com o chip WIFI ESP32-C para programar o chip WIFI;a inserção reversa se comunica com o XR21V1410IL16 para programar o T5L.TYPE C suporta fonte de alimentação de 5V.

10. Comunicação de porta paralela: O núcleo T5L OS tem muitas portas IO livres, e a comunicação de porta paralela de 16 bits pode ser projetada.Combinado com o protocolo de porta paralela ST ARM FMC, ele suporta leitura e gravação síncronas.

11. Design de interface de alta velocidade LCM RGB: A saída T5L RGB está diretamente conectada ao LCM RGB, e a resistência do buffer é adicionada no meio para reduzir a interferência de ondulação da água LCM.Ao fazer a fiação, reduza o comprimento da conexão da interface RGB, especialmente o sinal PCLK, e aumente os pontos de teste da interface RGB PCLK, HS, VS, DE;a porta SPI da tela está conectada às portas P2.4~P2.7 do T5L, o que é conveniente para projetar o driver da tela.Lidere pontos de teste RST, nCS, SDA, SCI para facilitar o desenvolvimento do software subjacente.

(2) interface DGUS

imagem6 image7

1.6 Controle de exibição de variável de dados

(3) SO
//———————————DGUS formato de leitura e gravação
typedef struct
{
endereço u16;// endereço da variável de 16 bits da interface do usuário
u8 datLen;// comprimento de dados de 8 bits
u8 *pBuf;// ponteiro de dados de 8 bits
} UI_packTypeDef;//DGUS lê e escreve pacotes

//——————————-controle de exibição da variável de dados
typedef struct
{
sub16 VP;
u16X;
u16 Y;
u16 Cor;
u8 Lib_ID;
u8 tamanho da fonte;
alinhamento u8;
u8 IntNum;
u8 DecNum;
Tipo u8;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;// estrutura de descrição da variável de dados

typedef struct
{
Number_spTypeDef sp;//define o ponteiro de descrição do SP
UI_packTypeDef spPack;//define o pacote de leitura e gravação da variável SP DGUS
UI_packTypeDef vpPack;//define o pacote de leitura e escrita da variável vp DGUS
} Number_HandleTypeDef;//estrutura da variável de dados

Com a definição de identificador de variável de dados anterior.Em seguida, defina uma variável para a exibição de amostragem de tensão:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Primeiro, execute a função de inicialização
NumberSP_Init(&Hsample,voltage_sample,0×8000);//0×8000 aqui é o ponteiro da descrição
//——Variável de dados mostrando a inicialização da estrutura do ponteiro SP——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
número->spPack.addr = númeroAddr;
número->spPack.datLen = sizeof(número->sp);
número->spPack.pBuf = (u8 *)&número->sp;
        
Read_Dgus(&number->spPack);
número->vpPack.addr = número->sp.VP;
switch(number->sp.Type) //O tamanho dos dados da variável vp é selecionado automaticamente de acordo com o tipo de variável de dados projetado na interface DGUS.

{
caso 0:
caso 5:
número->vpPack.datLen = 2;
quebrar;
caso 1:
caso 2:
caso 3:
caso 6:
número->vpPack.datLen = 4;
caso 4:
número->vpPack.datLen = 8;
quebrar;
}
número->vpPack.pBuf = valor;
}

Após a inicialização, Hsample.sp é o ponteiro de descrição da variável de dados de amostragem de tensão;Hsample.spPack é o ponteiro de comunicação entre o núcleo do sistema operacional e a variável de dados de amostragem de tensão da interface do usuário por meio da função de interface DGUS;Hsample.vpPack é o atributo de alteração da variável de dados de amostragem de tensão, como cores de fonte, etc. também são passados ​​para o núcleo da interface do usuário por meio da função de interface DGUS.Hsample.vpPack.addr é o endereço da variável de dados de amostragem de tensão, que foi obtido automaticamente da função de inicialização.Quando você altera o endereço da variável ou o tipo de dados da variável na interface DGUS, não há necessidade de atualizar o endereço da variável no núcleo do sistema operacional de forma síncrona.Após o núcleo do SO calcular a variável voltage_sample, ele só precisa executar a função Write_Dgus(&Hsample.vpPack) para atualizá-la.Não há necessidade de empacotar voltage_sample para transmissão DGUS.


Horário da postagem: 15 de junho de 2022