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:NDEF 标准与短记录支持

Guru**** 2390755 points
Other Parts Discussed in Thread: RF430CL331H, TRF7970A

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/632496/trf7970a-ndef-standard-vs-short-record-support

器件型号:TRF7970A
主题中讨论的其他器件:RF430CL331H

大家好、

查看 TI NFC 堆栈的源代码、看起来支持 NDEF 简短记录。  但是、看起来不支持 NDEF 标准记录。  这是正确的评估吗?

此致、
Robert

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

    我认为我不理解您所谓的"NDEF 标准记录"。 您能澄清一下吗?

    短记录是定义的两种文本记录格式之一、另一种是长记录。 然后、除了文本记录之外、还有其他内容、例如 URI、V-Card、MIME 等 但在这些记录中、我不记得任何被定义为"标准记录"的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要使用您的术语、我的意思是记录很长。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、

    NDEF 状态机已支持读取长记录。 固件中出现的任何限制都是由于 GUI 不会显示该信息且写入功能受限。 但当与 TI NFC 工具 GUI v1.8连接时、数据通过 USB 发送并存储在 PC 上的.hex 文件中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    请详细说明如何支持 NDEF 长记录。

    1) 1)从我可以看到的内容中、分配了一个256字节的缓冲区来发送和接收 NDEF 文件。 当标签中的 NDEF 记录大于256字节时会发生什么情况?

    2) 2)它看起来像是 NDEF 记录没有被检查以获得长记录或短记录。 似乎是由用户(例如、我)来解析任何传入的 NDEF 记录以显示长记录或短记录状态。 是这样吗?

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

    您好、Robert、

    256字节缓冲区用于存储读出的消息部分。 该部分应保存在其他地方、或通过 USB/UART 等发送到可以存储/处理它的内容。

    基于我们配置的 NFC 状态机作为一个整体仅支持256字节(uint8_t 用于整个帧的大小参数)每次传输的最大数据包大小。 因此、要读取超过256字节的更多数据、您可以执行此操作、但不能在单个 NFC 读取命令中执行此操作。 相反、例如、要读出2500字节的消息、可以使用10个命令来读出每个命令250字节。 在每条命令之后、数据应该被存储在用于 NFC 的缓冲区之外、但是最后、你将拥有全部2500字节。

    对于问题2)、这是正确的、NFC 堆栈不关心它是长记录还是短记录。 这是特定于应用/用户的主题。 对于我们使用 GUI 的演示、示例也适用于短记录-尽管可以读取长记录并将其发送到 GUI、并且这些记录会存储在.hex 文件中。

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

    假设我知道我将获得的最大 NDEF 记录是1k。 如果我们要将缓冲区的大小从256更改为1024、这是否足以让 NFC 堆栈完全处理此消息、我们不必添加其他代码来缓冲更多的消息??

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

    您是否在应用端(T4T 状态机)讨论要执行4-5次读取命令并将数据存储在 MCU 端的单个缓冲器中? 或者、您是否希望使用单个读取命令读取1024字节?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我希望从1024字节的标签接收 NDEF 记录。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、

    我目前不在办公室、我需要先调查 NDEF 规格、然后再向您提供关于这方面的可能或不可能以及需要进行哪些更改的完整答复。

    尽管如此、我可以说您将对 TRF79xxA 驱动器进行非常复杂和重要的更改、因为您需要将整个驱动器从8字节数据消息长度更改为16字节数据消息长度。 这不是一个微不足道的变化、可能需要大量的开发时间。

    在我们对 NDEF 应用程序的所有测试中、我们测试的所有供应商的每次读取最大消息大小为255、因此我们也是这样做的原因。 如果该规范允许更多的内容以及更多的内容、我需要在本周晚些时候回来时进行调查、 但是、即使在规格级别上是可行的、我们也没有根据行业的常见趋势来设计驱动器来处理这种情况、因此、进行这种更改将是一项艰巨的任务。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、

    因此、在最佳情况下、您将尝试使用单个命令读出1024个字节、 但 RF430CL331H 仍会一次以255或256字节的块发送数据(据我所知、开销字节包含在其中)、直到发送完所有1024字节。 在此过程中、将使用链接位、来自读取器的 ACK 将提示下一次数据传输。 因此、数据包之间仍会有开销。 堆栈实际上应该已经支持这种消息传递、您只需要让应用层准备好一个缓冲区、以便复制每个数据包接收到的数据。

    由于 RF430CL331H 每次在一个无线数据包中发送的字节不能超过这个字节、因此无法解决字节限制问题、这意味着没有理由修改 TRF7970A 驱动器。