一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

MAX6964 LED驱动器的PWM亮度控制的处置方案

来源:analog 发布时间:2023-07-28

摘要: 本应用笔记介绍MAX6964 LED驱动器的特性以及在需要亮度控制的应用中怎样正确使用这些特性。本应用笔记还提供实例程序,演示主机和MAX6964每个端口的亮度控制选项。LED亮度控制功能非常适合汽车应用,在这种应用中,白天和晚上不同状态下需要对LED进行亮度调整。

本应用笔记介绍MAX6964 LED驱动器的特性以及在需要亮度控制的应用中怎样正确使用这些特性。本应用笔记还提供实例程序,演示主机和MAX6964每个端口的亮度控制选项。LED亮度控制功能非常适合汽车应用,在这种应用中,白天和晚上不同状态下需要对LED进行亮度调整。

MAX6964  是大电流输出、17端口LED驱动器,具有8位脉冲宽度调制(PWM)亮度控制功能。每个端口支持最大50mA的吸收电流。流入地引脚的最大总吸收电流被限制为350mA。8位PWM亮度控制被分成应用于所有端口的4位主机控制,以及另外4位独立端口控制。主机亮度控制可以用于调整普通设备LED亮度,以适应环境亮度变化,例如汽车在白天和晚上的情况。独立端口控制可以用于产生符合应用需求的亮度。或者,可以采用4个全局控制位来同时控制所有独立端口的亮度。寄存器0x0E的D0位到D3位可以用于全局或者端口O16亮度控制,而且,可以结合主机和独立亮度控制功能来产生所有端口的渐暗效果。

大家通常都知道,如果光源接通/关断足够快,那么,人眼感觉到物体是一直亮着的。PWM亮度控制功能改变接通时间,同时将接通/关断保持在固定频率上,从而调整感知亮度。为避免闪烁效应,PWM接通/关断频率一般要高于100Hz。MAX6964的PWM亮度控制由内部振荡器进行驱动,额定频率为32kHz。MAX6964的PWM持续240个时钟周期,产生32000/240 = 133.33Hz的PWM接通/关断频率。

当相应的极性位是0时,和MAX6964输出相连接的LED的亮度取决于主机和独立端口控制的重叠接通时间(逻辑低电平)。

MAX6964的主机亮度控制由寄存器0x0F的D7-D4位确定。这4个主机控制位将PWM周期分成15个时间片。主机接通时间片分别是0001、0010、...、1101和1110位模式的1/15、2/15、...、13/15和14/15。

每个端口以4位分组的独立端口控制位位于寄存器0x10至0x17。端口16控制位位于寄存器0x0F的D3至D0。如果使能了该选项,寄存器0x0F的这些位(D3-D0)也被用于全局控制。每个主机时间片含有16个内部振荡器时钟周期。这些时钟周期可以分别工作在具有0000、0001、...、1110和1111位模式的1/16、2/16、...、15/16和16/16。

图1显示了当极性为是0时,相应于0010位模式2/15主机接通时间的端口输出波形,以及相应于0001位模式2/16独立端口接通时间的端口输出波形。有两种主机接通时间片,二者都可以接通2/16,由独立端口的接通时间决定。


图1. 一个端口的输出波形

端口7到端口0以及端口15到端口8的相位0极性位分别位于寄存器0x02和0x03。同样的,端口7到端口0以及端口15到端口8的相位1极性位位于寄存器0x0A和0x0B。端口16的极性由寄存器0x0F的相位1 (D5)和相位0 (D4)位指示。当没有使能闪烁特性时,只和相位0极性位有关。

图2显示了具有相同主机和独立端口位模式0010和0001的端口输出波形,但是极性位是1。对比图1和图2,可以看出,接通和关断时间相反—它们构成了互补波形。最好采用极性0来设置亮度等级,但是闪烁时需要采用极性1。


图2. “1”的互补波形

MAX6964驱动LED时,触发BLINK输入,或者翻转闪烁翻转位(寄存器0x0F的D1),使其闪烁(接通和关断)。闪烁使能位(寄存器0x0F的D0)必须设置为1,以激活BLINK输入和闪烁翻转位。每次闪烁时,主机控制器需要改变BLINK输入逻辑电平或者写入MAX6964。使能闪烁(D0 = 1)后,某一端口的LED极性与相位0或者相位1相关,具体取决于BLINK输入和闪烁翻转位异或的结果是0还是1。

为激活所需端口的闪烁功能,相应的相位0和1极性位必须不同。当使能了闪烁后,由于PWM亮度控制还在起作用,闪烁LED不但可以接通和关断,而且还可以受控,在正常和互补波形基础上,亮度在较亮和较暗模式之间变化。而且,通过分别选择不同端口相位0和1逻辑电平,它们能够反相闪烁,或者根本就不闪烁。例如,设置端口1相位0位为0,相位1位为1,端口2相位0位为1,相位1位为0,使它们反相闪烁。设置端口的相位0和相位1位同时为0或者1将使端口停留在较亮或者较暗模式中。

图3显示了最初以及互补波形相位0和相位1的闪烁。相位0和相位1的持续时间取决于主机控制器的工作,一般要比明显闪烁的单个PWM周期长得多。


图3. 相位0和相位1之间的闪烁

下面的I(2)C命令序列发送给MAX6964,以接通LED,达到一定的PWM亮度等级。

下面的3条I(2)C写命令可用于接通O16 LED,达到最小亮度等级。MAX6964的I(2)C器件地址是0x49。

0x49 0x0F 0x30 // Turn off the global bit0x49 0x0E 0x10 // Select 1/15th for master and 1/16th // for O160x49 0x0F 0x00 // Set phase 0 and 1 polarity bits of // O16 to 00


可以采用下面的I(2)C写命令来接通所有的LED,达到最小亮度等级。

0x49 0x0F 0x30 // Turn off the global bit0x49 0x0E 0x10 // Select 1/15th for master and 1/16th for O160x49 0x0F 0x00 // Set phase 0 and 1 polarity bits of O16 to 000x49 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // Set 1/16th for all ports0x49 0x02 0x00 0x00 // Set phase 0 polarity bits for all ports


最后两条命令利用了寄存器地址自动递增特性,支持使用单条写命令写入多个寄存器。

LED有时需要在上电期间逐渐接通。可以在每个主机设置中,设置主机控制为低到高,改变每个端口控制为从低到高,从而调整LED亮度从低到高。由于某些主机和独立端口组合产生相同或者相似的亮度等级,并不需要进行所有的设置来产生亮度递增。在高亮度等级上,必须跳过某些底层独立端口设置(表1)。由于跳过了某些相同或者相似的亮度等级,亮度等级的增加基于双环(主机亮度变化为一个环,独立端口为第二个环)。表1只显示了240种组合中的59步。

表1. 双环递增
IndividualMasterIntensityIndividualMasterIntensity
X00C452
011D456
112E460
213F464
314C565
415D570
516E575
617F580
718D684
819E690
9110F696
A111D798
B112E7105
C113F7112
D114E8120
E115F8128
F116E9135
8218F9144
9220EA150
A222FA160
B224EB165
C226FB176
D228ED195
E230FD208
F232EE210
A333FE224
B336EF225
C339FF240
D342


E345


F348


下面的文本是伪编程代码,在LoopLength x WaitTime秒内逐步接通LED。I(2)C程序向MAX6964寄存器发出一条写命令,提供由阵列定义的亮度。利用寄存器地址自动递增特性,可以完成多次写操作。

LoopLength; // Total number of step in the increase in // intensity MasterPort(2, LoopLength); // Array for master/port setting pairs of every // stepStepTime; // Lighting duration at each intensity stepFor i = 1 to LoopLength // Start intensity increasing loopI(2)C(Write, 0x0E, MasterPort(1, i)); // Set master intensity levelI(2)C(Write, 0x10, MasterPort(2, i), MasterPort(2, i), ...); // Set port // intensity // levelsWait(StepTime); // Lighting upEnd // End loop


LED亮度等级取决于主机和独立端口PWM控制位选择。两个不同的主机和独立端口组合可以复现某些亮度等级。另一方面,某些亮度等级则不可能由任何组合实现。表2列出了对应于主机和独立端口PWM亮度控制位的亮度等级。亮度等级是当极性位为0时,表中的数字除以240。该表沿对角线对称,从左上角第二行到右下角倒数第二行。

表2. 基于主机和独立端口选择的亮度等级

Master Port Intensity
0123456789ABCDEF
Individual
Port
Intensity
0off123456789101112131415
1off24681012141618202224262830
2off369121518212427303336394245
3off4812162024283236404448525660
4off51015202530354045505560657075
5off61218243036424854606672788490
6off714212835424956637077849198105
7off81624324048566472808896104112120
8off918273645546372819099108117126135
9off102030405060708090100110120130140150
Aoff112233445566778899110121132143154165
Boff1224364860728496108120132144156168180
Coff13263952657891104117130143156169182195
Doff14284256708498112126140154168182196210
Eoff153045607590105120135150165180195210225
Foff163248648096112128144160176192208224240


表2中,注意,16之前的整数是连续的。16以后,没有了素数(即,不能通过1到16和1到15之间的数相乘得到的数)。此外,可以通过主机和独立端口设置的多种选择来产生较多的数字/事件。表3显示了亮度等级线性递增趋势。Short1列的亮度等级跳过了2/240,Short2列跳过了4/240。您还可以通过使用这些主机和独立端口组合以及表2中的对角线实现平方递增趋势。或者,从表2中选取最近组合得到所需要的递增趋势。

表3. 主要的平滑递增趋势
Choice 1Choice 2Intensity Level x 240
IndividualMasterIndividualMasterFullShort1Short2
X0X0000
01011

110222
21033

3104444
41055

510666
61077

7108888
81099

910A1010
A10B11

B10C121212
C10D13

D10E1414
E10F15

F118161616
82191818
921A202020
632721

A21B2222
B21C242424
454525

C21D2626
832927

6437282828
932A3030
7438323232
A32B3333
654735

B32C363636
C32D3939
943A404040
66574242
A43B444444
85494545
B43C484848
954A5050
C43D525252
86595454
A54B55

7768565656
965A606060
87696363
F4F4646464
C54D65

A65B666666
976A7070
B65C727272
E54F7575
A76B777777
C65D7878
987A808080
89898181
B76C848484
A87B888888
E65F9090
C76D919191
B87C969696
D76E9898
A98B99

9A9A100100100
C87D104104104
E76F105105
B98C108108108
AA9B110110
D87E112112112
C98D117117117
E87F120120120
ABAB121121
D98E126126126
F8F8128128128
CA9D130130
BBAC132132132
E98F135135135
DA9E140140140
CBAD143143
BCBC144144144
EA9F150150150
DBAE154154154
CCBD156156156
FAFA160160160
EBAF165165165
DCBE168168168
CDCD169169169
FBFB176176176
ECBF180180180
DDCE182182182
FCFC192192192
EDCF195195195
DEDE196196196
FDFD208208208
EEDF210210210
FEFE224224224
EFEF225225225
FFFF240240240

表3显示了在240个主机和独立端口设置组合中有96个不同的亮度等级。按照所有亮度等级的这种递增趋势,需要在某些步骤中后向设置主机亮度等级。可以使用设置阵列来实现这一点,例如伪编程代码中所列出的。

可以采用下面的I(2)C写命令来闪烁MAX6964驱动的LED。MAX6964的I(2)C器件地址还是0x49。

0x49 0x02 0x00 0x00 // Set phase 0 polarity to all zeros to // turn LEDs on0x49 0x0E 0xF0 // Set master intensity to full0x49 0x0F 0x0D // Set the blinking enable bit to start0x49 0x0F 0x0F // Switch blinking flip bit to blink0x49 0x0F 0x0D // Switch back the blinking flip bit to // blink...0x49 0x0F 0x0C // Reset the blinking enable bit to stop // blinking0x49 0x02 0xFF 0xFF // Set phase 0 polarity to all ones to // turn LEDs off


对于上面的命令,假设所有端口的相位1极性位被设置为1 (上电默认)。对于没有被设置为闪烁的端口,相位0和相位1寄存器中的极性位可以设置为相同的值。PWM亮度等级设置在闪烁期间有效。如果相位0或者相位1中的极性位是0,PWM亮度等级置位。否则,“1”互补波形将驱动LED。

总之,可以设置MAX6964 LED驱动器在互补波形定义的一对不同亮度等级之间闪烁。通过正确的设置,还可以实现亮度等级逐渐变化,有时也被称为渐暗。

MAX7313  /  MAX7314  具有和MAX6964相似的LED驱动能力,其所有的端口还可以用作带有转换探测功能的逻辑输入。  MAX6965、MAX7315  和  MAX7316  也是相似的型号,只是端口数量减半。本应用笔记介绍的MAX6964常用编程方法还可以用于控制这些相似型号的PWM亮度。



声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: