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**** 2455560 points
Other Parts Discussed in Thread: RF430FRL152H, MSP-FET

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1045715/rf430frl152h-nfc-not-working---software

器件型号:RF430FRL152H
主题中讨论的其他器件: MSP-FET

大家好、团队、

我的客户正在使用您的 RF430FRL152H 开发小型可穿戴设备。 遗憾的是、NFC 连接无法正常工作、因此代码会出现问题。 在他们将此代码刷写到我们的器件之前、我们能够将其连接到智能手机。 他们浏览了手册和固件、但我们找不到要点、我们仍然缺少或做了错误。 您是否介意查看代码? 在您的论坛中提出此问题也会非常有帮助。  他们希望让系统使用电池运行、因此我们将所有功能都放入 FRAM 中。

e2e.ti.com/.../DA_5F00_ExperimentXXX_2D00_NFC_2D00_Datenuebertragung.zip

此致、

Renan

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

    Renan、您好!

    我需要更详细地检查代码、但从我的快速检查中可以看到 RF13M_ISR 看起来可疑。 它仅包含用于启用电池开关的一行代码。 处理 NFC 通信的代码丢失。

     https://www.ti.com/lit/zip/slac691中包含的 RF430FRL15xH NFC 项目示例代码可能 是此代码开发的良好基准。

    默认固件项目或示例代码包中的传感器集线器固件项目也可以进行电池供电。 也许这些代码示例也可能是一个替代基线。

    此致、

    Andreas。

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

    您好 Andres、

    感谢您检查代码。 对于 RF13M_ISR、它们以 RF430FRL15xH NFC 项目示例代码为导向、其中 ISR 完全为空。 目前、他们不想向阅读器(Android 智能手机)发送特殊值。 他们只想使用 Android 版应用"NFC-Tools"读出存储器。 很明显、有必要在 ISR 中添加行、但当它们使用 EV-Board 并按 RESET 按钮时、器件已经在做正确的事情。

    此致、

    Renan

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

    Renan、您好!

    RF430FRL15xH NFC 项目示例代码中的 ISR 是空的、因为它只是一个占位符、实际上它被 ROM 中更复杂的 ISR 所取代(中断矢量指向 ROM)。

    此外、"空"器件会在首次加电时自动初始化中断向量到 ROM、因此 ROM 固件处于活动状态并允许 NFC 通信(请 参阅《RF430FRL15xH 固件用户指南》、第1.2章:www.ti.com/.../slau603)。 这可能是客户能够在刷写代码之前通过 NFC 进行通信的原因。

    无论如何、我无法合理地调试客户代码、以使 NFC 通信正常工作。 我建议先使用已知的工作示例项目之一作为基准、然后根据需要添加更多功能、从而开始代码开发。

    此致、

    Andreas。

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

    您好、Andreas、

    关于 NFC 功能已在 ROM 中编程的建议已经大有帮助。 感谢您的参与! 他们希望使用该 ROM 函数。
    它们的固件代码(slac691f\RF430FRL15xH_projects_v1_5\RF430FRL15xH NFC projects)在 EVBoard 上成功运行。 遗憾的是、它们只能连接一次。 为了第二次连接、他们必须按下复位按钮。 这样做的原因可能是什么?
    此外、在他们的最终器件上、固件无法或不频繁连接。 在刷写代码之前、与同一器件相比、性能似乎非常差。 因此、问题是:当 TI 提供 RF430FRL152H 时、它上到底有哪一个代码? 是否可以在任何地方访问它? 与设备上的固件进行这种不频繁或不可能的连接的原因是什么?  它们在调试会话中通过 MSP-FET 模块以自由运行模式运行代码。

    此致、

    Renan

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

    Renan、您好!

    我不确定你的意思是"不幸的是、他们只获得一次连接。"

    如果您是指 NFC 连接、则这应始终适用于 NFC 项目示例固件。 我不知道为什么复位后它只能运行一次。

    如果您是指 MSP-FET 的 JTAG 连接、则这与固件相关、固件会更改 IO 引脚配置(无 JTAG 功能)。 相应的代码可在函数"DeviceInit"的前两行中找到。 如果用注释行替换这些行、则 JTAG 连接将保持。

    RF430FRL15xH 由 TI 提供时不包含 FRAM 中的任何代码(全部为0xFFFF)。 只有 ROM 代码可用。 如前所述、ROM 代码在首次加电时自动初始化 FRAM、以支持 ROM 中的 NFC 堆栈。 这意味着、中断矢量被设定为指向相应的 ROM 例程、并且用于控制 ROM FW 的 FRAM 寄存器被初始化。

    ROM 固件源代码未发布。 但在调试会话中可以反汇编和单步执行 ROM 代码。

    ROM 固件或 NFC 项目示例设计为在不访问 MSP-FET 调试会话的情况下运行。 这可能是客户报告的问题的原因。

    此致、

    Andreas。

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

    您好、Andreas、

    感谢您的回答!
    他们已经更改了"DeviceInit"的前两行、以便保留 JTAG、因此必须存在另一个问题。 正如您提到的、NFC 项目示例设计为在不访问 MSP-FET 调试会话的情况下运行、这也许是它们在调试模式下只能连接一次的原因。 他们将尝试让它使用电池运行。

    在此之前、它们将尝试返回代码闪存的状态。 为此、他们只需在所有 FRAM 寄存器中写入0xFFFF? 所有其他寄存器将由 POR 复位?

    此致、
    Renan

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

    Renan、您好!

    通常、连接的 MSP-FET 可能会耦合在噪声中、这可能会导致 ADC 读数不准确或 NFC 性能不佳。 应始终能够建立 MSP-FET 调试连接。 只需注意 IO 电平、因为 RF430FRL15xH 是1.5V 器件、MSP-FET 具有3V 逻辑电平。 因此、客户的可穿戴设备上需要电平转换器。 EVM 已包含这些电平转换器。

    通过向整个用户 FRAM (地址0xF840至0xFFFF)写入0xFFFF、RF430FRL15xH 器件可被复位至制造完成。 下一个上电周期将重新初始化中断矢量和 FW 寄存器。 实际上、只需将0xFFFF 写入复位矢量(地址0xFFFE)即可在下一个下电上电时触发重新初始化、但不受影响的 FRAM 内容将保持不变。

    此致、

    Andreas。

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

    您好!

    我已经听过你的回声了一段时间了,所以我会关闭这条路。 如果您希望继续讨论、请在下面发布包含更新的回复(或创建新主题帖)。

    此致、
    Andreas。