参考文献
有关文件及软件,请浏览:
//www.wsdof.com/雷电竞官网登录products/greenpak
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPAK设计软件,软件下载和用户指南,Dialog Semiconductor雷竞技电竞平台
- AN-1098使用GreenPAK的I2C端口控制一个RGB LED的颜色,绿派克设计文件,Dialog半导体雷竞技电竞平台
- GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
- SLG46531对话框数据表,半导体雷竞技电竞平台
作者:Chuck Husted和Luke Thomas
介绍
这个应用说明解释了如何重新配置SLG46531的寄存器通过I2具体来说,它显示了如何改变与计数器相关联的寄存器,设置驱动LED的R, G,和B阴极的PWM值。
重要的是要注意通过I进行的任何重新配置2C语言是易变的,在GreenPAK内部的POR重置后将恢复到已编程的代码。
GreenPAK好处
GreenPAK是一个非常多功能的低电流消耗IC,它可以从其他微控制器和更大的SOC中卸载功能。例如,一个微控制器可以是主动的(绘制几个mA的电流),并可以通过I写2C给SLG46531V设定RGB,然后单片机可以进入深度睡眠模式来保存系统电流。GreenPAK将管理RGB光功能,并根据需要唤醒微控制器。GreenPAK也可以通过使用另一个I/O引脚作为中断。
GreenPAK配置
如图2(a)所示的GreenPAK设计实现了一个简单的RGB LED驱动程序。在GreenPAK Universal Dev Board上,将Pin 3连接到蓝色LED的阴极,Pin 5连接到绿色LED的阴极,Pin 7连接到红色LED的阴极。公共阳极应连接到GreenPAK的VDD引脚上。
记住根据需要将限流电阻与led串联使用。Counter0被设置为100hz的刷新率,因此肉眼无法看到闪烁。Counter2有一个寄存器,可以从0到255,代表255个PWM步骤。每一步代表0.39%。CNT2, 3和4控制RGB LED的PWM。
创建一个我2写寄存器位的命令
本申请说明不包括基本的GPAK I2C命令格式。相反,我们将强调实现RGB LED的特定命令。在示例GreenPAK设计文件中(可在对话框我们使用了一个默认的芯片地址00(十进制),我们将十六进制格式显示为0x00。注[表示I2C开始位和]表示停止位。
由于设计使用了四个计数器,我们需要知道每个计数器的寄存器地址。
计数器 |
字节地址(十六进制) |
CNT0 |
0 xc5 |
CNT2 |
0 xc0 |
CNT3 |
0 xc1之前 |
CNT4 |
0 xc2 |
表1提供了本设计中使用的四个计数器的寄存器地址。改变这些寄存器将影响三个led的亮度和最终的颜色。
由于计数器2到4的范围从0到255(十进制),我们可以通过I写入它们2C的数据从0x00到0xFF。
通过将所有这些信息放在一起,我们可以创建一个命令来关闭红色LED,通过在GreenPAK中写入以下内容来关闭红色LED:
[0x00 0xC0 0x00]
同样,这将关闭绿色LED:
[0x00 0xC1 0x00]
这个命令会关闭蓝色LED:
[0x00 0xC2 0x00]
为了将所有三个led都打开到全亮度(每个led都有100%的PWM信号),我们可以简化写命令,因为三个寄存器地址是顺序的:
[0x00 0xC0 0xFF 0xFF 0xFF]
该命令首先将100%的PWM信号写入与红色LED相关的计数器,然后100%写入绿色LED的计数器,最后100%写入蓝色LED的计数器。
使用GreenPAK开发工具包模拟器
我们可以使用GreenPAK开发工具包模拟器来创建正确驱动led所需的信号。首先,我们必须将开发工具包连接到电脑或笔记本电脑的USB端口。第二步,将SLG46531V IC插入插座。第三,打开GreenPAK Designer软件中的设计文件,并单击上方工具栏中的Emulator按钮。如图2(b)所示。接下来,我们必须启用I2软件中的C工具。这是屏幕右侧的按钮。请参见图2(c)。
启用I后2C工具,必须选择I2C虚拟输入按钮。这个工具允许我们直接写入计数器寄存器。见图3(a)。
在计数器0 (CNT0)的“新值”框中输入256(小数)的值。这设置了PWM的刷新时间。接下来在计数器2 (CNT2)的“新值”框中输入255,并按“写”按钮。
这将打开红色LED与100% PWM设置。
窗口设置见图3(b),开发套件连接到RGB LED的图片见图3(c)。
接下来,在CNT2的“新值”框中输入0,在CNT3的“新值”框中输入255。按“写”,你会看到绿色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置于休眠模式,以节省整个系统的功耗,这是基于电池的便携式和可穿戴系统所希望的。