【IoT】NFC 之 Type A 与 TYpe B 卡区别
1、ISO/IEC14443 标准包括四个部分
第一部分:
ISO/IEC14443-1 制定了有关非接触卡的物理特性;
第二部分:
ISO/IEC14443-2 制定了有关射频功率及信号界面的特性;
第三部分:
ISO/IEC14443-3 则为非接触卡的初始化及防冲突机制;
第四部分:
ISO/IEC14443-4 位有关的交易协定。
射频 IC 卡的有两种卡型 —— Type A 和 type B 型。
其主要的区别在于载波调制深度及二进制数的编码方式。
2、Type A 卡
Type A 型卡在读写机上向卡传送信号时,是通过 13.65MHz 的射频载波传送信号。
其采用方案为同步、改进的 Miller 编码方式,通过 100%ASK 传送;
当卡向读写机具传送信号时,通过调制载波传送信号,使用 847kHz 的副载波传送 Manchester 编码。
3、Type B 卡
Type B 型卡在读写机具向卡传送信号时,也是通过 13.65MHz 的射频载波信号,但采用的是异步、NRZ 编码方式,通过用 10%ASK 传送的方案;
在卡向读写机具传送信号时,则是采用的 BPSK 编码进行调制。
对比两种卡型,Type B 型与 Type A 型卡相比有以下优势:
1)芯片具有更高的安全性,接收信号时,不会因为能量损失而使芯片内部逻辑及软件工作停止;
2)支持更高的通讯速率,Type A 最大的数据通讯速率为 150Kbit/s - 200Kbit/s ,应用 10%ASK 技术的 Type B 至少可支持 400Kbit/s 的速率;
3)外围电路设计简单,读写机具到卡以及卡到读写机具的编码方式均采用 NRZ 方案,电路设计对称,设计时可使用简单的 UARTS;
4)抗干扰能力强。负载波采用 BPSK 调制技术,较 Type A 方案降低了6dB 的信号声。
对于Type B类卡,可根据实际应用情况支持选择一次一卡操作模式和一次多卡操作模式。
根据信号发送和接收方式的不同,ISO/IEC14443-3 定义了 TYPEA、TYPEB 两种卡型。
它们的不同主要在于载波的调制深度及二进制数的编码方式。从读写机具向卡传送信号时,二者是通过13.56Mhz的射频载波传送信号。
4、ISO/IEC 14443-3 规定了 TYPEA,TYPEB 的防冲突机制
二者防冲突机制的原理完全不同:
前者是基于 BIT 冲突检测协议。
后者则是通过字节、帧及命令完成防冲突。
防冲突机制使非接触 IC 卡能进行并行操作,及在多张卡同时进入有效操作区后,可对其进行有条不紊的操作,这样就使 选定卡片的数据不受其它卡数据干扰,携带有多种卡的用户可不必寻找正确的一张卡,只用算法编程,读写机具即可自动做到选取正确的一张卡进行后续操作。
这样方便了操作,提高了应用的并行性,也提高了系统的速度。
Type A 防冲突流程:
防冲突流程:
步骤1:PCD为选择的防冲突类型和串联级别分配了带有编码的SEL,SEL第一次赋值‘93’,表示防冲突级别一。
步骤2:PCD分配了带有值为‘20’的NVB。
注:该值定义了该PCD将不发送UID CLn的任何部分。因此该命令迫使工作场内的所有PICC以其完整的UID CLn表示响应。
步骤3:PCD发送SEL和NVB。
步骤4:工作场内的所有PICC应使用它们的完整的UID CLn响应。
步骤5:假设场内的PICC拥有唯一序列号,那么,如果一个以上的PICC响应,则冲突发生。如果没有冲突发生,则步骤6到步骤10可被过。
步骤6:PCD应识别出第一个冲突的位置。
步骤7:PCD分配了带有值的NVB,该值规定了UID CLn有效比特数。这些有效位应是PCD所决定的冲突发生之前被接收到的UID CLn的一部分再加上(0)b或(1)b。典型的实现是增加(1)b。
步骤8:PCD发送SEL和NVB,后随有效位本身。
步骤9:只有PICC的UID CLn中的一部分等于PCD所发送的有效位时,PICC才应发送其UID CLn的其余部分。
步骤10:如果出现进一步的冲突,则重复步骤6~9,最大的环数目是32。
步骤11:如果不出现进一步的冲突,则PCD分配带有值为‘70’的NVB。
注:该值定义了PCD将发送完整的UID CLn。
步骤12:PCD发送SEL和NVB,后随UID CLn的所有40个位,后面又 紧跟CRC_A校验和。
步骤13:它的UID CLn与40个比特匹配,则该PICC以其SAK表示响应。
步骤14:如果UID完整,则PICC应发送带有清空的串联级别位的SAK,并从READY状态转换到ACTIVE状态。
步骤15:PCD应检验SAK(选择确认)的串联比特是否被设置,以检验UID是否完整,若完整则选中PICC,若不完整则进行下一串联级别的防冲突环。如果PICC的UID是完整的且已知的,则PCD可以跳过步骤2~10来选择 该PICC而无需执行防冲突环。
Type B 防冲突流程:
步骤一:首先读卡器发单时隙带AFI应用标识符的REQB/WUPB命令,PICC卡接收到命令后,立刻回复ATQB命令。当读卡器检测到冲突后,发送多时隙带AFI应用标识符的REQB或者WUPB命令。
步骤二:那些与AFI相匹配的卡片,产生一个内部随机数R,R的取值范围在1~N之间。
步骤三:若R=1的卡片即处在1时隙的卡片,立刻回复ATQB给读卡器.若R>1,则要等待SLOT-MARKER命令来匹配时间片。
步骤四:读卡器发SLOT-MARKER命令,由小到大一次检查2~N这N-1个时隙,选取卡片的原理和过程同第一步。当PCD机发出相一致的时间片时,再发送ATQB命令
步骤五:PCD机接收到正确的ATQB命令,发出ATTRIB命令。
步骤六:PICC等待匹配ATTRIB/HALT命令,若匹配ATTRIB命令,则发送ATTRIB命令的响应值后进入ACTIVE状态,这样PICC便进入高层模式。若收到HALT命令,则发送HALT命令的响应值后进入HALT状态。
refer:
https://blog.csdn.net/tianyuan12345678/article/details/80724114
http://tech.yktchina.com/2008_10/200810231107052790.html
https://blog.csdn.net/luoqindong/article/details/54705862
【IoT】NFC 之 Type A 与 TYpe B 卡区别相关推荐
- NFC smart tag竟然有四种 Type 1 Tag Type 2 Tag Type 3 Tag Type
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Type ...
- Failed to register Grid Infrastructure type ora.mdns.type
安装11g的集群软件的时候,在最后运行root.sh脚本时候,没有执行成功,最后提示如下错误: [root@r2 ~]# /u01/app/11.2.0/grid_1/root.sh Performi ...
- FutureWarning: Passing (type, 1) or ‘1type‘ it will be understood as (type, (1,)) / ‘(1,)type‘
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version ...
- Maven报错解决:Element 'dependency' cannot have character [children], because the type's content type is
在用maven的时候遇到报错: Element 'dependency' cannot have character [children], because the type's content ty ...
- ECharts xAxis.type='time'时间轴时卡顿问题
原文首发于我的个人网站: https://lonhon.top/ 卡顿问题出现背景: ECharts^4.0.4 + Vue^2.5.9 option中主要耗能设置为:折线图 + Y轴2 + seri ...
- 【错误记录】Kotlin 编译报错 ( Type mismatch: inferred type is String? but String was expected )
文章目录 一.报错信息 二.解决方案 一.报错信息 Google Play 上架要求 Android 的编译版本 和 目标版本都要高于 30 才可以上传 ; 将 Android 的编译版本 和 目标版 ...
- SpringBoot:Inferred type 'S' for type parameter 'S' is not within its bound
在使用springboot 方法报错: Inferred type 'S' for type parameter 'S' is not within its bound; should extends ...
- Go的cannot convert t(type interface {}) to type string: need type assertion 使用fmt.Sprintf转换
问题1 assertionn. 断言,声明:主张,要求:坚持:认定 在使用interface表示任何类型时,如果要将interface转为某一类型,直接强制转换是不行的,例如: var t inter ...
- no result type defined for type 'dispatch'mapped
自己打算弄个webwork测试问题时候,遇到个脑瘫的问题,配了xwork之后,死活找不到action,报There is no result type defined for type 'dispat ...
最新文章
- 一文详尽系列之EM算法
- 了解前端——js需知道知识点
- 刚刚,微软发出警告:这个 IE 0day 影响所有 Windows 版本,已遭用且无补丁!
- linux 命令大全_【Linux】命令目录大全
- Linux shell 根据时间批量删除指定文件夹下的文件
- ES6-模块导入导出
- vue+webpack5项目中全局引入scss
- 最新Latex安装详细教程
- [离线]ps4共享屏幕到笔记本
- 2017年中国银行业软件测试成果交流会”在京成功举办-「D-Uni」
- tangent space与object space
- 3. Caller 服务调用 - dapr
- Hazelcast 集群
- 【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)
- app免填邀请码安装如何实现?
- abp zero mysql_ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
- Krpano 热点箭头动画
- dell服务器安装系统不识别键鼠,戴尔电脑八代CPU装win7鼠标键盘不能用|win10改win7鼠标键盘用不了...
- Struts2注解配置之@Action(二)
- Openssh 8.8制作CentOS 7.6下的rpm包