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.

[参考译文] LAUNCHXL-CC1312R1:有关部分 RX 数据的问题

Guru**** 2548020 points
Other Parts Discussed in Thread: CC1200, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1038667/launchxl-cc1312r1-question-about-partial-rx-data

器件型号:LAUNCHXL-CC1312R1
Thread 中讨论的其他器件:CC1200SysConfig

我正在尝试将 CC1200应用移植到 CC131。  此应用需要尽可能实时访问 RX 数据。  我本来希望使用 部分读取 RX 条目来实现这一目的、但我想知道此功能是否存在限制。  例如、在 CC1200上、我只需将 RX FIFO 阈值设置为2个字节、这样每2个 RXD 字节我就可以处理数据、而不是实时的、而是仅处理2字节的滞后时间。  在启用了部分数据且 CONFIG.irqIntv = 1的 CC131上、我希望能够逐字节访问数据。  但是、我注意到 RF_EventNDataWritten IRQ 的发生速度不是很快、我们使用的符号速率略高于100k、因此每个字节的时间大约应为80us 左右、加上处理延迟高达100us、以确保安全、 我本来希望  每100us 左右使用一次 RF_EventNDataWritten IRQ、但正如附加的捕捉所示、IRQ 之间的时间为~450us、中断之间大约为4或5字节时间。

我将以下链接用于部分读取实现、IRQ 间隔更改为1。

e2e.ti.com/.../2542723

感谢您对此问题的任何意见。

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

    我只是想传递更新、我确实确认每6个字节进行一次回调。  任何小于6字节的 config.irqIntv 设置都具有相同的行为、它在中断之间扩展到6字节。  我想知道是否有方法可以使它的运行速度更快一些。

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

    您好 Jeffrey、

    很抱歉耽误你的时间、我已将此主题分配给了其他人。 他们应尽快与您联系。  

    BR、
    安德烈斯

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

    以突发方式写入 RX 缓冲器、如果写入多个字节、您仍然只能获得一个 IRQ_RX_N_DATA_WRED。

    例如、设置 irqIntv =4只能保证 RX 条目中至少接收到4个字节、而不是每4个字节就有一个中断。

    Siri

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

    我可以理解这一点、但我的问题是、是否有方法可以更快地传递字节?  在 CC1200上、我可以每150us 获得一个符号速率上的字节、但在 CC1312上、我能够获得数据的最佳时间间隔是450us、这似乎有点违反直觉、因为我们可以直接访问射频内核。  是否有补丁或射频驱动程序库变更、可实现与 CC1200同等的数据传输?

    我可以理解、这是一个非标准请求、对于上下文、我们的应用程序跃点非常快 (每隔几毫秒)、任何增加的延迟都意味着每跳的数据更少。   只是想知道 是否可以减少该延迟。

    谢谢、

    Jeff

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

    你(们)好,Jeff

    我刚刚从研发部门了解到、我们有一个"秘密"覆盖项、它可能会为您提供您想要的:

    尝试将其添加到覆盖列表中:

    0x000082C3

    我进行了一项测试、在该测试中、我将 CC1312配置为100kbps 并使用了部分读取条目。 irqIntv = 1

    然后、我每80秒就会有一个中断。

    请注意、如果您使用高级 RX 功能、并且标头大于1字节、则在您获得第一个中断之前、完整标头将被写入为突发。 CRC 也是如此。 如果您有一个2字节长的 CRC、则在您获得中断之前、两个字节都将以一个突发方式写入。 对于其余的数据包、中断将在每个字节之后出现。

    要通过 SysConfig 修改覆盖列表、您可以执行以下操作:

    并向您的项目中添加一个名为 customOverrides.h 的字段、该字段应如下所示:

    #ifndef _CUSTOM_OVERRIDES_H_
    #define _CUSTOM_OVERRIDES_H_
    
    #define CUSTOM_OVERRIDES()\
        (uint32_t)0x000082C3
    
    #endif // _CUSTOM_OVERRIDES_H_

    BR

    Siri

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

    非常感谢、这确实达到了目的!