0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一下ISO14443B协议

嵌入式软件开发交流 来源:嵌入式软件开发交流 作者:young 2022-10-08 09:39 次阅读

前言

上一篇《【NFC专栏】ISO14443A协议》介绍了ISO14443A协议,接下来继续介绍ISO14443B协议。之前介绍过,A和B的协议区别主要在ISO14443-3,所以接下来的内容也是集中在ISO14443-3。

名词解析

PUPI:Pseudo-Unique PICC Identifier,可以理解为A卡中的UID

FWI:Frame Waiting time Integer,帧等待时间整数值

FWT:Frame Waiting Time,帧等待时间

ADC:Application Data Coding,应用数据编码

命令介绍

REQB/WUPB

读卡器发送REQB或WUPB命令来检查是否有卡存在。命令码如下:

4e1cd4e2-469e-11ed-96c9-dac502259ad0.png

(1)APf:防碰撞前缀,固定值为0x05。

(2)AFI: Application Family Identifier,应用族ID,用来指定要检查的PICC类型。值为0时表示所有PICC都要处理REQB/WUPB命令。定义如下:

4e9f881a-469e-11ed-96c9-dac502259ad0.png

注:X和Y的取值范围都为0x1~0xF。

AFI被分为高4位和低4位两个部分,通过这两部分的组合来确定PICC类型,可以简单理解为过滤设置。

(3)PARAM:用来指定是REQB还是WUPB, 以及slot(槽)数量。

4eb7e658-469e-11ed-96c9-dac502259ad0.png

b4为0时表示REQB,为1时表示WUPB。这两命令和和ISO14443A中的REQA和WUPA类似。WUPB命令是处于IDLE,READY或HALT状态的卡都会应答,而REQB命令只有处于IDLE或READY状态的卡会应答。

b1~b3定义如下:

4edc9aca-469e-11ed-96c9-dac502259ad0.png

N主要是要配合Slot-MARKER命令一起解决防碰撞。N可以理解为最大随机值,就比如N=2, PICC会产生随机值1或2,如果是1会马上应答(ATQB),如果是2,就需要再发送Slot-MARKER命令,PICC才会应答。

Slot-MARKER

Slot-MARKER命令格式如下:

4eee760a-469e-11ed-96c9-dac502259ad0.png

(1)APn: 槽(slot)序号, 它的值为(nnnn 0101)b ,低4位是固定的。

4f055ed8-469e-11ed-96c9-dac502259ad0.png

ATQB

ATQB是REQB/WUPB和Slot-MARKER的应答命令。命令格式如下:

4f26c6f4-469e-11ed-96c9-dac502259ad0.png

(1)PUPI: 和A卡中的UID类似。

(2)Application Data:应用数据,具体定义如下:

4f3c81ec-469e-11ed-96c9-dac502259ad0.png

AFI:上面REQB中有提到了

Number of Applications: 应用数量,高4位与AFI一致,‘0’意味着无应用,‘0xF’意味着15种应用或者更多;低4位代表着应用总数,‘0’意味着没有应用,‘0xF’意味着15种应用或者更多。

(3)Protocol Info:协议信息,具体定义如下:

4f5be9a6-469e-11ed-96c9-dac502259ad0.png

第一个字节是速率,定义如下:

4f93cf7e-469e-11ed-96c9-dac502259ad0.png

第二个字节,高4位是最大帧大小,低4位是是否支持ISO14443-4。定义如下:

4fae5ef2-469e-11ed-96c9-dac502259ad0.png

4fd2bb76-469e-11ed-96c9-dac502259ad0.png

第三个字节包含: FWI, ADC, FO三个部分,定义如下:

FWI就是帧等待的时间值,意思就是发送完一帧数据之后要等待多久才能继续发。

ADC意思是应用数据编码:

4ff0e074-469e-11ed-96c9-dac502259ad0.png

FO: Frame Option, 帧选项:

500eb324-469e-11ed-96c9-dac502259ad0.png

ATTRIB

该命令用于选择PICC,命令格式如下:

5026b23a-469e-11ed-96c9-dac502259ad0.png

(1)Identifier:就是PUPI

(2)Param1定义如下:

505ea294-469e-11ed-96c9-dac502259ad0.png

TR0是PICC响应PCD命令的最小延迟时间。定义如下:

5081f140-469e-11ed-96c9-dac502259ad0.png

TR1是PICC副载波调制开始到数据传输的最小延迟时间。定义如下:

509949c6-469e-11ed-96c9-dac502259ad0.png

EOF/SOF表示是否需要帧结束标识和帧开始标识。0表示需要,1表示不需要。

(3)Param2定义如下:

b7~b8定义PICC到PCD的速率:

50ae8be2-469e-11ed-96c9-dac502259ad0.png

b5~b6定义PCD到PICC的速率:

50d3691c-469e-11ed-96c9-dac502259ad0.png

b1~b4定义最大帧大小:

50f07944-469e-11ed-96c9-dac502259ad0.png

(4)Param3定义如下:

它的高4位为预留位,值为0;低4位定义了PICC支持的协议类型,就是上面的是否支持ISO14443-4。

(5)Param4定义如下:

它的高4位为预留位,值为0;低4位为CID,它的取值范围为0~14。PCD定义了每个激活的PICC必须要有唯一的CID,如果PICC不支持CID,那么CID的值为(0000)b。

(6)Higher layer INF:高层信息,这字段不是强制的,只有部分特殊卡有。

ATTRIB应答

ATTRIB命令应答格式如下:

51067208-469e-11ed-96c9-dac502259ad0.png

(1)第一个字节包含两个部分:

高4位MBLI( Maximum Buffer Length Index), 让PCD知道PICC内部缓冲区对接收链式帧的限制。链式帧就是将大的数据帧拆成多个数据帧。

低4位为PICC返回给PCD的CID,如果PICC不支持CID,则返回(0000)b。

(2)Higher layer Response:根据标签卡情况而定,可能有也可能没有。

HLTB

HLTB命令用来让卡进入休眠状态。命令格式如下:

51284e64-469e-11ed-96c9-dac502259ad0.png

(1)Identifier:即PUPI。

HLTB应答

HLTB的应答格式如下:

51431c30-469e-11ed-96c9-dac502259ad0.png

*注意:ISO14443A的HALT是没有应答的,而ISO14443B的HLTB是有应答的。

PCD检测PICC流程

51561aa6-469e-11ed-96c9-dac502259ad0.png

(1)PCD发送REQB或WUPB, 匹配AFI则继续下一步。

(2)N=1时则PICC应答ATQB,如果N为其他数值(R), 则PCD发送Slot Marker命令依次进行匹配, 匹配后PICC应答ATQB。

(3)PCD发送ATTRIB来选择卡,或者发送HLTB让卡进入休眠。

防碰撞流程

ISO14443B的防碰撞过程的原理是基于时隙的。每次PCD发送的REQB /WUPB命令,PICC会产生一个随机值(就是时隙),PICC在哪个时隙响应都有可能(发送ATQB)。通过这种随机概率的方式来进行防碰撞。

防碰撞应答规则

当PICC接收到REQB/WUPB命令后,处于READY-REQUESTED状态时,PICC的响应应该遵循下面规则:

(1)如果N=1,PICC应该发送ATQB并且进入READY-DECLARED状态。

(2)如果N>1:

PICC可以采用概率法(PCD检测PICC流程图中的Option 1),并且进入空闲态(Idle State)。

PICC采用发送Slot-MARKER命令的方法(PCD检测PICC流程图中的Option 2),一直到槽序号等于R,然后PICC发送ATQB并且进入READY-DECLARED 状态。

总结

ISO14443A和ISO14443B部分命令是很相似的,主要区别在于处理防碰撞机制的差异。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    98

    文章

    6412

    浏览量

    543887
  • 读卡器
    +关注

    关注

    2

    文章

    409

    浏览量

    39328
  • ISO
    ISO
    +关注

    关注

    0

    文章

    253

    浏览量

    39535
  • PICC
    +关注

    关注

    0

    文章

    23

    浏览量

    13994

原文标题:【NFC专栏】ISO14443B协议

文章出处:【微信号:嵌入式软件开发交流,微信公众号:嵌入式软件开发交流】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    协议完全集成13.56MHz近场通信收发器集成电路设计

    TRF7970A是款高性能13.56MHz高频RFID/NFC收发器IC,此器件由个集成的模拟前端和个针对ISO15693,ISO14443
    发表于 11-11 14:03 2446次阅读
    多<b class='flag-5'>协议</b>完全集成13.56MHz近场通信收发器集成电路设计

    ISO14443A

    哪位大神有ISO14443A的头文件?即ISO14443a.h.
    发表于 04-10 09:05

    基于eZ430 UART连接的近场通信NFC EZ430阅读器模块参考设计包含BOM,PCB文件和光绘文件

    A、ISO14443B 和 Felica 标签演示了 NFC 读取器/写入器功能。与些评估模块不同,该 NFC 模块经过特别设计,易于集成到现有应用中。这样降低了对开发人员资源的需求,同时仍然支持完整的功能。主要
    发表于 08-09 09:33

    ISO14443介绍

    内容提纲1、ISO14443介绍-了解2、14443-A帧格式-掌握3、唤醒、防冲突、选卡-掌握认识14443ISO14443协议
    发表于 07-27 07:10

    PN512概述

    ISO 14443A / MIFARE®和FeliCa机制  2、读写器模式,支持ISO 14443B机制  3、卡操作模式,支持ISO
    发表于 07-29 09:47

    ZLG600A系列用户指南V1.05

    符合 ISO14443A、ISO14443BISO7816-3 标准; 集成 TypeB、Mifare UltraLight、Mifare1 S50/S70、PLUS CPU、SAM 卡的操作
    发表于 10-17 07:17

    请问一下ISO 14443-A是否支持VHBR速率?

    ST25R3911B 数据表表明它支持 VHBR。在 RFAL 代码中,NFC-B VHBR 速率有默认配置,但 NFC-A (ISO 14443-A) 没有。
    发表于 12-09 07:36

    ST25R3911-disco的demo代码读取ISO 14443协议的函数是什么?

    我今天在我的项目中使用 ISO 14443 协议,但我需要达到最高传输速率,我相信 ISO14443-4 可以给我那个速率。是否可以在 ST25R3911 中实施
    发表于 01-04 08:36

    ISO/IEC14443-4 标准协议

    ISO/IEC CD 14443-4 ISO (the International Organisation for Standardisation) and IEC
    发表于 11-07 13:31 89次下载

    基于ISO14443A协议的RFID模拟前端设计

    实现基于ISO14443A协议的13.56 MHz RFID芯片的设计,本文讨论了RFID芯片模拟前端的实现方法,在电源产生、数据收发方面采用了新技术,并且从整个系统上作了优化,简化了模拟前端的设计
    发表于 08-04 11:49 4089次阅读
    基于<b class='flag-5'>ISO14443</b>A<b class='flag-5'>协议</b>的RFID模拟前端设计

    ZLG600S系列用户指南

    符合ISO14443A、ISO14443BISO7816-3 标准; 集成TypeB、Mifare UltraLight、Mifare1 S50/S70、PLUS CPU、SAM 卡的操作命令
    发表于 12-08 14:09 2次下载

    ISO/IEC_FCD_14443-1

    ISO/IEC 14443-1 Identification cards - Contactless integrated circuit(s) cards - Proximity cards Part 1: Physical characteristics
    发表于 06-08 13:50 36次下载

    BC45B4523 NFC读写器开发板应用范例

    BC45B4523 为 NFC 读写器控制器,发射频率为 13.56MHz,可支持 ISO14443A、ISO14443BISO15
    发表于 06-30 14:52 1次下载
    BC45<b class='flag-5'>B</b>4523 NFC读写器开发板应用范例

    ISO14443相关的协议

    之前《【NFC专栏】ISO14443A协议》和《【NFC专栏】ISO14443B协议》两篇中我们都有提到ISO14443-4
    的头像 发表于 10-24 09:08 9908次阅读

    ISO15693协议介绍

    之前介绍ISO14443和Felica,接下来来介绍ISO15693协议,也就是我们平时说的V卡。它的出现是为了弥补
    的头像 发表于 12-09 11:41 1.2w次阅读