ISO-IEC 14443 Type A&B summary

Summary

ISO-IEC 14443 is the specification about contactless cards communication with the card reader, the most important part is Part 3: Initialization and anticollision. Recently worked on it, and a few summary points.

ISO-IEC 14443-3 Type A

REQA and ATQA

PCD (Card reader) send REQA (Request Command) or WUPA (Wake-UP Command), PICC (Card) send back ATQA (Answer To Request). ATQA has two bytes, b8 b7 means UID size, for example ATQA is 0403, b8b7 is 00, as single UID size

b8b7Meaning
00UID size: single
01UID size: double
10UID size: triple
11RFU

UID and bit frame anticollision

14443-3 Type A use UID (Unique Identifier) and bit frame to do the anticollision. Anticollsion means multiple CL cards existing in the RF field, card reader will use anticolission mechanism to choose one card.
PCD send anticollision command SEL, for example, 0x93 0x20
SEL is 0x93 (cascade level 1)
NVB is 0x20 (byte count = 2, bit count = 0)
PICC response Anticollision response, for example: 0xD0 0x01 0x64 0x81 0x10, UID0~UID3 = 0xD0 0x01 0x64 0x81, BCC = 0x10
At this point, anticolission happened, for anti-collision PCD sent: 0x 93, 0x52, 0xD0 0x01 0x64 0x03
The PICC transmitted anticollison frame 0x20 0x36(BCC), here 0x81 split into bit frame, PCD sent lowest two bit as 0x03 (bit 00000011), and 0x81 remove the lowest two bits, it is bit 100000, as 0x20. Below screenshot shows the anticollision procedure.
ProxiSPY capture:
Anticollision
UID:
UID
Anticollision response:
Anticollision response

FDT

FDT (Frame Delay Time) is the time interval between the frames, defined as the time between two frames transmitted in opposite directions.
FDT of PCD to PICC is more important, as PICC have to respect the timing of FDT after PCD finished transmitting.
Refer to the table in ISO14443-3 FDT formula,
FDT calculate

FDT should be 86,03 - 86,83us(86.43 +- 0.4), if the last bit is 0; or 90,75-91.55us,if the last bit is 1
This Anticollision command FDT is 86.43 = 1172 / fc = 1172 / 13.56 = 86.43 us
As below screenshot shows, FDT between Anticollision and Anticollision response, value as 86.242 us.
FDT

ISO-IEC 14443-3 Type B

REQB/WUPB Command

For example: WUPB, 0x05 0x00 0x08 0x39 0x37
APf (Anticollision Prefix) = 0x05
AFI (Application Family Identifier) = 0x00, When AFI equals 0x00, all PICCs shall process the REQB/WUPB.
PARAM (REQB/WUPB Parameter) = 0x08, The number of slots N is 1, b3b2b1=000
CRC_B = 0x39 0x37

ATQB (Answer To Request) command

Example: 50FFFFFFFF000000007781E309D0
PUPI is 0xFF 0xFF 0xFF 0xFF
Application data field is 0x00000000
1st byte of Protocol Info is 0x77 (bit rate capability = 0x77), Different bit rates for each direction is supported, support 212/424/847 kbps bit rate from PCD to PICC.
2nd byte of Protocol Info is 0x81 (PICC maximum frame size code = 8, minimum TR2 coding = 0, protocol type = 1)
3rd byte of Protocol Info is 0xE3 (ADC = 0, FO = 3, FWI = 14)
CRC_B = 09D0

ATTRIB command

Example: 1DFFFFFFFF00A8010090E7
Identifier is 0xFF 0xFF 0xFF 0xFF
PARAM1 is 0x00 (minimum TR0 = 0, minimum TR1 = 0, EOF = 0, SOF = 0)
PARAM2 is 0xA8 (maximum PCD frame size code = 8, selected DRI = 2, selected DSI = 2), b6b5=10, PCD to PICC, bit rate is 424 kbps, b8b7=10, PICC to PCD, bit rate is 424 kbps
PARAM3 is 0x01 (protocol type = 1), PICC compliant with ISO/IEC 14443-4
PARAM4 is 0x00 (CID = 0)
CRC_B = 90E7

ISO-IEC 14443-4

After the ISO14443-3 processed, will pass the control to the higher layer protocol as ISO14443-4,

R-block

R-block is Receive ready block, example: BA0059C8
PCB (Protocol Control Byte), PCB is 0xBA (NAK, CID following, block number 0) CID is 0x00, The CID field is used to identify a specific PICC.
EDC (Error Detection Code), as 59C8

I-Block

I-Block is Information block.
example: PCD send to card: 0084000008
0A000084000008ED86
PCB is 0x0A (CID following, NAD not following, block number 0)
CID is 0x00
Information field (INF) contains 5 bytes: 0084000008
EDC is 0xB6ED
Card (PICC) return to PCD, 0A006A3180D92F270B91900030D7
PCB is 0x0A (CID following, NAD not following, block number 0)
CID is 0x00
Information field (INF) contains 10 bytes:6A3180D92F270B919000
EDC is 0x7D30

S-block

S-block is Supervisory block
example: CA009D38
PCB is 0xCA (type DESELECT, CID following)
CID is 0x00
EDC is 0x389D

Reference

Wiki ISO/IEC 14443


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值