跳过主要内容

AN-1176 FID传感器狗门

目录

参考文献

有关文件及软件,请浏览:

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

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

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

  1. GreenPAK设计软件,软件下载,用户指南,对话框雷竞技电竞平台
  2. AN-1176 RFID传感器狗门。gp,绿派克设计文件,Dialog半导体雷竞技电竞平台
  3. GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台
  4. GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
  5. SLG46531数据表,对话框半导体雷竞技电竞平台

介绍

本应用说明描述了如何使用GreenPAK以SLG46531V为主控制器的一种基于rfid的宠物门。

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

图1。SM130射频识别模块

引脚16和17在这个项目中起着重要作用,因为这两个引脚让我们知道SM130什么时候在寻找标签,什么时候找到了新的标签。PIN 17,也被称为OUTPUT ERROR,当与标签通信不成功时,会上升到HIGH。PIN 16,标签为OUTPUT OK,当通信成功时进入HIGH。

这意味着,当SM130被命令“查找标签”时,输出错误可能会发出信号,当找到标签时,输出OK将发出高信号。这两个信号将成为电子锁控制过程的基础。但在我们开始之前,我们必须从GreenPAK向SM130发送一个“搜索标签”。

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

图2。SM130数据表中的UART帧

系统功能及电路设计

接收到“Seek a Tag”命令后,SM130 ' s OUTPUT ERROR变为HIGH。当一个标签被天线检测到时,输出OK变成高,但这个高只持续一秒,所以我们必须相应地计划。

GreenPAK将接收输出OK信号作为引脚17上的触发器。然后,我们将使用延迟将信号保持在高位5秒钟,在此期间锁将保持打开状态。

用于此应用的锁为12 V DC,电流为0.6 a,但也可用于8 V。我们有两种驱动锁的电路选择,这两种都将在本应用说明中探讨。

图3。带有SparkFun DEV10406 RFID评估屏蔽的原理图

为了加快发展,你可以购买Spark fun DEV10406 Spark fun RFID评估屏蔽.您可以简单地将UART Rx(引脚D8)连接到SLG46531V上的任何GPIO引脚。

UART通信的实现

为了输出我们的UART帧,我们设置了GreenPAK来输出存储在其异步状态机的RAM中的所有位。我们使用了同样的技术AN1137:串行输出提示和技术请参考该应用说明,了解更多关于如何组装串行输出ASM的信息。

在硬件层,当系统空闲时,我们需要数据线是高的,所以我们用高位包围帧。

图4。ASM的RAM表的配置

ASM的配置如图4所示。开始和停止位用蓝色的S和红色的S标记。

  • 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所示,GreenPAK的大部分资源都被水平ASM串行输出设计使用,因此我们必须使锁操作尽可能简单。

在这之前,我们需要弄清楚我们要用什么时钟。SM130默认波特率为19200bps。我们可以在GreenPAK内部生成CLK速度,但由于我们资源不足,在GreenPAK外部生成CLK更有意义。

另一个重要的一点是UART空闲状态是高的,所以我们需要在SM130已经开始寻找标签之后发送一个持续的高状态。

使用2个LUT开发锁控制

ASM完成后,我们只剩下两个lut可以使用,它们都是3位lut。

首先,我们必须找到一种方法,将输出OK信号的持续时间从几秒钟延长到至少5秒钟。幸运的是,GreenPAK在处理这种情况时没有问题。

我们将把3位LUT8重新配置为一个延迟块。使用OUTPUT OK信号的下降沿,我们将触发5秒的下降沿延迟。这意味着我们将延迟从HIGH到LOW的变化5秒。

我们将使用预先除以8的OSC0/64来创建5秒的延迟,成功地使用一个LUT来驱动锁,如图7所示。

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

最后,为了驱动ASM输出高,我们将使用output ERROR信号,只有当output OK为LOW时,该信号才能为高。

这里我们发现了一个问题:当门打开时,输出误差可能很高,从而导致一些不良的副作用。为了防止这种情况,我们将使用延迟的_状态信号来驱动最后的3位LUT。

各国情况如下:

  • 延迟_状态为高,因此总线不发送UART消息(不管其他信号是什么)。
  • 延迟_状态为低,但输出_错误为高,因此总线不发送UART消息。
  • Delayed_State为LOW, OUTPUT_ERROR为LOW,总线发送UART消息。

在LUT表中,我们将Delayed_State赋给IN2, OUTPUT_ERROR赋给IN1, ASM输出赋给IN0。这将LUT变成一个OR门,因为只有当三个信号处于LOW状态时,低状态才通过总线发送。

图8。的Bus_Control附近地区

驾驶门锁

用于本应用说明的锁是一个12v直流柜抽屉式电磁阀锁,如图9所示。通电时,只要仍有电源供应,轴就会缩回并保持缩回状态。

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

图9。锁的使用

的确,用L298n驱动锁更容易、更方便,但是如果我们想为这个项目制作一个定制PCB,那么最好先用晶体管驱动锁。

锁的额定电压为12v DC, 0.6 A,即锁的电阻约为20欧姆。该锁还可以工作在8 V和0.4 a的电流。通常晶体管的额定电流最大为0.5 a,所以知道我们可以用更少的电流驱动锁是一件好事。

如果我们提供电机需要的12v,我们将需要一个电阻来限制电流。那个电阻器将与电动机串联起来。电阻器的值是10欧姆就足够了,但是我们需要知道它会消耗多少能量。由于电阻器的耗散将超过1 W,我们将选择一个值,承受至少2 W。

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

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

在图10中,Q1是NPN BJT。当其基极较低时,Q1的行为类似于开路开关,因此R2和R3串联,Q2基极中的电压类似于其发射极中的电压,这意味着Q2的行为也类似于开路。

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

后果

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

图11。系统原型

图12显示了天线中的一个标记,提示GreenPAK等待编程时间,之后再次发送消息。

图12。一个标签提示GreenPAK等待

这个GreenPAK几乎使用了它所有的资源,所以实现19200波特率变得困难。进一步定制串行输出可以释放足够的资源来实现内部时钟。

结论

本应用笔记的创建是为了展示如何为GreenPAK SLG46531V在某些应用中作为主IC工作而创建设计的基础知识。雷竞技安卓下载它描述了一种低安全性的系统,当然足以驱动一扇狗门,但它可以通过添加(例如)另一个GreenPAK来完善,以分析SM130的响应,它可以用来验证使用的标签。此外,该系统还可以使用另一种方法来驱动锁,或者我们甚至可以选择另一种锁,比如电磁锁。