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.

[参考译文] CC2652RSIP:BDB 报告危害睡眠模式?

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1134659/cc2652rsip-bdb-reporting-compromise-sleep-mode

器件型号:CC2652RSIP
主题中讨论的其他器件:TDC1000TDC7200Z-STACK

大家好、

我正在尝试实现一种解决方案、在该解决方案中、定制板(用作终端设备)与 LP-CC2652 (用作协调器)进行通信。 终端器件应定期发送一些通过 TDC1000和 TDC7200进行的测量。 我从 SimpleLink CC13xx CC26xx SDK 6.20.00.29版的示例代码(zed_temperaturesensor)开始。 一切都运行良好、但我无法达到所需的摘要:我的目标是进行一些测量、向协调器发送数据(感谢 bdb 报告属性)、进入睡眠模式、唤醒并重复循环。 但是、在睡眠模式间隔期间(例如100s)、消耗量 为~400uA、但周期性(~10s)增加至 ~1.5mA。

预先错误地说:

  • 我检查了自定义硬件是否没有 可导致此消耗增加的组件
  • tdc1000和 tdc7200在进入睡眠模式之前关闭、并且所有 GPIO 也被禁用
  • 在睡眠期间不执行自定义函数

我的问题是:

  • bdb 报告能否防止进入睡眠模式并导致这种异常消耗、同时在 睡眠期间发送数据?
  • 是否有办法确保仅在函数调用(Zstackapi_BdbRepChangedAttrValueReq)后报告属性?

提前感谢

此致

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

    您好、Frederico、

    BDB 报告不太可能会阻止 SimpleLink 器件上的睡眠模式。    µA 评估 gpiostandby 和 zed_temperaturesensor 示例、以确认您能够使用定制板实现数据表中指定的~1 μ A。  您还可以与 LaunchPad 进行比较、以确保您的测量系统和工具准确无误。  评估 Z-Stack 示例时、请确保 定义了 CUI_DISABLE 并删除了 Board_display_use_UART、以便充分利用节能的优势、请参阅 《Z-Stack 用户指南 》的电源配置部分以了解更多信息。  您还可以在 SysConfig 中增加轮询周期->Z-Stack->Power Management 以降低数据轮询频率。  如果您不想定期报告、只需将 maxReportInt 设置为零0xFFFF。  然后 、只要希望报告属性、就可以使用 Zstackapi_BdbRepedAttrValueReq。

    此致、
    Ryan

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

    您好、Ryan、感谢您的回答。

    我已经删除了 CUI_DISABLED 和 BOARD_DISPLAY_USE_UART、并阅读电源配置部分。 我没有使用提供的示例评估我的板、我将在接下来的几天内尝试。 还感谢您关于将 maxReportInt 设置为零以防止定期报告的反馈。

    此致

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

    为了便于说明、请确保在定义 CUI_DISABLED 时不使用 CUI。  这将需要执行自动调试或从应用中重新添加按钮功能、以触发调试过程。

    此致、
    Ryan

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

    是的、当然、我定义了 CUI_DISABLED 并执行自动授权、感谢您的澄清。 实际上、如果我将  maxReportInt 设置为零、我不会接收任何有关协调器的数据、而设置不同的值则会使这些数据起作用。 对这种行为有什么想法吗? 是否有一个 minReportInt 值可设置为在 调用 Zstackapi_BdbRepChangedAttrValueReq 函数后允许 zed 随时发送数据?

    谢谢

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

    我之前的回答不正确、ZCL_REPORTING_OFF/0xFFFF 的 maxReportInt 值会关闭定期报告。  设置 maxReportInt 将关闭自动属性报告、而任何值都将确保在至少该秒内报告属性。  minReportInt 限制了在短时间内连续发送的报告太多。   reportableChange 是在时间间隔限制内报告值之前必须更改多少值。   Zstackapi_BdbRepChangedAttrValueReq 可用于报告提供的报告参数(如果可用)内的属性。

    此致、
    Ryan

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

    好的、谢谢。 概括地说,如果我想仅通过函数调用(Zstackapi_BdbRepChangedAttrValueReq)发送一个值,我需要:

    • 将 maxReportInt 设置为 ZCL_Reporting_off
    • 将 minReportInt 设置为零
    • 设置 reportableChange ={0x00、0x00、...} 以使任何更改为有效

    正确吗?

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

     只需将 maxReportInt 设置为 ZCL_REreporting_off、但其他设置不应妨碍您尝试实现的目标。

    此致、
    Ryan