为什么这个ATS的长度字节这么大?

时间:2019-02-12 21:56:02

标签: nfc rfid mifare contactless-smartcard lib-nfc

使用DESFire进行测试,我获得了以下ATS:0x75 0x77 0x81 0x02 0x80

据我所知,ISO/IEC 14443-4说,第一个字节应为“长度字节”,并应指示作为ATS的一部分发送的字节总数。那么,为什么第一个字节为0x75?如果您忽略第一个半字节,则该值是正确的,但是是否有任何实际原因我应该这样做,或者此字节与长度值之间没有关系?

注意:ATS是通过nfc_initiator_select_passive_target通过libnfc获得的。

1 个答案:

答案 0 :(得分:1)

ATS非常好。 libnfc在nt.nti.nai.abtAts中存储的值中不包括长度字节。相反,ATS的长度存储在nt.nti.nai.szAtsLen中。因此,第一个字节不是长度字节,而是格式字节。它表示存在TA(1),TB(1)和TC(1)(Y(1)= 7h),并且FSC为64字节(FSCI = 5h)。然后,其余字节解码为:

  • TA(1)= 77h:双向都支持所有三个除数
  • TB(1)= 81h:FWT = 256 * 16 / f_c * 2 ^ 8 = 77毫秒,SFGT = 256 * 16 / f_c * 2 ^ 1 = 600 us
  • TC(1)= 02h:支持CID,不支持NAD
  • 历史字节:80h