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.

[参考译文] RF430FRL152H:NFC 写入命令不再起作用、读取命令仍然起作用

Guru**** 2563960 points
Other Parts Discussed in Thread: RF430FRL152H

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/635884/rf430frl152h-nfc-write-commands-don-t-work-anymore-read-commands-still-do

器件型号:RF430FRL152H

您好!

我正在与 RF430FRL152H 合作、以便通过 NFC (使用三星 S4)控制 I2C 传感器。 PCB 以及应用程序已经完成了对其进行控制。 写入和读取操作直到最近才正常工作:突然、只有读取命令工作(0x20)...

唯一改变的是、我用环氧树脂灌封 PCB、因为我想使其防水。 此操作3小时后、R/W 操作仍正常、但仅读取命令后的一天工作正常。 作为一个精度、写入操作使得 I2C 传感器能够采样。

以下是引发 TagLostException 的应用程序代码段(我使用的是 Android Studio):

字节命令[]=新字节[]{
0x00、
0x21、
(字节) 0、
0x01、//通用控制寄存器
0x00、//固件状态寄存器
0x40、//传感器控制寄存器:温度复位
0x03、//频率控制寄存器
0x01、//通过数寄存器
0x01、//平均值计算寄存器
0x00、//中断控制寄存器
0x00
};

nfcv.trceive (命令); 

是否有人对正在发生的事情有任何想法? 如果环氧对系统产生负面影响、什么也不起作用? 为什么只读命令起作用?  

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

    您好!

    环氧树脂不应产生任何影响。 通常、如果可以读取但不能写入数据、我会怀疑标签上的 NFC 数据块已锁定。 如果您返回 ISO15693错误代码、您可以确定是这种情况、还是发生了一些其他错误。

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

    您好、Ralph、

    感谢您的回答。 您能告诉我哪个寄存器将存储 ISO15693错误代码吗? 我查看的是固件用户指南、但我对查看位置有点困惑...

    问题是我们在封装前后没有发生任何变化、所以我不知道标签的配置是如何单独改变的、因此我突然...  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    读取和写入距离不同-通常、写入距离较短。 您很可能更改了谐振调谐或标签的 Q 值。 尝试更近的距离或更高功率的读取器来确认或检查感应器电路的谐振/ Q 值(灌电流之前和之后)-灌电流可能/将会产生影响、具体取决于它所用的材料、 尤其是当您从高侧线圈的 Q 值开始时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Josh 的输入、他认为封装不会对标签天线产生太大的影响。

    关于错误代码的问题、您需要在读取器端而不是标签端找到它 这将由 ROM 中的射频堆栈发送、因此 RF430FRL 器件上运行的应用无法看到。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们已经深入研究了这个问题、并从环氧中提取了 I2C 线路。 我们可以编写命令。  由于某种暗的原因、SCL 线路正常运行、但 SDA 线路未发送正确的地址。 它只发送零而不是0xA0…… :(我们通过 NFC 再次注入了代码,没有观察到任何改进…… 另一个非常奇怪的现象是、当 PCB 不执行任何操作时、它的电流消耗为0.1mA! 我尝试通过 NFC 写入通用控制寄存器来强制 LPM4模式、但它没有任何作用。 当我启动采样(仅使用 TRF790)时、消耗会达到1mA 并保持在那里! 当我将 TRF790天线靠近 PCB 的天线时、电流会降至0.5mA。 我一点也不知道发生了什么...

    编辑:让我确切地说,一周前一切都很完美... :(

    EDIT2:我运行了一些辅助测试。 我通过 JTAG 向运行正常的评估板注入了相同的代码。 我们的 PCB 没有 JTAG 连接、因此我们使用 TRF7970和 TI 提供的软件(采用.txt 文件)通过 NFC 注入代码。 是否有可能这样不正确地注入代码? 这将解释很多事情... 例如、SDA 线仅发送零...

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

    通过 NFC 将代码上传到器件中时使用的写入命令与您遇到问题时使用的相同、因此您可能无法再向器件写入代码。 如果由于 NFC 写入而导致矢量表中的某些内容损坏、则可能会导致问题、尽管我没有听说过读取命令在这种情况下起作用的情况。 该问题可能只是与硬件相关、与标签调优等相关。 如果您可以恢复写入功能、则可以再次对其进行编程。

    我认为我们以前没有看到过强制 SDA 保持低电平、但我们也从未在这种情况下测试过 I2C 线路、因此我不确定它是否相关。 这可能是另一个问题、但如果这表明出现了问题、则灌封过程会执行导致其保持低电平的操作、或者应用程序会破坏某种程度的操作。

    如果您无法通过 NFC 写入器件、或通过 JTAG 对其进行调试、则如果存在任何软件问题、您将无法修复。 因此、我强烈建议在 NFC 停止工作(例如、由于矢量表损坏)的情况下、仍将 JTAG 用作紧急选项。