基于SLRC400的矿用人员安全系统设计
扫描二维码
随时随地手机看文章
摘 要:本文采用SLRC400芯片,并将二进制搜索算法引入其软件编程中,按位识别碰撞,构成了矿用人员射频识别(RFID)监控系统的核心。简要描述了RFID系统的硬件结构和软件设计。
关键词:SLRC400;RFID;二进制搜索;防碰撞
煤矿生产如何做到预防重大事故的发生一直是人们关注的热点。本文采用SLRC400芯片构成RFID系统来监控人员安全。对井下所有人员装备射频卡,当井下人员经过监测点时,阅读器识别射频卡并将射频卡号和位置信息通过数据总线传输给上位机进行处理,一旦发生事故,可迅速查询被困人员信息,从而把伤亡降至最低。
系统硬件结构
本系统的结构如图1所示。其中,射频识别系统中的核心部件采用了SLRC400芯片构成的阅读器,用以对井下员工的位置进行监控。
图1 系统结构框图
SLRC400的电气特性
SLRC400是一种工作在13.56MHz的非接触式IC卡阅读器,它支持S015693协议,在无源的情况下能够驱动天线发射到较长的距离(1.5米)。其主要特点是:数字部分具有CRC校验功能;具有并行接口,可以直接与任何8位微处理器相连,为阅读器和终端电路设计提供了较大的灵活性;高集成解调和编码模拟电路;灵活的中断处理;可编程计时器;独特的串行数据;用户可编程的启动结构:数字、模拟和传输部分的独立电源供给;可外接RS-485等芯片。
SLRC400的外围电路设计
系统的硬件设计包括SLRC400构成的阅读器硬件电路设计以及CAN总线通信部分的设计。其中,SLRC400外围电路包括EMC低通滤波电路、接收电路、天线匹配电路和天线。
EMC低通滤波电路
SLRC400的工作频率是13.56MHz,作为SLRC400时钟的信号由石英晶体的振荡产生,同时也是驱动天线13.56MHz载波频率的基础,这不仅导致发射出13.56MHz的能量,同时也发射更高次的谐波。国际EMC条例规定了在宽的频率范围内发射能量的幅值。因此,为了满足这个规定,加了一个合适的滤波器。
接收电路
SLRC400的内部接收电路在射频卡进入阅读器范围时工作。当输入接引脚RX时,使用内部生成VMID。为了提供稳定的参考电压,接地电容C3与VMID相连。阅读器的接收部分需要在RX和VMID之间加分压器。
天线线圈电感选取与阻抗匹配问题
精确计算天线线圈电感值是不实际的,但是可以用线圈电感值公式估算。天线的实际电容和电感值取决于很多参数,比如天线的结构(PCB的类型),导线的厚度,缠绕线圈间的距离,屏蔽层,周围环境中的金属或铁氧体。
电容值的大小会严重影响阅读器的性能,确定电容值可以采用软件或硬件的方法,一种简单的方法是:SLRC400有一个SIG0uT引脚,当阅读器发出某一指令时,可以通过示波器观察该引脚的输出信号,不断改变卡与阅读器之间的距离和C2值,示波器将输出不同的波形,根据不同的波形即可确定阅读器最好的性能。
系统的软件实现
系统软件设计
系统软件结构如图2所示。服务器端、客户端、数据库分别采用Windows 2000 Advanced Sever,Windows 2000操作系统以及SQL Sever 2000。开发数据库的软件众多,但是VC++以其所见即所得的界面设计、高效的执行代码和极快的编译速度,成为本设计的首选工具。其中射频识别系统内部单片机采用C51高级语言,SLRC400则采用其标准程序,另外,系统还包含阅读器其他电路的应用程序设计。
图2 系统软件结构图
SLRC400应用程序算法
二进制搜索算法由一个阅读器和多个射频卡之间规定的一组命令和应答规则构成。目的在于从多卡中选出任意一张实现数据通信。为了从一组射频卡中选择其一,阅读器发出一个读卡命令,有意识地将射频卡序列号传输时的数据碰撞引导到阅读器上,即通过阅读器判断是否有碰撞发生。该算法有三个关键要素:选用易于识别碰撞的基带编码;利用射频卡序列号唯一的特性;设计一组有效的指令规则,高效、迅速地实现选卡。
本系统所用到的指令规则为:Inventory Request--请求(序列号):向阅读器请求响应;Select(SNR)--选择(序列号):用某个(事先确定的)序列号作为参数发送给射频卡。如果场中某一射频卡的序列号和此参数相同,则此射频卡被选中,对其他的指令进行响应,而其他序列号的射频卡只对Inventory Request指令应答;Stay quiet--安静状态:取消一个事先选中的射频卡,射频卡进入安静状态(非激活),对收到的Inventory Request命令不做应答。为了重新激活射频卡,可以先将射频卡移出阅读器天线的作用范围再进入,以实现复位,或者收到select及Reset to Ready命令。
对二进制搜索算法系统功能的可靠性起决定作用的是所有射频卡需要准确的同步,这样才能按位判断碰撞的发生。为了使众多射频卡不发生碰撞,需要重复操作Inventory Request指令。
SLRC400应用编程
读写芯片SLRC400的行为通过执行特定的9条命令的内部状态来决定。执行命令时所需的声明或数据通过FIFO缓冲器交换。Start up 命令进行复位和初始化;IDLE将SLRC400切换到非激活状态;Transmit从FIFO缓冲器传输数据到射频卡;Receive命令激活接收电路;Transceive从FIFO缓冲器传输数据到射频卡;WriteE2命令把从缓冲器获得的数据写到EEPROM;ReadE2把从EEPROM读到的数据置于FIFO缓冲器;LoadConfig从EEPROM读数据并初始化寄存器;CalcCRC激活协处理器。在执行前对所有寄存器进行初始化,然后阅读器以一定的时间间隔循环发送Inventory Request命令,监测阅读距离内是否有射频卡存在。如果有,则射频卡响应Inventory Request命令,向阅读器发送卡号和CRC校验值。如果有通信错误或无碰撞,则利用Transmit和WriteE2通过数据总线发送给微处理器,然后发送Stay quiet命令,使刚才的射频卡进入安静状态。如果有碰撞,就调用防碰撞程序,以二进制搜索的算法缩小搜索范围,直到剩下一个射频响应。
结语
本系统能够实现1.5米的人员识别,并且通过数据总线将射频卡号和位置信息传送到数据中心站,利用本系统能够及时掌握井下员工的位置。但本系统的识别距离相对较短,如何提高阅读器的识别距离是今后的工作重点。
参考文献:
1 ISO/IEC JTC 1,ISO/IEC 15693-2:2001(E),Identification cards-Conttactless integrated circuit(s) cards-Vicinity cards-Part 3:Anticollision and transmission protocol,Geneva, Switezerland,2001