参考
对于相关的文件和软件,请访问:
https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPak Designer软件,软件下载和用户指南,Dialog Semiconductoryabo国际娱乐
- AN-1176 RFID传感器狗门.GP,GreenPak设计文件,对话半导体yabo国际娱乐
- GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
- GreenPak应用笔记,GreenPak应用笔记网页,对话框半导体yabo国际娱乐
- SLG46531对话框数据表,半导体yabo国际娱乐
介绍
这个应用笔记描述了如何使用格林帕克SLG46531V作为RFIDBASED PET门的主控制器。
我们使用了一个SM130如图1所示的RFID模块与GreenPAK接口,并利用此机会应用串行通信原理。
引脚16和17在这个项目中发挥着重要作用,因为这两个引脚让我们知道SM130正在寻找标签时,并且当它找到了一个新的时。当与标签通信不成功时,引脚17也称为输出误差,转到高电平。引脚16,标记输出确定,当通信成功时,高到高。
这意味着当SM130被命令“寻找一个标签”时,OUTPUT ERROR会发出信号,而当找到一个标签时,OUTPUT OK会发出HIGH信号。这两个信号将是控制电子锁过程的基础。但在我们开始之前,我们必须从GreenPAK给SM130发送一个“寻找标签”。
SM130默认情况下启用了UART协议,因此我们将使用该项目。在图2中,我们可以看到SM130数据表中所示的UART帧。
系统功能和电路设计
在接收到“寻求标签”命令后,SM130输出误差变为高电平。当天线检测到标签时,输出OK变为高电平,但这很高只持续一个分割秒,所以我们必须相应地计划。
输出OK信号将被GreenPAK接收,作为PIN 17上的触发器。然后,我们将使用一个延迟来保持信号高5秒,在此期间锁将保持打开。
用于此应用的锁是在12v DC与0.6 a的电流,但它也可以使用与8v。我们有两种驱动锁的电路选择,这两种电路都将在本应用笔记中进行探索。
为了加快发展,您可以购买Sparkfun Dev10406 Spark Fun RFID评估盾牌.您可以简单地将UART Rx(PIN D8)连接到SLG46531V上的任何GPIO引脚。
实现UART通信
为了输出我们的UART帧,我们设置GreenPak以输出存储在其Asychronous状态机RAM中的所有位。我们使用相同的技术讨论AN1137:串行输出技巧和技术;有关如何组装串行输出ASM的更多信息,请咨询应用笔记。
在硬件级别,当系统空转时,我们需要数据线很高,所以我们围绕着高位的帧。
如图4所示配置ASM。启动和停止位用蓝色的'和红色的'标记。
- 0xff:标题字节在状态0开始,并在第1状态完成
- 0x00:保留字节在第1状态开始,并在第2状态下完成
- 0x01:长度字节在状态2中开始,在第3状态下完成
- 0x82:命令字节从状态4开始,结束于状态5
- 0x83:校验和在第5状态开始并在第6状态完成
这个配置将给我们一个波形,当接收端分析时,将输出命令“Seek a Tag”。图5显示了由Saleae逻辑分析仪.
启动位和停止位的引入使直观地实现代码变得有点困难,所以有一种查看波形的方法是很重要的。
接下来,我们将使用水平ASM串行输出,如图6所示。
正如您在图6中所看到的,水平ASM串行输出设计使用了GreenPAK的大部分资源,因此我们必须使锁操作尽可能简单。
在我们这样做之前,我们需要弄清楚我们要使用的时钟。SM130具有19200年BPS的默认波特率。我们可以在GreenPak内生成那种CLK速度,但由于我们对资源较低,因此在GreenPak之外产生CLK更有意义。
另一个要点是UART空闲状态是HIGH,所以我们需要在SM130已经开始寻找标记之后发送一个连续的HIGH状态。
使用2个lut开发锁控制
ASM完成后,我们只剩下两个LUT才能与之合作,两者都是3位LUT。
首先,我们必须找到一种方法,将OUTPUT OK信号的持续时间从几分之一秒延长到至少5秒。幸运的是,GreenPAK在处理这种情况方面没有问题。
我们将将3位LUT8重新配置为延迟块。使用输出OK信号的下降沿,我们将触发5秒钟的下降沿延迟。这意味着我们将延迟高到低电平的变化5秒。
我们将使用OSC0 / 64,越过8,创建延迟5秒钟,成功使用一个LUT驱动锁定,如图7所示。
最后,要驱动ASM输出高,我们将使用输出误差信号,当输出确定时,它只能高。
这里我们发现了一个问题:当门打开时,OUTPUT ERROR可能是HIGH,导致一些不良的副作用。为了防止这种情况,我们将使用Delayed_State信号来驱动最后3位LUT。
其状态如下:
- Delayed_State为HIGH,因此总线不发送UART消息(其他信号是什么无关紧要)。
- Delayed_State为LOW,但OUTPUT_ERROR为HIGH,因此总线没有发送UART消息。
- delayed_state很低,output_error很低,因此总线传输UART消息。
在LUT表中,我们将delayed_state分配给In2,Output_Error到In1,以及ASM输出到IN0。这将LUT转换为OR门,因为当三个信号处于低状态时,才能通过总线发送低状态的唯一时间。
开的锁
用于此应用说明的锁是12v直流机柜抽屉电动电磁锁,如图9所示。当通电时,轴缩回,并保持缩回,只要仍有电源供应。
如前所述,本应用说明涵盖了两种驱动系统的方法:
- 使用L298n HBridge模块
- 使用晶体管
确实,用L298n驱动锁更容易、更方便,但如果我们想为这个项目做一个定制的PCB,这将是一个好主意,使用晶体管驱动锁。
锁定在12 V DC和0.6a的锁定,这意味着锁的电阻约为20欧姆。锁也适用于8 V,电流为0.4 A.通常晶体管最多额定为0.5 A,所以知道我们可以减少驾驶锁定是件好事。
如果我们需要12 v所需的电机,我们需要一个电阻来限制电流。该电阻将与电机一起串联。电阻值10欧姆足够,但我们需要知道它会消散多少功率。由于电阻将耗散超过1W,因此我们将选择一个耐受至少2 W的值
在图10中,我们可以看到晶体管开启和关闭锁。
图10中,Q1是一个NPN BJT。当它的基极是低的时候,Q1就像一个开路的开关,所以R2和R3是串联的,Q2的基极的电压和发射器的电压相似,这意味着Q2也像一个开路的开关。
当Q1的基础高时,它传输R2和R3之间的一些电压,使Q2的基极电压明显小于其发射器中的电压,允许Q2打开锁定。
结果
图11显示了完成的系统。Arduino Uno用作外部时钟,但整个系统由GreenPAK驱动。当命令已经发送时,发出搜索信号的LED打开。
图12示出了天线中的标签,提示GreenPak等待编程时间,之后再次发送消息。
这种GreenPak正在使用几乎所有的资源,因此实施19200年的波特拉特变得困难。进一步自定义串行输出可能使资源有足够的资源来实现内部时钟。
结论
创建了此应用笔记,以布置如何为GreenPak SLG46531V创建设计的基础知识,以在某些应用程序中作为主IC工作。亚博国际官网平台网址它描述了一个允许狗门的Lowsecurity系统,可以通过添加(例如)另一个GreenPak来完善,以分析SM130的响应,这可以用于验证所使用的标签的SM130的响应。此外,系统可以使用另一种方法来驱动锁定,或者我们甚至可以选择其他类型的锁,例如电磁锁。