0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于MAX6964 LED驱动器的PWM强度控制

星星科技指导员 来源:ADI 作者:ADI 2023-01-14 14:30 次阅读

以下应用笔记介绍了MAX6964LED驱动器的独特特性,以及如何在需要强度控制的应用中正确利用这些特性。应用笔记还提供了编程程序示例,展示了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个时钟周期,PWM开/关频率为32000/240 = 133.33Hz。

当相应的极性位为0时,连接到MAX6964输出的LED的强度取决于主端口和单个端口控制的重叠导通时间(逻辑低电平)。

MAX6964的主强度控制由寄存器0x0F的D7–D4位决定。这四个主控位将PWM周期划分为15个时隙。对于 0001、0010、...、1101 和 1110 位模式,插槽上的主时间分别为 1/15、2/15、...、13/15 和 14/15th。

各个端口控制位(每个端口每组 4 个)位于寄存器中,0x10到0x17。端口 16 控制位位于寄存器0x0F的 D3 到 D0 处。寄存器0x0F的这些位 (D3–D0) 也用于全局控制(如果启用了该选项)。每个主时隙由 16 个内部振荡器时钟周期组成。这些时钟周期可以激活 1/16、2/16、...、15/16 和 16/16,位模式分别为 0000、0001、...、1110 和 1111。

图1显示了当极性位为0时,主导通时间为2/15(对应于位模式为0010)和单个端口的导通时间为2/16(对应于位模式为0001)的端口输出波形。有两个主导通时隙可用,它们都处于 2/16 开启状态,具体取决于单个端口的导通时间。

poYBAGPCTAqAFxzTAAAQvKzPvkY174.gif?imgver=1

图1.端口的输出波形。

端口 7 到 0 和端口 15 到 8 的相位 0 极性位分别位于寄存器0x02和 0x03 中。同样,端口 7 到 0 和端口 15 到 8 的相位极性位可以在寄存器0x0A和 0x0B 中找到。端口 16 的极性由寄存器0x0F的相位 1 (D5) 和相位 0 (D4) 位指示。未启用闪烁功能时,只有相位 0 极性位相关。

图2显示了端口的输出波形,主端口位模式和单个端口位模式相同,为0010和0001,但极性位为1。比较图1和图2,可以观察到开和关时间是相反的——它们形成互补波形。最好以极性 0 对强度级别进行编程,但闪烁需要极性为 1。

pYYBAGPCTAuAFlSnAAAQvrZuolc358.gif?imgver=1

图2.一个的互补波形。

MAX6964驱动的LED可通过切换BLINK输入或翻转闪烁翻转位(寄存器0x0F的D1)使LED闪烁(开和关)。闪烁使能位(寄存器0x0F的D0)必须设置为1才能激活BLINK输入和闪烁翻转位。主机控制器需要改变BLINK输入逻辑电平,或者每次闪烁事件都需要写入MAX6964。启用闪烁 (D0 = 1) 时,特定端口的 LED 极性与相位 0 或相位 1 相关,具体取决于 BLINK 输入和闪烁翻转位的独占OR是否等于 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 周期持续更长,以使闪烁事件明显。

poYBAGPCTA2AI7wBAAANMdDUJQw622.gif?imgver=1

图3.在阶段 0 和阶段 1 之间闪烁。

以下是 I 的示例2C命令序列发送到MAX6964,以在特定PWM强度水平下开启LED。

以下三个我2C 写入命令可用于以最低强度水平打开 O16 LED。我2MAX6964的C器件地址为0x49。

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

以下我2C 写入命令可用于以最低强度水平打开所有 LED。

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

最后两个命令利用了寄存器地址自动递增功能,该功能允许使用单个写入命令写入多个寄存器。

有时,LED需要在上电期间逐渐打开。通过将主控制从低到高设置,并在每次主设置时将单个端口控制从低更改为高,可以从低到高调整 LED 的强度。由于某些主端口和单个端口组合会产生相同或相似的强度级别,因此并非所有设置都是增加强度所必需的。在高强度水平下,必须跳过一些较低的单个端口设置(表1)。由于跳过了一些重复或相似的强度级别,因此强度级别的增加基于双循环(主强度变化为一个循环,单个端口为第二个循环)。表 1 仅显示了总共 240 种可用组合中的 59 个步骤。

个人 主人 强度 个人 主人 强度
X 0 0 C 4 52
0 1 1 D 4 56
1 1 2 E 4 60
2 1 3 F 4 64
3 1 4 C 5 65
4 1 5 D 5 70
5 1 6 E 5 75
6 1 7 F 5 80
7 1 8 D 6 84
8 1 9 E 6 90
9 1 10 F 6 96
一个 1 11 D 7 98
B 1 12 E 7 105
C 1 13 F 7 112
D 1 14 E 8 120
E 1 15 F 8 128
F 1 16 E 9 135
8 2 18 F 9 144
9 2 20 E 一个 150
一个 2 22 F 一个 160
B 2 24 E B 165
C 2 26 F B 176
D 2 28 E D 195
E 2 30 F D 208
F 2 32 E E 210
一个 3 33 F E 224
B 3 36 E F 225
C 3 39 F F 240
D 3 42
E 3 45
F 3 48

以下文本是一个伪编程代码,用于在 LoopLength x WaitTime 秒数内逐渐打开 LED。我2C例程向MAX6964寄存器发出写命令,该寄存器具有由阵列定义的特定强度。寄存器地址自动递增功能也可以容纳多次写入。

LoopLength; // Total number of step in the increase in // intensity MasterPort(2, LoopLength); // Array for master/port setting pairsof every // step StepTime; // Lighting duration at each intensity step For i = 1 to LoopLength // Start intensity increasing loop I2C(Write, 0x0E, MasterPort(1, i)); // Set master intensity level I2C(Write, 0x10, MasterPort(2, i), MasterPort(2, i), ...); // Set port // intensity // levels Wait(StepTime); // Lighting up End // End loop

LED 强度级别取决于主端口和单个端口 PWM 控制位的选择。可以通过两个不同的主端口和单个端口组合复制特定的强度级别。另一方面,某些强度级别可能不会通过任何组合产生。表 2 显示了根据主端口和单个端口 PWM 强度控制位的值提供的强度级别。强度级别是极性位为 0 时表中的数字除以 240。此表沿对角线对称,从上角到左上角,在右下角旁边结束。

主端口强度
0 1 2 3 4 5 6 7 8 9 一个 B C D E F
单个
端口
强度
0 关闭 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 关闭 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
2 关闭 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45
3 关闭 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
4 关闭 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
5 关闭 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90
6 关闭 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105
7 关闭 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
8 关闭 9 18 27 36 45 54 63 72 81 90 99 108 117 126 135
9 关闭 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
一个 关闭 11 22 33 44 55 66 77 88 99 110 121 132 143 154 165
B 关闭 12 24 36 48 60 72 84 96 108 120 132 144 156 168 180
C 关闭 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195
D 关闭 14 28 42 56 70 84 98 112 126 140 154 168 182 196 210
E 关闭 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225
F 关闭 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240

在表 2 中,请注意,存在直到数字 16 的连续整数。超过16,质数丢失(即,不能通过乘以1到16和1到15来复制这些素数)。此外,还可以通过选择主端口和单个端口设置来生成许多数字/事件。表3显示了线性增加的强度水平趋势,以及其较短的版本。Short1 列表的强度级别跳过为 2/240th,Short2 列表的跳过为 4/240th。您还可以通过沿表 2 所示的对角线使用这些主端口和单个端口组合来获得 2 的幂增加趋势。或者,您可以通过从表 2 中选择最接近的组合来拟合所需的增长趋势。

选择 1 选择 2 强度级别 x 240
个人 主人 个人 主人 短1 短2
X 0 X 0 0 0 0
0 1 0 1 1
1 1 0 2 2 2
2 1 0 3 3
3 1 0 4 4 4 4
4 1 0 5 5
5 1 0 6 6 6
6 1 0 7 7
7 1 0 8 8 8 8
8 1 0 9 9
9 1 0 一个 10 10
一个 1 0 B 11
B 1 0 C 12 12 12
C 1 0 D 13
D 1 0 E 14 14
E 1 0 F 15
F 1 1 8 16 16 16
8 2 1 9 18 18
9 2 1 一个 20 20 20
6 3 2 7 21
一个 2 1 B 22 22
B 2 1 C 24 24 24
4 5 4 5 25
C 2 1 D 26 26
8 3 2 9 27
6 4 3 7 28 28 28
9 3 2 一个 30 30
7 4 3 8 32 32 32
一个 3 2 B 33 33
6 5 4 7 35
B 3 2 C 36 36 36
C 3 2 D 39 39
9 4 3 一个 40 40 40
6 6 5 7 42 42
一个 4 3 B 44 44 44
8 5 4 9 45 45
B 4 3 C 48 48 48
9 5 4 一个 50 50
C 4 3 D 52 52 52
8 6 5 9 54 54
一个 5 4 B 55
7 7 6 8 56 56 56
9 6 5 一个 60 60 60
8 7 6 9 63 63
F 4 F 4 64 64 64
C 5 4 D 65
一个 6 5 B 66 66 66
9 7 6 一个 70 70
B 6 5 C 72 72 72
E 5 4 F 75 75
一个 7 6 B 77 77 77
C 6 5 D 78 78
9 8 7 一个 80 80 80
8 9 8 9 81 81
B 7 6 C 84 84 84
一个 8 7 B 88 88 88
E 6 5 F 90 90
C 7 6 D 91 91 91
B 8 7 C 96 96 96
D 7 6 E 98 98
一个 9 8 B 99
9 一个 9 一个 100 100 100
C 8 7 D 104 104 104
E 7 6 F 105 105
B 9 8 C 108 108 108
一个 一个 9 B 110 110
D 8 7 E 112 112 112
C 9 8 D 117 117 117
E 8 7 F 120 120 120
一个 B 一个 B 121 121
D 9 8 E 126 126 126
F 8 F 8 128 128 128
C 一个 9 D 130 130
B B 一个 C 132 132 132
E 9 8 F 135 135 135
D 一个 9 E 140 140 140
C B 一个 D 143 143
B C B C 144 144 144
E 一个 9 F 150 150 150
D B 一个 E 154 154 154
C C B D 156 156 156
F 一个 F 一个 160 160 160
E B 一个 F 165 165 165
D C B E 168 168 168
C D C D 169 169 169
F B F B 176 176 176
E C B F 180 180 180
D D C E 182 182 182
F C F C 192 192 192
E D C F 195 195 195
D E D E 196 196 196
F D F D 208 208 208
E E D F 210 210 210
F E F E 224 224 224
E F E F 225 225 225
F F F F 240 240 240

表 3 显示,在 240 种主端口和单个端口设置组合中,有 96 个可区分的强度级别。为了遵循所有强度级别的这种增长趋势,需要在某些步骤中向后设置主强度级别。这可以通过使用设置数组来实现,例如伪编程代码中显示的数组。

以下我2C写命令可用于闪烁MAX6964驱动的LED。我2MAX6964的C器件地址再次0x49。

0x49 0x02 0x00 0x00 // Set phase 0 polarity to all zerosto // turn LEDs on 0x49 0x0E 0xF0 // Set master intensity to full 0x49 0x0F 0x0D // Set the blinking enable bit to start 0x49 0x0F 0x0F // Switch blinking flip bit to blink 0x49 0x0F 0x0D // Switch back the blinking flip bit to // blink ... 0x49 0x0F 0x0C // Reset the blinking enable bit to stop // blinking 0x49 0x02 0xFF 0xFF // Set phase 0 polarity to all ones to // turn LEDs off

对于上述命令,假定所有端口的相位 1 极性位设置为 1(默认上电)。对于未设置为闪烁的端口,相位 0 和相位 1 寄存器中的极性位可以设置为相同的值。PWM 强度级别设置在闪烁期间处于活动状态。如果相位 0 或相位 1 中的极性位为 0,则设置 PWM 强度电平。否则,其互补波形将驱动LED。

总之,MAX6964 LED驱动器可以编程为在互补波形定义的一对不同强度电平之间闪烁。逐渐的强度水平变化,有时称为衰落,也可以通过适当的编程来完成。

MAX7313/MAX7314具有与MAX6964相似的LED驱动能力,所有端口均可用作带转换检测的逻辑输入。MAX6965、MAX7315和MAX7316也是同类器件,但端口数量只有一半。本应用笔记中介绍的MAX6964通用编程技术也可用于控制这些类似器件的PWM强度。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 振荡器
    +关注

    关注

    28

    文章

    3719

    浏览量

    138275
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5027

    浏览量

    211723
  • led驱动器
    +关注

    关注

    12

    文章

    1078

    浏览量

    72396
收藏 人收藏

    评论

    相关推荐

    大功率LED驱动器MAX16834相关资料下载

    的占空比。 调光 驱动器设计 用于 驱动LED串联的外部n沟道MOSFET,可实现高达20kHz的宽范围调光 控制。除
    发表于05-17 06:49

    键控开关控制器LED驱动器MAX7360相关资料推荐

    概述: MAX7360是MAXIM公司生产的一款 LED 驱动控制器集成电路。他具有I2C接口外设能够为微处理 管理多达64个按键开关,附加的8
    发表于05-18 07:04

    MAX16804LED驱动器与模拟和PWM调光控制相关资料分享

    概述: MAX16804是MAXIM公司生产的一款高电压350mA LED 驱动器与模拟和 PWM调光 控制电路。它为20脚QFN封装。
    发表于05-18 07:53

    MAX16831 高压、大功率LED驱动器,提供模拟及PWM

    MAX16831 高压、大功率 LED 驱动器,提供模拟及 PWM调光 控制
    发表于03-14 19:26 1125次阅读
    <b class='flag-5'>MAX</b>16831 高压、大功率<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>,提供模拟及<b class='flag-5'>PWM</b>

    MAX16801 离线式、DC-DCPWM控制器用于高亮

    MAX16801 离线式、DC-DC PWM 控制器用于高亮度 LED 驱动器
    发表于09-18 08:05 1523次阅读
    <b class='flag-5'>MAX</b>16801 离线式、DC-DC <b class='flag-5'>PWM</b><b class='flag-5'>控制器</b>,<b class='flag-5'>用于</b>高亮

    MAX15054 高边MOSFET驱动器用于HBLED

    MAX15054 高边MOSFET 驱动器用于HB LED 驱动器和DC-DC应用 概述
    发表于01-28 08:43 1763次阅读
    <b class='flag-5'>MAX</b>15054 高边MOSFET<b class='flag-5'>驱动器</b>,<b class='flag-5'>用于</b>HB <b class='flag-5'>LED</b>驱

    MAX7304PWM控制LED驱动器

    MAX7304组成的16个端口的GPIO12推挽GPIO和4个漏极开路 PWM 控制LED 驱动器配置的GPIO,。该器件支持1.62V至3
    发表于07-21 18:17 1813次阅读
    <b class='flag-5'>MAX</b>7304 <b class='flag-5'>PWM</b><b class='flag-5'>控制</b>的<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>

    LN2115参数特性数据与电路图PWM控制LED驱动器

    PWM 控制LED 驱动器
    的头像 发表于06-15 18:14 2946次阅读
    LN2115参数特性数据与电路图  <b class='flag-5'>PWM</b><b class='flag-5'>控制</b>的<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>

    MAX6964LED驱动器PWM强度控制

    发表于11-18 23:45 0次下载
    <b class='flag-5'>MAX6964</b> <b class='flag-5'>LED</b> <b class='flag-5'>驱动器</b>的 <b class='flag-5'>PWM</b> <b class='flag-5'>强度</b><b class='flag-5'>控制</b>

    MAX6956和MAX6957静态LED驱动器增加全局强度控制

    本应用笔记讨论了由 MAX6956或 MAX6957静态 LED 驱动器 驱动同时改变显示 所有
    的头像 发表于01-12 15:30 715次阅读
    为<b class='flag-5'>MAX</b>6956和<b class='flag-5'>MAX</b>6957静态<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>增加全局<b class='flag-5'>强度</b><b class='flag-5'>控制</b>

    MAX6952和MAX6953 5x7矩阵LED驱动器增加面板LED强度控制

    本应用笔记讨论了在 MAX6952和 MAX6953的4线和2线串行接口 LED显示 驱动器上增加面板 LED 强度
    的头像 发表于01-13 14:54 2401次阅读
    为<b class='flag-5'>MAX</b>6952和<b class='flag-5'>MAX</b>6953 5x7矩阵<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>增加面板<b class='flag-5'>LED</b><b class='flag-5'>强度</b><b class='flag-5'>控制</b>

    PWM设置LCD/LED驱动器的输出

    许多微处理 提供的数字脉宽调制 ( PWM) 输出基于内部 8 位或 16 位计数 ,并具有可编程占空比。它适 用于调节LCD 驱动器,负电压
    的头像 发表于01-13 16:03 2263次阅读
    <b class='flag-5'>PWM</b>设置LCD/<b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>的输出

    MAX6954和MAX6955LED驱动器增加全局LED强度控制

    本应用笔记讨论了由 MAX6954或 MAX6955多路复用 LED 驱动器 驱动的显示 所有
    的头像 发表于02-09 11:58 642次阅读
    为<b class='flag-5'>MAX</b>6954和<b class='flag-5'>MAX</b>6955 <b class='flag-5'>LED</b><b class='flag-5'>驱动器</b>增加全局<b class='flag-5'>LED</b><b class='flag-5'>强度</b><b class='flag-5'>控制</b>

    MAX6964AEG+ - (Maxim Integrated) - PMIC -LED驱动器

    德赢Vwin官网 网为你提供Maxim(Maxim) MAX6964AEG+相关产品参数、数据手册,更有 MAX6964AEG+的引脚图、接线图、封装手册、中文资料、英文资料, MAX6964AEG+真值表,
    发表于07-14 18:47
    <b class='flag-5'>MAX6964</b>AEG+ - (Maxim Integrated) - PMIC - <b class='flag-5'>LED</b> <b class='flag-5'>驱动器</b>

    MAX6964ATG+ - (Maxim Integrated) - PMIC -LED驱动器

    德赢Vwin官网 网为你提供Maxim(Maxim) MAX6964ATG+相关产品参数、数据手册,更有 MAX6964ATG+的引脚图、接线图、封装手册、中文资料、英文资料, MAX6964ATG+真值表,
    发表于07-14 18:58
    <b class='flag-5'>MAX6964</b>ATG+ - (Maxim Integrated) - PMIC - <b class='flag-5'>LED</b> <b class='flag-5'>驱动器</b>