APP下载

基于SN8P2204的RFID高频阅读器设计

2011-03-28张鹏程张红雨邓一文

电子设计工程 2011年16期
关键词:读卡器IC卡应答器

张鹏程,张红雨,邓一文

(电子科技大学电子工程学院,四川成都611731)

非接触式IC卡是RFID领域的一项新兴的技术,它是射频识别技术和IC卡技术相结合的产物。由于非接触式IC卡具有操作快捷、读写卡速度快、抗干扰性强、安全性高、寿命长、便于一卡多用等优点,在自动收费、身份识别和电子钱包等领域具有接触式所无法比拟的优越性,具有广阔的市场前景[1]。非接触式IC读卡器是非接触式IC卡应用系统的关键设备之一,目前市场上绝大多数读卡器都采用传统的RS232接口与计算机串行口连接。在本文中将讨论基于SN8P2204芯片的USB接口非接触式IC卡读卡器的实现方法和符合ISO14443A规范的防冲突算法。

1 硬件设计

1.1 系统总体设计

系统主要由:控制模块(SN8P2204)、射频模块(RC500)、天线及Mifare1型卡(IC卡)及蜂鸣器(Buzzer)和显示灯(LED)组成。其系统构成如图1所示。

控制模块中单片机选用台湾松瀚科技设计的一款带USB接口的控制芯片SN8P2204,其特点有:采用RSIC精简指令集,指令长度在1个指令周期;指令周期短,大部分指令在1个指令周期内完成;高度工作可靠性:高抗交流干扰内力,高可靠上电、掉电复位能力;高速,低功耗特性。控制模块中还包括USB通信接口,用来完成系统与上位机的数据交互传输工作;蜂鸣器和LED灯,用来完成系统状态的指示和报警。

图1 系统框图Fig.1 System block diagram

1.2 主芯片连接方式

射频模块的核心模块是MF RC500射频芯片,该模块是应用于13.56 MHz的非接触式通信中的高集成度读写芯片,它利用了先进的调制和解调概念完全集成了在13.56 MHz下所有类型的被动非接触通信方式和协议;MF RC500支持ISO/IEC l4443A的所有层;内部的发送器部分不需要有源电路就能够直接驱动近距离操作的天线,操作距离可达100 mm;接收部分提供一个有效的解调和解码电路用于和ISO/IEC l4443A相兼容的电子标签[2];数据处理部分可处理符合ISO/IEC l4443A协议的数据帧和错误检测(CRC和奇偶校验);支持用于验证Mifare1系列应答器的快速crypto1加密算法,用于Mifare1经典产品的安全认证;此外它还具有方便的并行接口可直接连接任何一种8位微处理器,这样给读卡器终端的设计提供了极大的灵活性。SN8P2204与MF RC500的引脚连接如图2所示。

图2 SN8P2204和RC500连接图Fig.2 The connection of SN8P2204 and RC500

应答器PICC(Mifare1卡)是射频识别系统真正的数据载体,即我们通常所说的IC卡。应答器由耦合元件以及微电子芯片组成。在读卡器的响应范围之外,应答器处于无源状态。通常,应答器没有自己供电电源。只是在读卡器的响应范围之内,应答器才是有源的。应答器工作所需的能量,如同时钟脉冲和数据一样,是通过耦合单元(非接触的)传输给应答器的。

1.3 天线设计

MF RC500和天线部分的引脚连接如图3所示。读写芯片是通过天线与IC卡交换数的,读写芯片是通过天线与IC卡交换数据的,MF RC500通过TX1和TX2引脚提供13.56 MHz的能量载波,并根据内部寄存器的设定对发送数据进行调制而得到发送信号。天线采用直接匹配电路。其中低通滤波电路由L1、L2、C19、C20组成,它们的典型取值为电感2.2 μH,电容47 pF。MF RC500的内部接收单元采取新的接收概念,它使用了卡的子载波引导调制生成的双边带信号。使用内部RC500内部产生的VMID电位作为RX管脚的输入电位。为减少扰动,需用电容将VMID接地。读卡器的输入单元需要在RX和VMID间增加电源驱动,此外,在天线线圈和电压驱动之间使用了串联电容C18。接收电路包括R7、R8、C17、C18。天线电路的剩下部分就是线圈和外面的电容电阻构成的一个RLC谐振网络,适当调整其中的电容电阻值,可以使天线网络在13.56 MHz谐振,这时读卡距离可以达到最大[3]。

布线制版应采用双层板以降低成本,同时又能满足要求,板厚要求为1.6 mm;天线采用PCB线圈的形式,但由于板面积的减少,就要求多画几圈,天线的镀铜厚度要求为35 μm;低通滤波电路模块是用来过滤MF RC500的输出信号,所以L1、L2、C19、C20必须紧靠在MF RC500的Tx1和Tx2管脚,C19、C20的接地线应该非常短并且到MF RC500的TGND管脚的组织应该非常小,这些原件应精密排布以抑制载频的高次谐波;天线线圈采用4圈PCB线圈,线宽为1 mm并且内外线圈间距和线宽相等,线圈应在位于PCB的同一面,并且绕着PCB的边缘缠绕;其他元件应尽量拍位于天线线圈的内部,这样可以减少对天线的干扰,增大读写距离。

实用RFID系统为无源系统,即射频卡内不含电池,射频卡的能量由读写器发出的射频脉冲提供。系统工作过程如下[4];

1)读卡器在一个区域内发射能量形成电磁场,区域大小取决于发射功率、工作频率和天线尺寸等因素;

2)IC卡进入这个区域时,接收到读卡器的射频脉冲,经过桥式整流后给电容充电。电容电压经过稳压后作为其工作电压;

图3 RC500和天线连接图Fig.3 The connection of RC500 and antenna

3)数据解调部分从接收到的射频脉冲中解调出命令和数据并送到控制逻辑,控制逻辑接受指令完成存储、发送数据或其他操作;

4)如需要发送数据,则将数据调试后从收发模块发送出去;

5)读卡器接收到返回的数据后,解码并进行错误校验来决定数据的有效性,然后进行处理,然后通过USB接口将数据发送到计算机。

读写器发送的射频信号除提供给非接触式IC卡能量外,通常还提供时钟信号,使数据保持同步。

2 系统软件设计

本系统采用针对Mifare1型智能卡进行设计,该卡的主要技术指标有如下:

1)容量为8 k位(bits)=1 k字节(bytes)EEPROM,分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;

2)每个扇区有独立的一组密码及访问控制,每张卡有唯一的32位序列号,具有防冲突机制,支持多卡操作;

3)无电源且自带天线,内含加密控制逻辑和通讯逻辑电路,数据保存期为10年,可改写10万次,读无限次;

4)工作温度为-20~50℃(湿度为90%),工作频率13.56MHz,通信速率106 kb/s,读写距离:10 cm以内(与读写器有关)。

第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改;每个扇区的块0、块1、块2为数据块,可用于存贮数据;每个扇区的块3为控制块,包括了密码A、存取控制、密码B。本设计采用密码A型设计,未使用到密码B。

其工作原理为[5]:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2 V时,此电容可作为电源为其他电路提供工作电压,将卡内数据发射出去或接取读写器的数据。系统软件设流程如图4所示。

1)复位应答:M1射频卡的通信协议和通信波特率是预先定义好的,当有卡片进入读写器的操作范围内时,读写器以特定的协议和它通信,从而确定该卡是否为M1型射频卡;

2)防冲突机制:当有多张卡进入读写器的操作范围内时,防冲突机制会从中选择出一张卡进行操作,未选中的则进入空闲模式等待下一次选卡,该过程返回被选卡的序列号;

3)卡片选择:选择被选中卡的序列号,并同时返回卡的容量代码;

4)3次相互验证:选定要处理的卡片后,读写器就要确定要返回的扇区号,并对该扇区密码进行密码校验,在3次相互认证后就可以通过加密流进行通信(在重新选择另外的扇区时,必须对另外的扇区密码进行密码校验);

5)对数据块的操作:读,即读一个块中的数据;写,即向一个块写入数据;加,对数值块进行加值;减,对数值块进行减值;存储,将块中的内容存到数据寄存器中;传输,将数据寄存器中的内容写入到块中;中止,将卡置于暂停工作状态[6]。

3 改进的防冲突算法

根据ISO14443协议,M1型卡传统的防冲突算法是动态二进制检索树算法。它首先利用MANCH ESTER编码“没有变化”的状态来检测碰撞位,然后把碰撞位设为二进制“1”,用SELECT命令发送碰撞前接收的部分卡片序列号和碰撞位,如果卡片开头部分序列号与其相同,则作出应答,不相同则没有响应。以此来缩小卡片范围,最终达到无碰撞。但是,传统的防碰撞方法要求所有应答器准确同步,应答器必须准确地在同一时刻开始传输它们的序列号。然而,在实际使用中,应答器由用户控制,可能产生异步发送数据,如果仍然采用传统防冲突算法,有可能导致死循环。为了解决死循环问题[7],在传统算法的基础上设置了一个记录碰撞位数的变量,如果第二次碰撞位数和第一次相等,则把SELECT发送的部分卡号增加一位,设为二进制数“1”发送出去。如果在规定时间内没有收到应答,则把增加位设为“0”发送出去。可以有效预防由于应答器异步导致的死循环问题。改进流程如图5所示。

图5 改进的防冲突算法Fig.5 The improved anti-collision algorithm

4 结论

通过测试,所涉及的基于SN8P2204的RFID高频阅读器能够按照系统要求进行复位、选卡、防冲突验证,写卡等相关操作。若配合上层应用软件,能够和银行系统对接,能够实现相关的收费系统的设计,能够应用于网吧、公交系统、门禁、监控等行业。按照本文所提出的方法所设计出的IC阅读器现在已生产出几百台,并应用于四川西昌市的蚕茧收购中,到目前为止还未出现设计问题。IC卡以其高度的信息集成及安全性已经融入当今信息技术的主流,越来越受到人们的青睐。笔者提出了一种基于Philips公司的MF RC500射频芯片与台湾松瀚科技的SN8P2204控制芯片相结合的低成本,低功耗的IC读卡器设计方案。对IC卡系统的推广和研究有积极的推广意义。

[1] 朗为民.射频识别技术(RFID)技术原理与应用[M].北京:机械工业出版社,2006.

[2] Finkenzeller K.射频识别(RFID)技术[M].陈大才,译.北京:电子工业出版社,2001.

[3] 任路,孙运强,姚爱琴.煤矿非接触式智能考勤定位系统研究[J].煤炭技术,2010,29(9):237-239.REN Lu,SUN Yun-qiang,YAO Ai-qin.Research on noncontact intelligent attendance and location systemin coal mine[J].Coal Technology,2010,29(9):237-239.

[4] 黄从贵.基于TCP/IP协议的非接触式网络读写器设计[J].仪器仪表用户,2005,12(2):64-66.HUANG Cong-gui.The design of non-contact-type network PCD based on TCP/IP agreement[J].Electronic Instrumentation Customer,2005,12(2):64-66.

[5] 陈振,刘年生,李琳,等.一种适用于RFID读写器的加密算法及其实现[J].信息与电子工程,2009,7(4):349-353.CHEN Zhen,LIU Nian-sheng,LI Lin,et al.Encryption algorithm for RFID reader and its implementation[J].Information and Electronic Engineering,2009,7(4):349-353.

[6] 项磊.基于RF的无线巡更系统研究[D].天津:天津大学,2007.

[7] 孙恩岩.射频卡读写器的研究与应用[D].沈阳:沈阳航空工业学院,2007.

猜你喜欢

读卡器IC卡应答器
工商业IC卡控制器改造为物联网控制器实践
与淘汰命运抗争 看懂笔记本的读卡器
应答器THR和TFFR分配及SIL等级探讨
在用电梯加装外接式IC卡运行控制系统设计改进
基于EMV非接通信规范的非接触读卡器设计
为二维码识别的献礼之作——评测平治二维码门禁读卡器
虚拟应答器测试方法研究
MATLAB实现组态王中TCP/IP读卡器监控方法
应答器在基于通信的列车控制系统中的应用
长春开通公交IC卡充值平