0

我正在做一个项目,旨在通过(基于 Cortex™-M4F)和(多协议全集成 13.56-MHz NFC / RFID 收发器 IC)从Mifare Classic rfid 卡读取/写入数据。nrf52832TRF7970A

预认证部分是根据 ISO14443-3 标准完成的(如图所示)并且工作正常(之间的通信nrf52832TRF7970A 通过 SPI 完成) 图片预认证部分

但是在这部分之后,我遇到了身份验证问题。

就 TRF7970A 不支持 MIFARE 卡而言,需要TRF7970A <-> MIFARE根据 TI PDF 通过特殊直接模式继续通信"Using Special Direct Mode With the TRF7970A"(由于新用户的 Stackoverflow 限制,无法链接)

一切都是根据 TI PDF 配置的,但我仍然无法通过 3stage 身份验证。

为了说明问题,附上3张图片。认证过程由逻辑分析仪捕获。

捕获的信号 上图 - 尝试通过 auth1 阶段失败。(TRF 在从卡发送响应之前发送一个 IRQ)

中间图片 - 成功尝试通过 auth1 阶段。(代码保持不变,只是有时它通过了 1 个阶段,有时没有。)

下图 - 成功通过 auth1 后,进入 auth 2,我从未看到 trf7970/Mifare Classic 卡的答案

加密部分取自sdm mifare lib on trf7970AEVM

可能有人对出了什么问题有任何想法,或者有人可以指导我进行类似的项目。

4

1 回答 1

0

我怀疑在主机端和卡端用于密码生成的加密密钥是不同的。这就是为什么您没有看到卡的任何响应。

确保密钥相同。

于 2017-12-28T16:50:14.743 回答