打印

电容式感应与LED照明相结合之二

[复制链接]
892|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kk5290122|  楼主 | 2014-12-21 20:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    我们在第一部分中通过实际使用案例介绍了电容式感应型UI应用中所采用的不同LED照明技术。下面我们将了解一下实现脉冲宽度调制(PWM,面向LED控制应用的关键技术)的各种不同方法。

PWM有两大属性:
频率:用PWM信号快速开关LED,由于开关频率会产生LED闪烁,因此PWM频率应大于100 Hz,确保人眼不会感觉到闪烁。
占空比:PWM通过改变占空比、保持负载电流恒定以控制LED的亮度。LED的平均电流取决于占空比。平均电流会随占空比的提升而升高,进而提高亮度。占空比在0%100%之间的步长数量应满足应用中需要调节的不同亮度级数量要求。举例来说,如果应用在完全关闭(0%)到完全开启(100%)之间需要20个亮度级,那么就应支持5%的步长(除完全关闭之外包含20个步长)。
用微控制器实现PWM有两种方法。我们可用简单的定时器/计数器在固件中实现整个PWM逻辑,也可以选择集成硬件PWM功能的高级控制器来实现。

沙发
kk5290122|  楼主 | 2014-12-21 20:11 | 只看该作者
基于固件的PWM实现方案
    简单的固件实现方案需要定时器和中断服务子程序(ISR)。定时器在与占空比每个步长大小的相同时间内创造中断。举例来说,如果PWM周期为10ms100Hz)而步长大小为1ms10%的占空比),那么定时器就要每1msCPU发出中断,即:定时器周期 = 脉冲宽度/步长大小。

使用特权

评论回复
板凳
kk5290122|  楼主 | 2014-12-21 20:12 | 只看该作者
    图1给出了ISR中的逻辑。PULSE_WIDTH和ON_TIME代表PWM步长数量的脉冲宽度和开启时间。举例来说,PULSE_WIDTH = 5即满足5个亮度级的要求,而ON_TIME = 2则满足40%的占空比要求。ISR变量isrVar控制输出何时切换开/关。该逻辑可方便地进行扩展,从而支持多个LED引脚,而每个LED都有不同的占空比。


1 – 固件PWM ISR逻辑



使用特权

评论回复
地板
kk5290122|  楼主 | 2014-12-21 20:12 | 只看该作者
基于硬件的PWM实现方案
    高级控制器有驱动PWM专用硬件块。举例来说,赛普拉斯的PSoC4有一个TCPWM硬件块,能实现基于硬件的PWM驱动。通常说来,我们用带有比较功能的定时器来实现它,逻辑类似于上面讨论的固件逻辑。定时器将采用比较寄存器和周期寄存器。周期寄存器载入的值等于脉冲宽度,而比较寄存器载入的值等于开启时间。只要比较值大于tick值,定时器输出就会走高,反之就会走低。此外,tick达到最大(16位定时器为65535)时,会自动回滚为零。当输出布线到端口引脚,从而能用硬件块直接驱动LED

使用特权

评论回复
5
kk5290122|  楼主 | 2014-12-21 20:15 | 只看该作者
1总结了基于固件和基于硬件的PWM实现方案之间的差别。

1 – 基于固件和基于硬件的PWM实现方案



使用特权

评论回复
6
kk5290122|  楼主 | 2014-12-21 20:16 | 只看该作者
    我们在本部分分析了实现PWM的不同方法。在第三部分中,我们将探讨设计具有电容式感应和LED照明系统时所遇到的常见挑战,以及应对方法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

584

主题

6533

帖子

14

粉丝