基于瑞萨HVPAK SLG47105的双路恒流LED驱动器设计与实现

AI助手已提取文章相关产品:

1. 项目概述与核心价值

最近在折腾一个智能台灯的项目,核心需求是实现无级调光和色温调节,同时还要保证LED的寿命和发光稳定性。市面上很多现成的驱动芯片要么功能单一,要么外围电路复杂,体积下不来。在翻看瑞萨(Renesas)的文档时,我注意到了他们的HVPAK系列,特别是SLG47105这款芯片,它把高压输出、PWM发生器、计数器甚至比较器都集成到了一颗小小的可编程芯片里,简直就是为这种定制化照明控制场景量身打造的。基于它,我设计并实现了一个双路恒流LED驱动器,不仅能独立控制整体亮度和冷暖光比例,还内置了可靠的过流保护。

简单来说,这个设计解决了几个关键问题:第一,用单芯片替代了传统的“MCU + 恒流驱动IC + 逻辑电路”的复杂方案,极大简化了PCB布局和BOM成本;第二,通过硬件逻辑实现了亮度与色温的混合PWM控制,响应快且无频闪;第三,利用芯片内置的高压通用输出(HV GPO)直接驱动LED灯串,省去了外部的MOSFET或驱动三极管,效率更高。无论你是正在开发智能照明产品的工程师,还是对硬件编程感兴趣的电子爱好者,这个基于SLG47105的方案都提供了一个清晰、可复现的参考设计。接下来,我会从设计思路、硬件配置、软件逻辑(实际上是HVPAK的内部矩阵配置)到调试心得,毫无保留地拆解一遍。

2. 核心设计思路与方案选型

2.1 为什么选择HVPAK SLG47105?

在做LED驱动,尤其是需要调光调色温时,我们通常有几个选择:纯模拟方案、数字MCU方案、以及专用驱动IC。纯模拟方案电路复杂,调光线性度不好控制;数字MCU方案灵活,但需要编程,且高压驱动部分仍需外围电路;专用驱动IC功能固定,难以实现特殊的控制逻辑。

SLG47105属于HVPAK(高压可编程混合信号矩阵)家族,它本质上是一颗可以通过图形化软件(Go Configure Software Hub)进行“画电路”编程的芯片。其核心优势在于:

  1. 高度集成 :内部集成了两个最高13.2V/2A的高压输出端口(HV GPO)、模拟比较器(ACMP)、数字PWM发生器、计数器/定时器、查找表(LUT)等。这意味着大部分控制逻辑和功率驱动都可以在芯片内部完成。
  2. 可编程性 :通过软件连接内部的逻辑单元和模拟模块,可以构建出非常复杂的控制状态机,而无需编写一行代码。这对于快速原型开发和功能迭代极其友好。
  3. 外围精简 :由于驱动和核心逻辑都已内置,外部元件可以做到极少。在本设计中,除了必不可少的电感、电容、采样电阻和LED灯珠,几乎不需要其他有源器件。

选择SLG47105,就是选择了一条在灵活性、集成度和开发效率之间取得绝佳平衡的路径。它特别适合中小批量、功能定制化的智能硬件产品。

2.2 系统架构与工作原理

整个驱动器的目标是控制两路LED灯串:一路是暖白色(Warm White),一路是冷白色(Cold White)。通过混合这两路光的强度比例,就能实现从2700K到6500K的色温连续调节。

系统架构的核心是 两级PWM混合调制

  1. 第一级:全局亮度控制(PWM0) 。这一级产生一个高频PWM信号(例如49kHz),其占空比决定了输出到两路LED的总能量,也就是灯的整体亮度。占空比从0%到100%可调,对应亮度从关闭到最亮。
  2. 第二级:色温比例控制(PWM1) 。这一级产生一个低频PWM信号(例如120Hz),其占空比决定了在一个周期内,暖白光和冷白光导通时间的比例。例如,占空比为70%时,表示70%的时间导通暖白光LED,30%的时间导通冷白光LED。

最终,用于驱动LED的实际信号是 PWM1信号被PWM0信号所调制 。也就是说,只有在PWM0为高电平的“窗口”内,PWM1对冷暖LED的选择才有效。这样,PWM0控制了亮度“天花板”,PWM1则在这个天花板下分配冷暖光的能量比例。这种架构确保了在任何亮度、任何色温下,LED的电流都是稳定的恒流方波,避免了模拟调光可能带来的颜色偏移。

注意 :选择49kHz和120Hz这两个频率是有讲究的。49kHz远高于人眼的闪烁融合临界频率(通常>200Hz),能完全消除可见频闪,对眼睛更友好。120Hz则足够低,使得用于色温混合的PWM周期(约8.3ms)内包含足够多的高频亮度PWM周期,确保色温混合均匀,没有低频闪烁感。

3. 硬件电路设计与关键元件选型

3.1 典型应用电路详解

让我们对照原理图(对应原文图2)来梳理关键部分:

         VDD (3.3V/5V逻辑供电)
               |
               +--- PIN20 (VDD)
               |
               +---[0.1uF]---GND  // 电源去耦
               |
               +---[0.1uF]---GND  // 多放置一个靠近芯片
               |
          VDD2 (9.6V-13.2V LED驱动供电)
               |
               +--- PIN19 (VDD2)
               |
               +---[1uF]---GND    // 功率级储能电容
               |
               +---[0.1uF]---GND  // 高频去耦
               |
    SLG47105 HV OUT0 (PIN6) ---+---[L1 100uH]---+---|>|---> (Warm LED String +)
               |                                |        |---|>|---> (共3颗串联)
               |                                |        |---|>|---> 
               |                                |
    SLG47105 HV OUT1 (PIN5) ---+----------------+---|>|---> (Cold LED String +)
               |                                |        |---|>|---> (共3颗串联)
               |                                |        |---|>|---> 
               |                                |
               +-------------------------------[R_sense 1.0 Ohm]---GND

核心元件参数与选型依据:

  1. 电感 L1 (100µH)

    • 作用 :与芯片内部开关管构成Buck降压拓扑,用于恒流控制。当HV OUT端口开关时,电感储存和释放能量,平滑电流。
    • 选型 :电感值影响电流纹波和响应速度。100µH是一个折衷值。计算依据是Buck电路的电感公式 L = (V_in - V_led) * D / (f * ΔI_L) 。其中V_in约12V,V_led约9.6V,D(占空比)最大约0.8,f为开关频率(由内部逻辑决定,需在软件中设置),ΔI_L为期望的纹波电流(通常设为平均电流的20%-30%)。根据这些参数反推,100µH是合理的。务必选择饱和电流大于LED最大电流(本例为100mA)的电感,建议留有1.5倍余量,即选择Isat > 150mA的功率电感。
  2. 电流采样电阻 R_sense (1.0Ω)

    • 作用 :这是恒流控制的“眼睛”。LED电流流经此电阻产生压降,送入芯片内部的电流比较器(CCMP)与基准电压比较,从而实现闭环恒流。
    • 选型 :这是精度和效率的关键。阻值越大,采样电压越高,控制越灵敏,但功耗也越大( P_loss = I_led^2 * R_sense )。本例中,100mA电流下,1Ω电阻功耗为10mW,可以接受。必须选择高精度(如1%)、低温漂的贴片电阻,最好是1206或更大封装以利于散热。
  3. 输入电容

    • 1µF电解或钽电容 :为功率级(HV OUT)提供主要的储能,缓冲电感电流变化引起的电压波动。其耐压值需高于VDD2最大值,本例中建议选择16V或25V。
    • 0.1µF陶瓷电容 :为芯片内部数字和模拟电路提供高频低阻抗的电源路径,滤除开关噪声。必须紧靠芯片的VDD和VDD2引脚放置。
  4. LED灯串

    • 配置 :暖白和冷白各一串,每串3颗LED串联。这是由电源电压VDD2范围(9.6V-13.2V)和单颗LED正向电压(约3.2V)决定的。3颗串联电压约9.6V,为最小值留出了余量。
    • 选型 :如原文表1所示,选用GNL-5630UWC系列。关键参数是最大驱动电流。由于本设计是散热受限(无PCB散热),我们将电流限制在100mA。如果你有良好的散热设计(如铝基板),可以按照LED规格书的典型值(如150mA)来设计,并重新计算采样电阻和电感。

3.2 过流保护电路原理与计算

恒流驱动必须有过流保护,防止LED因过流烧毁或光衰加速。SLG47105的电流比较器(CCMP)完美胜任此工作。

保护阈值计算: CCMP的一个输入端连接内部可编程基准电压(Vref),另一端连接来自采样电阻的电压。当采样电压超过Vref时,CCMP输出翻转,立即关闭HV OUT,实现限流。

计算公式: Vref_CCMP = I_led_max * Gain_CCMP * R_sense

  • I_led_max :我们希望限制的最大LED电流,设为100mA (0.1A)。
  • Gain_CCMP :这是CCMP内部的可编程增益。查阅SLG47105数据手册可知,其增益可选1, 2, 4, 8倍。为了在1Ω采样电阻上获得足够高的检测电压以提高抗噪声能力,我们选择8倍增益。
  • R_sense :采样电阻,1Ω。

代入公式: Vref_CCMP = 0.1A * 8 * 1Ω = 0.8V

这意味着,我们需要在Go Configure软件中将CCMP的参考电压设置为800mV。当采样电阻上的压降达到 0.8V / 8 = 0.1V 时,即电流达到100mA,CCMP就会动作。这个设计巧妙地将小信号放大,使得在较小采样电阻上也能实现精确的电流检测。

实操心得 :在布板时,采样电阻R_sense的走线至关重要。必须采用开尔文连接(Kelvin Connection)或至少是精心设计的星型接地。即,将R_sense两端直接通过独立的走线连接到芯片的CCMP输入引脚和功率地,避免大电流路径上的压降干扰采样信号。地线处理不好,是导致恒流精度差、保护点漂移的常见原因。

4. HVPAK内部逻辑配置详解

这是本设计的精髓所在,我们不需要写代码,而是在图形化界面里“连接”芯片内部的硬件模块。下面我分模块解释如何在Go Configure Software Hub中实现图3所示的框图功能。

4.1 亮度控制通道(PWM0)配置

PWM0负责生成49kHz的基波,并接受两个按钮(增/减)的控制来调整占空比。

  1. 时钟源与PWM发生器

    • 首先,需要配置一个高频时钟源。使用内部振荡器OSC0,将其频率设置为 6 MHz (这是一个常用且稳定的频率)。
    • 然后,使用一个 CNT/DLY 模块作为PWM发生器。将其配置为“双边沿延迟”模式或“PWM”模式。时钟源选择刚才设置的6MHz OSC0。
    • 计算PWM频率 :PWM频率由计数器的重载值决定。例如,要产生49kHz频率,计数周期 T = 1 / 49kHz ≈ 20.4us 。在6MHz时钟下,每个时钟周期是1/6MHz ≈ 0.1667us。因此,需要的计数值为 20.4us / 0.1667us ≈ 122 。我们将计数器的重载值设置为122,即可得到约49kHz的频率。
    • 占空比控制 :PWM的占空比由另一个寄存器值控制,这个值将与重载值比较以决定高电平时间。我们通过一个 UP/DOWN CNT 模块(例如CNT2)来存储和调整这个“比较值”。
  2. 按钮逻辑与占空比调整

    • 将PIN3(亮度+)和PIN17(亮度-)配置为数字输入,并启用内部上拉电阻。
    • 核心逻辑是:当按下“亮度+”时,UP/DOWN CNT向上计数,增加PWM比较值,从而增大占空比;按下“亮度-”时则向下计数。
    • 为了实现“按下调整,松开停止”,需要使用一个 锁存或边沿检测逻辑 。如图6所示,利用一个 NXOR(同或门) DFF(D触发器) 来实现。当两个按钮都未按下(同为高,因上拉)或同时按下(同为低)时,NXOR输出高电平,这个信号作为“KEEP”信号,使能UP/DOWN CNT的时钟禁止。只有当其中一个按钮被单独按下时(PIN3高/PIN17低,或PIN3低/PIN17高),NXOR输出低电平,解除禁止,此时CNT2的时钟(可以来自一个低频的OSC,如1kHz)才能触发计数器递增或递减。
    • UP/DOWN CNT的输出范围应限制在0到122(即重载值)之间,对应0%到100%占空比。这可以通过配置计数器的上下限来实现。

4.2 色温控制通道(PWM1)配置

PWM1负责生成120Hz的信号,并控制其占空比以调节冷暖光比例。

  1. 低频PWM生成

    • 使用另一个 CNT/DLY 模块作为PWM1发生器。
    • 计算120Hz频率 :周期 T = 1 / 120Hz ≈ 8.33ms 。使用同一个6MHz OSC0作为时钟源,需要的计数值为 8.33ms / 0.1667us ≈ 50000 。SLG47105的计数器位宽足够支持这个值。
    • 同样,使用另一个 UP/DOWN CNT 模块(例如CNT3)来控制PWM1的占空比比较值。
  2. 按钮逻辑

    • 控制逻辑与亮度通道完全对称。PIN14(色温+,向暖调)和PIN2(色温-,向冷调)通过另一组NXOR和DFF逻辑,控制CNT3的递增/递减。
    • CNT3的输出范围同样限制在0到PWM1计数器的重载值之间。

4.3 信号混合与输出驱动

这是实现两级调制的关键步骤。

  1. PWM调制

    • PWM0的输出信号是一个49kHz的方波。PWM1的输出信号是一个120Hz的方波。
    • 我们需要用PWM0信号去“门控”PWM1信号。即,最终的输出信号 = PWM0_OUT AND PWM1_OUT。这个逻辑可以通过一个 2输入AND门 (或使用一个LUT配置为AND功能)轻松实现。
    • 对于暖光通道(HV OUT0): HV_OUT0_Enable = PWM0_OUT AND PWM1_OUT 。这意味着,只有当整体亮度允许(PWM0为高)且色温比例轮到暖光时(PWM1为高),暖光LED才会导通。
    • 对于冷光通道(HV OUT1): HV_OUT1_Enable = PWM0_OUT AND (NOT PWM1_OUT) 。即,整体亮度允许,且色温比例轮到冷光时(PWM1为低),冷光LED导通。
  2. 高压输出配置

    • 将芯片的PIN6和PIN5配置为 HV GPO 模式。
    • 将上述逻辑运算后的信号( HV_OUT0_Enable HV_OUT1_Enable )分别连接到这两个HV GPO的控制端。
    • 在HV GPO的属性中,需要正确设置其驱动强度和开关时序(如死区时间,本例中双路输出是交替导通,不存在直通风险,可设为默认值)。
  3. 过流保护连接

    • 将电流采样电阻两端的电压,连接到芯片的 ACMP/CCMP 输入引脚。
    • 在软件中配置一个 CCMP 模块,将其正输入端连接至内部生成的800mV参考电压(Vref),负输入端连接采样电压。并将CCMP的输出连接到控制两个HV GPO的“全局使能”或“复位”端。一旦过流,CCMP输出翻转,立即强制关闭两个HV OUT,直到故障条件消失。

注意事项 :在图形化配置时,务必注意信号路径的延迟。特别是过流保护路径,要求响应速度极快。SLG47105的硬件连接延迟很小,通常是纳秒级,能够满足要求。避免在关键的保护路径中插入过多的组合逻辑,最好让CCMP的输出直接或通过极少的门电路去控制输出。

5. 调试过程、波形分析与问题排查

设计配置完成后,需要生成配置文件并烧录到SLG47105芯片中,然后搭建实物电路进行调试。

5.1 上电与基础功能测试

  1. 供电检查 :首先不接LED,测量VDD(逻辑电源,3.3V/5V)和VDD2(驱动电源,12V)是否稳定。用示波器观察电源纹波,确保在芯片要求范围内。
  2. 控制逻辑测试 :接上LED,先不关注恒流。测量两个HV OUT引脚在按钮操作下的波形。
    • 操作亮度+/-按钮,用示波器测量 PWM0_OUT (或HV OUT0/1的公共包络)的频率应为49kHz,且占空比应平滑变化。
    • 操作色温+/-按钮,在低亮度下(方便观察),测量 PWM1_OUT 的频率应为120Hz,且占空比变化时,应能看到暖光和冷光LED交替点亮的时间比例在变化。
    • 测试过流保护:可以用一个可调电子负载或大电流档位快速短接LED输出,观察CCMP是否动作,HV OUT是否立即关闭。

5.2 关键波形解读与实测对比

使用示波器,同时捕获电流探头(套在电感或LED串联路径上)和电压探头(接HV OUT0或HV OUT1),可以观察到如下关键波形:

  • 图10 暖光最大亮度波形 :此时PWM0占空比100%,PWM1占空比100%。示波器会显示HV OUT0持续为高电平(方波顶部),HV OUT1持续为低电平。LED电流是一个稳定的、幅值为100mA的直流(略有纹波)。这验证了亮度与色温控制均达到上限。
  • 图11 冷光最大亮度波形 :与图10相反,PWM0占空比100%,PWM1占空比0%。HV OUT1持续为高,HV OUT0持续为低。电流同样稳定在100mA。
  • 图12 50%亮度,50%色温(中性白)波形 :这是最体现混合调制效果的波形。你会看到:
    • HV OUT0和HV OUT1交替输出49kHz的PWM波,且相位相反。
    • 在一个120Hz的低频周期(8.3ms)内,前4.15ms是暖光LED以49kHz PWM工作,后4.15ms是冷光LED以49kHz PWM工作。
    • LED电流波形是断续的100mA方波,但在4.15ms的时间尺度内,其平均电流为50mA。由于120Hz频率够快,人眼会将这交替的暖光和冷光融合成一种稳定的中性白光。

5.3 常见问题与排查技巧实录

在实际调试中,我遇到了几个典型问题,这里分享排查思路:

问题1:LED闪烁,特别是低亮度时闪烁感明显。

  • 可能原因A:PWM0频率过低。 如果频率低于几百Hz,人眼就能察觉到闪烁。 排查 :用示波器测量PWM0频率,确认是否为设定的49kHz(或更高)。 解决 :检查OSC0配置和CNT/DLY的重载值计算是否正确。
  • 可能原因B:电源不稳定或去耦不足。 在开关瞬间引起电压跌落,导致逻辑复位或异常。 排查 :用示波器探头(带宽足够)在芯片VDD和VDD2引脚上,观察在PWM开关瞬间的电压跌落情况。 解决 :确保电源有足够容量,并严格按照要求,在芯片电源引脚附近放置高质量的0.1µF陶瓷电容和更大容量的储能电容。

问题2:调光或调色温时,变化不线性或有跳变。

  • 可能原因:UP/DOWN CNT的计数时钟频率与按钮去抖处理不当。 如果计数时钟太快,而按钮未做去抖,一次按下可能会触发多次计数。 排查 :在软件中降低控制CNT2/CNT3的时钟频率(如从1kHz降到100Hz)。同时,可以在按钮输入后增加一个简单的数字滤波器(如用OSC和CNT实现一个几毫秒的延迟再采样)。 解决 :优化按钮控制逻辑的时钟和去抖参数。SLG47105的矩阵资源丰富,完全可以实现一个简单的软件去抖逻辑。

问题3:恒流精度差,不同输入电压下亮度有变化。

  • 可能原因A:采样电阻精度或布局问题。 排查 :测量采样电阻的实际阻值,并检查其PCB走线是否引入了额外的阻抗。 解决 :使用更高精度(0.5%或更高)的采样电阻,并优化开尔文连接走线。
  • 可能原因B:电感饱和。 如果电感在峰值电流下饱和,其感量会急剧下降,导致电流峰值失控,恒流环路无法调节。 排查 :观察电流波形,如果看到电流上升沿在后期突然变得非常陡峭,可能是电感饱和。 解决 :更换饱和电流更大的电感。

问题4:过流保护点不准或误触发。

  • 可能原因A:CCMP参考电压Vref不准。 排查 :在软件中确认Vref设置是否为800mV。可以用高精度万用表测量芯片相关引脚电压(如果引出)进行验证。 解决 :校准或检查内部Vref的配置。
  • 可能原因B:采样信号受到噪声干扰。 排查 :用示波器交流耦合模式观察采样电阻两端的电压波形,看是否有高频毛刺。 解决 :在CCMP的采样输入引脚附近,增加一个小的RC低通滤波器(例如,一个100Ω电阻串联一个1nF电容到地),以滤除高频开关噪声。注意RC时间常数要远小于PWM周期,以免影响保护响应速度。

为了方便快速对照,我将常见问题、现象和排查方向整理成下表:

问题现象 可能原因 排查工具 解决思路
LED肉眼可见闪烁 PWM频率过低;电源不稳定 示波器 检查并提高PWM0频率;加强电源去耦
亮度/色温调节不顺畅 按钮去抖不良;计数时钟过快 逻辑分析仪/示波器 在HVPAK逻辑中增加去抖;降低控制计数时钟频率
不同输入电压下亮度不一致 恒流环路不稳定;电感饱和 示波器(电流探头) 检查电流波形;确认电感规格;优化补偿(如调整开关频率)
过流保护过早或过晚触发 CCMP参考电压不准;采样噪声 万用表、示波器 校准Vref;在采样路径添加小电容滤波
芯片发热严重 驱动电流过大;开关损耗高 红外热像仪/手摸 检查LED电流是否超限;确认HV GPO驱动强度设置是否合理(不是越高越好)

6. 设计扩展与优化建议

这个基于SLG47105的基础框架具有很强的可扩展性。这里分享几个我想到的优化和扩展方向:

  1. 增加模拟调光接口 :除了按钮,我们可能希望用MCU的PWM或DAC信号来控制。SLG47105有ADC模块,可以将外部模拟电压(如来自电位器或DAC)转换为数字值,直接作为PWM占空比的设定值,实现更平滑的模拟式控制体验。

  2. 实现记忆功能 :每次上电都恢复默认亮度色温可能不方便。SLG47105内部有非易失性存储器(NVM)。我们可以将当前的亮度、色温计数值定期或在下电前存入NVM,上电时再读取出来,实现断电记忆。这需要利用芯片的NVM读写控制模块。

  3. 加入环境光感应 :可以外接一个光敏电阻或数字环境光传感器(通过I2C)。将光照度信号读入后,通过内部逻辑自动调整PWM0的占空比,实现自动亮度调节(Auto Brightness)。SLG47105的模拟和数字资源足以处理这类信号。

  4. 多路独立控制 :SLG47105有两个HV OUT,本例中用于冷暖双色。如果你的灯具有RGB三色LED,可以利用更多的GPIO(非高压)配合外部低压侧MOSFET来驱动,同样用内部的PWM和逻辑资源生成三路独立的PWM信号,实现全彩混光。

  5. 效率优化 :对于电池供电的应用,效率至关重要。可以探索将PWM频率提高到人耳听不到的范围内(如>150kHz),以使用更小的电感。同时,仔细优化电感和续流二极管(如果使用外部二极管)的选型,减少开关损耗和导通损耗。

这个项目最让我满意的地方在于,它用一个极其紧凑的硬件架构,实现了通常需要多颗芯片才能完成的功能。SLG47105的这种可视化配置方式,极大地降低了硬件状态机设计的门槛。调试过程中,最关键的教训是 电源完整性和信号完整性是基础 ,无论逻辑设计得多巧妙,糟糕的PCB布局和去耦都会让系统行为诡异。另一个心得是,在配置像CCMP这样的模拟模块时,一定要反复确认数据手册中的增益、偏置等参数,并在实际电路中预留测试点进行验证,硬件设计容不得半点“想当然”。

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值