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.

[参考译文] CC1352P:如何正常关闭15.4网络中的收集器?

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1426841/cc1352p-how-to-gracefully-shut-down-collector-in-a-15-4-network

器件型号:CC1352P

工具与软件:

您好!

我们在现场测试期间观察到的一些异常行为似乎是由损坏的 NVS 引起的。 在一种情况下、由一个集电极和5个传感器节点组成的网络在断电前运行良好。 在附近的其他房间通电后、全部5个传感器节点无法重新加入网络。 在清除收集器 NVS 中的所有项目并从头开始启动网络后、所有5个传感器节点都能够立即加入网络。 在前面的线程中、我们还观察到传感器可以加入网络但无法发送或接收应用层数据的其他奇怪行为。 这种行为似乎只能通过 NVS 损坏来解释、NVS 损坏导致收集器使用与传感器节点上的参数不匹配的参数重新启动网络。

那么、我的问题是、我们如何平稳地关闭收集器? 我想我们可以添加一个大电容器、一旦集电极感应到断电、就会立即将 RAM 中的变量保存到 NVS 中、如以下数组:

// collector.c
/* Association table */
Cllc_associated_devices_t Cllc_associatedDevList[CONFIG_MAX_DEVICES];

TI 的专家能否就如何实现这一目标提供一些建议?

谢谢!

ZL

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

    尊敬的 ZL:

    非常感谢您回答这个问题!

    您能详细说明一下如何关闭网络吗?

    只需从电源断开器件并重新连接、便可实现传感器节点重新连接、而不会出现任何问题。 还可以启用完整性检查、这将允许您检查活动分区上是否存在任何检测到的损坏。


    您是否对代码进行了任何会干扰 NVS 写入的更改?

    此致、

    Simeon Aleksandrov

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

    你好、 Aleksandrov 先生、

    感谢您的答复。

    我们关闭 CC1352P 无线电的方法类似于机械断开电源。 这并不总是会导致问题。 如果在新的传感器节点加入网络后不久(<~20分钟)收集器断电、则更频繁地发生这种情况。

    我们对代码的 NVS 部分所做的唯一更改是、我们尝试先读取现有项的内容、并且只有在新内容发生更改后才实际将新内容写入 NVS。

    我怀疑 CC1352P 突然关闭时 NVS 损坏、或者 RAM 中类似以下内容未保存到 NVS 中。

    您提到了完整性检查。 我们如何实现它?

    此致!

    ZL

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

    尊敬的 ZL:

    您可以通过启用 enable_sanity_check 定义(位于 nvocmp.c 中)来执行完整性检查

    启用后、您可以运行 NVOCMP_SANITYCheckApi()函数、该函数将检查活动分区上是否检测到任何损坏。

    通常、每当传感器节点加入更改时、在 RAM 和 NVS 中写入更改、应该不会花费20分钟的时间。 在断电并重新启动的情况下、将调用 processStartEvent()、这将重新启动网络。 您描述问题的方式似乎是使用自定义硬件。 链接控制器可能不直接进入 startEvent。

    您可以介意检查是否可以使用 TI LaunchPad 重现此问题吗?

    此致!

    Simeon

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

    尊敬的 ZL:

    如果您能够解决您的问题、请与我们分享吗?

    此致、

    Simeon

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

    你好、 Aleksandrov 先生、

    我们仅使用我们自己的定制电路板观察到了这些奇怪的行为、因为这些 CC1352P 无线电可用作网络处理器。 在这种情况下、很难使用 LaunchPad 进行测试。 但我怀疑这个定制的板本身是问题的原因。 很可能这仍是固件问题。

    我将看看 SDK 的下一次更新是否有用、目前我们将坚持我们提出的工作。

    谢谢!

    ZL