14443-4

14443-4

传输协议激活

RATS-Request for answer to select
第3节14443-3中,当PCD发出选择命令之后,卡片返回SAK,指示PICC是否支持14443-4。
如果PICC支持14443-4,并且PCD需要进入14443-4层,进行协议层的数据传输,那么将会发起RATS请求。
在这里插入图片描述

RATS 的编码格式
在这里插入图片描述

4.3 ATS - Answer to select
在这里插入图片描述
当PCD发出RATS请求之后,PICC应该响应该请求,并返回ATS,其格式如图,主要包括:
(1)长度字节TL (TL是强制存在的,是指传输的RATS的所有的字节长度,包括自身。);
(2)格式字节Fromat byte: T0{
T0是可选的,当TL > 1时T0存在
(1)T0高半字节指示接口字节是否存在;
(2)T0低半字节指示FSCI(编码格式和FSDI相同));
}。
在这里插入图片描述
(3)接口字节TA1{
(1)bit8指示PICC收发数据是否采用不同的分频因子D;
(2)b7-b5指示PICC发送数据时,所支持的波特率的能力;
(3)b3-b1指示PICC接收数据时,所支持的波特率的能力。
在这里插入图片描述
}、

TB1{
接口字节TB1定义了帧等待时间(FWT)和指定警戒时间(SFGT)
在这里插入图片描述
接口字节TB1-FWT:FWT,即帧等待时间,是指PCD发出数据结束,等待PICC响应数据返回的最大时间
在这里插入图片描述
在这里插入图片描述

接口字节TB1-SFGT :SFGT-指定警戒时间(specific guard time),是指PICC发送ATS之后,准备接收下一个字符所需要的最短间隔时间。
在这里插入图片描述
}、

TC1{
接口字节TC1指定了协议参数,即传递应用数据时,其中的协议参数NAD和CID是否存在
在这里插入图片描述
};
(4)历史字节;
(5)CRC.

PPS - Protocol and parameter selection request
初始状态时,D=1,通信波特率是最小的值,即为:106 kbit/s。
PCD通过分析PICC返回的ATS值,得到PICC的通信能力,即可发送PPS请求协商一个合适的通信波特率
在这里插入图片描述

在这里插入图片描述

PPS-Start byte
起始字节PPSS,包括两部分:
(1)bit8-bit5 = PPS ,其值为(1001)b;
(2)bit4-bit1 = CID。

在这里插入图片描述

在这里插入图片描述

** PPS-Parameter 0
**

PPS0指示PPS1是否存在:

在这里插入图片描述

在这里插入图片描述

PPS-Parameter 1

PPS1包含三部分:
(1)bit8-bit5为(0000)b;
(2)bit4-bit3 = DSI,即发送分频因子;
(3)bit2-bit1 = DRI,即接收分频因子;

在这里插入图片描述

在这里插入图片描述

PPS - Protocol and parameter selection response

PPS响应仅仅包含PPSS字节,和PPS请求时的PPSS相同。
如果PICC正确响应了PPSS,后续通信使用协商的波特率进行通信

在这里插入图片描述

半双工块传输协议

非接触智能卡要求采用半双工块传输协议传输数据。
半双工块传输协议的设计主要参考了OSI参考模型分层原理:
(1)物理层,在14443-3中定义;
(2)数据链路层;
(3)会话层;
(4)应用层。

1、**块格式-Block format
**

应用层的数据传输都是通过信息块进行传输的,一个信息块主要包含3个域:
(1)序言 - prologue field ;
(2)信息 - information field;
(3)结尾 - epilogue field;

在这里插入图片描述

序言 - prologue field 1.1

序言是强制存在的,最多可包含3字节:
(1) Protocol Control Byte - PCB;
(2) Card IDentifier - CID;
(3) Node ADdress - NAD;

在这里插入图片描述

1.1.1 序言 - PCB

PCB(Protocol control byte)是指协议控制字节,有三种类型的块:
(1)I-Block:传输信息层数据;
(2)R-Block:传输正向或反向确认
(NAK / ACK);
(3)S-Block:在PCD和PICC之间传输
交换控制信息,包括两种:
1、WTX-Waiting time extension;
2、DESELECT.

在这里插入图片描述

1.1.2 序言 - CID

CID - Card identifier field,主要包含3部分:
(1)b8-b7用于指示电源级别,应该设置为(00)b;
(2)b6-b5用于传输额外信息,如果未定义,则(00)b;
(3)b4-b3是CID,即由PCD指定的PICC的逻辑编号,如果PICC不支持CID,则可以忽略该信息。
在这里插入图片描述

在这里插入图片描述

1.1.3 序言 - NAD

NAD-Node address field,用于建立并标示不同的逻辑连接。有几点需要注意:
(1)NAD只能用在I-Block;
(2)如果PCD使用了NAD,那么PICC也必须使用NAD;
(3)如果存 在多个信息块链接的情况,NAD那么只被传输一次;
(4)如果PICC不支持NAD,可以忽略该字节

在这里插入图片描述

**1.2 信息域 - Information field **

信息域是可选的,如果存在,那么该域传输的数据可能为:
(1)在I-Block块中传输的是应用数据;
(2)在S-Block块中传输的是状态信息,比如为1字节的WTX(参考PCB字节编码规则)。

在这里插入图片描述

**1.3 结尾 – Epilogue field **

结尾包含2字节的EDC,即14443-3中定义的CRC

在这里插入图片描述

**2 帧等待时间-Frame waiting time **

帧等待时间(FWT)是指PCD发出数据结束后,PICC必须在FWT时间范围内做出响应。
该信息在ATS的TB1中,即PICC响应RATS命令时,返回给PCD的,因此,该等待时间FWT由PICC决定。
在这里插入图片描述

3 帧等待时间延长-Frame waiting time extension

当PICC处理命令较长时间时,超过了帧等待时间(FWT),则需要在FWT之内发送一个S-Block信息块,其中的INF域是1个字节的WTX.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

**4 协议操作- Protocol operation
**

前面主要讲述的是半双工块传输协议的块的结构,包含了序言域、信息域、结束域。
问题提出:
(1)一个信息块最大的字节数为多少?
(2)是不是一个小与256字节的应用数据就可以使用一个帧传输?
(3)如何传递一个比较大的应用数据,比如1K?
在这里插入图片描述

**4.1 链接 - chaining
**

当传输一个较长的数据时,需要使用多个链接块进行传输时,并需要遵循一定的规则。
在这里插入图片描述

4.1 链接 - chaining

PCD : Block numbering 规则:
(1)PCD初始的block number为0;
(2)当收到PICC的I-Block或R(ACK) block时,如果和当前使用的Block number相等时,则需要切换当前的block number;
PICC : Block number规则:
(1)PICC初始的block number为1;
(2)当收到I-Block时,PICC需要切换该值;
(3)当R(ACK) 的Block number和PICC的不一样时,PICC需要切换该值。
在这里插入图片描述

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值