RFIDMFRC522共14页.docx
- 文档编号:30017143
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:15
- 大小:9.34MB
RFIDMFRC522共14页.docx
《RFIDMFRC522共14页.docx》由会员分享,可在线阅读,更多相关《RFIDMFRC522共14页.docx(15页珍藏版)》请在冰豆网上搜索。
RFIDMFRC522共14页
RFID
一、概述(ɡàishù)
通过点名、磁卡和接触式IC卡等方式对学生的到课情况进行考勤、记录管理,既耗时又相互干扰;而非接触式RFID学生考勤系统实现了利用(lìyòng)无线射频识别技术对学生考勤管理,既方便、快捷,又省时。
而且通过(tōngguò)物联网和PC机终端(zhōnɡduān)对数据进行处理。
二、系统组成
学生智能考勤系统由四大部分组成,非接触式IC卡、读卡器、单片机及PC终端。
如下图
学生考勤系统组成
1.当保存有学生基本信息的IC卡进入读卡器天线作用范围内时,卡片获得能量以维持卡内部电路工作;
2.单片机负责控制读卡器进行一系列“寻卡→防冲突→选卡→读/写卡”操作,如果成功,将读取到卡片上的学生信息;
3.单片机将学生信息发送到PC终端,由PC机对一步对数据进行处理。
三、非接触式IC卡—MifareOne卡
1、外观
非接触式IC卡
2、结构(jiégòu)
非接触式IC卡的薄膜结构(jiégòu)
卡内部结构
3、功能(gōngnéng)
功能(gōngnéng)框图
读卡器通过(tōngguò)天线发射激励(jīlì)信号(一组固定(gùdìng)频率的电磁波),IC卡进入读写器工作(gōngzuò)区内,被读写器信号激励。
在电磁波的激励下,卡内的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:
控制及算术运算单元
这一单元(dānyuán)是整个卡的控制中心,是卡的“头脑”。
它主要对卡的各个单元进行操作控制,协调卡的各个步骤;同时它还对各种收/发的数据进行算术运算处理(chǔlǐ)、递增/递减(dìjiǎn)处理和CRC运算(yùnsuàn)处理等,是卡中内建的中央微处理器(MCU)单元。
(6)RAM/ROM单元
RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中;将需要传送给读写器的数据由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给读写器。
RAM中的数据在卡失掉电源后(卡片离开读写器天线的有效工作范围)将会丢失。
同时,ROM中则固化了卡运行所需要的必要的程序指令,由控制及算术运算单元取出,对每个单元进行指令控制,使卡能有条不紊地与读写器进行数据通信。
(7)CryptoUnit:
数据加密单元
该单元完成对数据的加密处理及密码保护。
加密的算法可以为DES标准算法或其他。
(8)EEPROM存储器及其接口电路:
EEPROMINTERFACE/EEPROMMEMORY
该单元主要用于存储用户数据,在卡失掉电源后(卡片离开读写器天线的有效工作范围)数据仍将被保持。
4、Mifare1S50卡存储(cúnchǔ)EEPROM
EEPROM
Mifare1卡内部有1的EEPROM,分成(fēnchénɡ)0~15共16个扇区,每个扇区分成0~3共4块,每块16字节。
1、扇区0的块0是厂商标志字节(zìjié),保存着只读的卡信息及厂商信息,比如:
AFA73E00360804009944304331343616
前面(qiánmian)四个字节AFA73E0036是卡序列号,08是卡容量,0400是卡类型,后面是厂商自定义的一些信息。
2、每个扇区的块0保存着该块的密钥A密钥B及该块的访问条件,第个扇区都有自己的一套密钥及访问条件,其中,4个字节的访问条件是对每个扇区4个块的读写定义,格式如下:
字节(zìjié)9备用默认值为0x69,_b是取反。
分成(fēnchénɡ)C10~C13,C20~C23,C30~C33
对块0、块1、块2存取控制X(0~2):
对块3存取控制:
比如块3的16字节(zìjié)如下:
000000000000FF078069FFFFFFFFFFFF
前面6个字节是密钥A,因为Read永远为Never,所以(suǒyǐ)读到的都是0x00,最后的6字节是密钥B,其值一为0xFF0xFF0xFF0xFF0xFF0xFF,中间的4个字节是访问条件,有:
C1X[0..2]C2X[0..2]C3X[0..2]
000
C1X3C2X3C3X3
001
对应上表,可得出(déchū)对该扇区块的存取控制条件。
四、读卡器—MFRC522
MFRC522是应用于13.56MHz非接触式通信中高集成度读写卡系列(xìliè)芯片中的一员。
是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备(shèbèi)研发的较好选择。
MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
支持ISO14443A的多层应用。
其内部发送器部分(bùfen)可驱动读写器天线与ISO14443A/MIFARE®卡和应答机的通信,无需其它的电路。
接收器部分提供一个坚固而有效的解调和解码电路,用于处理ISO14443A兼容的应答器信号。
数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。
此外,它还支持快速CRYPTO1加密算法,用于验证MIFARE系列产品。
MFRC522支持MIFARE®更高速的非接触式通信,双向数据传输速率高达424kbit/s。
作为13.56MHz高集成度读写卡系列芯片家族的新成员,MFRC522与MFRC500和
MFRC530有不少相似之处,同时也具备诸多特点和差异。
它与主机间的通信采用连线较
少的串行通信,且可根据不同的用户需求,选取SPI、I2C或串行UART(类似RS232)模式
之一,有利于减少连线,缩小PCB板体积,降低成本。
1、内部框图
(1)MFRC522支持(zhīchí)SPI、I2C、UART接口;
(2)64字节发送(fāsònɡ)和接收的FIFO缓存;
(3)4页,每页16个寄存器,共64个寄存器;
(4)具有硬件掉电、软件掉电、发送(fāsònɡ)掉电三种节电模式;
(5)支持(zhīchí)ISO/IEC14443TypeA和MIFARE®通信协议;
2、电路图
3、MFRC522支持(zhīchí)的三种接口
定义(dìngyì)如下:
模块(mókuài)使用的是SPI接口,与单片机接口(jiēkǒu)如下:
4、工作(gōngzuò)过程
对卡的操作(cāozuò)分成四步:
寻卡→防冲突→选卡→读/写卡;
Mifare_One卡片命令
MF522命令字
MFRC522发送与接收卡数据暂存于FIFO中;
(1)寻卡
向FIFO中写入PICC_REQIDL命令,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,此时若有卡在天线作用范围内,将识别命令,并返回卡类型;
卡类型(lèixíng)(TagType):
0x4400=Mifare_UltraLight
0x0400=Mifare_One(S50)
0x0200=Mifare_One(S70)
0x0800=Mifare_Pro(X)
0x4403=Mifare_DESFire
关于下面(xiàmian)两条命令的区别:
第一条命令(mìnglìng)读取完卡后还会再次读取;
第二条命令读取完卡后会等待卡离开开线作用范围(fànwéi),直到再次进入。
(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读写之前要进行(jìnxíng)认证
status=MFRC522_Auth(PICC_AUTHENT1A,blockAddr,sectorKeyA[blockAddr/4],serNum);//认证(rènzhèng)
向FIFO中写入PICC_AUTHENT1A/PICC_AUTHENT1B+块地址(dìzhǐ)+扇区密码(mìmǎ)+卡序列号,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,
MIFARE1卡的密码认证方式:
三次相互认证的令牌原理框图
(A)环:
由MIFARE1卡片向读写器发送一个随机数据RB。
(B)环:
由读写器收到RB后向MIFARE1卡片发送一个令牌数据TOKENAB,其中包含了用读写器中存放的密码加密后的RB及读写器发出的一个随机数据RA。
(C)环:
MIFARE1卡片收到TOKENAB后,用卡中的密码对TOKENAB的加密的部分进行解密得到RB',并校验第一次由(A)环中MIFARE1卡片发出去的随机数RB是否与(B)环中接收到的TOKENAB中的RB'相一致;若读写器与卡中的密码及加密/解密算法一致,将会有RB=RB',校验正确,否则将无法通过校验。
(D)环:
如果(C)环校验是正确的,则MIFARE1卡片用卡中存放的密码对RA加密后发送令牌TOKENBA给读写器。
(E)环:
读写器收到令牌TOKENBA后,用读写器中存放的密码对令牌TOKENBA中的RA(随机数)进行解密得到RA';并校验第一次由(B)环中读写器发出去的随机数RA是否与(D)环中接收到的TOKENBA中的RA'相一致;同样,若读写器与卡中的密码及加密/解密算法一致,将会有RA=RA',校验正确,否则将无法通过校验。
如果上述的每一个环都为“真”,且都能正确通过验证,则整个的认证过程将成功。
读写器将允许对刚刚认证通过的卡片上的这个扇区进入下一步的操作(读/写等操作)。
(5)写数据
向FIFO中写入PICC_WRITE+块地址(dìzhǐ),通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送(fāsònɡ)出去。
要注意写块3数据,因为块3包含了所在扇区在密钥及访问(fǎngwèn)条件,如果操作不当,将导致扇区无法正常使用。
(6)读数据
向FIFO中写入PICC_READ+块地址(dìzhǐ),通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去。
五、结果
通过串口接收到数据如下:
0400
AFA73E0036
08
01020304000000000000000000000000
分别为卡类型、卡序列号、卡容量及块1的16字节数据。
内容摘要
(1)此时,由于每张卡的卡序列号各不相同,MCM接收到的信息(即卡序列号)至少有1位既是0又是1(即该位的前、后半部都有副载波调制),MCM找到第1个冲突位将其置1(排除该位为0的卡),然后查第2个,依次排除,最后不再有冲突的SN即为被选中的卡
(2)(C)环:
MIFARE1卡片收到TOKENAB后,用卡中的密码对TOKENAB的加密的部分进行解密得到RB',并校验第一次由(A)环中MIFARE1卡片发出去的随机数RB是否与(B)环中接收到的TOKENAB中的RB'相一致
(3)并校验第一次由(B)环中读写器发出去的随机数RA是否与(D)环中接收到的TOKENBA中的RA'相一致
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFIDMFRC522 14
