参考
对于相关的文件和软件,请访问:
https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.
下载我们的免费GreenPak Designer软件[1]打开.gp文件[2]并使用GreenPak开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
yabo国际娱乐对话框半导体提供完整的应用程序库注意[4],其中包含了设计示例以及对话框IC中的功能和块的说明。
- GreenPak Designer软件,软件下载和用户指南,对话框半导体yabo国际娱乐
- AN-1098使用GreenPak的I2C端口控制RGB LED的Color.gp,GreenPak设计文件,对话半导体yabo国际娱乐
- GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
- GreenPak应用笔记,GreenPak应用笔记网页,对话框半导体yabo国际娱乐
- SLG46531数据表,对话框半导体yabo国际娱乐
作者:Chuck Subled和Luke Thomas
介绍
这个应用笔记介绍如何通过i重新配置SLG46531的寄存器2C.具体地,它示出了如何改变与计数器相关联的寄存器,该计数器设置用于驱动LED的R,G和B阴极的PWM值。
重要的是要注意任何通过我的重新配置2C是易失性的,将在GreenPak重置后的POR后恢复为编程的代码。
GreenPak福利
GreenPak是一个非常通用的低电流消耗IC。它可以从其他微控制器和更大的SOC卸载函数。例如,微控制器可以是活动的(绘制几MA的电流),并且可以通过i写入2C到SLG46531V设置RGB,然后微控制器可以进入深度睡眠模式以节省系统电流。GreenPak将根据需要管理RGB灯功能并唤醒微控制器。GreenPak还可以使用另一个I / O引脚作为中断。
GreenPak配置
图2(a)所示的GreenPak设计实现了一个简单的RGB LED驱动器。在GreenPak通用Dev板上,将销3连接到蓝色LED的阴极,销5到绿色LED的阴极和销7到红色LED的阴极。公共阳极应连接到GreenPak的VDD引脚。
请记住根据需要使用与LED系列的电流限制电阻。计数器0设置为100 Hz刷新率,以便肉眼不可见闪烁。COUNTER2具有可以设置为255 PWM步骤的0到255的寄存器。每个步骤代表0.39%。CNT2,3和4控制RGB LED的PWM。
创造一个2c命令写入寄存器位
此应用笔记不会涵盖基本的GPAK I2C命令格式。相反,我们将强调特定命令来实现RGB LED。在示例GreenPak设计文件中(发现在对话网站)我们使用了00(十进制)的默认芯片地址,我们将以十六进制格式显示为0x00。注意[代表一个我2C启动位和]表示停止位。
由于设计使用四个计数器,我们需要知道每个计数器的寄存器的地址。
柜台 |
字节地址(十六进制) |
CNT0. |
0xC5. |
CNT2 |
0xC0. |
CNT3 |
0xC1. |
CNT4. |
0xC2. |
表1提供了本设计中使用的四个计数器中的每一个的寄存器地址。更改这些寄存器会影响三个LED和最终颜色的亮度。
由于计数器2到4范围从0到255(十进制),我们可以通过i写信给他们2C从0x00到0xFF的数据。
通过将所有这些信息放在一起,我们可以通过将以下内容写入GreenPak来关闭红色LED:
[0x00 0xc0 0x00]
同样,这将关闭绿色LED:
[0x00 0xc1 0x00]
此命令将关闭蓝色LED:
[0x00 0xc2 0x00]
要打开所有三个LED到全亮度(以及每个PWM信号为100%),我们可以简化写命令,因为三个寄存器地址是顺序的:
[0x00 0xc0 0xff 0xff 0xff]
该命令将100%PWM信号写入与红色LED相关联的计数器,然后将100%到绿色LED的计数器,最后100%到蓝色LED的计数器。
使用GreenPak开发套件模拟器
我们可以使用GreenPak开发套件仿真器来创建正确驱动LED的信号。首先,我们必须将开发套件连接到计算机或笔记本电脑的USB端口。其次,将SLG46531V IC放入插座中。第三,在GreenPak设计器软件内打开设计文件,然后单击上工具栏中的仿真器按钮。这应该如图2(b)所示。接下来我们必须启用我2软件内的C工具。这是屏幕右侧的按钮。请参见图2(c)。
在启用i之后2C工具,我们必须选择i2C虚拟输入按钮。此工具允许我们直接写入计数器寄存器。请参见图3(a)。
在计数器0(CNT0)中输入256(十进制)的值为“新值”框。这为PWM的刷新时间设置为PWM。下一个输入255进入计数器2(CNT2)的“新值”框,然后按“写入”按钮。
这将打开100%PWM设置的红色LED。
有关连接到RGB LED的开发套件图片的窗口设置和图3(c),请参见图3(b)。
接下来输入0进入CNT2的“新值”框,然后输入255进入CNT3的“新值”框。按“写入”,您将看到绿色LED在100%PWM上打开。
有关绿色LED的图像的窗口设置,请参见图3(d),以及绿色LED的图片的图3(e)。
同样,对于100%PWM的蓝色LED,请参见图3(f),用于图片的窗口设置和图3(g)。
为简化写入过程,同时为所有三种颜色更改PWM设置,只需使用顺序写入命令。
例如,要将50%PWM写入所有三个LED,这将是命令:
[0x00 0xc0 0x80 0x80 0x80]
此命令通过将0x80写入红色LED PWM的寄存器,然后立即将0x80写入绿色LED PWM的寄存器,最后将0x80写入蓝色LED PWM的寄存器。
结论
我们可以使用GreenPak SLG46531V来实现RGB LED驱动器功能。通过这种方式实现系统架构,可以将微控制器或其他系统SOC放置在睡眠模式中以节省整个系统功耗,这对于基于电池的便携式和可穿戴系统来说是期望的。