大家好,
我有一个关于将 ISO14443A 类型 2 卡与 CR95HF 一起使用的快速问题。
CR95HF 数据表的第 53 页显示了防冲突算法的输出(复制在下方)。我已经使用 CR95HF 和 NTAG216 (NXP NTAG) 实现了类似的功能。 在我的系统响应和 CR95HF 数据表示例中,有一个 0x28 有时跟在从标签接收到的数据之后。该字节似乎意味着存在 CRC 错误,并且“第一个字节”有 8 个有效位(CR95HF 数据表第 22 页)。我不知道哪个字节是“第一个字节”,但假设它与冲突有关。
我最好奇 CRC 错误发生在哪里。它似乎在防碰撞示例的输出中被忽略了,就好像它无关紧要一样。而且似乎没有与 Select 1 命令相关的 CRC 错误(响应是 0x08,而不是 0x28)。
我还看到评论部分说“请注意,只有在设置了‘检测到碰撞’位时,碰撞信息才有效”。所以我很不清楚这 3 个字节应该告诉我什么以及它们告诉我什么时候有效。
我很好奇是否有人可以阐明 CR95HF 返回的最后几个字节。他们到底是什么意思?
谢谢。
------ ISO14443-A 起始防碰撞算法 ------
ISO14443-A REQA>>> CR95HFDLL_SENDRECV,26 07<<< 80 05 0400 28 0000ISO14443-A 抗癌药 1>>> CR95HFDLL_SENDRECV,9320 08<<< 80 08 08192D A29E 28 0000ISO14443-A 选择 1>>> CR95HFDLL_SENDRECV,937008192DA29E 28<<< 80 06 20 FC70 08 0000--> UID = 192DA29E ,已选择标签
2022-12-23 10:22:25
您在此处指出的是发送接收命令后 CR95HF 的响应(此答案嵌入了标签答案)。此 CR95HF 命令及其预期响应在 CR95HF 数据表第 25 页及后续页面的第 5.5 章中进行了描述。
表 15(第 28 页)描述了报告标签应答的 CR95HF 应答器的响应格式:
第一个字节:80
第二个字节:CR95HF 响应的长度
第三个字节:从标签收到的答案
...
第 N-2 个字节(08 或 28):有关标签答案有效性的信息(冲突、CRC、奇偶校验、最后字节格式)
第 N-1 个字节:第一个字节冲突(仅当 N-2 位 7 = 1 时)
第 N 个字节:第一个位冲突(仅当 N-2 位 7 = 1 时)
(仅当设置了第 7 位(检测到冲突)时,才必须检查字节 N-1 和 N)
在将标签应答发送回主机之前,CR95HF 从标签应答中计算预期的 CRC(大多数情况下,标签应答 = 数据 + 2 字节 CRC)...然后在其响应中发送 CRC 比较的状态。
0x08 表示没有 CRC 错误(标签响应的最后 2 个字节是数据的正确 CRC),0x28 表示标签响应的最后 2 个字节不是数据的 CRC(标签响应 - 最后 2 个字节)。
在 ISO14443-A RF 协议中,大多数时候一个标准帧是 DATA + CRC。但是一些特定命令的响应没有 CRC 值(标签答案的最后 2 个字节是数据......没有 CRC)。WUPA、REQA 和 ANTICOL 命令就是这种情况。
发出 SendReceive 命令,CR95HF 不检查发送的命令,并且在所有情况下,计算预期的 CRC 并将其与最后 2 个字节进行比较。这就是发送此命令时 CR95HF 指示 CRC 错误的原因。
您在此处指出的是发送接收命令后 CR95HF 的响应(此答案嵌入了标签答案)。此 CR95HF 命令及其预期响应在 CR95HF 数据表第 25 页及后续页面的第 5.5 章中进行了描述。
表 15(第 28 页)描述了报告标签应答的 CR95HF 应答器的响应格式:
第一个字节:80
第二个字节:CR95HF 响应的长度
第三个字节:从标签收到的答案
...
第 N-2 个字节(08 或 28):有关标签答案有效性的信息(冲突、CRC、奇偶校验、最后字节格式)
第 N-1 个字节:第一个字节冲突(仅当 N-2 位 7 = 1 时)
第 N 个字节:第一个位冲突(仅当 N-2 位 7 = 1 时)
(仅当设置了第 7 位(检测到冲突)时,才必须检查字节 N-1 和 N)
在将标签应答发送回主机之前,CR95HF 从标签应答中计算预期的 CRC(大多数情况下,标签应答 = 数据 + 2 字节 CRC)...然后在其响应中发送 CRC 比较的状态。
0x08 表示没有 CRC 错误(标签响应的最后 2 个字节是数据的正确 CRC),0x28 表示标签响应的最后 2 个字节不是数据的 CRC(标签响应 - 最后 2 个字节)。
在 ISO14443-A RF 协议中,大多数时候一个标准帧是 DATA + CRC。但是一些特定命令的响应没有 CRC 值(标签答案的最后 2 个字节是数据......没有 CRC)。WUPA、REQA 和 ANTICOL 命令就是这种情况。
发出 SendReceive 命令,CR95HF 不检查发送的命令,并且在所有情况下,计算预期的 CRC 并将其与最后 2 个字节进行比较。这就是发送此命令时 CR95HF 指示 CRC 错误的原因。
举报