一、 非接触IC卡简介

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

二、ISO/IEC 14443简介

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的数目为奇数;
通信结束。


图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”停止位。
用一个字符执行一个字节的发送需要10etu,如图18示。


图6 TYPE B字符格式

PCD和PICC按帧发送字符。帧通常用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类型卡片 需要的基本命令有:

REQA 对A型卡的请求 或(WAKE-UP 唤醒)
ANTICOLLISION 防冲突
SELECT 选择命令
RATS 应答响应


图9 TYPE A PICC激活

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

REQB 对B型卡的请求
ATTRIB PICC选择命
TYPE B PICC激活如图8 所示

从以上的比较可以看出:

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

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

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

ISO/IEC 14443协议浅谈的更多相关文章

  1. HTTP协议浅谈

    一.介绍: http 即 超文本传送协议  (Hypertext transfer protocol) 是通过因特网传送万维网文档的数据传送协议.今天普遍使用的一个版本——HTTP 1.1. HTTP ...

  2. 浅谈HTTPS以及Fiddler抓取HTTPS协议

    最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

  3. 【转】 浅谈Radius协议

    浅谈Radius协议 2013-12-03 16:06 5791人阅读 评论(0) 收藏 举报  分类: Radius协议分析(6)  从事Radius协议开发有段时间了,小弟不怕才疏学浅,卖弄一下, ...

  4. 转:浅谈Radius协议 -来自CSDN:http://blog.csdn.net/wangpengqi/article/details/17097221

    浅谈Radius协议 2013-12-03 16:06 5791人阅读 评论(0) 收藏 举报  分类: Radius协议分析(6)  从事Radius协议开发有段时间了,小弟不怕才疏学浅,卖弄一下, ...

  5. 浅谈通信网络(三)——TCP/IP协议

    简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...

  6. 浅谈HTTPS以及Fiddler抓取HTTPS协议(摘抄)

    一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度.谷歌等. ...

  7. 【http协议】浅谈

    [http协议]浅谈 一. 概述 http,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. 请求与响应: 客户端发送请求,服务器端响应数 ...

  8. 浅谈传输层协议TCP和UDP

    在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...

  9. HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)

    HTTP协议漫谈   简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...

随机推荐

  1. C#反射调用程序集类中方法

    建立类 class OperatorClass { /// <summary> /// 加法 /// </summary> /// <param name="x ...

  2. 队列的实现 -- 数据结构与算法的javascript描述 第五章

    队列也是列表的一种,有不同于列表的规则. 先进先出 入队方法 出队方法 可以找到队首 可以找到队尾 可以查看队列有多长 可以查看队列是否为空 这是一个基本的需求,围绕他来实现,当然我们可以自己扩展列表 ...

  3. git 使用随笔

    /*将远端库git@github.com:myrepo/base.git从远端clone到本地*/git clone git@github.com:myrepo/base.git /*克隆版本库的时候 ...

  4. Java基础之"=="和 和 equals 方法的区别

    一."=="操作符 ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作 ...

  5. day6_python学习笔记_chapter8_条件,循环

    1. if elif else 2. 条件表达式:三元操作符: smaller = x if x < y else y   == if x < y : smaller =x  else : ...

  6. Java中的变量与变量的作用域

    关于Java中的变量及变量的作用域 关于Java中的变量及变量的作用域 0. 变量的概念 在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据.系统分配的内存单元要使用一个标记符来标 ...

  7. SQL2-子查询、join查询

    SQL常用高级查询包括:Join查询.子查询. 子查询: USE flowershopdb --子查询:在一个select语句使用另一个select 语句作为条件或数据来源. --查询块:一个sele ...

  8. hdu 2471 简单DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2571 简单dp, dp[n][m] +=(  dp[n-1][m],dp[n][m-1],d[i][k ...

  9. Qt qss一些伪装态,以及margin与padding区别

    伪状态    描述 :checked    button部件被选中:disabled    部件被禁用:enabled    部件被启用:focus    部件获得焦点:hover    鼠标位于部件 ...

  10. 身份验证cookies和Token

    后端服务器有两种基本的身份验证:1.是基于Cookie的身份验证,使用服务器端的cookie来对每次请求的用户进行身份验证.2. 较新的方法,基于令牌Token的认证,依赖于被发送到服务器上每个请求的 ...