ISO/IEC 14443协议浅谈:TYPE A与TYPE B

article/2025/9/16 22:20:00

ISO/IEC14443规定了邻近卡(PICC)的物理特性;需要供给能量的场的性质与特征,以及邻近耦合设备(PCDs)和邻近卡(PICCs)之间的双向通信;卡(PICCs)进入邻近耦合设备(PCDs)时的轮寻,通信初始化阶段的字符格式,帧结构,时序信息;非接触的半双功的块传输协议并定义了激活和停止协议的步骤。传输协议同时适用于TYPE A 和 TYPE B。

  TYPE A和TYPE B型卡片主要的区别在于载波调制深度及二进制数的编码方式和防冲突机制。

  1、 调制解调与编码解码技术

  根据信号发送和接收方式的不同,ISO/IEC14443-3定义了TYPEA、TYPEB两种卡型。它们的不同主要在于载波的调制深度及二进制数的编码方式。

  

  从PCD向PICC传送信号时,二者是通过13.56Mhz的射频载波传送信号。从PICC向PCD传送信号时,二者均通过调制载波传送信号,副载波频率皆为847KHz。

  图1:TYEP A、B 接口的通信信号

  Type A型卡在读写机上向卡传送信号时,是通过13.65MHz的射频载波传送信号。其采用方案为同步、改进的Miller编码方式,通过100%ASK传送;当卡向读写机具传送信号时,通过调制载波传送信号。使用847kHz的副载波传送Manchester编码。简单说,当表示信息“1”时,信号会有0.3微妙的间隙,当表示信息“0”时,信号可能有间隙也可能没有,与前后的信息有关。这种方式的优点是信息区别明显,受干扰的机会少,反应速度快,不容易误操作;缺点是在需要持续不断的提高能量到非接触卡时,能量有可能会出现波动。

  Type B型卡在读写机具向卡传送信号时,也是通过13.65MHz的射频载波信号,但采用的是异步、NRZ编码方式,通过用10%ASK传送的方案;在卡向读写机具传送信号时,则是采用的BPSK编码进行调制。即信息“1”和信息“0”的区别在于信息“1”的信号幅度大,即信号强,信息“0”的信号幅度小,即信号弱。这种方式的优点是持续不断的信号传递,不会出现能量波动的情况;

  

  从PCD到PICC的通信信号接口主要区别在信号调制方面,TYPE A调制使用RF工作场的ASK100%调制原理来产生一个“暂停(pause)”状态来进行PCD和PICC间的通信。

  图2 TYPE A 调制波形

  TYPE B调制使用RF工作场的ASK10%调幅来进行PCD和PICC间的通信。

  调制指数最小应为8%,最大应为14%。

  

  图3 TYPE B 调制波形

  根据二者的设计方案不同,可看出,TYPE A 和 TYPE B有以下不同:

  ◆TYPE B接收信号时,不会因能量损失而使芯片内部逻辑及软件工作停止。在NPAUSE到来,TYPE A的芯片得不到时钟,而TYPE B用10%ASK,卡片可以从读写器获得持续的能量; TYPE B时容易稳压,所以比较安全可靠。TYPE A卡采用100%调制方式,在调制发生时候无能量传输,仅仅靠卡片内部电容维持,所以卡片的通讯必须达到一定的速率,在电容电量耗完之前结束本次调制,否则卡片会复位。

  ◆负载波采用BPSK调制技术,TYPE B较TYPEA方案降低了6dB的信号燥声,抗干扰能力更强。

  ◆外围电路设计简单。读写机具到卡及卡到读写机具的编码方式均采用NRZ方案,电路设计对称,设计时可使用简单的UARTS,TYPE B更容易实现。

  2、 防冲突机制

  ISO/IEC 14443-3规定了TYPEA,TYPEB 的防冲突机制。二者防冲突机制的原理完全不同。前者是基于BIT冲突检测协议,后者则是通过字节、帧及命令完成防冲突。

  RFID的核心是防冲突技术,这也是和接触式IC卡的主要区别。

  TYPE A PICC防冲突和通信使用标准帧用于数据交换,并按以下顺序组成:

  ——通信开始;

  ——n*(8个数据位+奇数奇偶校验位),n≥1。每个字节的LSB首先被发送。每个字节后面跟随

  一个奇数奇偶校验位。奇偶校验位P被设置,使在(b1到b8,P)中1s的数目为奇数;

  ——通信结束。

  

  第1字节

  图4 TYPE A 标准帧

  TYPE A PICC的初始化和比特冲突检测协议是当至少两个PICC同时传输带有一个或多个比特位置(该位置内至少有两个PICC在传输补充值)的比特模式时,PCD会检测到冲突。在这种情况下,比特模式合并,并且在整个(100%)位持续时间内载波以负载波进行调制。

  

  图5 TYPE A PICC状态图

  TYPE B PICC防冲突和通信初始化期间使用的字节、帧和命令的格式。

  PICC和PCD之间的字节通过字符来发送和接收,在防冲突序列期间,字符的格式如下:

  ——1个逻辑“0”起始位;

  ——8个数据位发送,首先发送LSB;

  ——1个逻辑“1”停止位。

  最高位 停止位 EGT

  起始位 最低位

  用一个字符执行一个字节的发送需要10etu,如图18示。

  

  图6 TYPE B字符格式

  PCD和PICC按帧发送字符。帧通常用SOF(帧的起始)和EOF(帧的结束)定界。  

SOF

字符

EOF

  图7 TYPE B帧格式

  在防冲突序列期间,可能发生两个或两个以上的PICC同时响应:这就是冲突。命令集和允许PCD处理冲突序列以便及时分离PICC传输。

  在完成防冲突序列后,PICC通信将完全处于PCD的控制之下,每次只允许一个PICC通信。

  防冲突方案以时间槽的定义为基础,要求PICC在时间槽内用最小标识数据进行应答。时间槽数被参数化,范围从1到某一整数。在每一个时间槽内,PICC响应的概率也是可控制的。在防冲突序列中,PICC仅被允许应答一次。从而,即便在PCD场中有多个卡,在一个时间槽内也仅有一个卡应答,并且PCD在这个时间槽内能捕获标识数据。根据标识数据,PCD能够与被标识的卡建立一个通信信道。

  防冲突序列允许选择一个或多个PICC以便在任何时候进行进一步的通信。

   图8 TYPE B PICC状态图

  从建立PCD与PICC(CPU卡)之间通信的方面来比较:

  TYPE A类型卡片 需要的基本命令有:

  l REQA 对A型卡的请求 或(WAKE-UP 唤醒)

  l ANTICOLLISION 防冲突

  l SELECT 选择命令

  l RATS 应答响应

  

  图9 TYPE A PICC激活

  TYPE B类型卡片 需要的基本命令有:

  l REQB 对B型卡的请求

  l ATTRIB PICC选择命

  TYPE B PICC激活如图8 所示

  从以上的比较可以看出:

  u TYPE B类型卡片具有使用更少的命令,更快的响应速度来实现防冲突和选择卡片的能力。

  u TYPEA的防冲突需要卡片上较高和较精确的时序,因此需要在卡和读写器中分别加更多硬件,而TYPE B的防冲突更容易实现。

  目前TYPE A和TYPEB 孰优孰劣尚在争议中。TYPE A的产品(Mifare卡)具有更高的市场普及率;但是TYPE B应该在安全性、高速率和适应性方面有更好的前景,代表产品如二代身份证。


http://chatgpt.dhexx.cn/article/LQ0rrd1o.shtml

相关文章

物联16:4 ISO/IEC 14443-3 防冲突、防碰撞算法、Type A、Type B

ISO/IEC14443-3 防冲突、防碰撞算法、TypeA、Type B 防冲突原理 1 前言 当2张或2张以上的同类型的PICC卡同时进入RF(Radio Frequency)区域时,多张卡同时接收到PCD机发出的查询命令。会根据卡上的控制逻辑,同时返回响应命令。这样就造成了卡…

5GNR漫谈9:PDSCH和PUSCH资源映射(频域type0/type1和时域typeA/typeB/typeC)

在漫谈6中,我们了解了PDSCH和PUSCH这两个信道,在将比特数据调制为复数的星座图符号后,映射到具体的时频资源位置。映射的具体过程由先频域后时域,即一个OFDM符号的RB子载波上映射完成后,再映射下一个OFDM符号的RB子载波…

Type-C与Type-A、Type-B接口

日常工作中,经常会接触到手机的接口。目前,在我们雨滴科技的ITAB-01工业平板上,USB(Universal Serial Bus)使用的接口是Type-C。Type系列的接口除了Type-C,还有Type-A和Type-B。 手机经过的一段时间的迅猛发…

USB:Type-A、Type-B、Type-C、miniUSB、microUSB接口类型区分

通用串行总线(universal serial bus,USB)自推出以来,成功替代串口和并口,已经成为计算机和各种设备不可或缺的接口。 USB的优点不用多说,网上有很多,今天主要小结一下USB的各种接口类型,避免被各种各样的U…

安卓开发之WebView的使用

文章预览 前言1.什么是WebView?2.相关方法 一、WebView简单使用1.1、环境准备1.2、MyWebChromClient.java1.3、MyWebViewClient1.4、MainActivity.java1.5、activity_main.xml 二、效果预览 前言 1.什么是WebView? Android内置webkit内核的高性能浏览器…

安卓WebView的使用

一、WebView简介 WebView是Android中的原生UI控件,主要用于在app应用中方便地访问远程网页或本地html资源。同时,WebView也在Android中充当Java代码和JS代码之间交互的桥梁。实际上,也可以将WebView看做一个功能最小化的浏览器。 安卓官方Web…

安卓WebView(H5)调用原生相机及相册

在开始叙述正文之前笔者先声明一下应用场景:例如在网页上的即时通讯需要能拍照或者从图库选择图片来进行上传,此场景下就可以用到这篇文章的内容 正文 首先,如果你已经把相机以及访问文件夹的权限都加上了并且WebView的基础操作都做完了,就差…

安卓webview和js+html交互利用的addJavascriptInterface和webview.loadUrl(javascript:**);

近期做一个项目需要把一个 服务支持的界面用webview来显示..呀 html白雪了js更是一样啥也不会,相信很多初学屌丝员跟我一样,, html开发工具都不知道怎么写..哈哈哈.....现在把做完的结果分享一下先上图了 ,, 这是从项目中特意分离出来的demo这里之上一些关键代码…

安卓webview和h5交互

先上html的代码&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML><HEAD><TITLE>安卓和js交互demo</TITLE><meta charset"utf-8"></HEAD><script> function giveAnd…

Android—WebView与JS交互

Html文件&#xff1a; WebView与JS交互方式&#xff1a; 1. 前提&#xff1a; WebSettings webSettings webView.getSettings(); // 设置与Js交互的权限 webSettings.setJavaScriptEnabled(true);webView.setWebChromeClient(new WebChromeClient(){Overridepublic boolean …

【Android】之【WebView】

一、简介 WebView是一种控件&#xff0c;它基于webkit引擎&#xff0c;因此具备渲染Web页面的功能。   基于Webview的混合开发&#xff0c;就是在 Android os(安卓)/I os(苹果)原生APP里&#xff0c;通过WebView控件嵌入Web页面。 你手机里有淘宝软件吧&#xff1f; 就是外…

WebView---Android与js交互实例

Android 中可以通过webview来实现和js的交互&#xff0c;在程序中调用js代码&#xff0c;只需要将webview控件的支持js的属性设置为true Android&#xff08;Java&#xff09;与JavaScript&#xff08;HTML&#xff09;交互有四种情况&#xff1a; 1&#xff09; Android&…

【Android】WebView控件最全使用解析

WebView控件最全使用解析 一、WebView 概述二、WebView使用基础篇2.1添加方式2.2 加载远程网页2.3 加载本地网页2.4 加载HTML片段2.5 WebView 常用方法 三、WebView 进阶篇3.1 WebSettings类3.2 WebViewClient类常见方法使用案例 3.3 WebChromeClient类常用方法使用案例测试网页…

Android:这是一份全面 详细的Webview使用攻略

前言 现在很多App里都内置了Web网页&#xff08;Hybrid App&#xff09;&#xff0c;比如说很多电商平台&#xff0c;淘宝、京东、聚划算等等&#xff0c;如下图 京东首页 那么这种该如何实现呢&#xff1f;其实这是Android里一个叫WebView组件实现 今天&#xff0c;我将献…

数据字典的代码示例

数据字典UI设计&#xff1a; 设计说明&#xff1a; 1. 该数据字典支持多级节点。 2. 左边是数据字典树&#xff1b;右边是编辑框&#xff0c;可以对某个数据字典及其一级子节点进行编辑。 代码&#xff1a;https://github.com/tinazhao1985/spring-cloud-demo/tree/master/di…

关于SQL数据字典的详解

相信在学习数据库的时候很多人在设计表的时候会将一些数据量少的数据放到一个表里面 然后使数据库的表比较多。但是其实呢我们可以见那先数据固定的数据放在同一个表里面&#xff0c;这样就 可以减少很多表的创建&#xff0c;这就是数据字典 数据字典分两个表&#xff1a; 一个…

Java 数据字典的实现

Java数据字典实现 目录概述需求&#xff1a; 设计思路实现思路分析1.从数据库中字典2.获取字典的数值 拓展实现性能参数测试&#xff1a; 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip h…

数据字典功能

1. 什么是数据字典 数据字典存储有关数据的来源、说明、与其他数据的关系、用途和格式等信息&#xff0c;它本身就 是一个数据库&#xff0c;存储“关于数据项的数据”。数据字典是个指南&#xff0c;它为数据库提供了“路线图”&#xff0c; 而不是“原始数据”。换句话说&…

数据字典实现

目录 前言 一、创建springboot的工程&#xff0c;pom文件 二、实体类&#xff0c;mapper层&#xff0c;service层&#xff0c;controller层 1.实体类 2.mapper层 3.service层 4.service实现层简称(serviceImpl) 5.controller层 实现效果&#xff1a; 前言 首先在写数据字典之前…

数据库设计之数据字典的使用与设计

如何使用数据字典 文章目录 如何使用数据字典使用场景 :解决方案 :简单解决&#xff1a;企业级理解&#xff1a;数据字典是什么&#xff1a;使用数据字典的优点&#xff1a; 使用场景 : 在平时开发的过程中&#xff0c;特别是在遇到表单时候&#xff0c;我们经常需要为前端提供…