苑乔+李晓青+梁银川
摘 要: 介绍了一种应用于多通道恒流LED驱动芯片的PWM调光功能的实现方案,通过脉宽调制来改变流过各个通道LED的平均电流,进而实现了LED的调光控制。该模块由128 b串行移位寄存器,8 b数据锁存器,8 b计数器,以及8 b PWM 灰度比较器构成,输出具有256阶灰度调节功能的PWM控制信号。外部数据时钟采用25 MHz,内部振荡器采用1.2 MHz。整体功能由Verilog HDL语言编程实现。
关键词: LED驱动; PWM调光; 占空比; Verilog HDL
中图分类号: TN201?34 文献标识码: A 文章编号: 1004?373X(2014)07?0157?03
Design of PWM dimming function for 16?channel LED driver
YUAN Qiao, LI Xiao?qing, LIANG Yin?chuan
(Space Star Technology Co., Ltd., Beijing 100086, China)
Abstract: An implementation scheme of PWM dimming function for 16?channel LED driving chip is presented in this paper. The dimming control of LED is realized changing the duty ratio of the LED average current through all the channels′ LEDs by PWM method. The module is composed of 128?bit serial shifting register, 8?bit data latch, 8?bit counter and 8?bit PWM grey?level comparator to output a PWM control signal with 256?order grey dimming function. The external data clock frequency is 25 MHz. The internal oscillator frequency is 1.2 MHz. The overall function is implemented by programming with Verilog HDL language.
Keywords: LED drive; PWM dimming; duty ratio; Verilog HDL
0 引 言
无论作为何种光源,能够进行调光都是一种很重要的功能。这不仅仅是为了使人们在家居环境中更加舒适,而且在今天来说,减少不必要的电光线,以进一步实现节能减排的目的是更加重要的一件事[1]。而且对于LED光源来说,调光也是比其他荧光灯、节能灯、高压钠灯等更容易实现,所以更应该在各种类型的LED灯具中加上调光的功能[2]。
目前对LED进行调光大致有两种方法:一个是利用模拟电路进行调光,这种方法是线性改变流过LED的电流;二是数字调光,即利用PWM控制方法,使用开关电路来改变流过LED的驱动电流的占空比从而改变流过LED的电流的平均值[3]。
虽然线性调节的方法比较简单,易于实现,但是它效率较低,并且会引起光谱由白光向黄光进行色彩的偏移。虽然偏移比较轻微,但是在一些敏感的LED应用中有可能会被检测出来[4?5]。
脉宽调制(PWM Dimming)是目前比较常用的方法,以其控制简单,灵活和动态响应好的优点成为了LED调光的最佳方式。PWM灰度控制方法是通过改变流过每个通道的LED的驱动电流的占空比来改变流过LED的平均电流的大小,从而使LED呈现出不同的发光强度。由于在所有的脉冲周期内,流过LED的最大正向电流不变,因而不会发生光谱的偏移,同时,为了保证人眼感受不到电流开关过程中导致的LED闪烁,PWM信号频率不得低于[6?7] 100 Hz。
1 16通道恒流LED驱动芯片
本文设计的16通道恒流LED驱动芯片的整体框架如图1所示。该芯片工作电压为3.3~5.5 V,带隙基准电压源提供了1.25 V的基准电压输出,经过分压产生另外的基准电压用于过温保护和电流调节。PWM灰度调节的功能是通过128 b移位寄存器、锁存器、计数器以及数据比较器来实现的,通过移位寄存器把串行输入的数据转换成并行输出的数据,并把数据锁存到16个锁存器中,每个锁存器是由8 b数据位构成,将这16个数据和计数器的数据进行256次比较,这样就会产生不同占空比的输出信号,就是所需要的灰度控制数据。将这个输出的控制信号提供给16路输出端,通过输出端电流的打开和关断,就会实现256级电流灰度调节。外接电阻从1.83~16.4 kΩ对输出电流可调,每个输出端口提供5~45 mA的恒定电流,可以控制LED的发光亮度。因此,流过LED的电流实际是输出端电流的最大值与灰度控制信号的占空比之积。输出级采用高精度电流镜,以确保精确的输出电流匹配度。输出耐压为20 V,所以每路输出端可串接多个LED。具有25 MHz的高速数据时钟,以及1.2 MHz内部振荡器(用于PWM)。
图1 16通道恒流LED驱动芯片整体框架图
2 PWM调光功能的设计
由图1看出,该PWM模块由128 b移位寄存器,8 b数据锁存器,8 b计数器,以及8 b灰度数据比较器组成。模块整体上是串行输入并行输出的结构,包括两个输入端口,分别是:CKI时钟信号输入端口,SDI串行输入信号端口,两个输出端口,分别是: CKO时钟信号输出端口,SDO串行输出信号端口(在设计中考虑到噪声信号的问题, 在输入端口和后级电路之间加入了施密特触发器,用来过滤噪声)。
其工作过程为:在同步时钟 CKI 的作用下,外部数据逐一进入移位寄存器,待 128个时钟后,系统输出一个高电平信号,将移位寄存器中的数据输入到锁存器,此时,锁存器数据与计数器数据通过8 b灰度数据比较器进行256次数据比较,从而输出具有一定占空比的灰度数据控制信号。工作流程图如图2所示。
PWM灰度控制目的是控制 LED 产生不同的灰度,该电路中,产生一个灰度控制信号,控制流过LED的电流的打开和关断,这个灰度控制信号是由 PWM 计数器产生的8 b信号与SDI 输入的各通道的灰度数据进行了256次比较,输出具有一定占空比的灰度控制信号,将这个信号输出到LED的开关控制端,进而实现256级灰度调节功能。
图2 PWM工作流程图
该芯片中每个通道的灰度控制数据为8 b,16通道的恒流输出总共有128 b控制数据。8 b的灰度数据可以实现28级亮度调节。
在SDI端口的数据传输过程中,首先读入的是 OUT15通道的最低信号位,最后读入的是 OUT0 通道的最高信号位。因此,各输出通道的 LED驱动电流占空比可由式(1)计算得到[8]:
[DXOUT=L[7]*27+L[6]*26+L[5]*25+L[4]*24+L[3]*23+L[2]*22+L[1]*21+L[0]256] (1)
式中[L[x]=]“0”或“1”,是第[N]个通道的灰度数据的第[x]位数据。灰度数据“0000 0000”产生的输出电流占空比为0,而“1111 1111”产生的输出电流占空比为[9?10]1。
本文的PWM调光模块功能由Verilog HDL语言编程实现。
3 PWM模块功能的验证
本模块的功能仿真由Modelsim完成,测试数据:
[a=]128′10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110;
16个通道的仿真结果如图3所示。由图3可以看出,每个通道实际输出的PWM控制信号的占空比与由式(1)计算应得理论数据完全符合,因此实现了该模块的PWM调光功能。而且由于每个通道输入数据不同,所以输出具有不同占空比的开关控制信号,从而使每个通道输出的电流值不同。
图3 PWM功能仿真结果
将该PWM调光功能模块加入16通道恒流LED驱动芯片,在Cadence Spectre下进行芯片的联合仿真,如图4所示是在典型工艺角(TT model)下,[VDD=]5 V,[T=]25,[Rext=]2 kΩ时,对该芯片进行瞬态仿真,所得到的16个通道的输出电流的仿真结果。
图4 16通道PWM控制输出电流的仿真结果
从图4中可以看出,由于每个通道输入的灰度数据不同,因此每个通道输出电流的占空比也完全不同,它是由每个通道所输入的灰度数据所决定的。以几个通道的输出结果为例进行说明:通道一的灰度数据为<1111 0000>,因此输出电流的占空比就为[240256,]通道二的灰度数据为<1110 0000>,因此输出电流的占空比就为[224256,]通道三的灰度数据为<1100 0000>,因此输出电流的占空比就为[192256,]其他通道的结果依次类推,仿真结果表明该PWM调光模块实现了在16通道恒流LED驱动芯片中的数字调光功能。
4 结 语
本文设计了一种应用于多通道恒流LED驱动芯片的PWM调光功能模块,通过Verilog HDL语言编程实现,并由Modelsim进行仿真。结果表明可以实现PWM调光控制信号的输出,并与理论值相符,另外与芯片的联合仿真表明该模块实现了预期的设计功能。
参考文献
[1] 杨清德.LED工程应用技术[M].北京:人民邮电出版社,2010.
[2] 刘胜利.LED驱动电路设计与应用[M].北京:中国电力出版社,2009.
[3] 陈传虞,刘明,陈家桢.LED驱动芯片工作原理与电路设计[M].北京:人民邮电出版社,2011.
[4] 毛兴武,张艳雯,周建军,等.新一代绿色光源LED及其应用技术[M].北京:人民邮电出版社,2008.
[5] ALLEN P E, HOLBERG D R. CMOS analog circuit design [M]. USA: Oxford University Press, 2005.
[6] RAZAVI Behzad. Design of analog CMOS integated circuits [M].西安:西安交通大学出版社,2003:88?95.
[7] GRAY P R, MEYER R G. Analysis and design of analog integrated circuits [M]. New York: Wiley, 2001.
[8] 王雅芳.高亮度LED照明与开关电源供电[M].北京:机械工业出版社,2011.
[9] 周志敏,周纪海,纪爱华.LED驱动电路设计实例[M].北京:电子工业出版社,1995.
[10] 郑久云,韩志刚,罗胜钦.白光LED的应用与驱动[J].现代显示,2009,20(8):12?16.
其工作过程为:在同步时钟 CKI 的作用下,外部数据逐一进入移位寄存器,待 128个时钟后,系统输出一个高电平信号,将移位寄存器中的数据输入到锁存器,此时,锁存器数据与计数器数据通过8 b灰度数据比较器进行256次数据比较,从而输出具有一定占空比的灰度数据控制信号。工作流程图如图2所示。
PWM灰度控制目的是控制 LED 产生不同的灰度,该电路中,产生一个灰度控制信号,控制流过LED的电流的打开和关断,这个灰度控制信号是由 PWM 计数器产生的8 b信号与SDI 输入的各通道的灰度数据进行了256次比较,输出具有一定占空比的灰度控制信号,将这个信号输出到LED的开关控制端,进而实现256级灰度调节功能。
图2 PWM工作流程图
该芯片中每个通道的灰度控制数据为8 b,16通道的恒流输出总共有128 b控制数据。8 b的灰度数据可以实现28级亮度调节。
在SDI端口的数据传输过程中,首先读入的是 OUT15通道的最低信号位,最后读入的是 OUT0 通道的最高信号位。因此,各输出通道的 LED驱动电流占空比可由式(1)计算得到[8]:
[DXOUT=L[7]*27+L[6]*26+L[5]*25+L[4]*24+L[3]*23+L[2]*22+L[1]*21+L[0]256] (1)
式中[L[x]=]“0”或“1”,是第[N]个通道的灰度数据的第[x]位数据。灰度数据“0000 0000”产生的输出电流占空比为0,而“1111 1111”产生的输出电流占空比为[9?10]1。
本文的PWM调光模块功能由Verilog HDL语言编程实现。
3 PWM模块功能的验证
本模块的功能仿真由Modelsim完成,测试数据:
[a=]128′10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110;
16个通道的仿真结果如图3所示。由图3可以看出,每个通道实际输出的PWM控制信号的占空比与由式(1)计算应得理论数据完全符合,因此实现了该模块的PWM调光功能。而且由于每个通道输入数据不同,所以输出具有不同占空比的开关控制信号,从而使每个通道输出的电流值不同。
图3 PWM功能仿真结果
将该PWM调光功能模块加入16通道恒流LED驱动芯片,在Cadence Spectre下进行芯片的联合仿真,如图4所示是在典型工艺角(TT model)下,[VDD=]5 V,[T=]25,[Rext=]2 kΩ时,对该芯片进行瞬态仿真,所得到的16个通道的输出电流的仿真结果。
图4 16通道PWM控制输出电流的仿真结果
从图4中可以看出,由于每个通道输入的灰度数据不同,因此每个通道输出电流的占空比也完全不同,它是由每个通道所输入的灰度数据所决定的。以几个通道的输出结果为例进行说明:通道一的灰度数据为<1111 0000>,因此输出电流的占空比就为[240256,]通道二的灰度数据为<1110 0000>,因此输出电流的占空比就为[224256,]通道三的灰度数据为<1100 0000>,因此输出电流的占空比就为[192256,]其他通道的结果依次类推,仿真结果表明该PWM调光模块实现了在16通道恒流LED驱动芯片中的数字调光功能。
4 结 语
本文设计了一种应用于多通道恒流LED驱动芯片的PWM调光功能模块,通过Verilog HDL语言编程实现,并由Modelsim进行仿真。结果表明可以实现PWM调光控制信号的输出,并与理论值相符,另外与芯片的联合仿真表明该模块实现了预期的设计功能。
参考文献
[1] 杨清德.LED工程应用技术[M].北京:人民邮电出版社,2010.
[2] 刘胜利.LED驱动电路设计与应用[M].北京:中国电力出版社,2009.
[3] 陈传虞,刘明,陈家桢.LED驱动芯片工作原理与电路设计[M].北京:人民邮电出版社,2011.
[4] 毛兴武,张艳雯,周建军,等.新一代绿色光源LED及其应用技术[M].北京:人民邮电出版社,2008.
[5] ALLEN P E, HOLBERG D R. CMOS analog circuit design [M]. USA: Oxford University Press, 2005.
[6] RAZAVI Behzad. Design of analog CMOS integated circuits [M].西安:西安交通大学出版社,2003:88?95.
[7] GRAY P R, MEYER R G. Analysis and design of analog integrated circuits [M]. New York: Wiley, 2001.
[8] 王雅芳.高亮度LED照明与开关电源供电[M].北京:机械工业出版社,2011.
[9] 周志敏,周纪海,纪爱华.LED驱动电路设计实例[M].北京:电子工业出版社,1995.
[10] 郑久云,韩志刚,罗胜钦.白光LED的应用与驱动[J].现代显示,2009,20(8):12?16.
其工作过程为:在同步时钟 CKI 的作用下,外部数据逐一进入移位寄存器,待 128个时钟后,系统输出一个高电平信号,将移位寄存器中的数据输入到锁存器,此时,锁存器数据与计数器数据通过8 b灰度数据比较器进行256次数据比较,从而输出具有一定占空比的灰度数据控制信号。工作流程图如图2所示。
PWM灰度控制目的是控制 LED 产生不同的灰度,该电路中,产生一个灰度控制信号,控制流过LED的电流的打开和关断,这个灰度控制信号是由 PWM 计数器产生的8 b信号与SDI 输入的各通道的灰度数据进行了256次比较,输出具有一定占空比的灰度控制信号,将这个信号输出到LED的开关控制端,进而实现256级灰度调节功能。
图2 PWM工作流程图
该芯片中每个通道的灰度控制数据为8 b,16通道的恒流输出总共有128 b控制数据。8 b的灰度数据可以实现28级亮度调节。
在SDI端口的数据传输过程中,首先读入的是 OUT15通道的最低信号位,最后读入的是 OUT0 通道的最高信号位。因此,各输出通道的 LED驱动电流占空比可由式(1)计算得到[8]:
[DXOUT=L[7]*27+L[6]*26+L[5]*25+L[4]*24+L[3]*23+L[2]*22+L[1]*21+L[0]256] (1)
式中[L[x]=]“0”或“1”,是第[N]个通道的灰度数据的第[x]位数据。灰度数据“0000 0000”产生的输出电流占空比为0,而“1111 1111”产生的输出电流占空比为[9?10]1。
本文的PWM调光模块功能由Verilog HDL语言编程实现。
3 PWM模块功能的验证
本模块的功能仿真由Modelsim完成,测试数据:
[a=]128′10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110_10101100_00101110_10100011_10110110;
16个通道的仿真结果如图3所示。由图3可以看出,每个通道实际输出的PWM控制信号的占空比与由式(1)计算应得理论数据完全符合,因此实现了该模块的PWM调光功能。而且由于每个通道输入数据不同,所以输出具有不同占空比的开关控制信号,从而使每个通道输出的电流值不同。
图3 PWM功能仿真结果
将该PWM调光功能模块加入16通道恒流LED驱动芯片,在Cadence Spectre下进行芯片的联合仿真,如图4所示是在典型工艺角(TT model)下,[VDD=]5 V,[T=]25,[Rext=]2 kΩ时,对该芯片进行瞬态仿真,所得到的16个通道的输出电流的仿真结果。
图4 16通道PWM控制输出电流的仿真结果
从图4中可以看出,由于每个通道输入的灰度数据不同,因此每个通道输出电流的占空比也完全不同,它是由每个通道所输入的灰度数据所决定的。以几个通道的输出结果为例进行说明:通道一的灰度数据为<1111 0000>,因此输出电流的占空比就为[240256,]通道二的灰度数据为<1110 0000>,因此输出电流的占空比就为[224256,]通道三的灰度数据为<1100 0000>,因此输出电流的占空比就为[192256,]其他通道的结果依次类推,仿真结果表明该PWM调光模块实现了在16通道恒流LED驱动芯片中的数字调光功能。
4 结 语
本文设计了一种应用于多通道恒流LED驱动芯片的PWM调光功能模块,通过Verilog HDL语言编程实现,并由Modelsim进行仿真。结果表明可以实现PWM调光控制信号的输出,并与理论值相符,另外与芯片的联合仿真表明该模块实现了预期的设计功能。
参考文献
[1] 杨清德.LED工程应用技术[M].北京:人民邮电出版社,2010.
[2] 刘胜利.LED驱动电路设计与应用[M].北京:中国电力出版社,2009.
[3] 陈传虞,刘明,陈家桢.LED驱动芯片工作原理与电路设计[M].北京:人民邮电出版社,2011.
[4] 毛兴武,张艳雯,周建军,等.新一代绿色光源LED及其应用技术[M].北京:人民邮电出版社,2008.
[5] ALLEN P E, HOLBERG D R. CMOS analog circuit design [M]. USA: Oxford University Press, 2005.
[6] RAZAVI Behzad. Design of analog CMOS integated circuits [M].西安:西安交通大学出版社,2003:88?95.
[7] GRAY P R, MEYER R G. Analysis and design of analog integrated circuits [M]. New York: Wiley, 2001.
[8] 王雅芳.高亮度LED照明与开关电源供电[M].北京:机械工业出版社,2011.
[9] 周志敏,周纪海,纪爱华.LED驱动电路设计实例[M].北京:电子工业出版社,1995.
[10] 郑久云,韩志刚,罗胜钦.白光LED的应用与驱动[J].现代显示,2009,20(8):12?16.