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.

[参考译文] CC1312R:未睡眠的设备无法断开与网络的连接

Guru**** 2769425 points

Other Parts Discussed in Thread: CC1312R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1604920/cc1312r-non-sleeping-devices-cannot-disconnect-from-the-network

器件型号: CC1312R

嗨、大家好:


我使用 CC1312R 开发板
我尝试了 SDK 版本  simplelink_cc13xx_cc26xx_sdk_7_10_02_23 simplelink_cc13xx_cc26xx_sdk_8_31_00_11

它使用 15.4 堆栈

遇到以下问题:
将传感器正常连接到收集器、并断开与收集器的电源;睡眠设备正常进入隔离模式、但非睡眠设备不会进入隔离模式、并将继续照常向收集器发送数据。 这是什么原因? 应如何解决?

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

    您好、Faker、

    您使用什么模式? 非信标、信标、跳频?

    我刚刚进行了快速测试、一个传感器处于休眠状态、另一个传感器处于非休眠状态。 当我断开收集器的连接时、这两个都成为孤儿。 您是否有任何日志或屏幕截图可帮助我了解问题? 您能否提供监听器日志?

    此致、

    Daniel

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

    您好、Faker、

    谢谢、我将在星期一上了解一下这些器件。

    此致、

    Daniel

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

    您好  Daniel:


    今天,我进行了一个实验,详细如下:

    A.配置:
    1. config_reporting_interval:60000
    2. config_orphan_backoff_interval:10000

    b.图像内容说明:
    1.该图显示了两个器件的 UART 日志输出。
    左侧是一个非睡眠器件 (IEEE 地址:00:12:4b:00:2e:bf:87:21)、称为器件 A
    右侧是睡眠设备 (IEEE 地址:00:12:4b:00:2e:bf:85:99)、称为设备 B

    C.观察到的现象:
    1.我在 15:24:05 断开集电极的电源。
    2.器件 B 在 15:24:12 打印其第一个孤立通知(需要 7 秒,在 CONFIG_OLONAN_BACKOFF_INTERVAL 的范围内)。
    3、设备 A 在 15 时 25 分 32 分继续向收集器发送数据,然后再打印其第一个孤立通知,需要 1 分 27 秒。
    4、根据 Wireshark 日志时间戳、设备 B 在 08:13:56 开始其第一个孤立通知、而设备 A 在 08:15:16 开始其第一个孤立通知(比设备 A 的第一个孤立通知晚 1 分钟 20 秒、该通知与我 UART 日志中的分析保持一致)。




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

    您好、Faker、

    我使用默认配置(3 秒报告间隔、2 秒轮询间隔)进行了更多测试。 休眠和非休眠设备之间存在差异的原因是、它们通过不同的路径成为孤儿。 当收集器未针对数据请求确认消息后、非休眠节点变为孤立状态;而当轮询请求不是确认时、休眠节点变为孤立状态 此外、在重试过程中轮询间隔减少到 500ms (JDLC_RETRY_POLL)。

    是否需要同时使用非休眠和休眠设备在精确的时间超时?

    此致、

    Daniel

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

    您好  Daniel:

    如果可能、我希望非睡眠设备和睡眠设备可以有相同的超时时间

    这对我们的业务更友好

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

    您好、Faker、

    让我提供前两个更详细的日志、解释正在发生的情况:

    1.休眠状态:

    • 传感器 每 60 秒唤醒一次并向收集器报告一次 (CONFIG_REPORT_INTERVAL)
    • 传感器 每 60 秒唤醒一次并轮询一次来自收集器的数据 (CONFIG_POLLING_INTERVAL)。 对于休眠器件、这是收集器与传感器通信的唯一方式、因为收集器不知道器件何时在 RX 上处于唤醒状态。 因此、它是传感器、它请求挂起数据。
    • 从收集器到传感器的跟踪更新每 120 秒 (tracking_delay_time) 进行一次、该更新在轮询请求期间收集。
    • 每次通信尝试失败时、dataFailure 计数器都会增加 1。 一旦传感器达到 5 次尝试 (CONFIG_MAX_DATA_FAILURE)、该传感器就会变成孤立的。 注意传感器正在发送 两者可兼得 轮询和报告请求。
    • 请注意图像上的数据故障如何因轮询和报告请求失败而增加。

    2.非休眠

    • 传感器每 60 秒向收集器报告一次 (CONFIG_REPORT_INTERVAL)
    • 传感器 不进行轮询、因为它始终处于开启状态、并且在 RX 上、收集器可以随时发送数据。
    • 从收集器到传感器的跟踪更新每 120 秒 (tracking_delay_time) 进行一次。
    • 每次通信尝试失败时、dataFailure 计数器都会增加 1。 一旦传感器达到 5 次尝试 (CONFIG_MAX_DATA_FAILURE)、该传感器就会变成孤立的。 注意传感器正在发送  系统 报告请求。
    • 请注意图像上的数据故障率是如何因仅报告请求失败而增加的。

    这意味着休眠器件与收集器进行通信的次数是非休眠器件与收集器进行通信的两倍(如果 REPORT_INTERVAL = POLLING_INTERVAL)、因为它正在发送轮询请求。 因此、在收集器关闭时、休眠传感器将在更短的时间内达到消息的最大故障、因此在非休眠之前成为孤立的。

    希望这将帮助您了解网络上的内容。 但是我不知道您的要求或应用。 我可以将以下建议视为:

    • 减少 非休眠器件的 CONFIG_MAX_DATA_FAILS(例如 3 个)。
    •  在非休眠设备上以休眠设备轮询数据的相同频率实施检测信号机制。  

    此致、

    Daniel