LP5562调光芯片驱动

  • Post author:
  • Post category:其他




LP5562调光芯片驱动



芯片介绍

在这里插入图片描述

LP5562是一款设计用于产生多种照明效果的四通道LED驱动器。

四个独立的 LED 通道具有准确的可编程电流吸收能 力,从 0mA 到 25.5mA(步长 100μA),以及灵活的PWM控制 每个通道可被配置为三个程序后执行引擎, 程序执行引擎具有使用 PWM 控制来产生所需照明序列的程序存储器。

在这里插入图片描述


  • W :LED1控制脚

  • ADDR_SEL_1 : 地址选择引脚1

  • SDA : IIC数据脚

  • VDD:电源脚

  • ADDR_SEL_0:地址选择引脚0

  • SCL:IIC时钟脚

  • CLK_32K:外接32kHz时钟

  • GND:地

  • EN/VCC:使能引脚

  • B :LED2控制脚

  • G :LED3控制脚

  • R :LED4控制脚



通讯介绍



IIC通讯



IIC器件地址



ADDR_SEL_1 与ADDR_SEL_0组合控制


在这里插入图片描述



寄存器介绍

在这里插入图片描述



LED电流控制寄存器

在这里插入图片描述


W CURRENT Register

地址:(0FH) 写入0-255


B CURRENT Register

地址:(05H) 写入0-255


G CURRENT Register

地址:(06H) 写入0-255


R CURRENT Register

地址:(07H) 写入0-255



PWM控制器


W LED Output PWM Control Register

地址:(0EH) 写入0-255


B LED Output PWM Control Register

地址:(02H) 写入0-255


G LED Output PWM Control Register

地址:(03H) 写入0-255


R LED Output PWM Control Register

地址:(04H) 写入0-255



使能寄存器

在这里插入图片描述


LOGEN_EN:使能对数调整效果如下。

在这里插入图片描述


CHIP_EN:使能芯片顺序启动


ENG1_EXEC:


00→保持:等待当前命令完成,然后在保持EXEC模式保持时停止。在此模式下只能读或写


01→步骤:执行由当前ENG1中定义的指令,并将ENG1_EXEC更改为00b(保持);


10→运行:从当前ENG1中定义的程序计数器值开始;


11→由当前引擎1PC值定义的执行指令,并将ENG1_EXEC更改为00b(保持)


ENG2_EXEC与ENG3_EXEC同上



活动模式寄存器

在这里插入图片描述


ENG1_MODE:


00→关闭


01→将程序加载到SRAM,ENG1;


10→运行由ENG1_EXEC定义的程序;


11→直接控制


ENG2_MODE与ENG3_MODE同上



配置寄存器

在这里插入图片描述


PWM_HF:0→使用了256Hz的PWM时钟 1→使用了558Hz的PWM时钟


PWRSAVE_EN:1→已启用省电模式


CLK_DET_EN:


00→外部时钟


01→内部时钟;


10→自动选择;


11→内部时钟;



LED映射寄存器

在这里插入图片描述


W_ENG_SEL:


00→输出的PWM由PWM Control Register控制;


01→输出的PWM由Engine 1;


10→输出的PWM由Engine 2;


11→输出的PWM由Engine 3;


R_ENG_SEL、G_ENG_SEL、B_ENG_SEL同上

在这里插入图片描述

在这里插入图片描述



内部PWM编程规则



PWM变化规则定义

在这里插入图片描述


  • Increment:步骤数为Increment+1。注意:0是一个等待指令

  • Sign:0→增加PWM的输出量; 1→减少PWM的输出

  • Step time: 一步的时间=(步骤数)x(预压后的时钟)注:0表示设置PMW步骤时间

  • Prescale:0→将主时钟(32.768Hz)除以16=2048Hz、0.49毫秒的循环时间; 1→将主时钟(32.768Hz)除以512=64Hz,15.6毫秒的循环时间


设置PWM要到达的目标

在这里插入图片描述


0-255



开始启动

在这里插入图片描述


写入:00000000000



设置程序循环次数

在这里插入图片描述


  • loop count:循环次数,0为无限循环

  • step number:



结束指令

在这里插入图片描述

在这里插入图片描述


  • int:是否产生中断 0→不产生中断,1→激活中断

  • reset:复位设置 0→保持当前的PWM值,1→PWM值变为0



激活命令

在这里插入图片描述

  • wati trigger:等待已定义的引擎的触发器。在同一命令中可以等待多个触发器0-7。位0是引擎1,位1是引擎2,位2是引擎3。
  • send trigger:为已定义的引擎发送触发器。可以在同一命令中定义多个触发器。位0是引擎1,位1是引擎2,位2是引擎3



版权声明:本文为qq_45531642原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。