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.

[参考译文] CC3220MODA:如何在 SAP/SNP/NPI 库中启用节能功能。

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/995603/cc3220moda-how-to-enable-power-saving-feature-in-sap-snp-npi-lib

器件型号:CC3220MODA
主题中讨论的其他器件:CC2640

您好!

在这篇文章中、我们知道使用 UART_CONTROL 禁用 RX、让 CC3220进入 LPDS

https://e2e.ti.com/support/wireless-connectivity/wifi/f/wi-fi-forum/993442/cc3220moda-using-tidc-01005-reference-has-high-wi-fi-power-consumption/3670471#3670471

我们需要在 cc2640广播时禁用 RX、并让 wifi 进入 LPDS、直到 CC2640希望将数据发送到 cc3220。

但不知道如何在 SAP/NPI 内部实现节能?

不过、我们可以在此处启用/禁用、但无法正常工作:

//----------------------------------
//! 简要介绍为 REM RDY 事件的传输层提供的 RX 回叫
//!
//! 返回
//----------------------------------
静态 NPITEK_RemRdyEventCB (uint8_t 状态)
if (state =REM_RDY_Asserted && npiSem!= NULL)
remRdyISRFlag = NPITASK_REM_RDY_EVENT
NPIL_startRx ();//<-启用 UART Rx
SEM_post (npiSem);
否则、如果(state = REM_RDY_DEACTIVE_&& npiSem!= NULL){
NPIL_stopRx ();//<-禁用 UART Rx

if (!NPITIL_isQueueEmpty (npiSyncTxQueue)
||!NPITIL_isQueueEmpty (npixQueue)
remRdyISRFlag |= NPITASK_TX_READY_EVENT
SEM_post (npiSem);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、爱知、

    虽然 可以将 UART_CONTROL 直接添加到 BLE 库中、但请记住、我们尚未将此解决方案作为库的一部分进行测试。 这将是一种更好的解决方案、可以在超时的情况下尽可能缩短配置过程、或在应用中处理此问题。

    您是否已将此编辑过的文件直接添加到您的项目中? 或者您重建了库吗?

    此致、

    Sarah

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

    您好、Sarah、

    我们通过 xdctool 和 lib 内的 makefile 来重建库。

    我们不仅使用此库进行配置、还使用此库作为 BLE 门锁和 Wi-Fi 门锁之间的桥梁、尤其是在未连接 Wi-Fi 时。 这就是我们保持 BLE 广播的原因、一旦门打开事件从 BLE 发出、就通过 SAP 将门打开事件传递到 cc3220。

    BTW、您的意思是"将 UART_CONTROL 直接添加到 BLE 库中"和"在应用中处理此问题"。 您能否分享一些有关如何在 SAP/SNP 下实现节能的详细信息?

    谢谢。

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

    什么不起作用? 编译或您的代码?

    您是否验证 是否正在调用 NPIL_startRx/NPIL_stopRx?

      

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

    您好、Kobi、

    无法正常工作意味着 CC3220的功耗似乎会进入 LPDS 状态,但 Wi-Fi 将不会响应(MQTT 客户端已关闭)....

    客户确认在 NPI_tl_uart_m_m_simplelink.c 中调用了这两个函数

    这就是我们所做的:

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

    如果没有 SAP、CC3220是否进入 LPDS 并能够保持 MQTT 连接?

    是否确定电源策略配置正确(例如、设置了"启用网络唤醒 LPD")。

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

    您好、Kobi、

    如果仅限 WIFI 或没有 SAP_OPEN、则 WiFi 可以进入 LPDS、MQTT 工作正常。

    电源策略设置为 LSI = 2000。

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

    您好、爱知、

    为了解决我在上面的评论、我们在 SDK 中提供了预构建、测试的库、以便客户无需重新构建这些库。 应尽可能更改自己的应用程序源(如示例项目中的内容)。 当您直接更改链接的库时、您会面临将错误引入 我们所认为的测试代码的风险、这会使以后调试问题变得更加困难。

    此致、

    Sarah