我已经检查了MIFARE Ultralight和TOPAZ / Jewel IC标签的编程界面。 API很好地描述了如何在卡上保存字节,如何寻址存储器块,如何进行所有操作,如读取,读取,使用OTP(一次性可编程)功能,如何读取ROM字节,如何从空闲切换到就绪状态(REQA,WUPA命令),它表示命令是否受CRC保护,如何访问标签UID等。
当开始编程NFC阅读器(ACR122U或SCL010)时,我发现PCD(阅读器)和PICC(标签)之间的所有通信都是从ATR(应答复位)命令开始的,这在Internet上有所描述。命令PCD发送给PICC以进行识别。
但是没有任何标签文档提到ATR命令 - 所有与标签通信时的通信(PQR)都以REQA,WUPA命令开始,以便将卡切换到就绪模式。
我的理解是ATR是由PC / SC基于读卡器与之通信的NFC卡构建的。一旦读者检测到基于它的标签是什么类型的技术,就会创建ATR。另外根据文档,针对不同NFC读取器的ATR对于相同的NFC标签是不同的。
我是对的吗? PC / SC是否构建了ATR?
BR 斯登
答案 0 :(得分:14)
简短回答:
答案很长:
ATR适用于联系人卡片,在ISO 7816中有规定。对于无接触卡,可以使用PC / SC读卡器(IFD)生成ATR。
ATR的构建基于:
ATR将成为形式 3B 8X 80 01 HB_ATS Parity_Byte 其中X是ATS的历史字节数(HB_ATS)。
非接触式卡ATR的确切结构见3.1.3.2.3节 PC / SC规范。
鉴于唯一的变量是ATS,无论读者如何,它都应该是相同的。
- 席德
答案 1 :(得分:1)
ATR包含固定字段和可选字段(条件)。因此,根据字段的某些值,可能会省略后续字段,因此不同读者的ATR可能不同,但它们都符合标准。
查看智能卡教程here
简而言之,ATR框架如下: