一种高频RFID读写器的设计
2020-02-03张建文肖静
张建文 肖静
(东华理工大学机械与电子工程学院 江西省南昌市 330013)
1 引言(Introduction)
射频识别技术(Radio Frеquеncy Idеntification,RFID)是一种非接触的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)传输特性,实现对被识别物体的自动识别。RFID技术具有非接触识别、快速读写、移动识别、多目标识别等特点,广泛应用于自动识别、物品物流管理、公共信息服务等领域。射频识别系统由读写器和电子标签两部分组成。读写器能将标签中的信息读出,或向标签写入其所需的信息,其由微控制器、射频基站芯片、天线和一些外围阻容器件组成。本文所设计的高频RFID 读写器能够快速准确的对电子标签进行识别和对内存数据的进行读出或写入操作,并将数据送入计算机终端进行有关数据处理。
2 硬件电路设计
读写器的硬件构成框图如图1 所示,其由接口电路、控制单元、射频模块、天线等四部分构成。上位机通过接口电路向控制单元发送读/写卡等命令,并接收来自控制单元的数据。控制单元根据具体程序控制射频模块操作。射频模块将读写器欲发往标签的数据进行调制,经由发射天线发送出去或将天线上接收的标签返回信号进行解调,提取出标签回送的数据。
2.1 单片机外围电路设计
单片机外围电路包括蜂鸣器电路、LED 电路、串行接口电路、复位电路、晶振电路等。蜂鸣器和LED 指示灯在开机、读写卡片时起提示作用;串行接口电路用于实现读写器和上位机之间的通信。电路设计如图2 所示。
2.2 射频模块电路的设计
2.2.1 RC500 芯片与AT89S52 的硬件连接
单片机通过对 RC500 特殊寄存器的读写来控制RC500。RC500的中断请求端IRQ,接单片机的外部中断INT0。片选信号禁止引脚NCS,接单片机的P2.0。地址锁存使能引脚ALE,接单片机的地址锁存ALE。复位引脚RSTPD,接单片机的P1.7。D0~D7 为8位双向数据总线,与单片机P0 口直接连接。电路设计如图3 所示。
2.2.2 天线射频接口电路设计
RC500 芯片由TX1 和TX2 两个引脚通过几个无源器件的匹配和滤波直接驱动天线。TX1 和TX2 引脚发射的是调制过的13.56MHz 载波信号,标签返回的信号由天线接收,传送至RC500的芯片的RX 引脚。
天线射频接口电路包括发送端口滤波电路和接收端口接收电路,设计时可参照philips 公司提供的参考电路,电路如图4 所示。
3 读写器对Mifare卡的操作流程和程序设计
读写器对Mifare 卡的操作流程如图5 所示。
初始化:读写器的读卡过程首先是初始化,初始化包括单片机的初始化和RC500 的初始化。
请求应答:读写器通过天线不断向外发送Request 命令以搜索处于有效工作范围内的Mifare 卡,当有卡片处于有效工作范围内时,读写器就与此卡片进行通讯,并验证卡片的类型,验证完毕后进入防碰撞机制。
防碰撞机制:当有多张Mifare 卡片进入到读写器的工作范围内时,防碰撞机制从众多卡片中选取其中一张卡片作为下一步要操作的对象。
选择卡片:在经过防碰撞机制后,读写器发送选择命令给被选中的卡片,卡片返回卡的容量代码。
认证阶段:选定要处理的射频卡片后,读写器根据用户需要,确定要访问的卡片扇区号,并对该扇区密码进行密码校验。在与射频卡片经过三次互相认证通过后,读写器就可以对卡片进行读写。
读写阶段:在这个阶段中,读写器完成对射频卡的数据操作。
中止:当一系列的操作完成后,MCU 发送一个中止命令给卡片,使其退出工作。
由于Mifare 卡是在不确定的时间进入阅读器的有效工作范围,所以读写器必须不停的向外发送请求应答命令,在程序设计中用一个无限循环while(1)语句来解决这个问题。循环外只有初始化和装载密码程序。
读卡器测试程序如下:
图1:读写器的结构框图
图2:单片机外围电路连接图
图3:RC500 与AT89S52 的连接电路图
图4:射频接口电路设计
图5
4 读写器测试
在完成读写器的硬件设计和制板后,就可测试读写器的功能。测试读写器功能之前要先确保读写器的各子模块正常工作,测试单片机的晶振管脚频率,观察其是否正常;编写一些简单的测试程序,测试蜂鸣器和指示灯是否正常工作;编写串口接收、发送程序, 测试串口通信模块否正常工作;观测RC500 模块TX1,TX2 引脚有无信号,判断MF RC500 芯片是否损坏。
测试完硬件电路的,再运行测试程序。编写一个对Mifare1 卡某块地址进行读写操作的程序,例如:将16 个数据FF,FD,FF,FD,FF,FD,FF,FD,FF,FA,FF,FA,FF,FA,FF,FA 写入Mifare1 的块地址为8 的数据块中,再将Mifare1 的块8 的数据读入读写器,并通过RS232 串口由串口调试器显示出来。实验显示,串口接收的数据依次为FF,FD,FF,FD,FF,FD,FF,FD,FF,FA,FF,FA,FF,FA,FF,FA,这与写入卡片的数据完全一致,证明了RFID 射频识别系统读写器的硬件设计和软件设计均正确。
5 结论
本文介绍了基于RC500 芯片和AT89S52 单片机的高频RFID读写器设计方案,给出了读写器硬件电路,分析了读写器对Mifare卡的操作流程,在此基础上给出了核心测试程序。实验证明,该读写器具有良好的稳定性和可靠性,能应用于生活生产相关领域。