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.

[参考译文] CC1352R:如果收集器丢失、则重新加入。 15.4 stack、即跳频模式。

Guru**** 2391415 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1359763/cc1352r-rejoin-in-the-event-of-collector-loss-15-4-stack-frequency-hopping-mode

器件型号:CC1352R

场景如下:

我们的器件需要承受一段时间收集器断电、可能是由于功率损耗导致数小时或数天。 这些器件需要在合理的时间内重新加入收集器、并且需要避免停机期间耗尽电池电量。

问题:

现有的示例工程不满足这一需求。 传感器示例将不断尝试重新加入、RX 持续在10mA 上开启。 显然、这并不是很好、导致我们的系统在大约5-6天内耗尽电池。

我已经修改了示例、通过关闭 PA 和 PCS 计时器并在尝试加入一分钟后将 RX 设置为 IDLE 关闭来暂停传感器。 然后、我的算法尝试通过以一定的间隔向传感器应用程序任务发送 SENSOR_START_EVENT 来重新加入、先短一点(几分钟)、然后越长越长、中断持续下去。

我注意到、下电上电后的初始重新加入非常快、不到一分钟、而且非常可靠。 稍后触发的重新联接可靠性要低得多、失败时间大约只有一半、并且所需时间更长。

我检测了代码、希望看看在下电上电后首次重新加入时与稍后触发时的情况是否有差异、而且我看不到任何明显的结果。 您有什么建议可供查找?

另一个问题是、是否有更好的方法来满足我的需求?

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

    你好、Joshua、

    这将归结为电池寿命和延迟之间的平衡... 如果您经常尝试重新加入、您将获得良好的延迟、但可能会耗尽电池电量。 如果您再也不做尝试、那么收集器可用和传感器连接之间会有很长的延迟、但传感器会节省电池...

    您说的是首次加入还是重新加入?

    您是使用孤立模式还是将其删除?

    谢谢、

    M·H

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

    尊敬的 Marie:

    第一次加入时、在~20秒内就能很好、很可靠地加入。 同样、下电上电后、我可以在重新加入时获得类似的性能。

    但是、如果我通过执行以下操作暂停加入:
    SSF_setPollClock (0);

    使用以下器件在空闲时打开 Rx:
    ApiMac_mlmeSetReqBool (ApiMac_attribute_RxOnWhenIdle、false);

    并关闭涓流计时器:

    SSF_setTrickleClock (0、ApiMac_wisunAsyncFrame_advertisementSolcilic);
    SSF_setTrickleClock (0、ApiMac_wisunAsyncFrame_configSolcilic);

    然后、我等待一段时间、让收集器的故障清除(电源故障是我们可能遇到的情况)、然后通过发送 SENSOR_START_EVT 再次开始重新结合。与下电上电后的首次重新结合相比、这种重新结合的性能明显更慢、可靠性更低、通常需要一分钟以上、成功率约为50%。

    是否有其他一些我需要改变的定时器或配置旋钮来提高性能?

    此致、

    约什

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

    澄清说明:

    我们实际上不使用孤立模式、不管怎样、在 FH 模式下似乎并没有太多作用。

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

    你好、Joshua、

    感谢您提供更多信息。

    我将与软件设计人员讨论、但很遗憾、下周晚些时候我将无法与您联系。

    谢谢、

    M·H

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

    你好,Joshua。

    是否 在发送 sensor_start_evt 之前将 ApiMac_attribute_RxOnWhenIdle 设置为 True  ?

    谢谢、

    M·H

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

    Marie、

    我不是,但似乎没有必要这样做,因为它是在 Jdlc_rejunge()中完成的。

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

    你好、Joshua、

    好的、我明白了。 我想您要等到加入/重新加入流程完成后才能再次打开睡眠模式。

    谢谢、

    M·H

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

    正确、虽然我实际上没有进行任何修改来实现该目的、但堆栈已经执行了该操作。

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

    你好、Joshua、

    您正在使用哪个 PHY 和通道?

    谢谢、

    M·H

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

    200kbit/s、跳频模式、900 MHz 频段。

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

    你好、Joshua、

    好的、它听起来不像频率漂移。

    我不知道如何进一步帮助您。 如果您可以制作一个尽可能简单且靠近 SDK 的测试用例、以便我始终在这里重现您的问题、那么我可能可以对其进行调试。  

    谢谢、

    M·H