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

Why is the length byte of this ATS so large?

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

据我所知,ISO/IEC 14443-4 说第一个字节应该是 "length byte" 并且应该指示作为 ATS 的一部分发送的字节总数。那么,为什么第一个字节是0x75呢?如果您忽略第一个半字节,则该值是正确的,但是有什么理由我实际上必须这样做,或者这个字节与长度值之间没有关系吗?

注:ATS是通过nfc_initiator_select_passive_target.

通过libnfc获取的

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