RFIDMFRC522.docx
- 文档编号:973795
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:13
- 大小:972.50KB
RFIDMFRC522.docx
《RFIDMFRC522.docx》由会员分享,可在线阅读,更多相关《RFIDMFRC522.docx(13页珍藏版)》请在冰豆网上搜索。
RFIDMFRC522
RFID
一、概述
通过点名、磁卡和接触式IC卡等方式对学生的到课情况进行考勤、记录管理,既耗时又相互干扰;而非接触式RFID学生考勤系统实现了利用无线射频识别技术对学生考勤管理,既方便、快捷,又省时。
而且通过物联网和PC机终端对数据进行处理。
二、系统组成
学生智能考勤系统由四大部分组成,非接触式IC卡、读卡器、单片机及PC终端。
如下图
学生考勤系统组成
1.当保存有学生基本信息的IC卡进入读卡器天线作用范围内时,卡片获得能量以维持卡内部电路工作;
2.单片机负责控制读卡器进行一系列“寻卡→防冲突→选卡→读/写卡”操作,如果成功,将读取到卡片上的学生信息;
3.单片机将学生信息发送到PC终端,由PC机对一步对数据进行处理。
三、非接触式IC卡—MifareOne卡
1、外观
非接触式IC卡
2、结构
非接触式IC卡的薄膜结构
卡内部结构
3、功能
功能框图
读卡器通过天线发射激励信号(一组固定频率的电磁波),IC卡进入读写器工作区内,被读写器信号激励。
在电磁波的激励下,卡内的LC串联谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可以作为电源为其他电路提供工作电压,供卡内集成电路工作所需。
(1)ATR模块:
AnswerToRequest(“请求之应答”)
当一张MIFARE1卡处在读写器的天线工作范围之内时,程序员控制读写器向卡发出Requestall(或Requeststd)命令后,卡的ATR将启动,将卡片块0中2个字节的卡类型号(TagType)传送给读写器,建立卡与读写器的第一步通信联络。
如果不进行第一步的ATR工作,读写器对卡的其他操作(读/写操作等)将不会进行。
(2)AntiCollision模块:
防(卡片)冲突功能
如果有多张MIFARE1卡处在读写器的天线工作范围之内,则AntiCollision模块的防冲突功能将被启动工作。
读写器将会首先与每一张卡进行通信,读取每一张卡的序列号(SerialNumber)。
由于每一张MIFARE1卡都具有惟一的序列号,决不会相同,因此程序员将启动读写器中的AntiCollision防重叠功能配合卡上的防重叠功能模块,根据卡序列号来选定其中一张卡。
被选中的卡将被激活,可以与读写器进行数据交换;而未被选中的卡处于等待状态,随时准备与读写器进行通信。
AntiCollision模块(防重叠功能)启动工作时,读写器将得到卡片的序列号(SerialNumber)。
序列号存储在卡的Block0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号的校验字节。
(3)SelectApplication模块:
卡片的选择
当卡与读写器完成了上述两个步骤,读写器要想对卡进行读/写操作时,必须对卡进行“Select”操作,以使卡真正地被选中。
被选中的卡将卡片上存储在Block0中的卡容量“Size”字节传送给读写器。
当读写器收到这一字节后,方可对卡进行进一步的操作,如密码验证等。
(4)Authentication&AccessControl模块:
认证及存取控制模块
完成上述的三个步骤后,读写器对卡进行读/写操作之前,必须对卡上已经设置的密码进行认证,如果匹配,则允许进一步的读/写操作。
MIFARE1卡上有16个扇区,每个扇区都可分别设置各自的密码,互不干涉,必须分别加以认证,才能对该扇区进行下一步的操作。
因此每个扇区可独立地应用于一个应用场合,整个卡可以设计成一卡多用(一卡通)的形式来应用。
密码的认证采用了三次相互认证的方法,具有很高的安全性。
如果事先不知卡上的密码,则因密码的变化可以极其复杂,试图靠猜测密码而打开卡上一个扇区的可能性几乎为零。
(5)Control&ArithmeticUnit:
控制及算术运算单元
这一单元是整个卡的控制中心,是卡的“头脑”。
它主要对卡的各个单元进行操作控制,协调卡的各个步骤;同时它还对各种收/发的数据进行算术运算处理、递增/递减处理和CRC运算处理等,是卡中内建的中央微处理器(MCU)单元。
(6)RAM/ROM单元
RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中;将需要传送给读写器的数据由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给读写器。
RAM中的数据在卡失掉电源后(卡片离开读写器天线的有效工作范围)将会丢失。
同时,ROM中则固化了卡运行所需要的必要的程序指令,由控制及算术运算单元取出,对每个单元进行指令控制,使卡能有条不紊地与读写器进行数据通信。
(7)CryptoUnit:
数据加密单元
该单元完成对数据的加密处理及密码保护。
加密的算法可以为DES标准算法或其他。
(8)EEPROM存储器及其接口电路:
EEPROMINTERFACE/EEPROMMEMORY
该单元主要用于存储用户数据,在卡失掉电源后(卡片离开读写器天线的有效工作范围)数据仍将被保持。
4、Mifare1S50卡存储EEPROM
EEPROM
Mifare1卡内部有1的EEPROM,分成0~15共16个扇区,每个扇区分成0~3共4块,每块16字节。
1、扇区0的块0是厂商标志字节,保存着只读的卡信息及厂商信息,比如:
AFA73E00360804009944304331343616
前面四个字节AFA73E0036是卡序列号,08是卡容量,0400是卡类型,后面是厂商自定义的一些信息。
2、每个扇区的块0保存着该块的密钥A密钥B及该块的访问条件,第个扇区都有自己的一套密钥及访问条件,其中,4个字节的访问条件是对每个扇区4个块的读写定义,格式如下:
字节9备用默认值为0x69,_b是取反。
分成C10~C13,C20~C23,C30~C33
对块0、块1、块2存取控制X(0~2):
对块3存取控制:
比如块3的16字节如下:
000000000000FF078069FFFFFFFFFFFF
前面6个字节是密钥A,因为Read永远为Never,所以读到的都是0x00,最后的6字节是密钥B,其值一为0xFF0xFF0xFF0xFF0xFF0xFF,中间的4个字节是访问条件,有:
C1X[0..2]C2X[0..2]C3X[0..2]
000
C1X3C2X3C3X3
001
对应上表,可得出对该扇区块的存取控制条件。
四、读卡器—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板体积,降低成本。
1、内部框图
(1)MFRC522支持SPI、I2C、UART接口;
(2)64字节发送和接收的FIFO缓存;
(3)4页,每页16个寄存器,共64个寄存器;
(4)具有硬件掉电、软件掉电、发送掉电三种节电模式;
(5)支持ISO/IEC14443TypeA和MIFARE®通信协议;
2、电路图
3、MFRC522支持的三种接口
定义如下:
模块使用的是SPI接口,与单片机接口如下:
4、工作过程
对卡的操作分成四步:
寻卡→防冲突→选卡→读/写卡;
Mifare_One卡片命令
MF522命令字
MFRC522发送与接收卡数据暂存于FIFO中;
(1)寻卡
向FIFO中写入PICC_REQIDL命令,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,此时若有卡在天线作用范围内,将识别命令,并返回卡类型;
卡类型(TagType):
0x4400=Mifare_UltraLight
0x0400=Mifare_One(S50)
0x0200=Mifare_One(S70)
0x0800=Mifare_Pro(X)
0x4403=Mifare_DESFire
关于下面两条命令的区别:
第一条命令读取完卡后还会再次读取;
第二条命令读取完卡后会等待卡离开开线作用范围,直到再次进入。
(2)防冲突
向FIFO中写入PICC_ANTICOLL+0x20,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,卡返回卡序列号(共5字节,第5字节是卡序列号校验码);
由于是非接触式的,同一时间天线作用范围内可能不只一张卡时,即有多于一张的MIFARE1卡发回了卡序列号应答,则发生了冲突。
此时,由于每张卡的卡序列号各不相同,MCM接收到的信息(即卡序列号)至少有1位既是0又是1(即该位的前、后半部都有副载波调制),MCM找到第1个冲突位将其置1(排除该位为0的卡),然后查第2个,依次排除,最后不再有冲突的SN即为被选中的卡。
(3)选卡
向FIFO中写入PICC_SElECTTAG+0x70+卡序列号,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,卡返回卡容量(对于MIFARE1卡来说,可能为88H或08H);
(4)对卡EEPROM读写之前要进行认证
status=MFRC522_Auth(PICC_AUTHENT1A,blockAddr,sectorKeyA[blockAddr/4],serNum);//认证
向FIFO中写入PICC_AUTHENT1A/PICC_AUTHENT1B+块地址+扇区密码+卡序列号,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,
MIFARE1卡的密码认证方式:
三次相互认证的令牌原理框图
(A)环:
由MIFARE1卡片向读写器发送一个随机数据RB。
(B)环:
由读写器收到RB后向MIFARE1卡片发送一个令牌数据TOKENAB,其中包含了用读写器中存放的密码加密后的RB及读写器发出的一个随机数据RA。
(C)环:
MIFARE1卡片收到TOKENAB后,用卡中的密码对TOKENAB的加密的部分进行解密得到RB',并校验第一次由(A)环中MIFARE1卡片发出去的随机数RB是否与(B)环中接收到的T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFIDMFRC522
![提示](https://static.bdocx.com/images/bang_tan.gif)