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.

[参考译文] CC3551E:更改为 PowerWFF3_SleepPolicy 时、应用(Wi-Fi 运行)裸片

Guru**** 2668435 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1590946/cc3551e-application-with-wi-fi-running-dies-when-changing-to-powerwff3_sleeppolicy

器件型号: CC3551E
主题: SysConfig 中讨论的其他器件

您好、

我在上 CC35x1 LaunchPad  (修订版 E3)并且正在尝试读取一些功耗读数。

所以,我采取了“ network_terminal_CC35X1 _ LAUNCHXL_freertos_ticlang “ SimpleLink Wi-Fi SDK (9_19_00_02_ea) 中的示例、修改程度略有改动:

1) 在 SysConfig 中、我将电源策略函数从 PowerWFF3_doWFI 更改为 PowerWFF3_sleepPolicy。

2) 我禁用了 UART-RX(因为它会阻止 MCU 进入睡眠状态):

  • 添加了对 UART2_rxDisable () 的调用。
  • ...并确保任务没有输入 cmd_prompt ()。

3) 在 cmd_prompt () 中添加了 vTaskDelay () 的调用。

那么在将应用程序刷写到器件中时 从~17 –18mA 降至~1 –2mA  空闲时 (1V8、JP16)(上述更改只能满足此要求)。

对这种功耗感到满意、我创建了一个小型序列发生器/步进/状态机、让设备完成启动 Wi-Fi(工作站)所需的步骤(在【秒】之间具有适当的延迟):

  1. 启用 WLAN:
    cmdWlanStartCallback(“")“);
  2. 启用工作站模式:
    cmdWlanRoleUpStaCallback(“")“);
  3. 连接 AP:
    cmdWlanConnectCallback(“-s \“ \“-t WPA2 -p “);

 

但是、我观察到以下情况:

==(使用在 sys-config ==中配置的 PowerWFF3_sleepPolicy)

在 syscfg 中启用/配置电源策略 PowerWFF3_sleepPolicy(允许 MCU 进入低功耗模式)后、器件无法完成上述三个步骤。

它只会在步骤 1 或步骤 2 中停转–主循环无响应。

(另请注意,未连接调试器,因为这会阻止进入睡眠模式,因此我无法看到调试器正在执行什么操作。)

 

===使用 PowerWFF3_doWFI 完成步骤 1-3、然后在之后更改为 PowerWFF3_sleepPolicy ==

作为上述尝试的替代方法、在 Wi-Fi 启动期间配置了睡眠策略后、我尝试了另一种方法。

我将电源策略配置为在 Wi-Fi 启动期间使用更保守的电源策略 PowerWFF3_doWFI(使用 Power_setPolicy (PowerWFF3_doWFI); — 作为步骤 0)、然后在 Wi-Fi 启动期间更改为睡眠策略 (Power_setPolicy (PowerWFF3_sleepPolicy); — 作为步骤 4)。

在这种情况下、Wi-Fi 会进入工作状态、但首次 CPU 空闲并进入睡眠时、 Wi-Fi “死机“(我的 PC 没有 ping 响应)、主循环变为 无响应。

 

这些观察结果是否与预期一致?

由于 SDK 的早期阶段/成熟度级别、这是否只是一个“临时“问题?

正如旧版 TI-CC32xx 所报告的那样、我希望能以类似的方式支持睡眠模式:

睡眠 — 该器件处于低功耗模式,但保留系统状态和参数。 设备可在网络通信之间进入此模式、同时保留 Wi-Fi 网络和 TCP IP 参数和状态

www.ti.com/.../swry019a.pdf]

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

    尊敬的 Martin:

    您是否可以尝试按此顺序运行命令、而不是先编辑网络终端?

    1. WLAN_START
    2. WLAN_STA_ROLE_UP
    3. wlan_set_pm -m 2.
    4. WLAN_SET_LSI -n 1.
    5. wlan_connect -s “access_point"-t“-t security_type -p “password"</s>“
    6. test_sleep -t 60

    如果有效、您可以尝试在代码中实现它。 您可以使用电流测量系统来查看 AP 信标以及整体低功耗(约 450 微安)  

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

    尊敬的 BLiu:

    感谢您回答该问题。 你的建议是足够让我成功的路线 — 虽然通过一个更长的绕道 :) Thumbsup

    根据您的请求,我只使用命令留在原来的“网络终端“。

    在 使用“PowerWFF3_sleepPolicy"睡眠“睡眠前、似乎需要一个“错误“/"技巧“技巧“:

    一个(或至少“i")“) 需要执行  启用 Wi-Fi 后、在将策略更改为 PowerWFF3_sleepPolicy 之前、至少有一次睡眠并且电源 策略设置为 PowerWFF3_doWFI 。  

    如果我 使用 doWFI 省略睡眠模式并直接使用 SleepPolicy,则电路板裸片 — Wi-Fi 停止响应、“test_sleep"从“从不返回。

    (这里 100%一致...)

    那不是奇怪吗?

    ——

    更新:准确地说、这是一个对我有效的序列:

    确保将电源策略设置为 doWFI: power_setPolicy (PowerWFF3_doWFI);

    1. WLAN_START
    2. WLAN_STA_ROLE_UP
    3. test_sleep -t 5.  (此处或在步骤 5 中)
    4.  wlan_connect -s “access_point"-t“-t security_type -p “password"</s>“
    5.  TEST_SLEEP -t 5 (此处或在步骤 3 中)

    6.更改电源策略: power_setPolicy (PowerWFF3_SleepPolicy);
    7. test_sleep -t 5.

    如果省略步骤 3/5 — 步骤 7 失败。