主题中讨论的其他器件:CC2592、 LAUNCHXL-CC1352P、 SMARTRFTM-STUDIO、 SIMPLELINK-2-4GHz-设计评审、 LAUNCHXL-CC26X2R1
大家好、我们有一个基于 CC2652R 的器件、在传输 Zigbee 数据包时遇到问题。 我们将 CC2652R 与 CC2592范围扩展器配对,并使用 SimpleLink CC13x2 26x2 SDK 4.20.1.04。 我们的产品不使用电池电源运行、因此我们的近场电本底噪声不是那么安静。
我们得到了相当多的数据,表明问题是 CSMA 逻辑。 我们的天线非常敏感、我怀疑即使在空闲通道上、正常工作本底噪声也非常接近 CSMA 逻辑的 RSSI 阈值。 由于基线测量的 RSSI 通常超过阈值、因此 CSMA 逻辑会超时尝试发送数据包、结果导致数据包严重丢失。
我遵循链接线程中的建议、更改了 mac_settings.c 中的 RF_cmdIEEERx.ccaRssiThr 值 我没有看到任何行为变化,进一步的调查显示,该字段在初始化之后稍后被堆栈中的其他内容更改。
我还尝试在我的代码中稍后更改 RF_cmdIEEERx.ccaRssiThr 的值,然后调用 macSetupReceiveCmd ()尝试复制 mac_settings.c 中的一些代码 虽然我确实看到我对 RF_cmdIEEERx.ccaRssiThr 的更改是永久性的,但它看起来不像是我的值实际被发送到硬件。
我现在遇到的第一个也是最重要的问题是更改 RF_cmdIEEERx.ccaRssiThr 值的正确方法是什么? 正如我说过的,在 mac_settings.c 中更改它似乎不会粘滞。 是否有方法从硬件读回当前值?
顺便说一下、我还尝试按照另一个线程中的建议更改 macMaxBE、BE 和 macMaxCSMABackbose、这些值也会被覆盖。 实际上、我被困在代码中定期更改它们、堆栈中的其他内容将持续覆盖我的更改。 如果对此有任何深入了解,也将不胜感激。
此致、
中国赠款
WattIQ