基于I2C接口的LED驱动器优势探讨

发布者:DazzlingGaze最新更新时间:2014-10-23 来源: elecfans关键字:I2C接口  LED驱动器 手机看文章 扫描二维码
随时随地手机看文章

  led无疑是当前最热的一个应用,无论是手持设备、游戏机、霓虹灯、广告牌等等,眩目的色彩及高质的光亮,总能第一时间吸引人的眼球。在当前众多的LED控制器面前,如何选择一款功能丰富且性价比又高的产品来迎合自己的设计,无疑是摆在每个设计师面前的问题。

  最简单的LED驱动,我们可以用普通的I/O来实现。但I/O控制只能实现LED的ON与OFF,无法用来进行混光、闪烁等功能,而且每个LED都需要占用一个单独的I/O资源,无疑性价比很低。我们也可以用专用的大电流LED控制器来设计,但昂贵的成本首先会成为问题,而且设计复杂,程度也会跟着各种干扰的出现相应地提高。基于这些,恩智浦(NXP)推出一系列使用I2C接口的LED驱动器,它可以通过I2C接口的两根线,去同时控制从4个到24个不等LED的ON/OFF、闪烁及RGB混光。在混光方案里,每个LED都是由一个独立的8bit/256阶PWM来驱动。目前,通过芯片本身能驱动的每个LED电流范围为25mA到100mA之间。当然,对于一些大电流的应用场合,我们只需用外加场效应管的方式来实现。

  这种基于I2C的LED控制方式,增加了设计的方便性与灵活性,而且也会减少在软硬件方面的投入,使披着神秘面纱的LED对我们来讲顿时显得简单和精彩。下面,我们将会以恩智浦LED驱动器PCA9633为例,通过几个简单的应用来全面阐述这种LED驱动器的优势所在。

  PCA9633是四路LED驱动器,且每路可驱动最大25mA电流,并根据封装的不同提供了可选的固定I2C地址和带4位或7位硬件可编硬件地址(图1)。

  

  图1:PCA9633引脚及内部结构示意图

  从图1我们可以看到,每一路LED都是由一个单独的8bit/256阶的PWM来控制,且由于PWM足够快,使其理论上可以通过它所驱动的四个 LED混出任意颜色的光。除了每一路单独的PWM,PCA9633还提供了一个Group PWM,通过它我们可以用来控制所调混色光的亮度及频率,弥补了只调单个PWM不能实现的一些功能。那么PCA9633究竟如何来实现调光呢?秘密还是在PWM上面。如果不使用PWM,那么它只能完成开和关的动作;低速的PWM只能实现LED闪烁,并不足以达到混色的目的;高速的PWM就可以实现RGB混色;如果PWM速度可控,那么就可以实现闪烁和混色的双重功能。而且通过可控的8bit/256阶PWM,加大了色阶提升了色彩的层次感(见图2)。

  

  图2:混色原理(点击图片查看清晰原图)

  知道了混色的原理,那么一个具体的色彩又是如何产生的呢?我们知道人眼对色彩的感知是各种色彩亮度均值的叠加,我们可以通过控制PCA9633 每个PWM的占空比,去控制所驱动LED的亮度。根据三基色原理,如果我们驱动的是RGB(或者RGBA)LED,那么通过调节这三个LED的不同光亮,就可以得到所要的色彩。图3是PCA9633控制RGB 三个LED来调粉色光的例子。

  

  图3:PCA9633控制RGB三个LED来调粉色光

通过以上的描述,我们基本知道了PCA9633的内部结构和驱动原理。下面我们将会以PCA9633固定I2C地址的几个应用,来进一步理解这种LED控制器的优势所在。

  第一个应用,我们将用PCA9633来控制亮度条。我们知道一般像亮度条这样的应用,往往需要用到大量LED串联来进行。如果用单个接口去控制每个LED,会使成本和软件复杂度大大增加。而通过I2C,在硬件上只需要两条控制线,在软件上只需发一条字节命令,就可以轻松进行操控。除此之外,由于 I2C器件地址的唯一性,可以按所驱动LED的数量使用几个PCA9633来进行控制。如果实际应用中PCA9633本身的驱动电流不够,只需在外围加一个FET就可以轻松解决。另外,PCA9633独有的Group PWM使得控制整个亮度条的光强和闪烁变的得心应手。下面是其原理图(见图4),其中I2C master由系统提供,可以是MCU,也可以是逻辑电路。

  

  图4:用PCA9633控制亮度调示意图

  图4中左半部为I2C的master,不作细述。右边最上为LED限流电阻,通常LED的前向电压为3V左右,根据不同的颜色和制造工艺会有一些差别。我们可以通过所需LED电流去计算这个限流电阻的值:  R=(Vsupply-Vfsum)/If。如果所需的LED电流大于25mA,那么图中所加的FET可以轻松解决这一问题。当我们外加了FET以后,只需把PCA9633的相应寄存器的OUTDRV设为高就可以了,以区别于它的默认值。现在我们可以看到用PCA9633去控制如此多的LED,原理图相当简洁,同样在软件设置寄存器上也同样方便。PCA9633提供了简易且完整的内部寄存器,例如LED输出结构设置、节电模式设置、芯片使能模式设置、 LED的输出状态设置,以及每个PWM和Group PWM的控制寄存器设置等。除此之外,PCA9633还提供了一个寄存器设置递增位,也就是说如果我们设置了这一位,那么我们可以通过一个指令序列来完成内部所有寄存器的顺序配置,这在一些特定的应用中是非常有用的,能最大程度节省软件和系统资源。下面,我们将通过另外一个例子来说明内部寄存器的设置。

  第二个例子是我们用PCA9633来完成呼吸灯的功能。虽然PCA9633内部不带呼吸灯模块,但我们可以通过一些简单的寄存器设置来实现这个功能,这样相比于专用的呼吸灯芯片在成本上无疑有很大的优势。为了便于说明,我们只用PCA9633来控制一个LED的呼吸动作,原理图很简单,在此略去,通过控制这一个LED的渐亮与渐暗过程以达到呼吸的目的。要实现这个功能,PCA9633的独立PWM将是最主要的因素。如前我们已经提到每个LED 都是由一个8bit/256阶PWM来控制,那么也就是说,每个灯有256段亮暗色阶可调,可以完美实现呼吸功能。具体,我们通过控制PWM的占空比来完成。如果我们的LED是由PCA9633的PWM0来控制,那么PWM0的占空比将决定这个LED的亮度:Bright(duty cycle)=PWM0[7:0]/256。撑握了这一原则,我们就可以通过I2C往PCA9633的寄存器上写点什么了:

  START

  0xC4 (往PCA9633 I2C设备地址C4写操作)

  00h=0x00; 01h=0x00 (设置LED的输出结构为开漏)

  08h=0x02 (设置LED由PWM0来控制)

  DELay 1 second (延时1秒进行呼吸)

  02h=bright; For bright=0; bright《255;bright++ (LED从0到255渐亮)

  Delay 10 ms (完成渐亮延时10毫秒继续)

  02h=bright; For bright=255; bright》0;bright- - (LED从255到0渐暗)

  STOP

  到此,一个完整的呼吸过程就完成了,用几个简单的寄存器设置,就完成了看起来似乎只有用复杂系统或专用芯片才能做的事情。从以上两个例子,我们可以看到用恩智浦的I2C LED驱动器,不论是硬件上还是软件上都是非常简单和易操作的,而且用此类器件所能实现的功能,丝毫不比一些系统和专有芯片逊色。

  综上所述,恩智浦I2C LED驱动器提供了高性价比的LED设计方案,相比于用GPIO或专用LED驱动器,不仅节省了系统资源,也使设计的成本和复杂度大大减少,并可以有效提高设计的可靠性和驱动光的均匀性。此外,采用此类 LED驱动器,可以很有效地帮助我们减少设计周期并提升设计灵活性。恩智浦目前可以向客户提供从4路到24路不等的I2C LED驱动器,并已应用于汽车、家电、通信等各大领域。

关键字:I2C接口  LED驱动器 引用地址:基于I2C接口的LED驱动器优势探讨

上一篇:基于Wave Panel的HID设备通讯接口设计
下一篇:火控计算机接口电路的设计

推荐阅读最新更新时间:2024-05-02 23:14

汽车照明的LED驱动器要求及常见方案
在当今快速演变的汽车照明市场,LED驱动器的作用尤为重要:为汽车厂商提供更节能的选择以满足消费者对燃油经济性的要求、提升能见度安全性以降低或避免交通事故发生率、打造个性化的车辆氛围达至消费者对汽车独特的造型期望…… 在未来8年,汽车照明系统整体年复合增长率几达10%,市场发展潜力巨大,而用于此类系统的驱动器也将有类似的增长。 汽车照明的驱动器要求 LED是根据电流而改变亮度的器件,而LED驱动器通过调节一个LED或LED串的功率,提供恒定的光输出。每一汽车照明方案都需要一个独特的驱动设计,工程师需根据不同的要求如串联或并联、高功率或低功率以及成本或功能等等,为特定应用选择合适的LED驱动器以尽量提升能效。 决定哪种LED驱动器最适用
[嵌入式]
用户自定制LED驱动器的设计
随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样,诸如CRT显示、LCD显示、多位LED显示及发光二极管显示等应运而生。在这些显示当中,LED及发光二极管显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。    在LED的驱动和显示单元的设计中,采用的方式有许多种:利用计算机芯片的端口作为LED的驱动口,并通过软件编程加外部驱动实现,缺点是占用计算机芯片的时间和相关资源;利用专用接口芯片如Intel8155、8255等作为计算机芯片的端口扩展,并通过软件编程加外部驱动实现,缺点是电路较复杂,功耗
[应用]
LPC23xx通过I2C接口读写AT24C64
网上关于philips的32位ARM微控制器通过I2C接口读写AT24C系列E2PROM的例子基本都是通过中断方式读写的,包括周立功的书上也是用中断方式的,用这种方式,要在中断服务程序中进行复杂的处理,程序比较难以理解,使用非中断方式编程比较方便,便于理解。以下程序本人在LPC2364上测试通过。程序中的一些常量做了简要说明,具体课查看LPC23xx系列微控制器的用户手册。 I2C.h #define AT24C64NW 0xA0 #define AT24C64NR 0xA1 #define MAX_TIMEOUT 0x00FFFFFF #define I2CONSET_I2EN 0x00000040 /* I2C
[单片机]
单段隔离型功率因数校正LED驱动器
功率因数校正,就是将畸变电流校正为正弦电流,并使之与电压同相位,从而使功率因数接近于1。提高功率因数对于降低能源消耗,减小电源设备的体积和重量,缩小导线截面积,减弱电源设备对外辐射和传导干扰都具有重大意义。故而有功率因数校正的LED驱动器越来越受欢迎。本文将以安森美半导体的两款单段隔离功率因数校正LED驱动器NCP1652A及NCL30001为例,介绍高能效的单段功率因数校正LED驱动器的设计方法及应用方案。   单段隔离型功率因数校正LED驱动器解决方案有:基于NCL30000的离线型高功率因数Triac可调光LED驱动器;用于高压LED灯串的基于NCP1044升压式转换器的LED单段功率因数校正驱动方案;基于NCL1652A
[模拟电子]
单段隔离型功率因数校正<font color='red'>LED驱动器</font>
PowerintLNK419EG18WT8管灯LED驱动设计方案(DER298)
LED驱动器采用LinkSwitchTM-PH系列LNK419EG,输入电压90VAC到265VAC,输出电压200V/90mA.拓扑采用单级非隔离降压-升压,具有紧凑和低元件数的特点,线路和负载调整有于2%,110VAC的效率大于89.5%, THD小于20%,而230VAC时的效率大于90%,THD小于28%.本文介绍了设计方案DER298的主要特性,优势和指标,电路图和材料清单. Constant Current ( 2% Regulation), Non-Isolated Buck-Boost, Power Factor Corrected,18 W LED Driver Using LinkSwitchTM-PH
[电源管理]
PowerintLNK419EG18WT8管灯LED驱动设计方案(DER298)
高压、可调恒流LED驱动器MAX16800应用设计
一 MAX16800性能介绍   MAX16800是一种可工作于高电压、可设定恒流输出的高亮度白色LED驱动器。该器件主要特点:工作电压范围6.5~40V;恒流输出范围35~350mA;输出电流精度可达±3.5%;内部集成了低压差恒流调整管,其压差典型值为 0.5V;另有输出5V、4mA线性稳压器给内部电路供电;过热关闭保护;外部有电流检测电阻及内部差动电流检测放大器,形成控制回路,使led电流稳定;有EN端作选通及输入PWM信号作调光(EN接低电平时,耗电典型值12μA);小尺寸有加强散热功能的16管脚TQFN封装;工作温度范围-40~+125℃。     MAX16800的内部结构框图如图1所示。它由差动电流检测放大器
[电源管理]
高压、可调恒流<font color='red'>LED驱动器</font>MAX16800应用设计
凌力尔特推出准确度达1%的I2C电池电量计
    凌力尔特公司 (Linear Technology Corporation) 推出 LTC2941/LTC2942 电池电量计,这些器件具有面向 2.7V 至 5.5V 系统的 I2C 接口。与大多数库仑计量器通过电流采样和数字积分来推断电荷的做法不同,LTC2941/LTC2942 采用一种连续时间模拟积分器来直接测量电荷,从而实现了极小的偏移和增益误差,并且可得到更优越的总电荷准确度。LTC2941 在室温时以 1% 的准确度测量流入和流出电池的电荷。LTC2942 也是这样,同时还含有一个 14 位无延迟增量累加 (No Latency ΔΣTM) ADC,以分别以 1.3% 和 ±5˚C 的准确度测量电池电压和芯片
[电源管理]
线性LED驱动器创新方案及应用
在众多照明应用中,线性LED驱动器是首选的方案,因为它们相对简单,易于设计,且使LED能够以精确稳流电流来驱动,而无论LED正向压降或输入电压如何变化。由于驱动器是线性结构,它们必须匹配应用的功率耗散要求。安森美半导体提供电流范围在10 mA到1 A之间的宽广范围线性LED驱动器方案,包括新颖的线性恒流稳流器(CCR)方案及其它众多线性驱动器方案。   针对低电流LED驱动的线性CCR及应用示例   在电流低于350 mA的许多低电流LED应用中,如汽车组合尾灯、霓红灯替代、交通信号灯、大型显示屏背光、建筑物装饰光及指示器等,可以采用普通的线性稳压器或是电阻来提供LED驱动方案。电阻用于限制LED串的电流,是成本最低的方案
[电源管理]
线性<font color='red'>LED驱动器</font>创新方案及应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved