ISO1443A通信协议梳理
1.NFC ISO组织架构
1、MifareClassic工作在Type2 标签下使用MifareClassic专有协议。SAK&0x18不为0 (SAK
见卡枚举防碰撞过程)
2、Type4标签非接触智能卡支持ISO14443A-4,在14443A-4基础上实现ISO7814-4及以
上协议,实现了ISO7816上层兼容。
2.ISO14443A调制方式及其速率
ISO14443A 调制方式:
PCD:13.56MHz 100% ASK 106kbps
PICC:使用副载波848KHz OOK(ASK)106kbps
3.ISO1443A-3 卡枚举及防碰撞协议
详情见“14443-3.pdf”这里只简述其枚举过程:
1、PCD周期性打开RF并发送REQA请求
2、PICC收到REQA请求后返回ATQA
3、PCD收到ATQA并判断是否支持Anticollision
4、如果不支持Anticollision(ISO14443A-3)既为Type1 标签(topaz协议)
5、支持防碰撞即ISO14443A-3,进行Anticollision Loop
6、通过Anticollision Loop可以感知多个PICC存在,并且能够读取所有PICC的UID
7、PCD使用的SELECT 命令完成碰撞循环,并且PICC 最终返回SAK,指示是否支持
ISO14443-4,其定义如下:
8、SAK不支持14443-4且SAK&0x18不为0的情况下判断为MifareClassic卡。(见
MifareClassic卡规格书MF1S50YYX_V1.pdf及MF1S70YYX_V1.pdf文档)
9、SAK支持14443-4 (见ISO14443A-4 卡激活流程)
10、其流程图如下:
4.ISO14443A-4 卡激活
详情见“14443-4.pdf”这里只简述其激活过程:
1、PCD通过SAK判断支持ISO14443A-4协议后发送RATS命令请求SELECT后的应答。
RATS命令包含PCD所能接收的最大数据包大小以及指定该PICC的逻辑ID号,如下:
2、PICC收到RATS后返回ATS,ATS包含PICC的一些通信参数,其结构如下:
具体的内部参数定义见ISO14443-4协议文档
3、支持PPS的情况下进行参数选择
4、PICC被激活,其流程如下:
5.ISO14443A-4 数据通信
详情见ISO14443-4文档“Half-duplex block transmission protocol”章节
1、ISO14443-4数据块格式如下:
数据块通过PCB分为信息块(I-block)、应答块(R-block)、控制块(S-block)三种,分别传送信息、应答、和控制信息。并且多个信息块可以指示其相互连接。3、数据通信框图如下:
3、ISO14443A-4支持多激活,多张卡通信,详细信息见官方文档。
4、多数非接触式智能卡在ISO14443-4基础上实现ISO7816-4,实现其APDU命令。见
Mifare DESfire文档(MF2DLHX0.pdf)