《ISO14443协议学习总结》由会员分享,可在线阅读,更多相关《ISO14443协议学习总结(50页珍藏版)》请在金锄头文库上搜索。
1、ISO/IEC14443-4协议学习总结,主讲内容 非接触式IC的工作原理 信号能量及信号接口 初始化和抗冲突特性 数据传输协议,非接触式IC的工作原理 主讲内容,工作原理简介 IC卡技术指标及物理特性,非接触式IC的工作原理,交变的磁场 RF, 频率为13.56M LC谐振回路,共振,产生电荷,累积到2V以上,作为内部工作电压 PICC内的数据发射出去或接受读写器的数据 PCD对接收到的信号进行解调、解码后送至后台计算机,非接触式IC卡技术指标,主讲内容 非接触式IC的工作原理 信号能量及信号接口 初始化和抗冲突特性 数据传输协议,信号能量及信号接口 主讲内容,信号能量 RFID常用编码、调
2、制与解调技术 PICC及PCD内部运作的过程,信号能量,耦合IC卡的能量是通过发送频率为13.56MHz的阅读器的交变磁场来提供。 阅读器产生的磁场必须在1.5A/m-7.5A/m之间。 两种阅读器和近耦合IC卡之间的数据传输方式:A型和B型。一张IC卡只需选择两种方法之一。 符合标准的阅读器必须同时支持这两种传输方式,以便支持所有的IC卡。 阅读器在闲置的状态时能在两种通信方法之间周期的转换。,RFID常用编码,反向不归零(NRZ)编码、曼彻斯特(Manchester)编码、米勒(Miller)编码、改进Miller编码等。,RFID常用调制与解调技术,ASK调制波形(幅移键控),ASK解调
3、波形,BPSK调制与解调(双相移键控),PICC及PCD内部编解码与调制解调过程,PCD - PICC,PCD -PICC(Type A),PICC及PCD内部编解码与调制解调过程,PCD - PICC,PCD -PICC(Type B),信号接口小结,主讲内容 非接触式IC的工作原理 信号能量及信号接口 初始化和抗冲突特性 数据传输协议,初始化和抗冲突特性,这一部分规定了邻近卡(PICCs)进入邻近耦合设备(PCDs)时的轮寻。 通信初始化阶段的字符格式、帧结构、时序信息、REQ和ATQ命令内容。 从多卡中选取其中的一张的方法,即如何抗冲突的。 初始化阶段的其它必须的参数。,以type a为
4、代表,介绍PICC的几种状态 以type a为代表,引入一个抗冲突的实例,说明相关流程。 分type a和 type b两类,总体介绍抗冲突流程。,主讲内容:,协议内容:,以A类为代表的PICC状态图,REQA命令,防冲突循环,Select 命令,HALT 命令,应 用,Wake-up 命令,TYPE A防碰撞环流程,比特帧防冲突选择时序如图所示,操作分三阶段:,(1)Request(PCD发送请求命令),ATQA,PICC #1,b1(10000000 00000000)b16,卡1采用比特防冲突,b8b7=00, UID1,ATQA,PICC #2,b1(10000010 00000000
5、)b16,卡2采用比特防冲突,b8b7=01, UID2,26,所有卡PICC应答ATQA,例:假设在PCD场中有2张PICC卡,说明初始化和防冲突过程。 已知: PICC1的UID 大小:1,UID0=“10” PICC2的UID 大小:2,约定:,PCD to PICC,PICC to PCD,( )b,发送的第1位(最低位),REQA,(2)Anticollision loop, cascade level 1(防冲突循环CL1),PICC #1,b1(00001000 )b8 (此处为UID0编码:10H)UID0:b8-b1即10H,UID1,PICC #2,b1(00010001
6、)b8(此处为CT编码:88H), UID2,93,20,First collision at bitpoint 4,93,24,b1(0001 )b4,0001,PICC #2, coll4,SEL命令,93,70,b1(00010001 )b8,b1( 1 )b8 b3=1, UID不完整,只有卡2响应,故不冲突,PCD发防冲突命令,冲突发生之前被接收到的UID CLn的一部分再加上(0)b或(1)b,从b1开始,到b4,前面b1b2b3都是0,b4出现冲突,即第一次出现冲突的位置为4.,其中000是接收到的UID CLn发生碰撞之前的部分,后面有PCD决定再加一位1,变成0001.,只有
7、卡2响应,是因为根据步骤,只有PICC2发送的UID CLn中前4位为0001,和前面红色的0001相同.,(3)Anticollision loop, cascade level 2(防冲突循环CL2),95,20,PICC #2,SEL命令,b1( 0 )b8 b3=0, UID 完整,95,70,现在已完整,从UID0UID7,“7”最大字节数,卡应答SAK,指出UID完整,从Ready状态转换到Active状态,REQA和WAKE-UP帧:请求和唤醒帧用来初始化通信,通信开始 7个数据位发送,LSB首先发送。(标准REQA的数据内容是26,WAKE-UP请求的数据内容是52) 通信结束
8、,ATQA:在PCD发送请求命令(REQA)之后,所有PICC以其在两个数据字节中编码了可用防冲突类型的请求应答(ATQA)表示同步地进行响应,规则1:位b7和b8编码了UID长度(单个、两个或三个) 规则2:b1、b2、b3、b4或b5中的一个应置为(1)b以指出比特帧防冲突。,SELECT 和ANTICOLLISION命令:用于防冲突循环,组成如下:,选择代码SEL(1字节) 有效位数量NVB(1字节):规定了PCD所发送的CLn的有效位的数目 由NVB指定的UID CLn(040位),校验位仅当UID的数据位为4字节时(完整)才有。,CT为级联标志 ,编码为88H BBC是检验字节,以上
9、4个字节的异或。,较高4位称为字节计数, 较低4位称为比特计数,,NVB的编码(有效比特的数),SAK的编码,如果UID不完整,PICC应保持READY状态并且PCD应以递增的串联级别来初始化新的防冲突环。 如果UID完整,PICC应发送带有清空的串联比特的SAK并从READY状态转换到ACTIVE状态。当提供了附加信息时,PICC应设置SAK的第6位b6。,TYPEB防碰撞环流程,TYPE B防碰撞环流程,初始化和抗冲突小结,不同的防碰撞算法,对碰撞检测的要求会有不同,如TYPE A 防碰撞是必须辨别碰撞在哪一位发生的,而对于TPYE B的时隙 ALOHA算法,可以不必追究哪一位发生了碰撞,
10、只要判别在该时隙里是否发生碰撞即可。 无论什么协议都需要判断是否发生了碰撞才能进行下一步的操作,因此碰撞检测 是实现防碰撞算法和协议不可少的重要环节。,主讲内容 非接触式IC的工作原理 信号能量及信号接口 初始化和抗冲突特性 数据传输协议,数据传输协议,PICC的激活过程和解除激活的流程。 在流程图上分别介绍RATS、ATS、PPS(协议和参数选择)等命令结构和编码 。 介绍数据传输过程中的分组(块)结构编码及操作。 介绍一个分组链传输的例子。,主讲内容:,TYPE A,RATRS(请求ATS)命令:,第一字节:命令开始,编码为E0H。 第二字节:高4位为FSDI,用于编码 PCD可接收的FS
11、D(最大帧长). 低4位为CID(卡标识符),PICC寻址的逻辑号编码 值为0-14,15为备用。 第三、四字节:校验码。,参数字节 编码FSDI和CID,开始的字节,FSD到FSDI的转换表,ATS(answer to select)命令:,长度字节TL:给出ATS响应的长度,包括TL字节,但不包含两个CRC字节,且ATS不能超出FSD的大小,因此TL的最大值应不超过 FSD-2。,FSCI 若该位置为1,TA(1)被传输 若该位置为1,TB(1)被传输 若该位置为1,TC(1)被传输 应置为0,1为RFU,格式字节T0:可选,只要出现,长度字节TL就会1。FSCI用于编码FSC,即PICC
12、可接收的最大帧长,缺省值为2,即32字节。FSC的编码等于FSD(之前)的编码。,ATS(answer to select)命令:,接口字节TA(1):决定参数因子D、编码 DS(发送因子)和DR(接收因子)。,最高有效位b8编码了为每个方向处理不同除数的可能性。当该位被置为1时,PICC不能为每个方向处理不同除数。 位b7到b5为PICC到PCD方向编码了PICC的位速率能力,称为DS。其缺省值应为(000)b。 位b4被置为(0)b,其他值为RFU。 位b3到b1为PCD到PICC方向编码了PICC的位速率能力,称为DR。其缺省值应为(000)b。,ATS(answer to select
13、)命令:,SFGT=(25616/fc)2SFGI,FWT=(25616/fc)2FWI,其中:因FWI、SFGI的范围为0-14,所以 302us= FWT、SFGT =4949ms, FWT默认为4.8ms,SFGT为302us 。,FWT:PICC在PCD帧结束后,开始其响应帧的最大时间(可扩展) SFGT:在发送了ATS之后,准备接收下一个帧之前,PICC所需的特定保护时间。,接口字节TB(1):编码FWT(帧等待时间)和SFGT(启动帧保护时间)。,ATS(answer to select)命令:,接口字节TC(1):编码协议选项。,历史字节:是可选项,包含了通用信息。ATS的最大长
14、度(TL)给出了历史字节的最大可能数目。,CID为卡标识符 NAD为结点地址,b2b1位:定义了在PICC支持的开端字段中的可选字段。允许PCD跳过已被指出被PICC支持的字段,但PICC不支持的字段应不被PCD传输。,PPS(协议和参数选择)命令:,起始字节(PPSS)。高4位编码为(1101)b,其他值时RFU,低4位定义CID,即对PISS寻址的逻辑号。,PPS0 用于表明可选字节PPS1是否出现。该字节b8b7b6设置为(000)b,b4b3b2b1设置为(0001)b,b5=1时表示后面出现了PPS1字节。,PPS(协议和参数选择)命令:,PPS1 b8b7b6b5为(0000)b,
15、b4b3为DSI(发送因子的值),b2b1为DRI(接收因子的值)。其中DSI和DRI的两位编码00,01,10,11时,对应的D(参数因子)值为1,2,4,8。,PPS响应: 它为PICC接收PPS请求后的应答,由3个字节组成,第一字节为PPSS(同上),后两字节为CRC字节,TYPEB防碰撞环流程,TYPE B,半双工块传输协议,协议按ISO参考模型,定义了四层:物理层、数据链路层、会话层和应用层,其中物理层交换字节,数据链路层定义用于交换的分组(块),会话层结合数据链路层以实现系统的最小开销,应用层处理命令。,一个数据块分为三个域,即报告头域(强制),信息域(可选)和结束域(强制)。,块
16、格式,报告头域:分为控制字节(强制),CID(可选),NAD(可选)。其中控制字节表明3种不同块格式,即I块,R块,S块:I块为数据传输块,包含数据域;R块为应答块,分为正确接收应答和错误接收应答,不带数据域;S块分为两种,一种为等待延迟请求,带一个byte数据域,另一种是DES命令,不带数据域 信息域:是可选的。如有INF,则在信息分组(I-block)中为应用数据,在管理分组(S-block)中是状态信息而不是应用数据 结束域:结束域中包括2bytesCRC值。,PCB域(控制字节):,I-块 :为应用层提供使用的信息。,用于传送控制数据传输所需要的信息。定义了三种分组的基本类型,R-块 :用于传送确认(ACK)或不确认信息(NAK)。R-块不包含INF域。,CID,NAD,S-块 :用于在PCD和PICC间交换控制信息的。 有两类管理分组:帧