跳到主要内容

AN-1176 FID传感器狗门

内容

参考

对于相关的文件和软件,请访问:

https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.

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

yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。

  1. GreenPak Designer软件,软件下载和用户指南,Dialog Semiconductoryabo国际娱乐
  2. AN-1176 RFID传感器狗门.GP,GreenPak设计文件,对话半导体yabo国际娱乐
  3. GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
  4. GreenPak应用笔记,GreenPak应用笔记网页,对话框半导体yabo国际娱乐
  5. SLG46531对话框数据表,半导体yabo国际娱乐

介绍

这个应用笔记描述了如何使用格林帕克SLG46531V作为RFIDBASED PET门的主控制器。

我们使用了一个SM130如图1所示的RFID模块与GreenPAK接口,并利用此机会应用串行通信原理。

图1所示。SM130 RFID模块

引脚16和17在这个项目中发挥着重要作用,因为这两个引脚让我们知道SM130正在寻找标签时,并且当它找到了一个新的时。当与标签通信不成功时,引脚17也称为输出误差,转到高电平。引脚16,标记输出确定,当通信成功时,高到高。

这意味着当SM130被命令“寻找一个标签”时,OUTPUT ERROR会发出信号,而当找到一个标签时,OUTPUT OK会发出HIGH信号。这两个信号将是控制电子锁过程的基础。但在我们开始之前,我们必须从GreenPAK给SM130发送一个“寻找标签”。

SM130默认情况下启用了UART协议,因此我们将使用该项目。在图2中,我们可以看到SM130数据表中所示的UART帧。

图2。UART帧来自SM130 datasheet

系统功能和电路设计

在接收到“寻求标签”命令后,SM130输出误差变为高电平。当天线检测到标签时,输出OK变为高电平,但这很高只持续一个分割秒,所以我们必须相应地计划。

输出OK信号将被GreenPAK接收,作为PIN 17上的触发器。然后,我们将使用一个延迟来保持信号高5秒,在此期间锁将保持打开。

用于此应用的锁是在12v DC与0.6 a的电流,但它也可以使用与8v。我们有两种驱动锁的电路选择,这两种电路都将在本应用笔记中进行探索。

图3. SparkFun Dev10406 RFID评估屏蔽的原理图

为了加快发展,您可以购买Sparkfun Dev10406 Spark Fun RFID评估盾牌.您可以简单地将UART Rx(PIN D8)连接到SLG46531V上的任何GPIO引脚。

实现UART通信

为了输出我们的UART帧,我们设置GreenPak以输出存储在其Asychronous状态机RAM中的所有位。我们使用相同的技术讨论AN1137:串行输出技巧和技术;有关如何组装串行输出ASM的更多信息,请咨询应用笔记。

在硬件级别,当系统空转时,我们需要数据线很高,所以我们围绕着高位的帧。

图4。配置ASM的RAM表

如图4所示配置ASM。启动和停止位用蓝色的'和红色的'标记。

  • 0xff:标题字节在状态0开始,并在第1状态完成
  • 0x00:保留字节在第1状态开始,并在第2状态下完成
  • 0x01:长度字节在状态2中开始,在第3状态下完成
  • 0x82:命令字节从状态4开始,结束于状态5
  • 0x83:校验和在第5状态开始并在第6状态完成

这个配置将给我们一个波形,当接收端分析时,将输出命令“Seek a Tag”。图5显示了由Saleae逻辑分析仪

图5。Saleae逻辑分析仪中的“寻找标签”波形

启动位和停止位的引入使直观地实现代码变得有点困难,所以有一种查看波形的方法是很重要的。

接下来,我们将使用水平ASM串行输出,如图6所示。

图6.使用ASM的串行输出

正如您在图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所示。

图7。创建一个5秒的延迟来控制锁

最后,要驱动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门,因为当三个信号处于低状态时,才能通过总线发送低状态的唯一时间。

图8. BUS_CONTROL LUT

开的锁

用于此应用说明的锁是12v直流机柜抽屉电动电磁锁,如图9所示。当通电时,轴缩回,并保持缩回,只要仍有电源供应。

如前所述,本应用说明涵盖了两种驱动系统的方法:

图9.使用的锁定

确实,用L298n驱动锁更容易、更方便,但如果我们想为这个项目做一个定制的PCB,这将是一个好主意,使用晶体管驱动锁。

锁定在12 V DC和0.6a的锁定,这意味着锁的电阻约为20欧姆。锁也适用于8 V,电流为0.4 A.通常晶体管最多额定为0.5 A,所以知道我们可以减少驾驶锁定是件好事。

如果我们需要12 v所需的电机,我们需要一个电阻来限制电流。该电阻将与电机一起串联。电阻值10欧姆足够,但我们需要知道它会消散多少功率。由于电阻将耗散超过1W,因此我们将选择一个耐受至少2 W的值

在图10中,我们可以看到晶体管开启和关闭锁。

图10.使用晶体管打开和关闭锁定

图10中,Q1是一个NPN BJT。当它的基极是低的时候,Q1就像一个开路的开关,所以R2和R3是串联的,Q2的基极的电压和发射器的电压相似,这意味着Q2也像一个开路的开关。

当Q1的基础高时,它传输R2和R3之间的一些电压,使Q2的基极电压明显小于其发射器中的电压,允许Q2打开锁定。

结果

图11显示了完成的系统。Arduino Uno用作外部时钟,但整个系统由GreenPAK驱动。当命令已经发送时,发出搜索信号的LED打开。

图11。原型系统

图12示出了天线中的标签,提示GreenPak等待编程时间,之后再次发送消息。

图12。一个标签促使绿pak等待

这种GreenPak正在使用几乎所有的资源,因此实施19200年的波特拉特变得困难。进一步自定义串行输出可能使资源有足够的资源来实现内部时钟。

结论

创建了此应用笔记,以布置如何为GreenPak SLG46531V创建设计的基础知识,以在某些应用程序中作为主IC工作。亚博国际官网平台网址它描述了一个允许狗门的Lowsecurity系统,可以通过添加(例如)另一个GreenPak来完善,以分析SM130的响应,这可以用于验证所使用的标签的SM130的响应。此外,系统可以使用另一种方法来驱动锁定,或者我们甚至可以选择其他类型的锁,例如电磁锁。