发出 接收器增益调节命令(0x1A)的正确步骤是什么? TRF7970A 手册(SLOS743K)说、 当 MCU 确定没有标签响应以及 RF 和接收器打开时、应该执行该命令。 但是、之后似乎表明芯片在可能的几百毫秒内执行增益调整。
- 发出命令后需要做什么? 在一段时间内、我肯定不会发送任何命令(例如 WUPA)吗?
- 如何知道接收器增益调整何时完成?
谢谢、
AJ
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.
你好、AJ、
我们已从上一版本的数据表中删除了接收器增益调整、因为它不是用于生产的功能: http://www.ti.com/lit/ds/symlink/trf7970a.pdf
在大规模生产的系统中、没有实际应用。
这很有趣、因为发出此命令是我在嘈杂环境中可靠地接收数据的唯一方法。 如果我不应该这么做、那么我不知道还有什么要做-应该手动设置 RX 特别设置寄存器(0x0A)中的 B2和 B3吗?
作为背景、我构建了一个具有配置为 RFID/ISO14443a 模式的 TRF7970A 的电路板、以从运行 Google Pay 或 Apple Pay 的移动设备接收信用卡数据。 只要只有一个 TRF7970A 板和一个移动设备彼此靠近(接近12英寸)、它就能可靠地工作。 但是、如果我将第二块 TRF7970A 板带到第一块附近、这两块板定期发送 ISO14443a WUPA 命令、那么在两块板上、我开始看到从 FIFO 接收到的垃圾字节。 我之所以将这些垃圾字节称为垃圾字节、是因为它们比任一电路板传输的字节多得多。 此外、我发现、如果 我在得到这个垃圾后重新检查芯片状态控制寄存器(0x00)、那么寄存器的值与我最初设置的值有很大不同。 我将其重置为正确的值、但此后不久、我发现它再次发生了变化。
通过试用和错误、我最终发现 在初始化后调用接收器增益调整(0x1A)命令可以解决此问题-我不会得到无用字节、 现在、我可以从 Google Pay 在一个电路板上正确读取数据、即使附近有另一个 TRF7970A 电路板也是如此。 因此、我的上述原始问题是为了确认该命令的正确使用、因为它对我来说似乎有了很大的改进、所以我很惊讶地听到您说不需要这个命令。
如果我不应该使用此命令、那么我猜测 使用 RX 特别设置寄存器(0x0A)中的增益降低设置是替代方法、但我不确定设置这些位的正确过程。 您能为我描述一下吗? 我应该从最大增益开始、然后仅在遇到问题时才进行降压? 或者、只需找到在所有情况下最适合我的增益设置、并坚持这样做即可?
最后、您能否告诉我测试寄存器(0x1A)中的 B0 Test_AGC 是什么以及我将如何使用它?
谢谢、
AJ
你好、AJ、
好的、那么您事先知道、TRF7970A 将无法通过 EVMCo 测试。 两个单独的勘误项 Device#B01和 Device#B06披露了芯片问题会导致 EMVco 测试失败。 器件#B01尤其糟糕、因为它通常会阻止所有 ISO14443A 测试运行、因为每次测试通常都会检查位持续时间。 完整的勘误表可在以下位置找到: http://www.ti.com/lit/er/sloz011b/sloz011b.pdf
现在、关于您所描述的问题、我很惊讶接收器增益调整对这一点有所帮助-这将是一个新的用例、但这不是我们已经测试过的、我无法说它在现场的可靠性如何。
通常、在 TRF7970A 范围内检测到另一个射频场的情况应被视为器件在另一个读取器离开附近之前不会重新打开其场的情况。
我们的 NFC 堆栈会在轮询周期之前检查外部射频场、以避免射频冲突。
虽然您可以最大限度地降低接收器增益以避免出现问题、但这不是我要用的语言。 总体而言、该器件的设计初衷是尝试忽略附近的射频场、同时仍与标签进行通信。 由于有源 P2P 的工作方式、它实际上希望能够更精确地检测外部字段、因此通用器件的操作始终是检测外部射频字段、然后进入正确的响应模式(卡仿真、等待字段离开、活动 P2P 模式、 等)
好的、感谢您对 EMV 认证问题的反馈。 我已经看到了勘误表、但没有意识到这对于认证来说是致命的。
关于你的其余评论,我还有几个问题:
非常感谢、
AJ
[引用用户="AJ Johnson37"]
[引用用户="AJ Johnson37"]
[引用用户="AJ Johnson37"]
[引用用户="AJ Johnson37"]
[引用用户="AJ Johnson37"]
AGC 是我们推出的另一项功能-它用于自动增益控制。 使用 AGC、我们既没有明显的性能改进、也没有发现性能下降。 不过、如果您想更深入地了解、旧 D/S 中有一些子句。
是的、当我完全分离两个板时、芯片状态寄存器损坏的问题就会停止。 当我将它们重新组合在一起时、它在两个板上再次开始发生。 电路板由同一个壁式插座供电,但每个电路板都有自己的 AC->DC 变压器。 两者都未连接到 PC。
我本身没有线路信号分析器、但我将示波器连接到了连接到 TRF7970A 的 MOSI 和 SS 引脚、我在那里看不到任何我无法解释的内容。 我的板还具有触摸显示屏、可与 TRF7970A 共享 SPI 总线。 我知道 TRF7970A 在未选择 MISO 线路时不会对其进行三态处理、但该线路不会与显示屏共享(我们只对显示屏进行写操作;不对显示屏进行读回操作)、因此我认为这不是问题。 主 CPU 还具有一个 WiFi 模块、因此该区域有大量其他射频、但我不会看到这种损坏、除非一个板靠近另一个板、而另一个板也使用其 TRF7970A。 因此、我倾向于认为它不是来自 SPI 线路、而是通过 TRF7970A 接收器输入。
无论如何、在轮询之前定期发出接收器增益命令、等待500ms、然后发送 WUPA 命令似乎有了很大的改进、并使我达到了所需的性能水平。 因此、我希望能够准确地了解正在发生的情况、我想我将把它留在那里、然后继续讨论其他事情。
非常感谢本周的快速回答、他们非常乐于助人。
AJ
我的电路板上没有任何三态。 TRF7970A 和 LCD 之间唯一共用的引脚是 MOSI 线路、此线路将从我的 MCU 发送到另外两个器件的数据传送到另外两个器件。 除非我缺少某些东西、否则我不会认为我们需要在这条线路上使用三态、因为所有从器件都只是侦听-换句话说、它们的输入引脚已经是高阻抗。
另一方面、我本来希望(并理解 SLOA159A 第7.1项的意思)当 SS 为高电平时、TRF7970A (I/O_6)的 MISO 输出引脚不会变为高阻抗。 这通常需要一个三态、但在我的电路板上、由于 LCD 不向我发送任何数据、所以这条线实际上不会与 LCD 共享。 换句话说、我不需要三态、因为没有其他器件尝试使用该线路;TRF7970A 是唯一的所有者。
当我与 TRF7970A 通信时、我只设置 TRF7970A 上的 SS (I/O_4)引脚。 当我与 LCD 通信时、TRF7970A 上的这个从器件选择信号一直为高电平、所以 TRF7970A 应该忽略我发送的任何内容。 不是这样吗?
谢谢、
AJ