基于T5L1芯片的可调功率LED电源设计方案

——来自迪文开发者论坛

本方案采用迪文T5L1芯片作为整机控制核心,接收并处理触控、ADC采集、PWM控制信息,驱动3.5寸液晶屏实时显示当前状态。支持通过WiFi模块实现LED光源亮度的远程触控调节,支持语音报警。

演示视频

35.可调功率LED电源方案

方案特点

1、采用T5L芯片高频率运行,AD模拟采样稳定,误差小;

2、支持TYPE C直连PC机进行调试、程序烧录;

3、支持高速OS核接口,16bit并口;UI核PWM口、AD口引出,低成本应用设计,无需增加额外MCU;

4、支持WiFi、蓝牙远程控制;

5、支持5~12V DC宽电压宽范围输入。

1.1 方案框图

1.2 方案背板实物图

1.3 用户界面 

资料下载

方案完整资料包下载请前往迪文开发者论坛获取:

迪文开发者论坛 - Powered by Discuz!

方案简介

   (1)硬件电路设计

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.25V地和逻辑地可以并在一起,但模拟地必须分开,模拟地要和数字地在LDO的输出大电容负极汇集,模拟正极也要在LDO大电容正极汇集,使AD采样噪声达到最低。

4、AD模拟信号采集电路:CP1为AD模拟输入滤波电容。为减少采样误差,MCU的模拟地和数字地独立分开,CP1的负极必须最小阻抗连接到MCU模拟地,晶振的2颗并联电容接到MCU模拟地。

5、蜂鸣器电路:C25为蜂鸣器供电电容。蜂鸣器是电感器件,工作时会有尖峰电流,为了降低尖峰,需把蜂鸣器MOS驱动电流调小,使MOS管工作在线性区域,并设计电路让它工作在开关模式。注意R18需并联在蜂鸣器两端,用于调节蜂鸣器声音品质,使蜂鸣器声音清脆悦耳。

6、WiFi电路:WiFi芯片采样ESP32-C,带WiFi+Bluetooth+BLE。布线上,射频功率地和信号地分开。 

1.5 WiFi 电路设计 

    上图中,上半部敷铜是功率地回路,WiFi天线反射地回路必须要大面积到功率地,功率地的汇集点在C6负极。功率地和WiFi天线之间要提供反射电流,所以WiFi天线下边必须要有敷铜,敷铜长度超过WiFi天线延伸长度,延伸长点会使WiFi灵敏度增加;下半部敷铜作为信号地,汇集点在C2负极。大面积敷铜可以屏蔽WiFi天线辐射带来的噪声。2个敷铜地在底层分开,通过过孔汇集到ESP32-C中间焊盘。射频功率地需要比信号地回路更低的阻抗,因此功率地到芯片焊盘有6个过孔,保证足够低的阻抗。晶振地回路不能有射频功率地流过,不然晶振产生频抖,WiFi频率偏移无法收发数据了。

7、背光LED供电电路:SOT23-6LED驱动芯片采样。DC/DC 给LED供电独立构成回路,DC/DC的地接到3.3V LOD地。由于PWM2口内核已经做专用化了,输出600K的PWM信号,增加一个RC把PWM输出当作一个ON/OFF控制。

8、电压输入范围:设计2个DC/DC降压。注意DC/DC电路中R13, R17电阻不能省,2个DC/DC芯片支持最高18V输入的,方便外部供电。

9、USB TYPE C调试口:TYPE C 可正反插拔,正向插入和WIFI芯片ESP32-C通讯,以便给WIFI芯片烧录代码;反向插入和XR21V1410IL16通讯,以便给T5L烧录代码。TYPE C支持5V供电。

10、并口通讯:T5L OS核有很多IO口空闲,可以设计16bit并口通讯。结合ST ARM FMC并口协议,支持同步读写。

11、LCM RGB高速接口设计:T5L RGB输出直连LCM RGB,中间中间加缓冲电阻,降低LCM水纹波干扰。布线时,降低RGB接口连线长度,特别是PCLK信号,增加RGB接口PCLK, HS, VS, DE测试点;屏SPI口连接到T5L的P2.4~P2.7口,方便自由度设计屏驱动。引出RST、nCS、SDA、SCI测试点,便于底层软件开发。

(2)DGUS界面设计

 

1.6 数据变量显示控件设置 

(3)OS主要程序

//------------------------------DGUS读写格式

typedef struct

    u16           addr;    //UI 16bit变量地址

    u8         datLen;    //8bit数据长度

    u8           *pBuf;    //8bit数据指针

} UI_packTypeDef;    //DGUS 读写包

//-------------------------------数字显示控件

typedef struct

    u16   VP; 

    u16   X; 

    u16   Y; 

    u16   Color; 

    u8     Lib_ID; 

    u8     FontSize; 

    u8     Algnment; 

    u8     IntNum; 

    u8     DecNum; 

    u8     Type; 

    u8     LenUint; 

    u8     StringUinit[11];

Number_spTypeDef;    //数据变量描述结构体

typedef struct

    Number_spTypeDef       sp;    //定义sp描述指针 

    UI_packTypeDef      spPack;    //定义sp变量DGUS读写包 

    UI_packTypeDef      vpPack;    //定义vp变量DGUS读写包

} Number_HandleTypeDef;    //数据变量结构体  

有了前面的数据变量handle定义,接下来给电压采样显示定义一个变量:

Number_HandleTypeDef  Hsample;

u16  voltage_sample;

首先 执行初始化函数

NumberSP_Init(&Hsample,voltage_sample,0x8000);    //这里的0x8000就是描述指针。

//---------------数据变量显示SP指针结构初始化--------------------------

void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)

    number->spPack.addr = numberAddr; 

    number->spPack.datLen = sizeof(number->sp);

    number->spPack.pBuf = (u8 *)&number->sp;

    Read_Dgus(&number->spPack);

    number->vpPack.addr = number->sp.VP; 

        switch(number->sp.Type)    //根据DGUS界面设计的数据变量类型自动选择vp变量的数据长度。   

        {       

            case 0:       

            case 5:           

                    number->vpPack.datLen = 2;                   

                    break;       

            case 1:       

            case 2:       

            case 3:       

            case 6:           

                    number->vpPack.datLen = 4;               

            case 4:           

                    number->vpPack.datLen = 8;                   

                    break;   

        }                

number->vpPack.pBuf = value;

}

     通过初始化之后,Hsample.sp 就是电压采样数据变量的描述指针;Hsample.spPack 是OS核通过DGUS接口函数和UI电压采样数据变量通信指针;Hsample.vpPack是改电压采样变数据变量的属性,比如字体颜色等,也是通过DGUS接口函数传递到UI核。Hsample.vpPack.addr 是电压采样数据变量地址,已经从初始化函数自动获取了。当你在DGUS 界面改变变量地址或变量数据类型时,无需在OS核同步更新变量地址。OS核心计算出voltage_sample变量后只要执行Write_Dgus(&Hsample.vpPack)函数更新就行,无需再把voltage_sample打包进行DGUS发送。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: T5L CPU 是一种集成了多种功能的高性能嵌入式处理器,是 DWIN OS 程序开发的重要基础。DWIN OS 是针对嵌入式应用做出的一款高效平台,开发具有自动更新、安全可靠、易于开发等优势的产品。 首先,要了解 DWIN OS 的架构和基本特点。DWIN OS 的架构包括操作系统内核、图形用户界面、网络协议栈、文件系统等模块。同时,它提供了一系列实用库和开发工具,湖办开发者快速、高效地开发软件应用。 其次,要选择适合 T5L CPU 的软件开发工具,例如 Keil MDK、IAR Embedded Workbench、CCS Studio 等。在开发过程中,要熟练掌握嵌入式 C 语言、汇编语言等技术。 最后,要有良好的软件设计思路和程序编写习惯。程序需要具有可读性、可扩展性、可重用性等特点,同时需要考虑代码的安全性和可靠性。 总的来说,基于 T5L CPU 的 DWIN OS 程序开发需要有深入的硬件和软件知识,也需要有良好的开发技巧和实践经验。只有不断学习和实践,才能编写出高质量的嵌入式应用程序。 ### 回答2: Dwin os 是一种嵌入式操作系统,基于 t5l cpu 设计,适用于工控、医疗、家电等领域。下面简单介绍一下基于 t5l cpu 的 dwin os 程序开发指南。 首先,需要熟悉 t5l cpu 的特性和寄存器配置,了解其所支持的指令集。然后,学习并掌握 dwin os 的编程框架和基本接口。可以从官方网站或参考资料中获得相关文档和示例代码,进行学习和练习。 在编程时,需要遵循开发规范,选择合适的编程语言和工具,为不同的设备配置不同的参数。为了使程序更加稳定和高效,建议使用多线程编程、处理异常情况等技术手段,确保软件的可靠性和可维护性。 在开发完成后,需要进行测试和试,以保证程序的正确性和可靠性。可以使用试工具、模拟器等方法进行试,定位并解决出现的问题。 最后,需要仔细审核程序,确认其符合用户需求和设计要求。如果需要,可以进行修正和优化,提高软件的质量和效率。 基于以上几点建议,可以有效地指导基于 t5l cpu 的 dwin os 程序开发,帮助开发者更加轻松地实现各种应用需求。 ### 回答3: 基于 t5l cpu 的 dwin os 程序开发指南主要是为了帮助用户更好地了解 t5l cpu 和 dwin os 平台,从而进行程序开发。下面我们将以以下三个方面进行讲解。 一、了解 t5l cpu t5l cpu 是一种高性能嵌入式处理器,广泛应用于智能家电、智能医疗、智能交通等领域。t5l cpu 的核心是 arm cortex-a7 处理器,具有低功耗、高效能和高可靠性的优点。 二、了解 dwin os 平台 dwin os 是一种基于 linux 内核的嵌入式操作系统,主要用于嵌入式设备的应用程序开发。dwin os 平台提供了丰富的应用程序接口和开发工具,方便用户开发各种应用程序,并且具有良好的可移植性和稳定性。 三、基于 t5l cpu 的 dwin os 程序开发 在进行基于 t5l cpu 的 dwin os 程序开发时,需要掌握 linux 的基本应用程序编程接口,如文件系统、进程、线程、定时器等。同时,还需要使用 c/c++ 等编程语言进行开发,掌握嵌入式开发工具链的使用,如交叉编译工具链、试器、仿真器等。 综上所述,基于 t5l cpu 的 dwin os 程序开发指南需要掌握多种技能和知识,并需要在实践中不断学习和积累经验,才能更好地进行程序开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值