参考文献
有关文件及软件,请浏览:
//www.wsdof.com/雷电竞官网登录products/greenpak
下载我们的免费GreenPAK Designer软件[1]以打开.gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用说明库[4],其中包括设计示例以及Dialog IC内功能和模块的说明。
- GreenPAK设计软件,软件下载,用户指南,对话框雷竞技电竞平台
- AN-1176 RFID传感器狗门。gp,绿派克设计文件,Dialog半导体雷竞技电竞平台
- GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
- SLG46531数据表,对话框半导体雷竞技电竞平台
介绍
本应用说明描述了如何使用GreenPAK以SLG46531V为主控制器的一种基于rfid的宠物门。
我们使用了一个SM130图1所示的RFID模块与GreenPAK接口,并借此机会应用串行通信原理。
引脚16和17在这个项目中起着重要作用,因为这两个引脚让我们知道SM130什么时候在寻找标签,什么时候找到了新的标签。PIN 17,也被称为OUTPUT ERROR,当与标签通信不成功时,会上升到HIGH。PIN 16,标签为OUTPUT OK,当通信成功时进入HIGH。
这意味着,当SM130被命令“查找标签”时,输出错误可能会发出信号,当找到标签时,输出OK将发出高信号。这两个信号将成为电子锁控制过程的基础。但在我们开始之前,我们必须从GreenPAK向SM130发送一个“搜索标签”。
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。我们有两种驱动锁的电路选择,这两种都将在本应用说明中探讨。
为了加快发展,你可以购买Spark fun DEV10406 Spark fun RFID评估屏蔽.您可以简单地将UART Rx(引脚D8)连接到SLG46531V上的任何GPIO引脚。
UART通信的实现
为了输出我们的UART帧,我们设置了GreenPAK来输出存储在其异步状态机的RAM中的所有位。我们使用了同样的技术AN1137:串行输出提示和技术请参考该应用说明,了解更多关于如何组装串行输出ASM的信息。
在硬件层,当系统空闲时,我们需要数据线是高的,所以我们用高位包围帧。
ASM的配置如图4所示。开始和停止位用蓝色的S和红色的S标记。
- 0xFF:头字节从状态0开始,结束于状态1
- 0x00:保留字节从状态1开始,结束于状态2
- 0x01:长度字节从状态2开始,结束于状态3
- 0x82:命令字节从状态4开始,在状态5结束
- 0x83:校验和从状态5开始到状态6结束
该配置将为我们提供一个波形,当接收端分析该波形时,该波形将输出命令“Seek a Tag”(查找标签)。图5显示了接收端分析的波形Saleae逻辑分析仪.
启动位和停止位的引入使得直观地实现代码更加困难,因此有一种查看波形的方法非常重要。
接下来,我们将使用水平ASM串行输出,如图6所示。
如图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所示。
最后,为了驱动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状态时,低状态才通过总线发送。
驾驶门锁
用于本应用说明的锁是一个12v直流柜抽屉式电磁阀锁,如图9所示。通电时,只要仍有电源供应,轴就会缩回并保持缩回状态。
如前所述,本应用说明涵盖了驱动系统的两种方式:
- 使用L298n HBridge模块
- 使用晶体管
的确,用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中,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工作而创建设计的基础知识。雷竞技安卓下载它描述了一种低安全性的系统,当然足以驱动一扇狗门,但它可以通过添加(例如)另一个GreenPAK来完善,以分析SM130的响应,它可以用来验证使用的标签。此外,该系统还可以使用另一种方法来驱动锁,或者我们甚至可以选择另一种锁,比如电磁锁。