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.

[参考译文] CC3235SF:在 LPDS 模式后 PWM 不工作

Guru**** 2568585 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/955504/cc3235sf-pwm-not-working-after-lpds-mode

器件型号:CC3235SF

大家好、

我的客户发现、系统从 LPDS 返回后、PWM 无法正常工作。 SDK v4.30。 流程如下:

PWM_Init();
PWM_PARAMS_INIT ();
PWM_OPEN ();
PWM_START(); // PWM 输出
power_enablePolicy ();// PWM 保持输出
PWM_STOP(); // PWM 停止输出
PWM_START(); // PWM 无输出

I2C 或 GPIO 等其他模块不存在这种现象。

我看了一下 TRM、这里有一些问题:

  1. 在再次调用 PWM_START()之前,用户是否需要调用 Power_DisablePolicy()?
  2. 在 TRM (swru543) ch15.3.5中 ,PRCMPeripheralClkEnable()有三个用于电源模式的标志;但是,如果查看\driverlib\prcm.h,则标志 PRCM_DSLP_MODE_CLK 缺失。 这是因为主时钟在 LPDS 中选通、因此无法在模式中为外设提供时钟吗?
  3. 遵循上述问题、如果时钟被选通、器件如何保持输出 PWM 信号? 我假设 PWM 基于 GP 计时器。
  4. PM 框架应在进入 LPDS 之前和退出 LPDS 之后保存和恢复 CPU 和外设状态。 用户不需要初始化 PWM 或其他外设、对吧?

此致、

Jo

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

    你好、Jo、

    1) 1)您的代码片段应该正确。 我必须在这里设置一个测试来验证 PWM 输出、因此请给我1-2天时间进行进一步调试。

    2和3) MCU 在 PWM 运行时不会进入 LPDS。 您可以随时启用电源策略,但在调用 PWM_STOP()之前,电源策略不会进入 LPDS。 PWM 基于硬件计时器、这是相同的行为。

    4) 4)是、应由电源策略处理重新初始化。

    此致、

    Sarah

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

    你好、Jo、

    我已验证此行为是否为错误、我正在尝试查找问题的根源。 同时、您的客户是否能够在从 LPDS 唤醒后重新初始化 PWM 作为权变措施?

    此致、

    Sarah

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

    您好、Sarah、

    我是 Jo 的客户。
    提醒一下、有时 I2C 在 LPDS 之后也会失败、但机会比 PWM 低。
    就像 Jo 所说的那样、 文档(swru543 ch15.3.5)"与代码定义(\driverlib\prcm.h)不匹配、请告诉我哪一个应该正确。

    从 LPDS 唤醒后、我将尝试重新初始化 PWM。

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

    您好、Frank、

    "深度睡眠"是与 LPDS 不同的电源模式、 不再支持 PRCM_DSLP_MODE_CLK 标志。 这不会影响这项权力政策问题,但我会在文件中删除这项政策,以避免混淆。 感谢您的讲解。

    此致、

    Sarah