如何在LED恒流驱动器上加入PWM亮度调节

2011-05-08 09:22:57来源: 互联网
引言

  Maxim Integrated Products为很多应用领域提供PWM (脉宽调制)亮度调节LED (发光二极管)驱动器。典型应用中,通过串口向LED驱动器发送指令改变相应LED的寄存器值进行亮度调节。用于亮度控制的数据通常为4位至8位,对应于16至256个亮度等级;有些Maxim的LED驱动器的亮度控制则通过调整漏极开路LED端口的恒定吸入电流大小来实现。

  该应用笔记讨论如何在LED恒流驱动器加入PWM亮度调节,通过控制LED电源的通、断调节亮度。也可以通过刷新数据位仿真外部PWM亮度控制。内置PWM的LED驱动器也可以通过外部PWM实现亮度调节,只要PWM信号的外部时钟可以同步。

  PWM仿真

  按照一定周期向LED驱动器发送开/关控制信号,可以仿真PWM亮度调节的效果。因为LED数据接口的传输速率远远高于PWM信号的频率,可以使用微控制器FPGA (现场可编程门阵列)很容易地仿真PWM调光方式。PWM开关频率、数据传输的时钟频率和PWM亮度等级之间的关系如式1所示:

  

式1.

  其中,fCLOCK为数据接口的时钟频率,fPWM为PWM频率,nPORT为控制端口数,nLEVEL为亮度等级。

  在该项技术中,PWM仿真数据由控制器连续发送到LED的每个端口,每个端口1位。所有端口更新一次即为PWM的一个台阶。从索引值1开始重复仿真PWM台阶,直至索引值等于设定的亮度等级,形成一个PWM周期。例如,如果亮度等级为256,每个端口刷新数据256次构成一个PWM周期。如果对应端口的亮度等级高于PWM仿真台阶的索引值,数据为1;否则数据为零。只要LED保持点亮状态,则始终重复PWM仿真周期。欢迎转载,本文来自电子发烧友网(www.elecfans.com)

  该PWM仿真控制可以由下列C程序实现:

  int INTENS[8] = {200, 100, 50, 25, 12, 6, 3, 1};

  bool LEDON = true, DATA[8];

  while (LEDON) {

  for {int i=0, i<256, i++} {

  for {int j=0, j<8, j++} {

  if INTENS[j]>i

  DATA[j]=1;

  else

  DATA[j]=0;

  }

  Send(DATA);

  }

  }

  PWM仿真技术适用于MAX6968和MAX6969。MAX6968为8端口LED恒流驱动器,数据接口传输速率可达25Mbps;MAX6969是MAX6968的16端口版本。利用这一方法可以实现16位或65,536级亮度控制,MAX6968的PWM频率可以设置在47Hz,MAX6969的PWM频率可以设置在24Hz。如果只要求12位的亮度控制分辨率,对应的PWM频率可以分别设置在752Hz和376Hz。PWM仿真技术无需对电路进行任何修改即可实现每个驱动口的亮度控制。

  LED电源的开关控制

  通过对LED电源进行开、关控制也可以实现LED的PWM亮度调节。图1所示电路利用PWM控制电源为LED提供额外的亮度调节。微处理器向LED驱动器发送I²C命令产生PWM信号,PWM波形可以由软件控制。这种方式适用于具有恒流LED端口,但没有内部亮度调节功能的MAX6969,以及带有可调节恒流LED端口的MAX6956。该方案通过一个晶体管控制PWM信号的占空比,达到亮度调节的目的。LED亮度可由微处理器通过LED驱动器间接地控制,也可以由晶体管直接控制。以MAX6956为例,恒流驱动与PWM占空比调节相结合,无需任何其它电路介入。

  

  图1. 采用PWM控制LED电源实现亮度调节

  图2所示电路采用MOSFET晶体管作为开关器件,有助于提高效率。

  

  图2. 功率MOSFET作为开关器件

  利用下式计算外部晶体管的功耗

  

式2.

  其中,tRISE为晶体管的上升时间,tFALL为晶体管的下降时间,T为PWM周期,tON/T为PWM亮度等级,I为LED总电流,RON为晶体管的导通电阻。欢迎转载,本文来自电子发烧友网(www.elecfans.com)

  式2给出了晶体管开关损耗与导通损耗之和,开关损耗由开/关时间决定。当晶体管闭合或断开时,在晶体管两端电压从零上升到VLED的过程中,或者是在反方向变化时,几乎所有电流流过晶体管。

  使用高速开关晶体管时,上升时间和下降时间通常为50ns。对于周期(T)为1/1000秒的PWM、LED电压(VLED)为5.5V、LED总驱动电流为200mA时,晶体管总功耗为:

  

式3.

  若晶体管导通电阻为0.1Ω,则晶体管在最高亮度时的导通功耗为:

  

式4.

  从式4可以看到,合理选择高速开关晶体管,能够将损耗降至最小。

  主控与各端口的分层控制

  有些LED驱动器的PWM亮度控制可以通过主控与各端口之间的分层控制实现。例如,MAX6964、MAX7313、MAX7314、MAX6965、MAX7315和MAX7316。如图3所示,各端口的PWM亮度控制波形重复多次。每重复一次相当于一次主机控制。由此,如果主机控制15级亮度调节,则控制波形重复15次。LED驱动器各端口的控制信号决定了波形的占空比。主控信号决定控制波形的重复次数。比如:某个端口的占空比为3/16,主控设置为4/15。波形的导通时间占整个周期的3/16,波形在全部15个时隙的前4个时隙重复。

  

  图3. 主控和各端口的PWM亮度分层控制

  遗憾的是,一个MAX6964的主控信号不能与另一MAX6964的端口信号相组合,以构成多芯片链路机制。因为,多个MAX6964之间无法实现时钟同步;每个端口的PWM控制导通时间不能与主控制器亮度调节信号的通/断时间窗口保持一致。如果时钟信号的边沿无法对齐则无法同步控制亮度,LED会变暗。由于时钟之间的相位偏差,也会导致LED周期性地闪烁(通、断)。

  分层PWM亮度调节方案可以通过LED驱动器避免闪烁问题,适用于MAX7302等具有时钟同步机制和较宽的时钟频率范围的器件。图4给出了利用两片MAX7302和开关晶体管实现PWM亮度分层控制的典型电路。

  

  图4. 利用两片MAX7302实现PWM亮度分层控制

  其中一片MAX7302的输出端口连接在LED的阴极,每路输出端口作为一个独立的亮度控制端口。另一片MAX7302的输出通过外部晶体管连接在LED的阳极,这一MAX7302作为亮度主控制器。每个端口的亮度控制由外部1MHz高频时钟驱动,这是MAX7302工作时钟的上限。例如,将一个端口的亮度等级设置为15/33时,P2亮度控制端口输出作为主控制器的时钟输入。得到的主控制器等效时钟频率约为1000000/33 = 30kHz。该应用实例中,每个亮度控制端口可以用于调节RGB LED的颜色,而主控制器用来调节亮度。

关键字:加入  亮度  调节

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/0508/article_8231.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
加入
亮度
调节

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved