ISO/IEC 14443 防碰撞协议 Type A Type B
ISO/IEC 14443是近场通信(NFC)和射频识别(RFID)领域的重要标准,定义了非接触式智能卡(PICC)与读卡器(PCD)之间的通信协议。其中,14443-3部分规定了防冲突(防碰撞)机制,确保多个卡同时进入读卡器场时能够被正确识别。该标准分为Type A和Type B两种通信模式,两者的防冲突算法差异较大。
1. 防冲突(防碰撞)的基本概念
当多个卡(PICC)同时处于读卡器(PCD)的射频场时,它们的响应信号会互相干扰(碰撞),导致读卡器无法正确识别。防冲突算法的目标是:
- 检测冲突:发现多个卡同时响应。
- 解决冲突:通过特定机制逐个选择卡,确保每次只与一张卡通信。
2. ISO/IEC 14443-3 Type A 防冲突机制
Type A 采用基于位冲突检测的动态二进制搜索算法(类似 ALOHA 改进版),核心步骤如下:
(1) 初始化(REQUEST / WUPA)
- 读卡器发送
REQA
(短帧请求)或WUPA
(唤醒所有卡)。 - 所有卡进入 READY 状态,并返回 ATQA(Answer To Request,2字节),包含 UID(唯一标识符)长度信息(4/7/10字节)。
(2) 防冲突循环(ANTICOLLISION)
- 读卡器发送
ANTICOLLISION
命令(0x93
/0x95
/0x97
,取决于UID长度),附带当前已知的UID部分(初始为空)。 - 所有卡比较读卡器发送的UID前缀:
- 匹配:继续发送后续UID位。
- 不匹配:静默,等待下一轮。
位冲突检测(Bit Collision Detection)
- Type A 采用 Manchester编码,在传输UID时,如果多个卡同时发送不同电平(一个发“0”,一个发“1”),会导致 载波调制异常(冲突位)。
- 读卡器检测到冲突后:
- 记录冲突位置(如第N位)。
- 发送 SELECT 命令,强制该位为“0”或“1”,筛选部分卡。
- 重复直到唯一UID被识别。
(3) 选择卡(SELECT)
- 读卡器发送
SELECT
命令,附带完整UID,目标卡返回 SAK(Select Acknowledge),确认进入 ACTIVE 状态,可进行后续通信(如ISO/IEC 14443-4)。
3. ISO/IEC 14443-3 Type B 防冲突机制
Type B 采用基于时隙的动态轮询算法(类似 时隙ALOHA),核心步骤如下:
(1) 初始化(REQUEST / WUPB)
- 读卡器发送
REQB
或WUPB
,附带参数:N
(时隙数,1~16)。AFI
(应用标识符,可选)。
- 卡随机选择一个时隙(1~N)响应。
(2) 时隙响应(SLOT-MARKER)
- 读卡器发送
SLOT-MARKER
命令,指定当前时隙(如时隙1)。 - 只有选择该时隙的卡回复 ATQB(Answer To Request B),包含:
- PUPI(伪唯一标识符,4字节)。
- 协议信息(比特率、帧大小等)。
冲突处理
- 如果多个卡选择同一时隙:
- 读卡器检测到冲突(信号叠加),但不明确具体PUPI。
- 读卡器调整
N
(增加时隙数)并重试,降低碰撞概率。
(3) 选择卡(ATTRIB)
- 读卡器发送
ATTRIB
命令,附带目标卡的PUPI,将其激活进入 ACTIVE 状态。
4. Type A vs Type B 防冲突对比
特性 | Type A | Type B |
---|---|---|
冲突检测方式 | 位冲突(Manchester编码) | 时隙冲突(信号叠加) |
UID处理 | 完整UID逐位匹配 | 动态生成PUPI(伪UID) |
算法复杂度 | 较高(二进制搜索) | 较低(时隙轮询) |
抗干扰能力 | 较弱(易受噪声影响) | 较强(时隙分散) |
典型应用 | MIFARE系列(如公交卡) | 身份证、金融卡(如EMV) |
5. 实际应用示例
(1) Type A(MIFARE Classic)
- 读卡器逐步获取UID,如:
- 发送
ANTICOLLISION
,收到部分UID[0x12, 0x34]
并检测到位冲突。 - 发送
SELECT
强制下一位为“0”,筛选出UID[0x12, 0x34, 0x56]
。 - 最终获取完整UID
[0x12, 0x34, 0x56, 0x78]
。
- 发送
(2) Type B(身份证)
- 读卡器发送
REQB
,设置N=4
。 - 卡随机选择时隙(如时隙2)返回
ATQB
。 - 读卡器发送
ATTRIB
激活该卡。
6. 总结
- Type A:适合低成本场景,但防冲突效率较低(依赖逐位匹配)。
- Type B:适合高干扰环境,时隙机制更稳定,但协议略复杂。
- 选择依据:取决于应用需求(速度、抗干扰性、成本)。