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位)

  1. PCD 发送 REQA命令,所有卡片回送ATQA
  2. PCD 发送 SEL = ‘93’,NVB = ‘20’两个字节
    迫使所有的在场的PICC发回完整的UID CLn作为应答。
    3.所有在场的PICC发回完整的UID CLn作为应答
  3. 多于一张PICC发回应答,发送冲突。
  4. PCD认出发生第一个冲突的位置。
  5. PCD 发送SEL + NVB +部分 UID CLn
    部分UID CLn是指的发生冲突之前的部分,
    后面加上由PCD决定加一位“0”或者“一位1”,
    一般加“1”。
  6. 只有与PCD发送的UID CLn部分的位,完全相同的PICC,才会发送UID CLn的其余位。
    8. 假设还有冲突,重复上一步,最大循环是32。
  7. 假设没有冲突,PCD 指定NVB为70,此值表示PCD将发送完整的UID CLn。
  8. 与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 管脚
  • 内部自测试

智能卡 ISO14443 协议 解读相关推荐

  1. 3gpp协议_3GPP都在干什么(16)?:3GPP中网络切片原理及协议解读

    本文归属于<3GPP在干什么>系列.全文71页PPT.(此系列是春天工作室一大IP(品牌),主要是协议解读.标准化进展梳理,新技术跟踪等). 今年我们会投入较多的时间和精力,重点研究和跟踪 ...

  2. CANopen协议解读

    CANopen协议解读 一.协议标准 二.CANopen报文说明 三.CANopen协议内容 1. ID的理解 2. NMT (1) 节点状态 (2) 节点状态控制 (3) 节点心跳报文 一.协议标准 ...

  3. DDS(Date-Distribution Service)协议解读和测试解决方案

    文章目录 1.DDS运行背景以及概述 2.DDS实现方案 3.DDS测试范围 4.DDS测试解决方案 1.DDS运行背景以及概述 通信的本质 在正确额时间内把正确的数据送达正确的地点 (1)数据在哪里 ...

  4. 【射频技术】ISO14443协议A类卡——PCD防止PICC冲突并选出一张PICC的过程

    相关知识铺垫: 注意: ①阅读本文之前需要一定的射频知识基础 ②类型A表示A型卡(即A型PICC),其实类型A.类型B之类的可以忽略,本文主要就是以A型卡为例讲述PCD防止PICC冲突的过程. PCD ...

  5. SD3.0协议解读一

    前言: 老衲我近期研究的是SD/MMC卡驱动,研究过的SD/MMC驱动的贫僧们都应该知道SD/MMC协议是必不可少的一部分,除非你不想研究透SD/MMC驱动,那你大可只研究driver/mmc/hos ...

  6. 符合ISO14443协议的Card

    目录 一.CPU卡 二.M系列卡(MF0.MF1.MF2) 2.1 M系列卡的共性 2.2 M系列卡的三次相互认证 2.3 Mifare UltraLight(MF0) 2.4 Mifare S50与 ...

  7. 智能卡 7816协议【转】

    本文转载自: smartcard T0 T1 T14协议区别 1) T0 异步半双工字符传输协议 停止位是2, T1是1. 2) T1是异步半双工块传输协议. 有起始域,信息域, 中止域 组成一个 块 ...

  8. 【AHB协议解读 三】传输(Transfers)

    3.1 基本传输 AHBlite传输包含两个阶段: Address:持续一个HCLK,除非之前的传输未完成而延长 Data:可能需要几个HCLK,通过HREADY信号来控制整个完成周期持续的HCLK个 ...

  9. 时间敏感型网络协议解读

      0 引言 随着信息技术(informationtechnology,IT)与运营技术(operation technology,OT)的不断融合,对于统一网络架构的需求变得迫切.智能制造.工业物联 ...

最新文章

  1. 牛!一周内被疯转,最终被所有大厂封杀的内容!
  2. 深入php内核一(概述)
  3. 进度条模块tqdm介绍
  4. ORACLE会话数、连接数配置
  5. JavaScript正则表达式语法与示例
  6. linux messages 时间错乱_BATJ 常考的 21 条 Linux 命令,速度收藏!
  7. Spring AOP失效之谜
  8. ubuntu 修改IP,网关等
  9. 【MATLAB统计分析与应用100例】案例010:matlab调用normrnd函数生成正态分布随机数
  10. 3D建模与处理软件简介 刘利刚 中国科技大学
  11. 系统修复-菜鸟也DIY
  12. 机器学习-随机森林之回归
  13. Powershell-快速编辑模式和标准模式
  14. 支付宝AR实景红包寻宝攻略
  15. 解决'python -m pip install --upgrade pip',显示“'python' 不是内部或外部命令,也不是可运行的程序”
  16. house of apple2(改进)
  17. 考研英语近义词与反义词·八
  18. 第二次作业--分析微博
  19. 安装MySQL卡在apply_安装mysql遇到的坑:在apply server configuration和starting server均被卡...
  20. 镇江教育局外语计算机培训中心,江苏计算机等级考试报名地点

热门文章

  1. Pandas中的轴向堆叠数据—concat()方法
  2. 2019年清华大学827电路原理考研经验分享
  3. ncist网络空间安全专业护网方向认知实习笔记2021.12 DAY2.1
  4. 2022/08/15 吉软 MySQL数据库(1)
  5. 【Android】google plus、Facebook登陆sdk集成打包出aar的使用步骤
  6. 保姆的式教程手把手教你,菜鸟玩转博客搭建!
  7. 对于矩估计的一些理解
  8. Linux文件系统类型
  9. [SCOI2009]粉刷匠 DP)
  10. Lambda预主网接入视频教程