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.

[参考译文] TRF7960A:ISO1443A 序列问题

Guru**** 2585255 points
Other Parts Discussed in Thread: TRF7960A, TRF7970A, LM3S6965

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/941612/trf7960a-iso1443a-sequence-problem

器件型号:TRF7960A
主题中讨论的其他器件: TRF7970ALM3S6965

您好!


多年来、我们一直将 TRF7960A 用于 ISO15693应答器。
我尝试使用您的示例 sloc251在我们的项目中实现 ISO1443A 序列。
请找到随附的 dvdat 文件、其中包含我们的微控制器和 TRF7960A 之间的 SPI 通信。
记录了4个周期。
在 pollcmd 之后、我获得 TX 和 RX 中断并能够读取正确的 ATQA。
我得到了一个对防冲突命令的应答。 TX 和 RX 中断、并且可以读取前3个 UID 字节。
"88 88 88 16 38 04 A2"字节4-6是 UID 的前3个字节、第7个字节是来自字节2-6的校验和。
(应答器 ID:16:38:04:BD:90:7D:3D,ATQA:0x41,SAK:0x20)
我的问题是,我没有从 sendselectcmd 中得到任何答案。 无 TX 和 RX 中断。

此致、
Michael

e2e.ti.com/.../INVENTORY_5F00_ISO14443A.zip

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

    您好、Michael、

    SLOC251相当过时、不是一个稳健的实现。

    我建议改用 SLOC297: https://www.ti.com/lit/zip/sloc297

    该固件支持 TRF7970A 和 TRF7960A。

    我不熟悉 DVDAT 格式、如何查看迹线?

    如果你需要一个完整的工作示例、那么我可以提供一个显示防冲突+数据读取的捕捉。

    不过、如果您没有收到 TX 中断、我认为您的命令在通过射频实际输出数据时出现问题。 这是没有获得 TX 中断的唯一原因。

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

    您好 Ralph、

    如果你能够提供显示防冲突+数据读取的捕获将会有所帮助。

    DVDAT 格式是技术工具 逻辑分析仪的输出文件。

    www.tech-tools.com/logic-analyzer-downloads.htm

    此致、

    Michael

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

    您好、Michael、

    我查看了您的逻辑捕获、似乎您没有为您对器件的写入更改时钟极性。 因此器件无法识别您的命令。

    您应使通用 SPI 读取和写入 API 始终正确设置极性交换。

    以下是 TRF7960A 上2类标签的 ISO14443A 读取块的逻辑捕捉: e2e.ti.com/.../3288.Type2_5F00_Read_5F00_Blocks_5F00_New.logicdata

    您可以使用来自 Saleae 的 Logic 软件查看它: https://www.saleae.com/downloads/

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

    您好 Ralph、

    我对命令使用相同的 SPI 发送功能。 我认为极性的交换应该是可以的。

    selectTag             {0x8F、0x90、0x3D、0x00、0x0F、 0x26}; 和

    防冲突 CMD{0x8F、0x90、0x3D、0x20、0x93、 0x20};正在工作

    我能够读取 UID 的前3个字节(16:38:04:78:7C:7D:3D)、但我没有收到任何应答

    选择 cmd           {0x8F、0x91、0x3D、0x00、0x70、 0x93、0x70、0x88、0x16、0x38、 0x04、0xA2};

    你有其他想法吗?

    BES 此致、

    Michael

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

    您好、Michael、

    我重新检查您的捕获是否正确、您确实正确处理了极性交换。 很抱歉、我对它进行了错误评估。

    将您的捕获数据与我自己的捕获数据进行反复比较... 我唯一能想到的是、RX 之后、您没有0x8F 来清除 FIFO。 我知道 TX 的命令执行0x8F、但在我们的所有软件中、我们在读取 FIFO 后执行独立的0x8F、然后使用0x8F 后跟其余部分来启动 TX 链。

    请尝试添加该内容、看看它是否能解决问题。

    除此之外、我没有看到任何其他不同的东西。

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

    您好 Ralph、

    我在 RX 之后添加了清除 FIFO 命令、但它不能解决问题。
    您捕获的数据似乎是针对 TRF7970A 的。 您能否为 TRF7960A 提供电容?
    我尝试了您的 captua 和 TI 示例中的所有寄存器设置、但问题始终相同。
    请再看一下我的新图片、您可以看到任何错误。
    我不知道如何继续。
    我可以读取任何寄存器以获取错误代码吗?
    您可以通过电话联系您吗?

    此致
    Michaele2e.ti.com/.../INVENTORY_5F00_ISO14443A_5F00_2.zip

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

    您好、Michael、

    明天我将看到有关如何获得正确的捕捉、我以为我有一个用于 TRF7960A 的捕捉、但显然没有。

    错误代码来自 IRQ 状态。

    在我获得新的捕获后、我将直接将其与您自己的捕获进行比较、并查看我可以发现的其他内容。

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

    您好、Michael、

    我不知道为什么 TX 完成仍然缺少 IRQ。 是否可以在传递1毫秒后进行检查以读取 IRQ 状态寄存器以查看是否设置了任何标志?

    此外、您似乎还会写入寄存器0x14和0x18、但这些寄存器在 TRF7960A 上不存在。 怀疑这是一个问题、但我会删除这些问题。

    下面是 TRF7960A 的完整捕获: e2e.ti.com/.../TRF7960A_5F00_Type2_5F00_Read_5F00_Blocks.logicdata

    此外、在波形之间、我注意到、从0x93 0x20得到响应到发送响应、延迟时间大约为4ms、 与我们的示例相比、该示例在命令之间具有低于1ms 的延迟、并在5ms 内完成整个过程。

    尽管如此、我尝试引入延迟并使用 NTAG 213进行测试、但它仍然有效。 我不确定您使用的是什么标签、但在初始化过程中、标签可能超时的可能性很低? 只是一个想法...

    我看到的另一个问题是、您从 RX 上的 FIFO 中获得额外的字节、这可以很容易地解决。 我认为这不是影响 TX、但也应该解决。 请查看: e2e.ti.com/.../5148.TRF7960A-Extra-Bytes-on-RX.pptx

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

    您好 Ralph、
    我在传递1毫秒后添加了一个检查来读取 IRQ 状态寄存器、并且可以看到 TX 标志被置位。
    我已删除所有寄存器设置并添加了测试延迟。
    现在、我的捕获接近您的示例、但我仍然保持相同的步骤。

    我尝试解决了有关额外字节的问题、但迄今为止我无法避免这个问题。 我将 Keil μ µVision 与 CMSIS STM32 SPI 驱动程序搭配使用。

    此致、
    Michael

    e2e.ti.com/.../INVENTORY_5F00_ISO14443A_5F00_3.zip

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

    您好、Michael、

    您能否读出寄存器0x0D 的寄存器内容?

    此外、从硬件角度而言、您是否正在使用 TI EVM? 您尝试读取什么标签?

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

    您好、Ralph、

    寄存器0x0D 的内容为0x3E。 您可以在我的上一个标题中看到它。

    我不使用 TI EVM。 我正在使用具有 STM32控制器和 STM32 CMSIS SPI 驱动程序的 ARM Keil μ µVision EVM。
    我可以 使用相同的硬件和相同 的 SPI 驱动 程序扫描、读取和写入 ISO15693标签、而不会出现任何问题。


    此标签来自 EM Microelectronic (兼容 ISO14443-3A、ISO14443-4A)
    ID:16:38:04:BD:90:7D:3D
    ATQA:0x4100
    SAK:0x20
    ATS:0x057777810200
    最大 接受的帧大小为128
    支持的接收速率:106、212、424、848kbit/s (DR:1、2、4、8)
    支持的传感器:     106、212、424、848kbit/s (DR:1、2、4、8)
    支持不同的发送和接收速率
    SFGT:604,1µs (SFGI:1)
    GWT:77、33 (FWI:8)
    不支持 NAD
    支持 CID
    历史字节:无

    此致、
    Michael

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

    您好、Ralph、

    我们的客户面临 截止日期压力、并要求最快的交货日期。
    我们必须确定问题的优先级。 是否可以与开发人员直接联系?

    此致、
    Michael

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

    您好、Michael、

    [引用用户="Michael Zeug1"]是否可以与开发人员直接联系?

    这些器件由 E2E 提供支持、我是我讨论过的固件解决方案的开发人员。 通常、我们关于使用非 TI MCU 的指南还包括采用我们的现有 NFC 堆栈( 在我们的常见问题解答中有介绍)之一并将其移植到您的 MCU。 我们对非 TI MCU 调试问题的支持有限、因为我们无法在内部重新创建问题。

    我在这里的建议是设置 EVM、以便我们可以验证您的标签、甚至可以与标准 NFC 固件配合使用。 我们的 NFC 堆栈已针对 NFC 论坛标准和器件互操作性进行了测试、因此如果标签不起作用、则可能需要特殊处理。 我不熟悉这些 EM Microelectronic 标签。 如果 TI EVM 证明与标签通信成功、那么我们可以确信根本原因完全是由固件/硬件引起的。

    我建议使用以下 EVM 套件: www.ti.com/.../addBundle2Cart

    说到硬件、因为您不使用 TI EVM ... 您是否能够为您的定制硬件共享原理图? 如果硬件设计有问题、它还可以解释性能问题。 此外、您的器件 VIN 电源电压是多少?

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

    您好 Ralph、

    请从我们的硬件中找到附加的远程信息处理。
    器件的电源电压为5V。

    此标签与 TRF7960A 搭配使用。 我拥有 TI LM3S6965控制器和 TRF7960A 的旧硬件。
    固件基于 Stellaris MIFARE 库的 TI ISO14443A 实施(修订版6459)。
    10岁,但工作正常。

    此致、
    Michael

    e2e.ti.com/.../Inventory_5F00_ISO14443_5F00_LM3S6965.zip

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

    您好、Michael、

    查看原理图、我认为一切都很顺利。 天线匹配对我来说有点不寻常、但如果它达到50欧姆、那就可以了。 从未见过这种拓扑。

    我正在浏览这份文件、了解有关可以执行的操作的想法: https://www.ti.com/lit/pdf/sloa155

    虽然这里没有显示、但在检查 TX 边界时(即使停止条件是并行模式)、我确实注意到您的捕获有一些奇怪的情况。 无论出于何种原因、当 IRQ 停止触发时、尽管最后一个位为"0"、MOSI 仍保持高电平。 我不确定、但考虑到这是如何影响器件的、在"额外 RX 字节"的情况下... 您能否尝试并确保 MOSI 在传输后保持低电平?

    这是一个黑暗中的表、但根据我对器件的使用体验、我可以看到一个表...