协议标准

当前位置:首页>技术与支持>协议标准
全部 850 方案下载 1 技术科普 14 协议标准 7 开发包下载 1 行业资讯 827

RFID高频HF ISO/IEC14443中文协议之四:传输协议

时间:2015-10-06   访问量:1340
{107}

范围与标准引用

ISO/IEC14443 的这一部分规定了非接触的半双工的块传输协议,并定义了激活和停止协议的步骤。这部分传输协议同时适用于 A 型卡和 B 型卡。它在整个标准体系中的位置可以这样理解:第一至第三部分解决的是"卡能不能被找到、能不能被选中",而第四部分解决的是"选中之后,双方如何可靠地交换较长的业务数据"——半双工、以块为单位、带确认与重传机制。对于需要在卡内读写文件、执行应用命令的场景,这一段协议是必须具备的。

该部分引用的标准为 ISO/IEC 7816-4《识别卡 接触式集成电路卡 第四部分 产业内部交换命令》。引用这份标准的意义在于复用接触式卡的命令体系:非接触卡在激活并进入应用模式后,其命令结构沿用了接触式 IC 卡已经成熟的定义,这使得同一套应用逻辑可以在接触与非接触两种载体上共用。按标准体系约定,被引用标准的条文通过引用即构成本标准的条文。

术语和定义:块与帧格式

本部分定义了两个基础术语。其一是数据块(Block),指特殊格式的数据帧,符合协议的数据格式包括 I-blocks、R-blocks 和 S-blocks 三类——这三类块分别承担不同的职责,是这套块传输协议的结构基础。其二是帧格式(frame format),由 ISO/IEC14443-3 定义:A 型 PICC 使用 A 类数据帧格式,B 型 PICC 使用 B 类数据帧格式。这一条界定了两个部分之间的分工——帧的底层格式在第三部分规定,第四部分在其之上构建块传输协议,因此两类卡的块协议相同、帧格式不同。

缩略语与符号

本部分使用的缩略语包括:PPS(协议和参数的选择);R-block(接收准备块);R(ACK)(R-block 包含正的确认);R(NAK)(R-block 包含负的确认);RFU(保留将来使用);S-block(管理块);SAK(选择确认);WUPA(A 型卡的唤醒命令);WTX(等待时间扩展)。其中几条与传输可靠性直接相关:R(ACK) 与 R(NAK) 构成确认机制的正负两面,用于告知对方数据是否正确收到;WTX 用于在卡片处理需要更长时间时申请延长等待时间,避免被误判为超时;RFU 则体现了标准为后续扩展预留字段的惯例。

协议激活

该部分分别规定了 A 型 PICC 的协议激活与 B 型 PICC 的协议激活两个流程,两者在框架上对应,但因前述帧格式与前期寻卡机制的差异,具体步骤各自独立。激活是协议去激活的对称过程:卡片在完成防碰撞并被选中后,需经过激活步骤才进入后续的应用数据交换阶段。

需要说明的是,本项目原始协议资料中,A 型协议激活、B 型协议激活、半双工传输协议与协议去激活这四节的内容主要以流程图形式呈现,文字部分仅为章节标题。导出为文本时图未随文导出,因此该部分的步骤细节在本资料中缺失。如需按流程实现,应查阅标准原文或原文档中对应的流程图,不宜凭章节标题推断步骤顺序。

半双工的块传输协议

该部分的核心是"半双工的块传输协议"。半双工意味着同一时刻只能有一个方向在传输——要么卡发给读写器,要么读写器发给卡,不能同时进行,这是无源非接触通信的物理条件所决定的。以块为单位传输,则意味着数据被组织成前述 I-blocks、R-blocks、S-blocks 三类结构化的帧进行交换,而不是无结构的字节流。结构化带来的好处是协议可以在块级别做确认、重传与流控,使非接触这种易受干扰的链路上也能实现可靠的长数据交换。

协议去激活

该部分还规定了 A 型和 B 型 PICC 的协议去激活。去激活是激活的逆过程,用于在业务交互结束或有需要时,让卡片退出当前协议状态、停止参与数据交换。它与此前的寻卡、防碰撞、激活共同构成完整的会话生命周期:寻卡发现卡片、防碰撞选出唯一一张、激活进入应用模式、块传输完成业务、去激活结束会话。理解这条完整链路,有助于在调试读卡程序时准确判断问题出在哪一阶段——例如"能读到卡但读不到数据"通常指向激活或块传输阶段,而非寻卡阶段。

13.56MHz非接触式IC卡用于门店识别场景

小结

ISO/IEC14443-4 的内容可以概括为"一套协议、四个步骤、三类块"。一套协议指非接触半双工的块传输协议;四个步骤指协议激活(A 型与 B 型分别规定)、半双工块传输、协议去激活,与第三部分的寻卡防碰撞共同构成完整会话链路;三类块指 I-blocks、R-blocks、S-blocks,配合 R(ACK)/R(NAK) 与 WTX 等机制实现可靠传输。需要提醒的是,本项目原始资料中激活与去激活等节的内容以流程图承载,文本导出后缺失,实现时应以标准原文为准。上海营信信息在本类协议资料的整理中保留了原有术语与章节结构,供集成商技术对照参考。

常见问题

I-block、R-block、S-block分别是什么?

它们是 IOS/IEC14443-4 定义的三类数据块,共同构成块传输协议的结构基础。按标准术语,数据块(Block)指特殊格式的数据帧。其中 R-block 为接收准备块,包含正确认 R(ACK) 与负确认 R(NAK),承担确认与重传的职责;S-block 为管理块;I-block 则用于承载信息数据。三者在协议中各司其职,配合完成可靠的数据交换。

为什么A型卡和B型卡的帧格式不同,但传输协议是同一部分?

因为分工不同。帧格式(A 类与 B 类)由 ISO/IEC14443-3 定义,属于底层;而第四部分规定的是建立在这两种帧格式之上的块传输协议。协议逻辑可以共用,底层帧格式则必须按卡型区分。这也解释了为什么该部分的缩略语中同时出现 A 型卡唤醒命令 WUPA 这样的 A 型专用项,以及两类卡共用的块类型定义。

WTX是做什么用的?

WTX 即等待时间扩展,用于在卡片处理请求需要比规定等待时间更长的情况下,由卡片向读写器申请延长等待时间。若没有这一机制,耗时较长的操作(如较大的写入或内部计算)可能因超出等待时限而被读写器判为超时并中断。它和 R(ACK)/R(NAK) 一样,属于这套协议为保证非接触链路可靠性而设置的保护机制。

上一篇:RFID高频HF ISO/IEC14443协议之三:IC卡初始化和防碰撞算法

下一篇:RFID高频HF下ISO/IEC15693中文协议介绍