微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一款基于XMC1200的LED智能调光设计

一款基于XMC1200的LED智能调光设计

时间:03-13 来源:互联网 点击:

英飞凌新一代XMC1200系列MCU将Cortex-M0内核与尖端的65nm制程技术结合在一起,内建了亮度与色彩控制单元,可以对LED的进行智慧调光,实现亮度的指数调节,色彩的线性调节,同时可以避免低频时候产生的闪烁现象,有效的保护人眼。

目前广泛使用的LED调光方式主要为模拟的恒流控制方法和PWM控制,存在控制复杂、功能单一、且容易产生闪烁的缺点。针对上述挑战,英飞凌公司推出了新一代XMC1200系列MCU。它将ARM Cortex-M0内核与尖端的65nm制程技术结合在一起,克服了8位设计的限制,使当前的8位用户有机会享受32位性能,而无需在价格或易用性方 面付出代价。XMC1200的FLASH容量从16KB- 200KB不等,16K SRAM,内核主频32M Hz,12bit ADC。特别的,XMC1200内建了亮度与色彩控制单元(BCCU),专门针对LED智能调光应用。

图 1 XMC1200系列MCU资源

基于XMC1200 BCCU的智能调光方案

XMC1200内建的亮度与色彩控制单元(BCCU)可以实现对LED亮度和色彩的全数字控制,可实现以下关键特性:

1) 自动消除低频闪烁

2) 自动色彩变化控制

3) 智慧的柔和调光控制

方案优势:

XMC1200作为单芯片解决方案,可以节省大量的CPU开销,大幅降低软件开发的时间,有效的减少人为导致的软件错误风险。同时XMC1200系列MCU具有高性能、大容量,高可靠性的特点,可以把智慧调光广泛的应用于生活、工业的各个方面。

第一页:XMC1200 BCCU的智能调光方案

第二页:RGB LED调光的电路图

第三页:线性调光器和Sigma Delta调制器

第四页:闪烁看门狗/打包器

图2为利用XMC1200实现1组RGB LED调光的电路图。

图2 XMC1200 BCCU RGB三色调光电路方案

从上图可以看出,在XMC1200的BCCU中,主要引入了以下模块:

1) 指数型调光引擎

人眼对于光强的感知实际是对光振动的振幅的感知,而光的强度和振幅的平方成正比,这就导致人眼对光强的线性变化无法做出线性的感知,而是会产生近似对数的关系。为此,如果需要让人眼感知到线性的变化,则需要让光强按照指数型改变。

为了解决这种难题,BCCU创新的增加了指数型调光模块,使得光强可以自动的按照指数规律变化,从而达到对人眼的感知的线性变化,从而达到柔和调光的效果。指数型调光的模块和原理如图3。

图3 指数型调光模块及原理

代码实现

{

// 指数型调光引擎0,终值0xABC写入影子寄存器

WR_REG((BCCU0->DL0,BCCU_DL0_DLEV_Msk,BCCU_DL0_DLEV_Pos,0xABC);

// 调整指数型调光变化速率为0xCBA

WR_REG((BCCU0->DTT0,BCCU_DTT0_DIMdiv_Msk,BCCU_DTT0_DIMdiv_Pos,0xCBA);

// 指数型调光引擎0,终值写入

SET_BIT(BCCU0->DESTRCON,BCCU_DESTRCON_DE0S_Pos);

// 打开BCCU指数型调光引擎0

SET_BIT(BCCU0->DEEN,BCCU_DEEN_EDE0_Pos);

第一页:XMC1200 BCCU的智能调光方案

第二页:RGB LED调光的电路图

第三页:线性调光器和Sigma Delta调制器

第四页:闪烁看门狗/打包器

2) 线性调光器

BCCU 中引入了线性调光器,特性可以根据亮度目标值和变化时长,生成线性变化的亮度输出,从而达到线性调整色彩的目的。改特性在RGB三色调光方面有特别的优 势,若设定RGB三通道变化时长一致,则可以达到同步进行三色调节的目的,轻松的实现三色混合。在图4中,RGB三色同一时刻开始变化,并在同一时刻达到 变化终点,它们的合成颜色在三色空间中表现为一条直线。

图4 线性调光模块及原理

代码实现

{

// 设置BCCU信道0的线性调光速率为0xCBA

WR_REG(BCCU0->INTS0,BCCU_CHCONFIG0_LINPRES_Msk,BCCU_CHCONFIG0_LINPRES_Pos,0xCBA);

// 设置调光终点为0xABC,写入影子寄存器

WR_REG(BCCU0->INTS0,BCCU_INTS0_TCHINT_Msk,BCCU_INTS0_TCHINT_Pos,0xABC);

// 线性调光终值写入

SET_BIT(BCCU0->CHSTRCON,BCCU_CHSTRCON_CH0S);

3) Sigma Delta调制器

通过开关LED,能够使得LED发出一定的光亮,若切换速度足够快,则人眼将感知不到LED的开关,达到连续发光的目的,而LED的亮度则取决于开通的平均时间。

BCCU中内置了Sigma Delta调制器,用于将亮度数值变换为比特流,产生快速开关的脉冲密度调制信号(PDM),通过这个信号来控制LED的开关。

大家比较熟知的开关信号有PWM,PDM和PWM的区别可以参考图5,在相同的较长时长内,PDM和PWM信号有相同的开通时间,但PWM表现为周期恒定,脉宽变化,但PDM则表现为周期不恒定,但脉宽相同。

相比来说BCCU中提供的PDM具有较高的频率,可以达到较高的分辨率,EMI特性更好,同时因频率较高,更不易产生低频闪烁。

图5 PWM/PDM信号对比

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top