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.

[参考译文] CC1200:CC1200无限模式 FIFO

Guru**** 2522770 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/980759/cc1200-cc1200-infinite-mode-fifo

器件型号:CC1200

你(们)好

我很难理解 swrc253e 中用于无限模式传输的代码。 具体而言,在文件“cc112x_infinal_packet_length_mode_tx.c”中,我们有值为122的#define available bytes_in_tx_FIFO。 旁边的注释为"当 IOCFGx = 0x02且 FIFO_THR = 120时、可以向 TX_FIFO 写入的字节数"。 我不理解这一点。

此注释中的这一含义是,“Available bytes_in_TX_FIFO”是编程到 FIFO_THR 中的值,增加了“+”2,我不知道“+2”来自哪里。 在我看来、这意味着如果我们要使用值127对 FIFO_THR 进行编程、那么我们可以向 FIFO 写入129个字节、但这对我来说是没有意义的、因为 FIFO 只有128个字节长?

希望有人可以解释。

谢谢

David

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

    尊敬的 David:

    我想您会误解"+2"在这方面的含义。 这些添加是为了构成元数据、您无法使用它们。

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

    感谢您的快速响应,但我不确定您的“元数据”是什么意思,因此请您在此基础上进行扩展。

    通过查看函数 txFifoBelowThresholdISR(),我可以看到代码行:

     cc112xSpiWriteTxFifo (pBufferIndex、可用字节_in_TX_FIFO);

    对我来说,这仍然意味着可用的 bytes_in_TX_FIFO 用于控制每次触发“TXFIFO_THR”中断时我们写入 FIFO 中的数据量。 因此,我仍然不明白。 如果出于某种原因,我们将 FIFO_THR 设置为127,则可用的 Bytes_in_TX_FIFO 将为129,大于128字节 FIFO? 因此,将 Available Bytes_in_TX_FIFO 设置为“TXFIFO_THR + 2”似乎是错误的。

    (对 cc112xSpiWriteTxFifo 的描述表明第二个参数是要写入的数据长度)

     David

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

    请访问 https://e2e.ti.com/support/wireless-connectivity/other-wireless/f/667/t/294064?CC1200-FIFO-mode-infinite-packet-length、我相信这里已经介绍了这一点。  

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

    再次感谢您的回答。 在您提到我的帖子中,原始海报询问在无限接收模式和 RXFIFO 上添加的“+2”。 此处、总数据长度增加了+2、以适应可选附加且不通过无线传输的各种状态字段。

    我认为我的问题不同、因为我要问的是 TX FIFO。 具体而言,我想问为什么示例代码似乎建议每次写入 FIFO 时,在接近无限模式结束之前,我们会向 FIFO 发送另外两个字节? 我还在问、为什么代码建议如果我们的 FIFO_THR 为127、则意味着我们将向128字节 FIFO 发送129字节。 这是我难以理解的部分。

    David

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

    从用户指南的表26中、您将看到 FIFO_THR = 120对应于 TX FIFO 中的7个字节;即 TX FIFO 阈值为7个字节。

    根据中断说明:“当 TX FIFO 的电量耗尽到同一阈值以下时失效”(TX FIFO 阈值,即7)

    这意味着 ISR 在 TX FIFO 被释放到7个字节以下时运行、因此 FIFO 中现在剩余6个字节。 由于 FIFO 为128字节、现在有空间向 FIFO 写入122字节。

    BR

    Siri

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

    谢谢 Siri——这是非常有意义的。 现在我了解了。