This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TRF7970A:RFID (MIFARE、iCLASS)和 NFC 读取器组合在一起

Guru**** 2585245 points
Other Parts Discussed in Thread: TRF7970A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/624285/trf7970a-rfid-mifare-iclass-and-nfc-reader-combined

器件型号:TRF7970A

您好!

我们目前正在使用 TRF7970A 开发 RFID/NFC 读取器。 收发器使用 SPI 连接到 STM32F3、目前必须支持 MIFARE Classic、如果可能、还必须支持 iCLASS 2k/2。 未来、我们还希望支持 NFC、但确切的要求尚不明确。

我们设法获得了在我们的硬件上工作的最新 RFID 读取器固件示例、并且可以读取 MIFARE 经典卡的 UID。 我们有一些问题:

  1. 在某些旧论坛帖子中 、引用了 MIFARE 开发包、其中包含用于读取 MIFARE 经典卡的源代码。 在申请此软件包之前、我们想知道这是否是最新版本。 提出此问题的原因是、这是一个非常旧的封装(2013)、而且 RFID 固件示例本身最近也已完全重写。
  2. 是否还有开发包可用于通过此收发器读取 iCLASS 卡? 如果没有、您建议什么?
  3. 在结合读取 RFID 和 NFC 时、我们是否应该记住任何内容? 只要这是按顺序完成的、它就应该在同一硬件上工作、对吧?

请注意、

Martijn

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Martijn、

    1) 1)最新软件包为 :http://www.ti.com/lit/pdf/sloa214-您无需提出特殊请求即可下载此软件、只需进行标准的 TI 出口管制检查即可。

    -请注意、TRF7970A 的 Mifare Classic 实现方案与时序非常相关、因此您必须投入大量精力将此示例移植到 STM 器件。 由于这不是 TI MCU、因此我们不会为此类端口提供任何 E2E 支持、但 SLOA214应用手册非常详细、分步介绍了需要处理的所有内容、并包含许多用于说明每个点的逻辑采集、 因此、该指南将为您提供详细信息以及任何人可以解释的信息。

    2)否、我们没有此软件包、但我建议在 E2E 论坛上进行搜索、因为 Josh Wyatt 已发布了一些部分支持此功能的未发布示例代码。

    3)是、作为正确的读取器设备。 作为读者、您可以确定搜索 NFC 标签的频率、因此无需担心合规性问题。 最棘手的部分是集成 Mifare Classic 读取、因为在初始标签检测后、您需要确定标签是否为 Mifare Classic、然后切换到特殊直接模式(详见 SLOA214)以处理这些标签。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以下是我为 PicoPass / iCLASS 卡执行的文件  

    e2e.ti.com/.../3583.picopass.zip

    与本演示有关

    e2e.ti.com/.../PicoPass-Card-Interoperability-with-the-TRF79x_5F00_v3-_5B00_Compatibility-Mode_5D00_.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ralph、Josh、

    感谢您提供的答案和示例。 事实上、我们只需读取 iCLASS 卡的 UID、这样可以简化操作。 我们必须支持的 iCLASS 卡具有2K (S) PICOPASS 应答器: www.proxmark.org/.../DS PICCOPIOASS 2KS V1-0.pdf。 Josh 的示例适用于32K (S)应答器、当然基于较旧的参考固件。

    我想知道 TRF 的正确设置是什么、以便能够与2K (S)正常通信。 现在、我要写入以下寄存器、但我不确定这是否足够:
    TRF79XXA_ISO_CONTROL 0x82 (无 RX CRC、ISO15693高标签数据速率、FSK、4选1数据编码)
    TRF79XXA_MODEG_CONTROL 0x01 (系统时钟输出= 13.56MHz、OOK = 100%)
    TRF79XXA_TX_PULSE_LENGTH_CONTROL 0x80 (9.44us 脉冲长度)
    TRF79XXA_RX_NO_RESPONSE_WAIT_TIME 0x14 (755us RX 超时)
    TRF79XXA_RX_WAIT_TIME 0x1F (293us RX 等待时间)
    TRF79XXA_FIFO_IRQ_LEVEL 0x0C (可调 FIFO 电平)
    TRF79XXA_NFC_TARGET_LEVEL 0x00 (勘误表)

    然后、我将执行以下操作:
    1) ACTALL 命令、与示例相同的缓冲区值、但命令代码为0x0A。 这将导致以下 IRQ:
    - 0x80 (TX 完成)
    - 0x44 (收到 SOF、但也收到字节组帧错误/EOF 错误??) 这是为什么? 我是否应该等到接收到 RX 完成并忽略该错误?

    2) 2)标识命令、与示例相同的缓冲器值、但使用命令代码0x0C。 这将导致以下 IRQ:
    - 0x80 (TX 完成)
    - 0x40 (RX 完成)
    -我收到了 ASNB:60FF5F027C27BD00和 CRC:0000、但我也收到了(可能是不同的时序?) 另一种尝试是 ASNB:7C2C60FF5F027C27、带 CRC FF5F。 它是同一张卡、位于读取器顶部的固定位置。 ASNB 是否应该始终相同?

    3) 3)选择命令、与示例相同的缓冲区值、但使用命令代码0x81和上一个调用的 ASNB。 这只导致0x80 (TX 完成)中断。

    换句话说、它正在做一些事情、但我认为我还没有在那里。 如果对我的上述问题有任何指导或回答、我们将不胜感激。

    此致、

    Martijn