基于MFRC522的RFID读卡器设计
2014-08-25,,
,,
(浙江工业大学 信息工程学院,浙江 杭州 310023)
RFID(Radio frequency identification)读卡器是指能读取电子标签数据的自动识别设备,常见于门禁、消费机、停车场、公交和租赁系统[1]等场合,具有读写方便、识别速度快、使用寿命长以及安全性高等优点.RFID读卡器的设计难点在于天线的设计及其阻抗匹配.在合适的天线尺寸基础上,增大或减小尺寸不会提高读卡距离,而匹配阻抗不佳将会导致无法读取卡片数据或降低读卡距离.因此,选择一款业界出货量大的射频读卡芯片,给出确定电路元件值和匹配天线阻抗的方法,对门禁等非接触式读卡系统的设计具有指导意义.
设计了一种符合ISO14443A标准的RFID读卡器,采用恩智浦(NXP)公司的MFRC522射频读写芯片.研究读卡器射频信号滤波、PCB(Printed circuit board)天线设计和天线阻抗匹配的方法,设计的读卡器读卡距离最高可达60 mm,高于芯片资料给出的50 mm.
1 读卡器电路设计
读卡器电路包括微控制器电路、射频电路和PCB天线三部分,图1为读卡器的硬件结构框图.微控制器STM8S003F3和MFRC522之间的通信接口为SPI方式.PCB天线和电子标签内的线圈以非接触的方式耦合,实现能量和数据的传输.
图1 读卡器硬件结构框图
微控制器采用意法半导体(ST)公司的STM8S003F3单片机,最高工作频率16 MHz,拥有先进的STM8内核、哈佛结构存储器和三级流水线功能,内置8 kB的Flash、1 kB的RAM和128字节的EEPROM[2].MFRC522是一款高集成度的非接触式射频读写卡芯片,工作频率为13.56 MHz,支持ISO14443A标准,提供SPI、UART和I2C三种主机接口方式,读写模式下的最大读卡距离为50mm[3].测试的电子标签类型为Mifare One S50射频卡片[4].
1.1 STM8S003F3电路设计
控制器STM8S003F3的硬件电路如图2所示.RST引脚提供MFRC522芯片的复位信号;IRQ是MFRC522向单片机提供的中断信号;TXD和RXD引脚为单片机的串行接口,向上位机发送读卡数据或接收读卡指令;SWIM和NRST引脚是单片机的程序下载口;LED引脚控制发光二极管D1的点亮和熄灭,以灌电流的方式驱动;BEEP引脚控制蜂鸣器S1的鸣叫,以NPN三极管开关方式驱动;I2C和EA引脚可以配置MFRC522与单片机的通信接口方式,配置方法参考MFRC522数据手册[3];NSS、SCK、MOSI、MISO分别为SPI接口的片选、时钟、主出从入和主入从出引脚.
1.2 MFRC522射频电路设计
MFRC522射频电路是整个读卡器设计的核心,完成对电子标签的寻找、防碰撞[5]、密钥验证和块读写等操作.要实现这些功能,必须计算电路中每个元件值的大小.只有合适的天线尺寸和匹配的阻抗电路才能令天线调谐,使发射的信号幅度和读卡距离最大.MFRC522电路如图3所示,包括EMC滤波、PCB天线、阻抗匹配和接收电路4个部分.
在射频电路设计过程中,需要考虑电容元件的封装尺寸和材料.不同封装大小的电容具有不同的电压承受、功率承受和频率特性.
图2 控制器STM8S003F3电路
图3 MFRC522射频电路
在同阻抗下,频率越高,电容容量可以越小;负载电流越大,容量就应该越大.与915 MHz和2.4 G等高频段相比,13.56 MHz属于中低频;而发射天线上的信号幅度越大,则天线上电流、读卡距离越大,效果越好.因此,射频电路中的电容采用0805封装的贴片电容.另一个不可忽视的因素就是电容的材质.电容的电气特性容易受到频率变化的影响,特别是在高频时,电容会呈现电感特性,这将极大影响射频信号的发射效果.故电容皆选择电气性能最稳定的NPO材质的贴片电容,封装为0805.电路中的晶振X1为27.12 MHz的石英振荡器.
1.2.1 EMC滤波电路设计
EMC(Electromagnetic compatibility)滤波电路本质是一个低通滤波器,作用是对MFRC522发射的射频信号中的三次、五次和高次谐波进行滤波,抑制载波上的高频毛刺,提高数据传递的可靠性.
EMC滤波电路共有4个元件,包括L1、L2、C4和C5.根据电路对称性,L1与L2的感值相同,需要使用磁屏蔽贴片绕线电感,低通滤波器截止频率fL取14.3 MHz[6].当确定电感值L1,2后,电容值C4,5可以根据LC滤波器截止频率的计算公式得到:
(1)
需要注意的是NPO材质电容无法做到大容量,C4,5的取值应小于220 pF.在此选择电感L1,2的感值为2.2 μH,代入(1)式计算并取标称值后得到C4,5为56 pF.
1.2.2 PCB天线设计
RFID系统需要耦合良好且可靠性高的天线来精确收发信号[7].在读卡器读卡过程中,卡片的能量由PCB天线发射的高频信号提供.因此读卡的效果直接取决于PCB天线的性能,它受到板厚、线宽、线厚、线距、天线形状和环境状况等因素影响.任一参数未符合要求都会极大降低天线发射信号幅度,直接表现为读卡距离的缩短.图3中的L3和L4为发射天线.天线为4匝矩形线圈,线宽1.1 mm,线距0.25 mm,板厚0.6 mm,外圈尺寸41 mm×42.5 mm,内圈尺寸31.5 mm×33.5 mm.天线中所有90°拐角进行了135°折角处理,EMC滤波输出至阻抗匹配电路之间的走线做了圆弧化处理.天线中心抽头接到MFRC522的发射信号地14脚TVSS上.为了提高天线调谐成功率,天线做了50 Ω阻抗匹配处理.
1.2.3 阻抗匹配电路设计
阻抗匹配电路包括4个元件,如图3中的C6、C7、C8和C9.计算这些容值涉及到天线部分的阻尼电阻Rext1和Rext2.图4(a)为无阻尼电阻时PCB天线的等效电路,其中Ca是等效电容,La是等效电感,Ra是等效电阻;图4(b)为增加阻尼电阻后PCB天线的等效电路,其中Cpa是等效电容,Lpa是等效电感,Rpa是等效电阻.
图4 PCB天线等效电路
使用网络分析仪或阻抗分析仪可测得PCB天线的Ca、La和Ra.阻尼电阻Rext1,2的确定式为
(2)
式中:ω=2πf0,f0=13.56 MHz;Q为最佳品质因数,取值35±35×10%[6].增加阻尼电阻后的天线等效电路参数Cpa,Lpa,Rpa分别为
Cpa≅Ca
(3)
Lpa≅La
(4)
(5)
EMC滤波电路和阻抗匹配电路之间的转换阻抗为Ztr=Rtr+jXtr,其中Rtr和Xtr分别为
(6)
(7)
上式中的Rmatch是MFRC522发射脚TX1和TX2之间的发射匹配阻抗Zmatch的实部,阻抗匹配电路的4个电容元件的天线调谐作用就是使Zmatch的虚部Xmatch为0,而实部Rmatch取50 Ω[6].C6,7和C8,9分别为
(8)
(9)
通过式(2—9)的迭代计算,取标称值后,选择阻尼电阻Rext1和Rext2为0805封装的0 Ω贴片电阻,C6,7的值为15 pF,C8,9的值为180 pF,都是0805封装NPO材质的贴片电容.
1.2.4 接收电路设计
接收电路包括4个元件,即C2、C3、R3和R4.按照以下步骤可以确定这4个元件的值.
1) 接收电路元件初始值[6]
C2初始值为100 nF,C3初始值为1 nF,R3初始值为1 kΩ.
2) 测试RX脚和C4两端信号
使用50 Ω阻抗、电容小于2 pF的示波器探头测试RX脚对地信号,记录信号峰峰值URX,用相同的方法测试C4两端信号,记录信号峰峰值UC4.
3) 计算R4
R4值的计算式为
(10)
经过测量并计算R4,取标称值后为20 kΩ,选用0805封装的贴片电阻,精度为1%.
图5 程序流程图
2 软件设计
读卡器程序流程图如图5所示,系统首先进行系统时钟、GPIO口、串口和MFRC522等初始化配置.完成后,读卡器进入正常工作状态,等待接收上位机的寻卡指令.一旦接收到正确的寻卡指令,读卡器立即驱动天线发射经过调制的射频信号搜索出现在天线范围内的卡片,若未搜索到,则串口返回未寻到卡信息;若搜索到卡片,则依次进行防碰撞、选卡和密钥验证过程.若密钥验证错误,则串口返回验证错误信息;若验证正确,则进行读块数据操作,此时LED闪烁一次,蜂鸣器鸣叫一声.然后将读到的卡片数据、卡号等信息打包成一帧数据通过串口反馈给上位机,读卡器再次进入等待寻卡状态.
3 实验与分析
对读卡器进行测试,利用固纬公司生产的GDS-1022型示波器测试PCB天线上的射频信号.图6(a)为读卡器向卡片发射信号的波形图,图6(b)为读卡器接收卡片反馈信号的波形图.根据ISO14443A标准,读卡器到卡片信号采用100%的幅度调制,发送Miller编码信息,脉冲长度为3 μs.卡片到读卡器的信号采用曼彻斯特编码并使用副载波负载调制,副载波频率为846.5 kHz.两种通信方式的每个位帧长度都是9.44 μs,传输速率为105.9 kHz[8].经过实际测量,示波器显示读卡器到卡和卡到读卡器的位帧长度都为9.4 μs,误差0.42%;传输速率都为106.4 kHz,误差0.47%.考虑示波器测量和操作误差,设计的读卡器发射和接收波形都是符合ISO14443A标准的.
读卡器天线周边的环境对读卡距离有较大的影响,特别是周围有金属物存在时,一般读卡距离会减小.在天线周围无金属物的情况下,测试读卡器读卡最大距离为60 mm;在天线正下方10 mm处放置长宽为305 mm×29 mm的条形金属物时,测量读卡最大距离为55 mm.
4 结 论
设计了一种基于MFRC522的RFID读卡器,包括微控制器电路、射频电路和PCB天线.读卡器可读取射频卡片的卡号和块内存储的数据,并通过串行口接收上位机命令或向上位机发送数据,读卡器状态和读卡过程用LED和蜂鸣器指示.测量了周围无金属物时的最大读卡距离为60 mm,高于MFRC522数据手册中给定的最大典型操作距离50 mm,达到设计要求.读卡器的电路原理图、天线的阻抗匹配方法以及天线的尺寸等参数对于非接触式读卡系统的设计具有非常重大的指导意义.
图6 PCB天线波形测试
参考文献:
[1] 李晓,金寿松,冯定忠.基于RFID的托盘租赁系统[J].浙江工业大学学报,2011,39(6):666-669.
[2] STMicroelectronics Inc.STM8S003F3 data sheet (Rev.1)[EB/OL].[2011-07-12].http://www.st.com.
[3] NXP Semiconductors Inc.MFRC522 Contactless Reader IC product data sheet(Rev.3.6)[EB/OL].[2011-12-14].http://www.nxp.com.
[4] NXP Semiconductors Inc.MF1S50yyX/V1 data sheet(Rev.3.0)[EB/OL].[2014-03-03].http://www.nxp.com.
[5] 周晓,曹美玲,李杰,等.一种标签防冲突算法设计[J].浙江工业大学学报,2011,39(6):679-682.
[6] NXP Semiconductors Inc.Antenna design guide for MFRC52x,PN51x,PN53x(Rev.1.2)[EB/OL].[2010-10-11].http://www.nxp.com.
[7] 张东,姜岩峰,生晓坤.RFID中天线的优化设计[J].电子测量与仪器学报,2011,25(7):626-629.
[8] International Organization for Standardization.ISO/IEC 14443-2—2010 Identification cards-contactless integrated circuit cards-proximity cards-part 2: radio frequency power and signal interface[S].Geneva:International Organization for Standardization,2010.