基于单片机的RFID读写器设计.docx
- 文档编号:28425557
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:49
- 大小:357.87KB
基于单片机的RFID读写器设计.docx
《基于单片机的RFID读写器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的RFID读写器设计.docx(49页珍藏版)》请在冰豆网上搜索。
基于单片机的RFID读写器设计
基于单片机的RFID读写器设计
LT
1.1课题研究的背景与意义
1.2RFID读卡器国内外现状及前景
2射频识别系统技术及相关理论……………………………………7
2.1射频识别系统原理
2.2射频识别系统组成
2.3射频识别系统的分类
2.4非接触式IC卡--S50
2.5读卡器的工作原理
3非接触式IC卡国际标准…………………………………………10
3.1TYPEA的初始化和防冲突
4读卡器系统硬件设计……………………………………………14
4.1MCU控制部分
4.2射频部分
4.3天线设计
4.4声音提示及显示部分
5读卡器系统软件驱动程序设计………………………………16
5.1RC522命令集的实现
5.2Mifare卡操作程序设计
5.3软硬件的联合测试运行
总结………………………………………………………………24
附录…………………………………………………………27
第一章绪论
1.1课题研究的背景与意义
射频识别技术是二十世纪九十年代兴起的一种天线的、非接触方式的自动识别技术,是近几年发展起来的前沿科技项目。
该技术主要是利用射频信号通过空间耦合实现无接触信息传递并通过所传递的信息达到识别目的。
射频识别技术的显著优点在于非接触性,因此完成识别工作时无需人工干预,能够实现识别自动化且不易损坏;可识别高速运动并可同时识别多个射频标签,操作快捷方便;射频标签不怕油渍、灰尘污染等恶劣环境,且可以穿透非金属物体进行识别,抗干扰能力强。
REID技术与互联网、通讯等技术相结合,可实现全球范围内物品跟踪与信息共享。
研究RFID技术,发展RFID产业对提升社会信息化水平、促进经济可持续发展、提高人民生活质量、增强公共安全与国防安全等方面产生深远影响,具有战略性的重大意义。
因此,RFID技术已在世界各地得到广泛的应用,以美国、日本和欧洲的发达国家对该技术应用研究已达到相当高的水平,而我国处于岂不状态,大多采用了引进的技术成果。
所以研究该技术已成为我国当今社会发展的必然趋势。
另外RFID技术是一个崭新的技术应用领域,它不仅涵盖了微波技术与电磁学理论,而且包括通信原理及半导体集成电路技术,是一个多学科综合的新兴学科。
因此对RFID技术的认识和应用研究具有深远的理论意义。
现在,射频识别技术作为一种新型的自动识别技术,也将在中国很快地普及。
典型的射频识别应用系统由非接触式IC卡、非接触式IC卡读卡器和应用系统组成,其中非接触式IC卡读卡器是连接非接触式IC卡和应用系统的桥梁,是射频识别应用系统中的关键部件,而且现在的发展趋势要求射频识别系统要有更高的安全性,因此设计一款安全有效地读卡器有着重要的商业价值意义。
1.2RFID读卡器国内外现状及前景
RFID相比传统的识别系统具有信息量大,通过无线通信方式可重复读写数据,保密性极好,环境适应能力强,使用寿命更长。
随着技术的进步,RFID应用领域日益扩大,现已涉及到人们的日常生活的各个方面,并将成为未来信息社会建设的一项基础技术。
目前第二代身份证、公共交通等都广泛采用了这项技术,超市如沃尔玛采用电子标签管理商品。
现射频识别技术在中国还处于一个迅猛发展的阶段,前景十分广阔,相信随着技术越来越成熟,射频识别技术与其它技术一样走进我们日常生活的各个角落,使我们的生活更加方便快捷。
RFID技术在国外的发展较早也较快,在美国、英国、德国、瑞典、日本等国家目前都有成熟且先进的RFID系统。
其中低频近距离RFID系统主要集中在125KHz、13.56MHz,高频远距离RFID系统主要集中在UHF频段915MHz、2.45GHz、5.8GHz,UHF频段远距离系统在北美得到了很好的发展,在欧洲有源2.45GHz得到了较多的应用,5.8GHz在日本和欧洲均有较为成熟的有源RFID系统。
国内RFID读卡器按照应用场合的不同出现全面发展的态势,有读写器模块便携式读写器、超高频(UHF)读写器、高频读写器、双频标签读写微波读写器、低频读写器等各种各样的产品供应,这些产品有适合远距离读写、有近距离读写的。
他们都有一个共同的特点,同质化严重,各产品之间的差别不大,性能也相近,基本上采用读卡器芯片加单片机的结构,而核心技术并不在自己手中,缺乏成套系统的自主知识产权。
目前,RFID典型应用领域包括:
(1)车辆道路交通自动收费管理
(2)旅客航空行包自动识别、分拣转运管理(3)车辆出入控制(4)RFID金融卡(5)产品加工过程自动控制(6)物流仓库自动管理(7)门禁管理(8)图书馆图书管理(9)防伪技术。
随着技术的进步,读卡器会朝着多功能如条码识别、无线数据传输、以太网传输等方向发展,读卡器的成本也会越来越低,同时阅读器将实现多制式多频段兼容,多功能、多制式、小型化、模块化、嵌入式方向是读卡器发展的趋势。
//1.3本课题主要研究内容及论文主要内容
//在本课题主要研究内容中说明一下你所负责研究的重点内容,即软件设计
第二章射频识别系统技术及相关理论
2.1射频识别系统原理
从信息传递的基本原理来说,射频识别技术在低频段基于变压器耦合模型(初级与次级之间的能量传递及信号传递),在高频段基于雷达探测目标的空间耦合模型(雷达发射的电磁波信号碰到目标后携带目标信息返回雷达接收机)。
射频标签与读卡器之间的电磁耦合包含两种情况:
一种情况是电感耦合。
在电感耦合方式中读卡器的天线相当于变压器的初级线圈,射频标签的天线相当于变压器的次级,因而也称电感耦合方式为变压器方式。
电感耦合方式通过空间磁场实现耦合,耦合磁场在读卡器线圈(初级)与射频识别标签(次级)之间构成闭合电路。
电感耦合方式是低频段近距离无接触射频识别的耦合方式。
另一种是电磁耦合方式,在电磁耦合方式中,读卡器的天线将读卡器产生的射频信号以电磁波方式定向发送到空间范围内,形成读卡器的有效阅读区域,位于读卡器有效阅读区域中射频标签从读卡器天线发出得电磁场中提取工作电源,并通过射频标签的内部电路及标签天线将标签内存的数据信息传送到读卡器。
电磁耦合与电感耦合的差别在于电磁耦合方式中得读卡器将射频信号以电磁波的形式发送出去;在电感耦合方式中,读卡器将射频信号束缚在读卡器电感线圈的周围,通过交变闭合的线圈磁场,沟通读卡器与射频标签天线之间的射频通道,而没有向空间辐射电磁能量。
2.2射频识别系统组成
射频识别系统一般由以下三部分组成:
①读写器(Reader)
一台典型的读写器应包含射频信号发射单元器,高频接收单元金额控制单元,此外,许多读写器还都有附加的接口(RS232、USB),以便将获得的数据传输给另外系统作进一步的处理或存储。
②标签(Tag)
RFID标签是一种以无线方式传送数据的信息载体形势,它具有数据处理及安全认证等特有的优点。
RFID标签是射频识别系统真正的数据载体,主要有天线、谐振电容以及IC芯片组成,其种类可以分为无源标签和有源标签两种。
射频标签与读卡器之间采用双向验证机制,即读卡器验证射频标签的合法性,同时射频标签也验证读卡器的合法性;处理前,标签要与读卡器进行三次互相认证,而且在通讯过程中所有数据都加密。
此外,标签中各个扇区都有自己的操作密码和访问条件。
③天线(Antenna)
射频识别系统中的天线用于产生磁通量,而磁通量用于向无源标签提供能量并在读卡器和标签之间传送信息。
13.56MHz射频天线及其匹配电路共有三块:
天线线圈、匹配电路(LC谐振电路)和EMC滤波电路。
在天线的匹配设计中必须保证产生一个尽可能强的电磁场,以使卡片能够获得足够的能量给自己供电,而且考虑到调谐电路的带通特性,天线的输出能量必须保证足够的通带范围来传送调制后的信号。
2.3射频识别系统的分类
按照读写距离来划分,RFID系统可分为接触式和非接触式,而非接触式又分为近距离(密耦合)、中距离(遥耦合)和远距离。
按照工作频段来划分,RFID系统可分为低频、中高频、超高频和微波频段。
2.4非接触式IC卡--S50
Mifare1IC智能(射频)卡的核心是NXP公司的Mifare1ICS50(-01,-02,-03,-04)系列微晶片,他确定了卡片的也行以及卡片读写器的诸多性能。
Mifare1IC智能卡采用先进的芯片制造工艺制作,内建有高速的CMOSEEPROM,MCU等。
卡片上除了微晶片及一副高效率天线外,无任何其他元件。
卡片上无源(无任何电池),工作时的电源能量由卡片读写器天线发送电载波信号耦合到卡片上天线而产生电能,一般可达2V以上,供卡片上得IC工作。
工作频率为13.56MHz。
Mifare1射频卡所具有的独特的MIFARARE(射频)非接触式接口标准已被指定为国际标准:
ISO/IEC14443TYPEA标准。
Mifare1ICS50是多应用的智能卡,它使用起来方便、高速、安全,经常应用在支付领域,它与读写器通信使用握手式半双工通信协议;卡片上有高速的CRC协处理器,符合CCITT标准,卡片制造是具有唯一的卡片序列号,没有重复的相同的两张Mifare卡片。
卡片上内奸8K(bit)EEPROM存储容量并划分为16个扇区,每个扇区划分为4个数据存储块,每个扇区可由多种方式的密码来管理。
卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交、地铁等行业的检票收费系统。
典型的检票交易时间最长不超过100ms。
卡片上的数据读写可超过10万次以上;数据保存期可达10年以上。
本文设计的读卡器正是用于读写Mifare1ICS50卡的应用系统,可以对Mifare1ICS50进行读写操作、电子钱包操作、密码操作以及认证方式设置等操作。
2.5读卡器的工作原理
MCU通过对读卡器芯片内寄存器的读写来控制读卡器芯片,读卡器芯片搜到MCU发来的命令后,按照非接触式射频卡协议格式,通过天线及其匹配电路向附近发出一组固定频率的调制信号(13.56MHZ)进行寻卡,若此范围内有卡片存在,卡片内部的LC谐振电路(谐振频率与读卡器发送的电磁波频率相同)在电磁波的激励下,产生共振,在卡片内部电压泵的作用下不断为其另一端的电容充电,获得能量,当该电压达到2V时,即可作为电源为卡片的其他电路提供工作电压。
当有卡片在读卡器的有效工作范围内时,MCU向卡片发出寻卡命令,卡片将回复卡片类型,建立卡片与读卡器的第一步联系,若同时有多张卡片在天线的工作范围内,读卡器通过启动防冲撞机制,根据卡片序列号选定一张卡片,被选中的卡片再与读卡器进行密码校验,确保读卡器对卡片有操作权限以及卡片的合法性,而未被选中的则仍然处在闲置状态,等待下一次寻卡命令。
密码验证通过后就可以对卡片进行读写等应用操作。
第三章非接触式IC卡国际标准
非接触式IC卡以作用距离的不同而分为三个不同的标准。
。
密耦合IC卡标准ISO/IEC10536主要是在1992年到1995年间发展的。
近耦合和疏耦合IC卡标准的制定工作——国际标准ISO/IEC14443和ISO/IEC15693——大约是1995年开始着手进行的,两项标准在2000年后才开始有效完成。
远耦合卡暂未出统一技术标准。
非接触式IC读卡器对应的国际标准
近耦合IC卡的作用距离在10CM左右,目前绝大部分的民用系统都采用的是近耦合IC卡,因此本章着重介绍该标准内容。
近耦合卡采用的国际标准ISO/IEC14443标准分为四个部分:
ISO/IEC14443-1物理特性ISO/IEC14443-1射频能量和信号接口,ISO/IEC14443-3初始化和防冲突ISO/IEC14443-4传输协议,下面将着重介绍ISO/IEC14443-3初始化和防冲突。
ISO/IEC14443-3初始化和防冲突这部分描述了在一个PCD设备的射频区域里查询PICC卡,字节和帧的格式,初始化请求命令和请求命令的响应的内容,在记账卡中对一张卡的检测和通讯的方法(即防冲突)和其他一些需要初始化的参数。
这里只介绍TYPEA
3.1TYPEA的初始化和防冲突
3.1.1帧的格式和时序
PCD或PICC发送的帧都包含一个帧头和帧尾和中间的数据信息或错误检测位。
PCD或PICC之间采用半双工的通信方式,帧与帧之间的延时时间也在标准里做了具体的规定。
帧分为短帧(数据长度只有一个字节)和标准帧(数据长度大于1个字节)以及基于位数据传送的防冲突帧。
3.1.2命令集
①PCD设备间隔一定时间就发送请求命令(REQA),REQA命令组成如下:
REQA编码
REQA帧包括以下内容:
●通信起始位S
●7位数据,低位先发送,REQA的命令代码是"0x26"
●通信结束位E
②PICC接收到REQA命令后,在PCD能量场内的所有PICC同步发出ATQA应答。
编码如下表所示:
ATQA的编码:
b8b7表示UID比特帧的大小。
UID比特帧的定义将在售后介绍。
UID的长度不是固定的,可以由1,2,或3部分组成,对应于ATQA的B8B7位分别为00、01和10.
b5~b1中有且只有1位置为1,表示采用的是比特帧防冲突方式。
RFU为保留位,均置为0.
③PCD接收ATQA应答,PICC和PCD进入防冲突循环,PCD的ANTICOLLISION和SELECT命令用于防冲突循环。
命令组成式如表所示:
BCC在UIDCLn为40bit才有,是前5个字节的异或,此时为SELECT命令(NVB=‘70’);不足40个bit时,则为ANTICOLISION命令。
SEL表示CLn的层叠级数,其编码如下表所示:
SEL的编码
如果PICC已经发送了完整的UID,则该卡将是从准备状态转为活动状态,并在其SAK的响应里表明UID是完整的。
否则,PICC仍保持准备状态,则PCD设备将初始化一个新的增加了层叠级别的防冲突循环。
一个select的时序目的是取得一张PICC卡的UID,并选择该卡来做将来的通信对象。
④PCD发送SELECT命令后,与40位UIDCLn匹配的PICC,以SAK作为应答。
SAK的编码如表所示。
SAK编码
其中,b3(层叠位)表示UID是否完整,0表示完整,即PICC的UID已被PCD所确认。
位1表示还有部分UIDCLn(n=2或3)未经确认。
RFU全置为0。
3.1.3防冲突流程
PCD初始化和防冲突流程如下图所示,包括以下步骤:
①PCD指定防冲突命令SEL的代码为93、95或97,分别对应于UIDCL1、UIDCL2或UIDCL3。
②PCD指定NVB的值为‘20’,此值表示PCD不发出UIDCLn的任一部分,而迫使所有在场的PICC发回完整的UIDCLn作为应答。
③PCD发送SEL和NVB。
④所有在场的PICC发回完整的UIDCLn作为应答。
⑤假如多余1张PICC发回应答,则发生了冲突,假如不发生冲突,可跳过6~10。
⑥PCD应认出发生第1个冲突的位置。
⑦PCD指示NVB值说明UIDCLn的有效位数目,这些有效位是接收到的UIDCLn发生冲突之前的部分,后面再由PCD加一位‘0’或一位‘1’,一般加‘1’。
⑧PCD发送SEL、NVB和有效数据位。
⑨只有这样的PICC,他们的UIDCLn部分与PCD发送的有效数据位内容相等,才发送出UIDCLn的其余位。
⑩假如还有冲突发生,重复6~9。
最大循环次数为32.
假如没有再发生冲突,PCD指定NVB为‘70’,此值表示PCD将发送完整的UIDCLn。
PCD发送SEL和NVB,接着发送40位UIDCLn,后面是CRC校验码。
与40位的UIDCLn匹配的PICC,以SAK作为应答。
如果UID是完整的,PICC将发送带有层叠为‘0’的SAK,同时从准备状态转换到活动状态。
如果PCD检查层叠位为‘1’的SAK,将CL加1,并再次进入防冲突循环。
第四章读卡器系统硬件设计
//
系统硬件电路分为控制电路,读写驱动电路和液晶显示电路等。
RFID卡读写设备的基本结构包括以下几个部分(参见图3):
图3
4.1MCU控制部分
MCU是读写设备的数据处理控制核心。
它不仅要控制射频处理模块完成对RFID卡的读写,还要负责通过通信接口与主机或应用系统进行通信以及键盘、显示设备等其他外部设备的控制。
单片机选用的是STC11F32是宏晶科技公司生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、具有超强抗干扰能力的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。
内部集成高可靠复位电路,可用在高速通信、智能控制、强干扰等场合;内部有32KB的Flash、29KB的EEPROM和1280字节的SRAM;EA、ALE、PSEN和RST引脚可以定义为通用I/O,即4个P4引脚;编程支持ISP下载功能,使用起来比较方便。
4.2射频部分
射频部分是非接触式IC卡读写器的关键部件,通过该部分与非接触式IC卡进行数据通信。
射频部分的主要部件就是射频基站芯片,这里选用的是MFRC522。
MFRC522是应用于13.56MHz非接触式通信中高集成度读写卡系列芯片中的一员。
是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。
MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
支持ISO14443A的多层应用。
其内部发送器部分可驱动读写器天线与ISO14443A/MIFARE®卡和应答机的通信,无需其它的电路。
接收器部分提供一个坚固而有效的解调和解码电路,用于处理ISO14443A兼容的应答器信号。
数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。
此外,它还支持快速CRYPTO1加密算法,用于验证MIFARE系列产品。
MFRC522支持MIFARE®更高速的非接触式通信,双向数据传输速率高达424kbit/s。
作为13.56MHz高集成度读写卡系列芯片家族的新成员,MFRC522与MFRC500和MFRC530有不少相似之处,同时也具备诸多特点和差异。
它与主机间的通信采用连线较少的串行通信,且可根据不同的用户需求,选取SPI、I2C或串行UART(类似RS232)模式之一,有利于减少连线,缩小PCB板体积,降低成本。
●MFRC522支持SPI、I2C、UART接口;
●64字节发送和接收的FIFO缓存;
●4页,每页16个寄存器,共64个寄存器;
●具有硬件掉电、软件掉电、发送掉电三种节电模式;
●支持ISO/IEC14443TypeA和MIFARE®通信协议;
4.3天线设计
天线的作用就是产生磁通量,为卡片提供电源,在读写设备和卡片之间传送信息,天线的有效电磁场范围就是系统的工作区域。
4.4声音提示及显示部分
非接触式IC卡读写器进行读写操作时发出提示音,发声的器件选用蜂鸣器,该器件使用方便、价格便宜。
单片机的IO口驱动能力有限,不能直接驱动蜂鸣器发声,通过三极管来驱动蜂鸣器。
显示部分采用LCD12864液晶显示模块。
第五章读卡器系统软件驱动程序设计
读卡器硬件必须在软件的控制下进行工作,第四章主要描述读卡器系统软件设计的原理,读卡器和Mifare1卡的通信的流程,系统的初始化、防碰撞、身份验证和读写操作等模块。
所有驱动程序是在Philips公司的基准程序基础上进行的开发,开发环境采用KeilC51.程序的每一部分按模块化设计成一个文件,单独调试通过后,再在KeilC51环境下加入到工程文件中会变成HEX文件,写入STC11F32单片机芯片中进行调试运行。
相对于Philips公司生产的其他14443基站芯片(如RC500、RC530等),RC522简化了内部系统结构,去掉了片内E2PROM。
从而大大缩减了芯片命令集。
另外,对载波调制电路,发送电路和解调、解码电路的控制也相应简化,去掉了校准接收电路I时钟、Q时钟、校准发送与接收时钟相位等繁琐的操作。
一般而言,单片机与RC522的通信流程如图4-1所示。
图4-1
根据RC522和MIFARE卡问传送的控制流数据的不同,通信过程中可能会出现不同的状态。
对各种状态须作不同处理,这正是软件系统开发的难度所在。
下面给出RC522命令集中2个最基本命令(Tranceive和MFAuthe-nt)执行过程中可能遇到的通信状态及处理。
这两个命令分别实现向MIFARE卡发送/接收数据和加密认证功能。
实际上,通过它们即可完成对MIFARE卡的所有操作,包括Request、Anticollision、Select、READ、WRITE等。
5.1RC522命令集的实现
RC522主要的状态指示寄存器包括ComIrqReg、Er-rorReg、Status2Reg和FIFOLevelReg等。
软件处理的思路:
通过ComIrgReg得到RC522内部中断状态;由中断判断RC522与MIFARE卡的通信流程信息,从而决定是否进行下一流程处理;若中断指示有错误发生,则需进一步读取ErrorReg的内容,据此返回错误字。
5.1.1Tranceive命令
Tranceive命令的具体执行过程;读取RC522FIFO中的所有数据,经基带编码和数字载波调制后通过通信接口以射频形式发送到MIFARE卡;发送完毕后通过通信接口检测有无MIFARE卡发送的射频信号回应,并将收到的信号解调、解码后放入FIFO中。
分析以上Ttanceive命令执行过程,可以得到处理该命令的算法流程图,如图4-2所示。
图4-2
为了处理Mifare卡在读卡器产生的电磁场中激励后,未完成处理义从激励场中拿开的情况,软件中启用了RC522芯片内部的定时器。
若超过设定的时间未得到卡片应答,则中止与卡的通信,返回“卡无反应”的错误信息。
从图4-2中可以看出Tranceive命令的核心处理方法:
根据相关通信状态指示寄存器的内容返回各种错误状态字,若有位冲突错误,则进一步返回位冲突位置。
Tranceive命令不处理面向比特的帧,这种帧只可能在MIFARE卡防冲突循环中出现。
为了保持Tranceive命令对各种MI-FARE卡命令的普适性,该命令只完成帧的发送和接收,不对帧信息作处理,所有位冲突处理留在函数外进行。
需要注意的是,Tranceive命令不能自动中止,在任何情况下从该命令返回时必须先执行IDLE指令使RC522转入空闲态。
5.1.2MFAuthent命令
RC522简化了与MIFARE卡的加密认证操作,用一个MFAuthent命令代替了原来RC500需要的Authentl和Authent2两条命令。
MFAuthent命令执行的最终目的在于开启RC522的加密认证单元。
该指令执行成功后,RC522芯片与MIFARE卡间的通信信息将首先加密,然后再通过射频接口发送。
从本质上讲,MFAuthent是一条变相的Tranceive命令,其算法流程图与图4一致。
但RC522芯片内部已经对通信过程中的各种通信状态作了相应处理,且该命令执行完后自动中止,因此用户只须检测定时器状态和错误寄存器状态来判断执行情况。
实际上,MFAuthent只可能有一种错误状态(RC522与MI-FARE卡通信帧格式错误),此时该命令不能打开加密认证单元,用户必须重新执行认证操作。
MFAuthent执行过程中RC522将依次从FIFO中读取1字节认证模式、l字节要认证的E2PROM块号、6字节密钥和4字节射频卡U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 RFID 读写 设计