文档章节

ISO/IEC14443—TYPEA与TYPEB比较

h
 houj
发布于 2015/03/06 14:02
字数 2072
阅读 84
收藏 1

ISO/IEC14443—TYPEA与TYPEB比较

一、非接触IC卡简介

  非接触IC卡又称射频卡,是射频识别技术和IC卡技术有机结合的产物。它解决了无源(卡中无电源)和免接触这一难题,具有更加方便、快捷的特点,广泛用于电子支付、通道控制、公交收费、停车收费、食堂售饭、考勤和门禁等多种场合。 非接触IC卡与条码卡、磁卡、接触式IC卡比较具有高安全性、高可靠性、使用方便快捷。 这主要是由其技术特点决定,在近距耦合应用中主要遵循的标准是ISO/IEC14443。

二、ISO/IEC14443简介

  ISO/IEC14443规定了邻近卡(PICC)的物理特性;需要供给能量的场的性质与特征,以及邻近耦合设备 (PCDs) 和邻近卡(PICCs)之间的双向通信;(PICCs)卡进入邻近耦合设备(PCDs)时的轮寻,通信初始化阶段的字符格式,帧结构,时序信息;非接触的半双功的块传输协议并定义了激活和停止协议的步骤。传输协议同时适用于TYPEA和TYPEB。TYPEA和TYPEB型卡片主要的区别在于载波调制深度及二进制数的编码方式和防冲突机制。 

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

  根据信号发送和接收方式的不同,ISO/IEC14443-3 定义了TYPEA、TYPEB两种卡型。它们的不同主要在于载波的调制深度及二进制数的编码方式。 从PCD向PICC传送信号时,二者是通过13.56Mhz的射频载波传送信号。从PICC向PCD传送信号时,二者均通过调制载波传送信号,副载波频率皆为847KHz。
  TypeA型卡在读写机上向卡传送信号时,是通过13.65MHz的射频载波传送信号。其采用方案为同步、改进的 Miller编码方式,通过100%ASK传送;当卡向读写机具传送信号时,通过调制载波传送信号。使用847kHz的副载波传送 Manchester编码。简单说,当表示信息“1”时,信号会有0.3微妙的间隙,当表示信息“0”时,信号可能有间隙也可能没有,与前后的信息有关。这种方式的优点是信息区别明显,受干扰的机会少,反应速度快,不容易误操作;缺点是在需要持续不断的提高能量到非接触卡时,能量有可能会出现波动。
  TypeB型卡在读写机具向卡传送信号时,也是通过13.65MHz的射频载波信号,但采用的是异步、NRZ编码方式,通过用10%ASK传送的方案;在卡向读写机具传送信号时,则是采用的BPSK编码进行调制。即信息“1”和信息“0”的区别在于信息“1”的信号幅度大,即信号强,信息“0”的信号幅度小,即信号弱。这种方式的优点是持续不断的信号传递,不会出现能量波动的情况;
  从PCD到PICC的通信信号接口主要区别在信号调制方面,TYPEA调制使用RF工作场的ASK100%调制原理来产生一个“暂停(pause)”状态来进行PCD和PICC间的通信。
  TYPEB调制使用RF工作场的ASK10%调幅来进行PCD和PICC间的通信。调制指数最小应为8%,最大应为14%。
  根据二者的设计方案不同,可看出,TYPEA和TYPEB有以下不同:
  ◆TYPEB接收信号时,不会因能量损失而使芯片内部逻辑及软件工作停止。在NPAUSE到来, TYPEA的芯片得不到时钟,而TYPEB用10%ASK,卡片可以从读写器获得持续的能量;TYPEB时容易稳压,所以比较安全可靠。TYPEA卡采用100%调制方式,在调制发生时候无能量传输,仅仅靠卡片内部电容维持,所以卡片的通讯必须达到一定的速率,在电容电量耗完之前结束本次调制,否则卡片会复位。
  ◆负载波采用BPSK调制技术,TYPEB较TYPEA方案降低了6dB的信号燥声,抗干扰能力更强。
  ◆外围电路设计简单。 读写机具到卡及卡到读写机具的编码方式均采用NRZ方案,电路设计对称,设计时可使用简单的UARTS,TYPEB更容易实现。

2、防冲突机制:

  ISO/IEC14443-3规定了TYPEA,TYPEB的防冲突机制。二者防冲突机制的原理完全不同。前者是基于BIT冲突检测协议,后者则是通过字节、帧及命令完成防冲突。RFID的核心是防冲突技术,这也是和接触式IC卡的主要区别。 TYPEA PICC防冲突和通信使用标准帧用于数据交换,并按以下顺序组成:
  —通信开始;
  —n*(8 个数据位+奇数奇偶校验位),n≥1。每个字节的LSB首先被发送。每个字节后面跟随一个奇数奇偶校验位。奇偶校验位P被设置,使在(b1 到 b8,P)中1s的数目为奇数;
  —通信结束。
  TYPEA PICC的初始化和比特冲突检测协议是当至少两个PICC同时传输带有一个或多个比特位置(该位置内至少有两个PICC在传输补充值)的比特模式时,PCD会检测到冲突。在这种情况下,比特模式合并,并且在整个(100%)位持续时间内载波以负载波进行调制。
  TYPEB PICC防冲突和通信初始化期间使用的字节、帧和命令的格式。 PICC和PCD之间的字节通过字符来发送和接收,在防冲突序列期间,字符的格式如下:
  —1个逻辑“0”起始位;
  —8 个数据位发送,首先发送LSB;
  —1 个逻辑“1”停止位。
  用一个字符执行一个字节的发送需要10etu。
  PCD和PICC按帧发送字符。帧通常用SOF(帧的起始)和EOF(帧的结束)定界。
  在防冲突序列期间,可能发生两个或两个以上的PICC同时响应:这就是冲突。命令集和允 许 PCD 处理冲突序列以便及时分离PICC传输。
  在完成防冲突序列后,PICC 通信将完全处于PCD的控制之下,每次只允许一个PICC通信。
  防冲突方案以时间槽的定义为基础,要求PICC 在时间槽内用最小标识数据进行应答。时间 槽数被参数化,范围从 1 到某一整数。在每一个时间槽内,PICC 响应的概率也是可控制的。在 防冲突序列中,PICC仅被允许应答一次。从而,即便在PCD场中有多个卡,在一个时间槽内也 仅有一个卡应答,并且PCD在这个时间槽内能捕获标识数据。根据标识数据,PCD能够与被标识 的卡建立一个通信信道。
  防冲突序列允许选择一个或多个PICC以便在任何时候进行进一步的通信。
  从建立PCD与PICC(CPU卡)之间通信的方面来比较:
  TYPEA 类型卡片需要的基本命令有:
  REQA 对A型卡的请求或(WAKE-UP 唤醒)
  ANTICOLLISION 防冲突
  SELECT 选择命令
  RATS 应答响应

  TYPEB类型卡片需要的基本命令有:
  REQB 对B型卡的请求
  ATTRIBPICC 选择命令
  从以上的比较可以看出:
  TYPEB类型卡片具有使用更少的命令,更快的响应速度来实现防冲突和选择卡片的能力。
  TYPEA的防冲突需要卡片上较高和较精确的时序,因此需要在卡和读写器中分别加更多硬件,而TYPEB的防冲突更容易实现。
  目前TYPEA和TYPEB孰优孰劣尚在争议中。TYPEA的产品(Mifare卡)具有更高的市场普及率;但是TYPEB应该在安全性、高速率和适应性方面有更好的前景,代表产品如二代身份证。

本文转载自:

h
粉丝 9
博文 81
码字总数 57985
作品 0
长沙
技术主管
私信 提问
I​SO/IEC14443和15693的对比有何具体区别

ISO/IEC14443和15693的对比有何具体区别 ISO14443   ISO14443A/B:超短距离智慧卡标准。这标准订出读取距离7-15厘米的短距离非接触智慧卡的功能及运作标准,使用的频率为13.56MHz。 ISO144...

rouway
2015/03/08
1K
0
VC++6.0升级到VC++2010理由之一(符合C++标准编写更加安全的代码)

VC++6.0升级的一个很大的障碍就是代码不兼容,但是VC++6.0的C++不够标准,不够安全,存在诸多安全漏洞,内存析出,缓冲区溢出,等 等,代码的安全性,可靠性得不到有利的保障,为了您的软件的...

红薯
2010/04/26
2.8K
2
excel数据导出sql优化(一)

excel数据导出sql优化分2篇,本文有sql优化篇 假设有A,B,C,D,E5张表,需要导出这5张表的部分信息,查询条件只涉及到A,B,C的相关字段,约定A,B,C,D,E对应关系都为1对1. A表字段:ID,TYPEA,NAME...

灰袍甘道夫
2017/11/20
0
0
Arrays、Date、System、Math

Arrays toString(type[] arr):将数组转换为字符串展示 sort(type[] arr):将数组按照升序排列 copyOfRange(type[], start, end):复制数组的一部分或者整个数组 binarySearch(type[], start, ...

chinahufei
04/11
21
0
如何编写异常安全的C++代码

关于C++中异常的争论何其多也,但往往是一些不合事实的误解。异常曾经是一个难以用好的语言特性,幸运的是,随着C++社区经验的积累,今天我们已经有足够的知识轻松编写异常安全的代码了,而且...

heartfly
2010/10/05
341
0

没有更多内容

加载失败,请刷新页面

加载更多

HashMap源码分析

read

V丶zxw
35分钟前
4
0
Python字符串或JSON字符串转字典dict、列表list

有3种方法 1、使用ast模块 >>> import ast>>> s = '["test",1]'>>> ast.literal_eval(s)['test',1]>>> s = '{"test":1}'>>> ast.literal_eval(s){'test': 1} 2、eval函数,这个......

编程老陆
54分钟前
5
0
【JS复习笔记】03 继承(从ES5到ES6)

本文转载于:专业的前端网站➫【JS复习笔记】03 继承(从ES5到ES6) 前言 很久以前学习《Javascript语言精粹》时,写过一个关于js的系列学习笔记。 最近又跟别人讲什么原型和继承什么的,发现...

前端老手
57分钟前
8
0
简单动态网站搭建

如何在windows服务器上配置wordPress和discuz 网站建设中的概念讲解 网站建设的基础操作 网站程序的基础使用 网站程序的优化 简单动态网站搭建 软件部署 域名和主机的购买 域名解析 环境部署...

达达前端小酒馆
今天
6
0
Java每日面试题_03

15、构造器是否可被override constructor(构造器)不能被继承,所以不能被override(重写),但是可以被overloading(重载)。 16、抽象类和接口的区别 抽象类是什么 含有abstract修饰符的class即...

庭前云落
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部