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.

[参考译文] CC2652R:进入待机模式并使用 RTC 唤醒

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1124342/cc2652r-enter-ble-into-standby-mode-and-wake-up-using-rtc

器件型号:CC2652R
主题中讨论的其他器件: ENERGYTRACE

您好!

我在定制板上使用 TI BLE cc2652R。目前我使用的是 simple_peripheral 示例代码、我已根据应用修改了该代码。

现在、修改后的代码表明电路板的电流消耗为3mA、因此我想进入电源开关待机模式、然后在某个时间后唤醒电源开关。您可以建议进入待机模式的步骤、然后使用 RTC 唤醒电源开关。

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

    在我的应用中、我希望将 BLE 连接起来、当 BLE 上没有数据传输时、它应该进入睡眠状态、当 BLE 上接收到数据时、它应该唤醒。要在我的应用中实现这一点、我应该调用哪个功率 API、建议您这样做。

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

    您好、chaitali、

    您之前 的 E2E 主题中已经提供了支持。  simple_peripheral 示例由 电源管理设计 、可在定义 power_saving 后进入待机模式并在蓝牙无线电接收时唤醒、如您所述。  如果问题发生在代码更改(例如阻止空闲任务运行)或自定义硬件(也包括电源测量工具)中、则 RTC 运行和电源 API 将不会有所帮助。  您需要使用一 个简单的 gpiostandby 示例评估功耗、以确认在继续 BLE 开发之前、您可以使用硬件和工具实现预期的1uA 电流。

    此致、
    Ryan

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

    您好!

    我现在已经获取了简单外设的示例代码、并且只添加了一个以100ms 周期运行的任务。 正如您建议的、BLE 堆栈负责电源管理、因此我不会添加任何电源 API、

    但是、由于我的任务持续运行、BLE 不会进入睡眠状态、您能否建议一种使任务处于空闲状态的方法、以便 BLE 进入待机模式。

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

    首先、在定义了 power_saving 且不进行其他代码更改的情况下评估简单外设示例。  只有在确认这会产生预期的功耗后、您才能开始添加任务。  确保可以正确暂停、并使用 BLE-5 Stack 调试指南 帮助您使用调试器 ROV 和 EnergyTrace 模块进一步评估运行时任务操作。  

    此致、
    Ryan

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

    您好,

    我在对 TI Launchpad 进行任何更改的情况下测试了简单外设基本代码,它会产生预期的电流消耗。

    正如您在前面提到的、我尝试逐个添加我的应用程序代码时、可以观察到、当我使用 UART 添加我的应用程序代码时、流耗为1.6mA、这比平常更常见、请注意、我仅在 TI Launchpad 上测试此情况。 我是否仍然可以通过任何方式降低电流。  

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

    如果 UART 希望接收数据、则不允许器件进入待机状态。  在进入待机模式之前、您可以使用 Display 驱动程序(仅限 TX)或禁用/关闭 UART 外设。  当数据准备好传输时、可以使用另一个 GPIO 引脚唤醒 SimpleLink 器件。

    此致、
    Ryan

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

    您好,

    因此,我将关闭 UART,但当设备进入待机模式时,我必须完全关闭 UART。

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

    您好!

    使用 UART_Close 关闭 UART 外设。 当您的应用不再需要 UART 时、应执行此操作。

    电源管理器将自动进入最低功耗状态。

    谢谢、
    Toby

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

    当不再需要 UART 时,我已经调用了 UART_CLOSE ()。 我能够实现低于1mA 的电流、BLE 进入睡眠状态、但当我通过 BLE 发送一些数据时、它应该再次通过 UART 发送、此时我想再次打开 UART?

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

    当您希望再次通过 UART 发送数据时、需要重新打开 UART 模块。

    此致、
    Ryan

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

    您好!

    因此、当器件进入睡眠模式并达到预期电流消耗时、我已关闭 UART、但为了唤醒器件、我将在 BLE 上发送一个帧、然后器件应唤醒该帧、我将进一步尝试通过 UART 发送 到另一个帧 微控制器。因此,我在一个回调函数中再次调用 UART_open 函数,在该函数中,我通过 BLE 接收数据,但即使我再次打开 UART,BLE 帧也不会发送数据,因此如何在 BLE 上再次发送数据?

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

    UART 和 BLE 操作本身并不相关、因此目前还不清楚是什么阻止无线电按预期工作。  您应该检查睡眠控制的设置、因为应允许器件在空闲模式下进入待机模式(无任务活动)、并进一步调试您的应用以进一步确定尝试发送数据时会发生什么情况。

    此致、
    Ryan

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

    BLE 数据正在发送、但在我的应用中、我必须通过 UART 将接收到的 BLE 帧发送到另一个微控制器、因此、一旦我关闭 UART、在 BLE 上接收到数据后、它就不会通过 UART 进一步发送到其他微控制器。我遇到了一些问题 面对 UART。

    我只是调用 UART_open()在我在 BLE 上接收到数据后,我还需要调用其他任何东西来重新启动 UART 功能。

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

    关闭 UART 会取消任何预先存在的准备好的 UART 通信。  您必须等到 UART 完成后再关闭模块。  再次打开 UART 后、您必须继续使用 UART 写入函数通过该外设发送数据。

    此致、
    Ryan