跳到主要内容

AN-1099使用GreenPAK的I2C端口控制RGB LED脉冲

目录

工具书类

有关文件和软件,请访问:

//www.wsdof.com/雷电竞官网登录products/greenpak

下载我们的免费GreenPAK Designer软件[1]以打开.gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用说明库[4],其中包括设计示例以及Dialog IC内功能和模块的说明。

  1. GreenPAK Designer软件,软件下载,用户指南,对话框雷竞技电竞平台
  2. AN-1099使用GreenPAK的I2.用于控制RGB LED脉冲的C端口。gp,GreenPAK设计文件,对话框半导体雷竞技电竞平台
  3. GreenPAK开发工具,GreenPAK开发工具网页,对话框雷竞技电竞平台
  4. 绿百申请须知,GreenPAK应用说明网页,对话框雷竞技电竞平台
  5. SLG46531数据表,对话框半导体雷竞技电竞平台

作者:查克·赫斯特和卢克·托马斯

介绍

本应用说明说明了如何通过I/O重新配置SLG46531的寄存器2.具体来说,它显示了如何更改与计数器相关的寄存器,这些计数器用于设置LED R、G和B阴极的开启和关闭时间。这会产生重复的光输出脉冲。

需要注意的是,通过I2.C是易失性的,在GreenPAK内的POR复位后将恢复为编程代码。

图1。GreenPAK在大型系统中用作RGB驱动程序

格林帕克福利

GreenPAK是一款多功能、低电流消耗的集成电路。它可以卸载其他微控制器和更大SOC的功能。例如,一个微控制器可以是活动的,消耗几毫安的电流,并且可以通过I2.C至SLG46531V,以设置RGB“开启时间”(或脉冲模式)。当微控制器进入深度睡眠模式以节省系统电流时,GreenPAK将管理RGB灯光功能。如果需要,GreenPAK可以使用另一个I/O引脚作为中断唤醒微控制器。

格林帕克配置

图2(a)所示的GreenPAK设计实现了一个简单的RGB LED驱动器。在GreenPAK Universal Dev板上,将针脚3连接到蓝色LED的阴极,针脚5连接到绿色LED的阴极,针脚7连接到红色LED的阴极。公共阳极应连接到GreenPAK的VDD引脚。记住根据需要使用与LED串联的限流电阻器。

图2(a)。带计数器的GreenPAK方框图,用于设置每种颜色的PWM
图2(b)。格林帕克仿真器窗口

计数器0设置三个LED的“开启时间”。此设计中设置的默认值为计数器零(CNT0)寄存器值50(十进制),等于523毫秒(或十六进制中的7D)。计数器1设置三个LED的“关闭时间”。CNT1的寄存器也设置为50或523毫秒。为了设置RGB颜色,此设计被配置为在引脚2、4和6上接受三个单独的外部PWM信号。引脚20用作三个LED输出的启用。

创建一个I2.C命令写入寄存器位

本申请说明不包括基本GPAK I2.C命令格式。相反,我们将强调实现RGB LED的特定命令。在示例GreenPAK设计文件(可在Dialog网站上找到)中,我们使用了默认芯片地址0x00。注“[”表示一个I2.C开始位,“]”表示停止位。

由于设计使用两个计数器,我们需要知道每个计数器寄存器的地址。

表1。计数器寄存器地址

柜台

字节地址(十六进制)

碳纳米管

0xC5

CNT1

0xC7,0xC8

表1提供了本设计中使用的每个计数器的寄存器地址。更改这些寄存器将影响LED的开启时间。

由于CNT1是两个字节,我们必须确保以正确的顺序写入数据。0xC7用于LSB,0xC8用于MSB。在向GPAK芯片写入数据时,我们首先写入MSB,然后写入LSB。这可以在顺序写入模式下完成,以节省写入时间。

通过汇总所有这些信息,我们可以创建一个命令,通过向GreenPAK写入以下内容,以脉冲模式打开和关闭三个LED:

要写入CNT0,我们使用以下命令:

[0x00 0xC5 0x7D]

同样,对于CNT1,我们使用此命令,因为CNT1有两个字节的数据:

[0x00 0xC7 0x7D 0x00]

使用GreenPAK开发工具包仿真器

我们可以使用GreenPAK开发工具包模拟器创建正确驱动LED所需的信号。首先,我们必须将开发工具包连接到计算机或笔记本电脑的USB端口。其次,将SLG46531V芯片放入插座。第三,打开GreenPAK Designer软件内的设计文件,单击上部工具栏中的“Emulator”按钮。这应该如图2(b)所示。接下来,我们必须启用I2.软件中的C工具。这是屏幕右侧的按钮。

在启用I2.C工具,我们必须选择2.C“虚拟输入”按钮。该工具允许我们直接写入计数器寄存器。请参见图3(a)。

图3(a)。带I的GreenPAK仿真器2.虚拟输入窗口

在计数器0(CNT0)的“新值”框中输入125(十进制)的值。这将设置LED的开启时间。接下来,在计数器1(CNT1)的“新值”框中输入125,并按下“写入”按钮。这将使RGB LED闪烁,并持续到OE引脚(引脚20)为止设置为高值,且单个PWM输入为高。

图3(b)。GreenPAK开发套件驱动RGB LED中的红色LED

接下来,在CNT1的“新值”框中输入250。按“Write”(写入),您将看到RGB LED亮起的时间相同,但熄灭的时间是原来的两倍。请参见图3(b)了解此脉冲模式的仿真器窗口设置。

同样,只要输入CNT0和CNT1的寄存器范围内的值,就可以创建脉冲模式开/关时间的任何组合。

结论

我们可以使用GreenPAK SLG46531V实现RGB LED驱动功能。通过以这种方式实现系统架构,可以将微控制器或其他系统SOC置于睡眠模式,以节省基于电池的便携式和可穿戴系统所期望的总体系统功耗。