MIFARE卡 射频识别应用技术.docx
- 文档编号:23425310
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:40
- 大小:1.42MB
MIFARE卡 射频识别应用技术.docx
《MIFARE卡 射频识别应用技术.docx》由会员分享,可在线阅读,更多相关《MIFARE卡 射频识别应用技术.docx(40页珍藏版)》请在冰豆网上搜索。
MIFARE卡射频识别应用技术
RFID的MIFARE应用技术
MIFAREAPPLICATIONTECHNICHEofRFID
1382030133许敏
摘要:
MIFARE卡是目前世界上使用量最大、技术最成熟、性能最稳定、内存容量最大的一种感应式智能IC卡(非接触性智能卡),是一种射频卡。
MIFARE是PhilipsElectronics所拥有的13.56MHz非接触辨识技术。
Philips并没有制造卡片或卡片读写器,而是在开放的市场上贩售相关技术与芯片,卡片和卡片读写器的制造商再利用它们的技术来创造独特的产品给一般使用者。
MIFARE是一种非接触式智能卡的技术,这是因为它可以在卡片上兼具读写的功能而且不用紧靠读写器(或读写芯片)。
MIFAREI卡仅具备存储功能,必须搭配微处理器才能达到读写功能,而微处理型MIFARE卡:
MIFAREPRO(Philips)就搭配了微处理器,能实现复杂多样的应用。
与接触性智能卡相比,非接触式智能卡MIFARE卡 操作简单、快捷,抗干扰能力强,可靠性高,更加适合于一卡多用。
本文介绍了:
根据ISO14443A协议,基于RFID(射频识别技术)上,以非接触性智能卡读写器/读写芯片,对MIFARE卡进行射频识别的应用技术。
简要介绍了MIFARE卡的特性、结构、工作原理、通信原理和控制属性,以及非接触性智能卡读写器/读写芯片的结构和工作原理等。
还简要介绍了MIFARE卡的应用项目开发,本文选用MFRC500射频读写芯片来进行读写模块的应用设计,简要阐述了MIFARE系统硬件电路设计应用技术和系统软件设计应用技术。
关键字:
RFIDMIFAREMIFARE卡读写器/读写芯片应用技术
1.绪论-3-
2.MIFARE卡的特性结构、工作原理、通信原理和控制属性-4-
2.1MIFARE卡的特性-4-
2.2MIFARE卡结构-4-
2.3MIFARE卡的存储结构-5-
2.4MIFARE卡工作原理-6-
2.5MIFARE卡通信原理-7-
2.6MIFARE卡的控制属性-8-
3.MIFARE读写器/芯片的结构和工作原理-9-
3.1MIFARE读写器/芯片的结构-9-
3.2MFRC500内部结构-10-
3.3MFRC500引脚说明-10-
3.4MFRC500芯片主要特性及应用-11-
4.读写器硬件设计-11-
4.1读写器总体构思、读写器的硬件-11-
4.2MCU主控模块-12-
4.3射频接口模块-13-
4.4天线设计部分-14-
4.5电源与存储模块-14-
4.6外设电路-15-
5.读写器软件设计-18-
5.1主程序流程-18-
5.2MIFARE卡应用程序-18-
5.3其它部分程序设计-23-
6.结论-27-
致谢-28-
参考文献-29-
1.绪论
射频识别(英文:
Radio Frequency Identification,缩写:
RFID)根据使用的能量和数据传输方法,RFID是一种非接触识别系统。
RFID可以通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学联系。
RFID是物联网的核心技术之一,而物联网技术是继个人计算机、互联网和移动通信网络之后的全球信息产业的第三次浪潮。
许多行业都运用了射频识别技术。
将标签附着在一辆正在生产中的汽车,厂方便可以追踪此车在生产线上的进度。
仓库可以追踪货物的所在。
射频标签也可以附于牲畜与宠物上,方便对牲畜与宠物的积极识别(积极识别意思是防止数只牲畜使用同一个身份)。
射频识别的身份识别卡可以使员工得以进入敏感机密的建筑部分,汽车上的射频应答器也可以用来征收收费路段与停车场的费用。
某些射频标签附在衣物、个人财物上,甚至于植入人体之内。
由于这项技术可能会在未经本人许可的情况下读取个人信息,这项技术也会有侵犯个人隐私忧患。
但是,在MIFARE卡中经由认证和加密模块,完全可以有效的保护个人隐私。
一套完整的RFID系统,是由读卡器(读写器/读写芯片,R/Writer)与电子标签(TAG)也就是所谓的应答器(Transponder)及嵌入式应用软件系统三个部份所组成。
如图1所示:
基于MIFARE的RFID系统简便、清晰和低成本,但是却难得地高效率。
图1基于MIFARE的RFID系统构成图
RFID技术的基本工作原理:
标签进入读写磁场后,按照ISO14443A协议,读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(PassiveTag,无源标签或被动标签),或者由标签主动发送某一频率的信号(ActiveTag,有源标签或主动标签),读写器读取信息并解码后,送至控制处理系统进行有关数据处理。
MIFARE是属于PhilipsElectronics所拥有的13.56MHz非接触辨识技术,它只在开放的市场上贩售相关技术与芯片,而把其他产品交给众多的下游生产商。
伴随着超过50亿张智能卡和IC卡以及超过5千万台读卡器的销售,MIFARE已成为全球大多数非接触式智能卡的技术选择。
MIFARE是一种非接触式智能卡的RFID技术,“一卡通”系统可采用 Mifare卡读写技术研制开发而成,综合计算机技术、自动控制技术、网络通信技术、智能卡技术、传感技术、模式识别技术、机电一体化技术的跨专业应用系统,是应用于智能楼宇、智能小区和现代企业、学校的智能化“一卡通”管理的一套性能价格比最优的全面解决方案。
2.MIFARE卡的特性结构、工作原理、通信原理和控制属性
MIFARE卡属于非接触型智能IC卡。
IC卡(integratedcircuitcard),即集成电路卡。
是将一个专用的集成电路嵌入到塑料基片中,封装成卡的形式。
非接触型智能IC卡分为两大类卡:
存储器型和微处理型。
存储器型是单一非接触存储器型,MIFAREI(Philips)、STM系列(STMicroelectronics)。
微处理型是双界面处理器型,比如MIFAREPRO(Philips)、MifareDesfire(Philips)、Moorola、STM系列(STMicroelectronics)、SLE66CLxxS(Siemens)等。
微处理型安全性较高一些。
MIFARE卡执行ISO14443A协议,本文主要介绍微处理型MIFARE卡:
完全支持一卡多用,可靠、灵活、安全、方便。
2.1MIFARE卡的特性:
非接触数据传输并提供能源(不需电池),工作距离:
可达100mm(取决于天线尺寸结构),工作频率:
13.56MHz,快速数据传输:
106kbit/s,高度数据完整性保护:
16BitCRC,奇偶校验,位编码,位计数。
真正的防冲突/防冲撞,典型票务交易:
<100ms(包括备份管理)。
EPPROM容量1Kbyte,分为16个区,每区4个块,每块16字节。
用户可定义内存块的读写条件,数据耐久性10年,写入耐久性100000次,安全性为相互三轮认证(ISO/IECDIS9798-2),带重现攻击保护的射频通道数据加密,每区(每应用)两个密钥,支持密钥分级的多应用场合,每卡一个唯一序列号,在传输过程中以传输密钥保护对EEPROM的访问权。
2.2MIFARE卡结构
MIFARE卡结构分为:
天线、RF接口模块、数字控制单元、EEPROM存储器。
图2MIFARE卡结构图
RF接口:
包含了调制解调器、检波器、时钟发生器、上电复位、稳压器。
对射频信号波发送、接收和调制解调,还可对卡充电复位。
防冲突:
读写范围内的几张卡可以逐一选定和操作。
智能的防冲突功能可以同时操作读写范围内的多张卡。
防冲突算法逐一选定每张卡,保证与选定的卡执行交易,不会导致与读写范围内其他卡的数据冲突。
认证:
在所有存储器操作之前进行认证过程,以保证必须通过各块指定密钥才能访问该块。
安全认证的重点是防欺诈。
相互随机数和应答认证、数据加密和报文鉴别检查和,防止各种破解和篡改,使其更适于票务应用。
不可更改的序列号,保证了每张卡的唯一性。
控制和算术逻辑单元:
数值以特定的冗余格式存储,特定命令有读数据块、写数据块、增数据值、减数据值、恢复、转存(read、write、increment、decrement,、restore、transfer)。
EEPROM接口:
EEPROM的接口电路。
加密单元:
域验证的CRYPTO1数据流加密,保证数据交换的安全。
EEPROM:
1Kbyte,分16区,每区4块。
每一块有16字节。
图3厂商代码块示意图:
2.3MIFARE卡的存储结构
EEPRAM存储器总共分为16个区,每区4块,每块16字节。
每区的最后一块称作“尾块”,含有两个密钥和本区各块的读写条件。
厂商代码块:
这是第1区的第1块(块0)。
它含有集成电路制造商数据。
出于安全和系统需求,此块是制造商在生产过程中编程后写保护的。
数据块:
各区均有3个16字节的块用于存储数据(区0只有两个数据块以及一个只读的厂商代码块)。
数据块可以通过读写控制位设置为:
读写块(用于非接触门禁管理),数值块(用于电子钱包,另有可直接控制存储值的命令,如增值、减值。
此外,在任何存储器操作之前必须执行认证命令。
)
数值块:
数值块具有电子钱包功能(有效命令:
read,write,increment,decrement,restore,transfer)。
数值块有固定的数据格式,以便于错误检测、纠错和备份管理。
数值块只能通过以数值块格式的写操作生成。
数值:
有符号4字节数值。
数值的最低字节存储在最低地址字节。
负值以标准的2的
补码形式存储。
出于数据完整性和安全原因,数值存储三次,两次不取反,一次取反。
表11024x8bitEEPRAM存储器结构
地址(Adr):
1字节地址,当进行备份管理时,可用于保存块的地址。
地址保存四次。
两次取反,两次不取反。
在increment、decrement、restore和transfer操作中,地址保持不变。
它只能通过write命令更改。
表2数值块存储结构
2.4MIFARE卡工作原理
卡片由一个卷绕天线和特定用途集成电路模块组成。
其中,模块由一个高速(106KB波特率)的RF接口。
一个控制单元和一个8K位E2PROM组成。
读写器向MF1卡发出一组固定频率(13.56MHZ)的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内储存,当所积累的电荷达到2V以上时,此电容可作为电源向模块电路提供工作电压,将卡内数据发射出去或接收读写器的数据。
射频卡由耦合元件及微电子芯片组成,没有供电电源,它的能量、时钟脉冲以及数据都是通过耦合单元由读写器提供,并回送信息给读写器。
L1为读写器PCD发送天线,L2是射频卡PICC的天线,其耦合系数
(L1、L2为两个线圈的自感系数,M为互感系数),其耦合回路电路如图4所示。
图4耦合回路等效电路图
MIFARE射频卡由天线和ASIC(专用集成电路)组成,天线是只有几组绕线的线圈,卡上的ASIC由一个高速(波特率106kbit/s)的RF接口,一个控制单元和一个8K位EEPROM组成。
读写器向射频卡发送一组固定频率的电磁载波,卡片内有一个LC串联谐振电路,其频率与读写器发送的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内产生电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接收读写器的数据。
2.5MIFARE卡通信原理
MIFARE卡的通信原理流程:
休眠、呼叫、防冲突循环、选卡、三轮认证、存储器操作、返回休眠态,如图5所示:
休眠在没有进入读写器/芯片的工作范围时,MIFARE卡处于休眠状态。
呼叫进入读写器/芯片的工作范围时,MIFARE卡被唤醒,卡上电复位后,向读写卡/器发回requst应答码.能够回应读写器向天线范围内所有卡发出的request命令。
冲突循环在防冲突循环中,读写卡/器读回某一张卡的序列号。
即从工作范围内的1-n张卡中,读回其中一张卡序列号,并可选定以进行下一步交易。
其它未被选定的卡转入休眠状态,等待新的requst命令。
选卡读写器/芯片选定一张卡。
卡返回选定的应答码(ATS=08h),明确所选的卡型。
三轮认证选卡后,读写器/芯片指定后续读取的存储器位置,采用加密算法,使用相应密钥进行三轮认证。
认证成功后,所有的存储器操作都是加密的。
采用符合ISO9798-2的三轮认证,以保证高度的安全性。
三轮认证流程:
a)读写器指定要访问的区,并选择密钥A或B。
b)卡从位块读区密钥和访问条件。
然后,卡向读写器发送随机数。
(第一轮)c)读写器利用密钥和随机数计算回应值。
回应值连同读写器的随机数,发送给卡(第
二轮)。
d)卡通过与自己的随机数比较,验证读写器的回应值,再计算回应值并发送(第三轮)。
e)读写器通过比较,验证卡的回应值。
这样认证加密后,就有效的保护了个人隐私。
存储器操作认证成功后,可进行下列存储器操作:
读数据块、写数据块、减值(减少数据块内的数值,并将结果保存在临时内部数据寄存器中)、加值(增加数据块内的数值,并将结果保存在数据寄存器中)、恢复(将数据块内容移入数据寄存器)、转存(将临时内部数据寄存器的内容写入数值块)。
返回休眠态完成存储操作后,MIFARE卡进入休眠状态,等待下一次唤醒。
图5卡通信原理流程图
2.6MIFARE卡的控制属性
EEPRAM存储器扇区的块3为控制块,包括密码A、存取控制、密码B,如表3:
表3控制块结构
每个扇区的用户密码和存取控制条件都是独立设置的,可以根据实际需要设定各自的密码及存取控制。
在存取控制中,每个块都有三个控制位相对应,用以决定某数据块或控制块的读写条件,定义为:
“CXxy”,见表4所示。
其中CX代表每块控制位号(C1~C3),x代表某块所属扇区号(0~15),y代表该扇区内某块号。
例如C1x2即为x扇区内块2的第1控制位,依此类推。
各扇区数据块0~块2的三个控制位以正反两种形式存在于块3的存取控制字节中,它决定了该块的访问权限(例如进行减值及初始化值操作必须验证KEYA,进行加值操作必须验证KEYB,等等)。
其
表4控制位定义
三个控制位在存取控制字节(6~9字节)中的权限如下(阴影区的存取控制为厂商初始值;字节9为备用字节,默认值为69)。
表5数据块的存取控制权限(x=0~15扇区;y=块0,块1,块2)
3.MIFARE读写器/芯片的结构和工作原理
3.1MIFARE读写器/芯片的结构
射频卡读写器的核心部分即硬件电路系统,包括MCU主控制模块、射频模块、读写器天线、存储模块时钟模块、显示模块、键盘模块、通讯模块及声光报警模块。
不同类型的非接触IC卡,由于采用的通信协议不同,相应的射频读写芯片也不同,如表6所示。
目前在中国的市场上,非接触式IC卡主要的厂商有:
中国的华虹、复旦微电子、以及荷兰Philips、瑞士LEGIC、法国意法半导体(ST)、日本索尼等,其中基于Philips公司MIFARE芯片的产品在市场上占有绝对的优势。
鉴于国内市场上MIFARE芯片卡应用广泛,我们采用Philips公司生产的射频处理基站芯片。
MFCM200与MFCM500是第一代MIFARE读写器模块,现已停产,Philips新推出的集成化单颗射频基站芯片RC系列是CM模块系列的替代产品,且性能更稳定、功耗更低、应用更灵活、价格更低廉。
表6MAFARE读写器芯片
本方案选用MFRC500射频读写芯片来进行读写模块的设计。
MFRC500的性价比最高,市场应用最为广泛,购买也最方便,且内部有高集成的调制解调模块,内部发射器可直接驱动基于13.56MHz的非接触式天线,最大距离可达10cm。
3.2MFRC500内部结构
MFRC500的内部EEPROM分为四个部分,分别用于存放产品的信息,启动寄存器初始化文件,寄存器初始化文件,Cryptol密匙区。
同时还有8*64位的FIFO缓冲区,它缓冲微处理器和MFRC500之间输入和输出的数据流。
MFRC500内部有完善的中断系统,其中包括内部定时器中断、发送器中断、CRC效验中断、E2PROM中断、接收器中断、命令寄存器中断、FIFO缓冲区的空和满中断等等,相关的中断源都可以通过IRQ脚上的信号触发微处理器产生中断,这就使微处理器的软件更为有效。
MFRC500内部有一个定时器,它由片内13.56MHz时钟驱动。
微处理器可使用该时钟管理与定时有关的任务。
定时器单元可配置为以下几种方式之一:
超时计数器、看门狗、停止监视、可编程单次触发、周期触发等。
MFRC500支持ISO14443A所有的层,模拟电路部分内含射频发送器和接收器。
发送器不需要增加有源电路就可以直接驱动工作,接收器对来自符合ISO14443A协议的卡的信号进行解调、译码。
MFRC500的8位并行微控制器接口可自动检测连接的接口类型,它包括一个双向FIFO缓冲区和一个可设置的中断输出。
方便的并行接口可与各种8位微处理器直接连接,给读写器终端的设计提供了极大的灵活性。
数据处理部分则主要进行ISO14443A帧的封装和错误检测(支持CRC校验和奇偶校验)。
通过状态和控制部分可以对芯片进行配置,以适应环境并使芯片性能调节到最佳状态。
3.3MFRC500引脚说明
MFRC500共有32个引脚可以分为以下几类:
(1)电源类引脚EMC特性和信号解耦方面达到最佳性能,器件使用3个独立的电源:
TVDD,TVSS(6脚,8脚):
天线驱动部分的单独电源。
AVDD,AVSS(26脚,28脚):
模拟部分的单独电源。
DVDD,DVSS(25脚,12脚):
数字部分的单独电源。
(2)天线引脚TX1,TX2(5脚,7脚):
发送器引脚。
MFRC500通过TX1和TX2发送13.56MHz的能量载波。
RX(29脚):
模拟天线输入信号。
VMID(30脚):
天线部分的内部参考电压。
(3)复位引脚RSTPD(31脚):
禁止内部电流源和时钟,并使MFRC500从微控制器总线接口脱开。
当出现一个从高到低的电平跳变时RC500复位,即当该引脚为高时,RC500停止工作;为低电平,RC500才能正常工作。
如果RSTPD置位,则MFRC500执行上电时序。
(辅助管脚可选择内部信号驱动该管脚AUX,作为设计和测试之用。
)
(4)晶振引脚OSCIN,OSCOUT(1脚,32脚):
晶振的输入、输出引脚。
电源振荡器缓冲输出13.56MHz晶振通过快速片内缓冲区连接到OSCIN和OSCOUT,如果器件采用外部时钟,可从OSCIN输入。
(5)串行接口MFIN,MFOUT(3脚,4脚):
MIFARE接口输入、输出引脚。
(6)并行接口MFRC500有16个引脚用于控制并行接口:
AD0~AD7(13脚至20脚):
8位双向数据总线(也可复用为地址线)。
A0~A2(22脚至24脚):
地址线输入。
NCS(9脚):
片选信号,选择RC500的并行微控制器接口。
输入高电平有效。
NWR(10脚):
写信号线,输入低电平有效。
NRD(11脚):
读信号线,输入,低电平有效。
ALE(21脚):
地址锁存允许引脚,输入,高电平有效。
IRQ(2脚):
中断请求引脚,当有中断事件发生时产生中断信号。
输出高电平有效
3.4MFRC500芯片主要特性及应用
该芯片的主要特性有:
(1)高集成度模拟电路用于射频卡应答信号的解调和解码;
(2)缓冲输出驱动器使用最少数目的外部元件连接到天线;
(3)支持ISO/IEC14443A国际标准;
(4)支持MIFARE双界面卡和MIFARE典型协议;
(5)支持波特率高达424kHz的通信速率;
(6)灵活的中断处理及可编程定时器;
(7)近距离操作可达100mm;
(8)带低功耗的硬件复位和软件实现掉电模式;
(9)并行微处理器接口带有内部地址锁存和IRQ线;
(10)自动检测微处理器并行接口的类型;
(11)64Byte发送和接收FIFO缓冲区;
(12)面向位和字节的帧;
(13)唯一的序列号,可靠的内部非易失性加密存储器;
(14)连接到13.56MHz晶振上的内部振荡缓冲器具有优化的低相位去抖动;
(15)在近距离应用中,发送器采用电压3.3V~5V;
MFRC500适用于各种基于ISO/IEC14443A标准,主要应用于要求低成本、小尺寸、高性能以及单电源的非接触式通信的应用场合:
计量、公共交通终端、手持终端、板上单元、非接触式PC终端、非接触式公用电话等
4.读写器硬件设计
4.1读写器总体构思、读写器的硬件
从功能上来划分大致可分为几个模块,包括MCU主控制模块、天线、射频接口模块、储存模块、时钟模块、显示模块、声光报警模块等。
读卡器用STC89C52RC作为单片机主控制器。
单片机控制MFRC500驱动天线对MIFARE卡进行读写操作,SED1520作显示驱动器驱动LCD液晶显示器,PS/2总线作为通用编码键盘接口,LCD显示器与声光报警作为人机交互接接口,MAX232作串口信号转换把数据传给上位机。
图6硬件系统组成
4.2MCU主控模块
MCU主控电路是射频卡读写器的核心部分,主要负责系统上电后对各个模块的初始化、控制通信模块完成与上位机进行串行数据通信、控制显示模块显示数据、声光报警、控制射频模块通过天线完成对射频卡的各种操作等,保证系统能够有序、稳定的工作,其主控电路如图7所示。
图7主控电路
在单片机选型的过程中主要考虑了单片机的计算速度、处理能力、稳定性、定时器和中断资源、片内集成的ROM大小等因数。
从众多的八位微处理器中选择了意法半导体公司(STMicroelectronics)的STC89C52RC单片机作为系统的MCU,它是MCS.51单片机的扩展型号,其指令与MCS.51系列单片机完全兼容,是目前所有内部集成Flash存储器产品中功耗最低的一种。
STC89C52RC内置15K的Flash存储器和512字节RAM,具有3个16位计数器和一个标准的串行通信口,支持ISP程序下载,方便程序的调试,此外它还具有良好的温度特性、稳定性和性价比。
4.3射频接口模块
射频接口模块主要包括RF接口电路,在简单的介绍了RF接口电路在RF射频接口电路中,其结构框图如图8所示。
图8RF接口电路框
图9RF接口电路
主要包括有波形转换模块,它可将读写器发出的13.56MHz的无线载波调制频率接收,一方面送调制解调模块,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,最终输出供给卡片上的各电路使用。
在介绍了MFRC500芯片相关资料,根据其寄存器的设定对发送数据进行调制得到发送的信号,通过由天线驱动引脚TX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MIFARE卡 射频识别应用技术 MIFARE 射频 识别 应用技术
![提示](https://static.bdocx.com/images/bang_tan.gif)