MFRC522 芯片手册 参考资料:
《MFRC522数据手册.pdf》
《MFRC522中文.pdf》
《IC卡与RFID标签(第三版)王爱英.pdf》
《ISO14443协议中文版》
《ISO14443协议英文版》—《ISO14443_2011》
《中国金融集成电路(IC)卡与应用无关的非接触式规范.pdf》
《Cpu卡操作的基本方法指令.pdf》
《FM1216_ps_chs.pdf》
名词解释
PICC:接近式卡 Proximity Card(PICC) (卡片)
PCD : 接近式耦合设备 Proximity coupling device (PCD)(读卡器)
ATQA: Answer To Request ,Type A
ATQB : Answer To Request, Type B
REQA: REQuest command,Type A
REQB: REQuest command,Type B
UID : Unique IDentifier,Type A
WUPA: Wake-UP command,Type A
WUPB: Wake-UP command,Type B
ATS : Answer to Select
ATR:Answer to Reset 复位应答
PTS: Protocol Type Selection
PPS: Protocol and Parameter Selection
协议和参数选择
RATS: Request for Answer To Select
选择应答请求
MF:(Master File )主目录
DF:(Dedicated File)专用文件
EF:(Elementary File)
7.1 轮询
当 PICC 暴露于未调制的工作场内,它能在5ms 内接受一个请求。
例如:
当类型A PICC 接收到任何类型B 命令时,它能在5ms 内接受一个REQA。
当类型B PICC 接收到任何类型A 命令时,它能在5ms 内接受一个REQB。
为了检测进入其激励场的PICC,PCD 发送重复的请求命令并寻找ATQ。请求命令应按
任何顺序使用这里描述的REQA 和REQB,此外,也可能使用10.5 中描述的其他编码。这
个过程被称为轮询。
标准REQA 的数据内容是‘26’,WAKE-UP 请求的
数据内容是‘52’
POWER-OFF状态
在 POWER-OFF 状态中,由于缺少载波能量,PICC 不能被激励并且应不发射副载波。
IDLF状态
在最大延迟内激活工作场后,PICC 应进入其IDLE 状态。在这种状态中,
PICC 被加电,并且能够解调和识别从PCD 来的有效REQA 和WAKE-UP 命令。
READY状态
一旦收到有效REQA 或WAKE-UP 报文则立即进入该状态,用其UID 选择了PICC 时
则退出该状态。在这种状态中,比特帧防冲突或其他任选的防冲突方法都可以使用。所有串
联级别都在这一状态内处理以取得所有UID CLn。
ACTIVE状态
通过使用其完整UID 选择PICC 来进入该状态。
HALT状态
该状态通过7.2.3.4 中定义的HALT 命令或本部分中未定义的应用特定命令来进入。在
这种状态中,PICC 应仅响应使PICC 转换为READY 状态的WAKE-UP 命令。
注:处于HALT 状态的PICC 将不参与任何进一步的通信,除非使用了WAKE-UP 命令。
PCD 用来管理与几个PICC 通信的命令是:
REQA
WAKE-UP
ANTICOLLISION
SELECT
HALT
REQA命令
REQA 命令由PCD 发出,以探测用于类型A PICC 的工作场。
WAKE-UP命令
WAKE-UP 命令由PCD 发出,使已经进入HALT 状态的PICC 回到READY 状态。它们
应当参与进一步的防冲突和选择规程。
ANTICOLLISION命令和SELECT命令
这些命令在防冲突环期间使用。ANTICOLLISION 和SELECT 命令由下列内容组成:
选择代码SEL(1 个字节)
有效位的数目NVB(1 个字节)
根据NVB 的值,UID CLn 的0 到40 个数据位
SEL 规定了串联级别CLn。
NVB 规定了PCD 所发送的CLn 的有效位的数目。
注:只要NVB 没有规定40 个有效位,若PICC 保持在READY 状态中,该命令就被称为ANTICOLLISION
命令。
如果NVB 规定了UID CLn 的40 个数据位(NVB=‘70’),则应添加CRC_A。该命令称
为SELECT 命令。如果PICC 已发送了完整的UID,则它从READY 状态转换到ACTIVE
状态并在其SAK-响应中指出UID 完整。否则,PICC 保持在READY 状态中并且该PCD 应
以递增串联级别启动一个新的防冲突环。
王爱英的书中,第4章:
在目前已经发表的非接触式卡国际标准中,主要讨论的是卡的物理特性,发射/接收的电信号,防冲突机制,复位应答和传输协议。
与接触式IC卡相比,非接触式IC卡还需要解决下述三个问题:
遇到问题:
(1) IC卡如何取得工作电压
(2) 读写器与iC卡之间如何交换信息
(3) 多张卡同时进入读写器发射的能量区域(发生冲突或者碰撞时候),如何处理。
在非接触式IC卡和RFID芯片中,使用的射频有低频的(125kHz和134.5kHz),高频(13.56MHz),超高频(433MHz和860 ~960MHz)和微波(2.45GHz和5.8GHz)等频段。
在非接触式IC卡中,采用的是负载调制方法。
非接触式IC卡和读写器之间的通信是通过空间介质(无线方式)实现的,通信从读写器发送载波信号开始。
国际标准规定的IC卡采用ID-1型卡片,
因此使用的IC卡是无源的,非接触式IC卡从天线接收到的载波信号(射频电磁波)中获取能量,经过检波(整流),倍压,稳压得到卡工作所需的直流电压。
读写器和IC卡之间,射频信号,有两种耦合方式:
电感耦合和电磁反响散射耦合。
IC卡是用的电感耦合。
IC卡用的是负载调制的方法。
根据电磁场基本理论,当射频信号加载到天线之后,在紧邻天线的空间区域内,其电场与磁场之间的转换类似于变压器中电场和磁场之间的转换,为电感耦合(闭合磁路)。
非接触式IC卡的载波频率是13.56Mhz。
1.负载调制:
如果将一个谐振频率与读写器发送频率相同的IC卡放入读写器天线的交变磁场中,
IC卡就能从磁场取得能量,这将导致读写器天线电流的增加和读写器内阻R上的压降增大。
IC卡天线上负载电阻的接通和断开会使读写器天线上的电压发生变化,如果用IC卡要发送的数据来控制负载电阻的接通和断开,那么这些数据就能从卡传输到读写器(在读写器天线上测到),这种数据传送方式称为负载调制。
但是在天线上测试得到的信号幅度很小。实践中,对于13.56Mhz的系统来说,当天线电压大约为100v时,有效信号,仅仅有10mv左右。
于是在国际标准中,采用副载波的负载调制。
在卡片中,将接收到的载波进行分频得到副载波。
假设载波频率为13.56Mhz,16分频得到副载波,频率为847Khz,卡要发送的数据采用曼彻斯特编码,ASK调制,传输率为106kb/s(847/8)。
IC卡中的能量来自读写器发送的载波,因此在设计读写器数据的编码和调试方式的时候,要尽量保证不间断的供给能量。
PCD和PICC开始对话的操作顺序如下。
(1) PCD 能量场激活PICC
(2) PICC等待PCD命令
(3) PCD发出一个命令
(4) PICC发出一个应答
从PCD传送到PICC的信号
(1) 载波信号为13.56Mhz,在初始化和防冲突期间,数据传输率 = 13.56Mhz/128 = 106Kb/s,一位数据所占的时间周期为9.4us。
(2) 副载波的频率为13.56Mhz/16 = 847khz,在初始化和防冲突期间,一位时间等于8个副载波时间。
(3) PICC仅仅在数据传送时候产生副载波。
IS0/IEC 14443-3 初始化和防冲突
(1) PICC进入PCD场的轮询过程(polling)。
(2) 在PCD和PICC之间进行通信的初始化阶段所用的字节格式,帧和时序
(3) 初始化REQ和ATQ(命令和应答)的内容
(4) 在多张卡中检出1张卡,并与之通信的方法
当PICC进入尚未调制的射频场后,应该能在5ms时间内接收PCD的请求命令。
PCD为了检出PCD能量场中的PICC,PCD重复发出请求命令REQA/REQB,
并且应答ATQA,这一过程称为polling。
防冲突:
当PICC接收到REQA命令或者WUPA命令后,
在PCD能量场范围内的所有PICC,同步发出ATQA响应。
ATQA长度为2个字节。
‘26’ = REQA
‘52’ =WUPA
PCD 接收ATQA应答,PICC进入READY状态,执行防冲突循环操作。
ANTICOLLISION命令和SELECT命令。
这两条命令用于防冲突循环。
(1) 选择代码SEL(1字节)。
(2) 有效位数量NVB(1字节)
(3) 由NVB指定的UID CLn(0到40位)
- PCD 发送 REQA命令,所有卡片回送ATQA
- PCD 发送 SEL = ‘93’,NVB = ‘20’两个字节
迫使所有的在场的PICC发回完整的UID CLn作为应答。
3.所有在场的PICC发回完整的UID CLn作为应答 - 多于一张PICC发回应答,发送冲突。
- PCD认出发生第一个冲突的位置。
- PCD 发送SEL + NVB +部分 UID CLn
部分UID CLn是指的发生冲突之前的部分,
后面加上由PCD决定加一位“0”或者“一位1”,
一般加“1”。 - 只有与PCD发送的UID CLn部分的位,完全相同的PICC,才会发送UID CLn的其余位。
8. 假设还有冲突,重复上一步,最大循环是32。 - 假设没有冲突,PCD 指定NVB为70,此值表示PCD将发送完整的UID CLn。
- 与40位UID CLn 匹配的PICC,以SAK作为应答。
卡片如果收到完整的UID Cln那么回复SAK,
如果收到的不是完整的UID Cln,如果该不完整的UID Cln的内容,如果和自己的相同,就回复剩下部分的UID Cln内容。可以有两个卡片同时回复,又有冲突,然后进一步,调整UID Cln部分内容,再次判断。
SAK 表示已经根据UID选中了一张PICC,
PCD 将发送RATS— request for answer to select,
以后PICC 发送ATS 来回答RATS。
当PICC接收到REQA命令或者WUPA命令后,在PCD能量场范围内的所有PICC同步发出ATAQ响应。
ATQA的长度为2个字节,
其编码如表4.3所示:
#
MFRC522 是干嘛的?
读写器,支持 ISO 14443A / MIFARE®
MFRC522 的内部发送器部分可驱动读写器天线与ISO 14443A/MIFARE®卡和应答机
的通信,无需其它的电路。接收器部分提供一个功能强大和高效的解调和译码电路,用来
处理兼容ISO 14443A/MIFARE®的卡和应答机的信号。数字电路部分处理完整的ISO
14443A 帧和错误检测(奇偶&CRC)。MFRC522 支持MIFARE® Classic(如,MIFARE®标
准)器件。MFRC522 支持MIFARE®更高速的非接触式通信,双向数据传输速率高达
424kbit/s。
MFRC522 特性?
- 高度集成的模拟电路,解调和译码响应。
- 缓冲的输出驱动器与天线的连接使用最少的外部元件。
- 支持 ISO 14443A/MIFARE®。
- 读写器模式中与 ISO 14443A/MIFARE®的通信距离高达50mm,取决于天线的长 度和调谐。
- 读写器模式下支持 MIFARE® Classic 加密
- 支持 ISO 14443 212kbit/s 和424kbit/s 的更高传输速率的通信。
- 64 字节的发送和接收FIFO 缓冲区。
- 灵活的中断模式。
- 低功耗的硬复位功能。
- 软件掉电模式。
- 可编程定时器。
- 内部振荡器,连接 27.12MHz 的晶体。
- 3.3V 的电源电压。
- CRC 协处理器
- 自由编程的 I/O 管脚
- 内部自测试