跳过主要内容

AN-CM-225智能LED调光器通过蓝牙控制

术语和定义

我知道了集成电路
通用异步收发器通用异步收发两用机
发光二极管发光二极管
SPI串行外围界面
PWM.脉冲宽度调制
FSM.有限状态机
LUT查表
DFFd型触发器

工具书类

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

//www.xmece.com/configurable-mixed-signal

下载我们的免费GreenPAK设计师软件[1]打开.gp文件[2],并查看所提出的电路设计。使用GreenPAK开发工具(3.]在几分钟内将设计冻结到您自己的定制IC中。yabo国际娱乐对话框半导体提供完整的应用程序笔记库[4],包括设计实例,以及对Dialog IC的功能和模块的解释。

  1. GreenPAK Designer软件,《软件下载及用户指南》,Dialog Semiconductoryabo国际娱乐
  2. AN-CM-225智能LED调光器GreenPAK设计文件,对话框yabo国际娱乐
  3. GreenPAK开发工具GreenPAK开发工具网页,对话框yabo国际娱乐
  4. GreenPAK应用笔记GreenPAK应用笔记网页,Dialog半导体yabo国际娱乐
  5. 列出与文档读者相关的文档。
  6. SLG46620V.,数据表,对话框半导体yabo国际娱乐

此应用笔记介绍如何构建智能数字调光器。Dimmer是一个常见的灯开关,用于房屋,酒店和许多其他建筑物。较旧版本的调光器开关是手动的,并且通常包含旋转开关(电位器)或按钮以控制光线水平。此应用笔记介绍如何构建具有两种控制光强度的数字调光器;智能手机和物理按钮。两种模式可以无缝地工作,以便用户可以从按钮和智能手机增加或减少亮度。该项目使用SLG46620V IC,HC-06蓝牙模块,按钮和LED实现。

我们将使用SLG46620V IC,因为它有助于最小化离散项目组件。格林帕克™集成电路体积小,具有多用途组件,这使得设计者可以减少组件并添加新功能。此外,项目成本也随之降低。

SLG46620V还包含一个SPI连接接口,PWM块,FSM和在一个微小芯片中有很多有用的块。这些组件允许用户构建一个实用的智能调光器,可以通过蓝牙设备或壁按钮来控制,支持扩展时间调光,并在不使用微控制器或昂贵的组件的情况下添加可选择的功能。

项目特点:
  1. 两种控制方法;移动应用程序和真正的按钮。
  2. 光线的平稳开关过渡。这对消费者的眼睛更健康。它还提供了更奢华的感觉,这是对酒店和其他服务行业的吸引力。
  3. 睡眠模式功能。这将是此应用程序的附加值。当用户激活此模式时,浅亮度在10分钟内逐渐降低。这有助于患有失眠症的人。它对孩子的卧室和零售店(结束时间)也很有用。
项目界面

项目界面有四个按钮,用作格林帕克™投入:

开、关:打开/关闭灯(软启动/停止)。

向上:增加亮度。

下来:降低光线水平。

睡眠模式:通过激活睡眠模式,光线亮度在10分钟内逐渐降低。这让用户在睡觉前有时间,并保证灯不会整夜亮着。

系统将输出PWM信号,该信号将通过外部LED和睡眠模式LED指示灯。

f1
图1:调光模块图

格林帕克™设计由4个主块组成。第一个是一个UART接收者,它从蓝牙模块接收数据,提取订单,并将订单发送给控制单元.第二个块是一个控制单元,它接收来自UART接收器或外部按钮的指令。控制单元决定所需的动作(打开/关闭,增加,减少,使能睡眠模式)。本单元使用lut实现。

第三个街区供应汽车CLK发电机.在该项目中,FSM计数器用于控制PWM。根据3频率(高,中等和低)给出的订单,FSM的价值将改变(向下)。在本节中,将生成三个频率,并且根据所需的顺序,所需的CLK传递给FSM;在接通/关闭操作时,高频通向FSM以软启动/停止。在调光期间,中频通过。低频在睡眠模式下通过,以更慢地减少FSM值。然后,光亮度也缓慢降低。第四个街区是PWM.单元,它向外部led产生脉冲。

GreenPak设计

使用调光器的最佳方式GreenPAK是通过使用8位状态机和PWM。在SLG46620中,FSM1包含8位,可以与PWM1和PWM2一起使用。蓝牙模块必须连接,这意味着必须使用SPI并行输出。SPI并行输出位0 ~ 7连接与DCMP1、DMCP2、LF OSC CLK、OUT1、OUT0 OSC输出混合。PWM0从FSM0获取输出(16位)。FSM0没有停在255;增加到16383。将计数器值限制在8位,增加另一个FSM;FSM1被用作指针,用来知道计数器何时达到0或255。利用FSM0产生PWM脉冲。 As the two FSM's values must be changed at the same time to have the same value, the design becomes a bit complex where in both FSMs have a predefined, limited, selectable CLK. CNT1 and CNT3 are used as mediators to pass the CLK to both FSMs.

设计包括以下部分。

UART接收者

首先,我们需要设置HC06蓝牙模块。HC06使用UART协议进行通信。UART代表通用异步接收器/发射器。UART可以在并行和串行格式之间来回转换数据。它包括串行接收器和与串行转换器的平行于串行转换器分开时钟。HC06中收到的数据将被传送到我们的格林帕克™设备。Pin 10的空闲状态是HIGH。发送的每个字符都以一个逻辑LOW开始位开始,然后是一个可配置的数据位数,和一个或多个逻辑HIGH停止位开始。

HC06发送1个起始位,8个数据位和一个停止位。其默认波特率为9600.我们将从HC06发送数据字节到格林帕克™SLG46620V的SPI块。

由于Dialog SPI块没有START或STOP位控制,这些位被用来启用和禁用SPI时钟信号(SCLK)。当引脚10进入低电平时,IC已经接收到一个START位,所以我们使用PDLY下降边缘检测器来识别通信的开始。下降沿检测器时钟DFF0,使SCLK信号时钟SPI块。

我们的波特率是9600比特每秒,所以SCLK周期需要是1/9600 = 104µs。因此,我们将OSC频率设置为2mhz,并使用CNT0作为分频器。

2 MHz-1 = 0.5µs

(104µs/0.5µs)-1=207

因此,我们希望CNT0计数器值为207。为了确保数据不会丢失,在SPI时钟上添加了半个时钟周期延迟,以便在适当的时间对SPI块进行计时。这是通过使用CNT6、2位LUT1和OSC块的外部时钟实现的。在DFF0计时后的52µs之前,CNT6的输出不会变高,这正好是SCLK周期104µs的一半。当它变高时,2位LUT1和栅极允许2 MHz OSC信号进入EXT.CLK0输入,其输出连接到CNT0。

f2
图2:UART接收器

控制单位

在本节中,将根据从UART接收器接收到的字节或根据来自外部按钮的信号执行命令。引脚12、13、14、15初始化为输入,并连接到外部按钮。

每个引脚内部连接到一个或栅极输入,而栅极的第二个输入通过蓝牙连接到来自智能手机的相应信号,该信号将出现在SPI并行输出上。

DFF6用于激活睡眠模式,其中输出变为高电平,随着2位LUT4的上升沿,而DFF10用于维持照明状态,其输出从低到高电平变化,反之亦然从3位LUT10输出。

FSM1是一个8位计数器;当其值达到0或255时,它在其输出上给出高脉冲。因此,它用于防止FSM0(16位)超过值255,因为它的输出重置DFFs,并从在…上离开反之亦然,如果照明是由按钮控制的+-并且已经达到了最高/最低水平。

连接到FSM1输入的信号保持向上将达到FSM0到P11和P12,以同步并对两个计数器保持相同的值。

f3
图3:控制单元设计

时钟发生器和多路复用器

在本节中,将产生三个频率,但在任何时候只有一个频率会记录FSMs。第一个频率是RC OSC,由矩阵0到P0得到。第二个频率为LF OSC,也是通过P1从矩阵0中获取;第三个频率是CNT7输出。

根据3位LUT14输出,3位LUT9和3位LUT11允许一个频率通过。之后,所选时钟通过CNT1和CNT3传输给FSM0和FSM1。

f4
图4:时钟发生器设计

PWM.

最后,FSM0值转换为PWM信号,通过引脚20出现,引脚20被初始化为输出,并连接到外部led。

f5
图5:PWM模块

安卓应用程序

Android应用程序有一个类似于真实界面的虚拟控制界面。它有五个按钮;开、关向上下来睡眠模式,及连接. 这个Android应用程序能够将按键转换为命令,并将命令发送到蓝牙模块执行。

此应用程序是用MIT应用程序发明家制作的,这不需要任何编程经验。App Inventor允许开发人员通过连接编程块使用Web浏览器为Android OS设备创建应用程序。您可以通过单击将我们的应用程序导入MIT应用程序Inventor中项目->从我的电脑中导入项目(.aia),并选择本应用程序笔记中包含的。aia文件。

要创建Android应用程序,必须启动一个新项目。需要五个按钮:一个是蓝牙设备的列表选择器,另一个是控制按钮。我们还需要添加一个蓝牙客户端。图6是Android应用程序用户界面的屏幕截图。

添加按钮后,我们将为每个按钮分配软件功能。我们将使用4位来表示按钮的状态。每个按钮一个比特,因此,当你按下按钮时,一个特定的数字将通过蓝牙发送到物理电路。

f6
图6:按钮编程模块

这些数字显示在表1

表1:命令位表示
行动
8位表示
小数
+
10000000
1
-
01000000
2
打开/关闭
00100000.
4
睡眠模式
00010000
8
按钮释放
00000000
0
f7
图7:按钮编程模块
f8
图8:电路原理图
f9
图9:原型界面

结论

这个应用笔记描述了一个智能调光器,可以通过两种方式控制;一个Android应用程序和真正的按钮。四个独立的块被勾勒在GreenPAKSLG46620V,用于控制增加或减少灯的PWM的工艺流程。此外,睡眠模式特性被概述为可用于该应用的额外调制的示例。所示示例为低电压,但可针对更高电压实施进行修改。