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.

[参考译文] CC3235MODSF:当处于休眠状态时、不会唤醒

Guru**** 2540720 points
Other Parts Discussed in Thread: CC3235MODSF, CC3200MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/800001/cc3235modsf-no-wake-up-from-hibernate-when

器件型号:CC3235MODSF
主题中讨论的其他器件: CC3200MOD

您好!

我正在使用基于 http 获取示例的 TI-RTOS 在定制板上使用 cc3235modsf 进行项目。

在以下配置下、当 GPIO04设置为高电平时、器件成功唤醒。 但是 、当在 ioRetentionShutdown 中添加 PRCM_IO_RET_GRP_0时、它不再运行。

您是否有什么想法导致了此问题?

CONST PowerCC32XX_ConfigV1 PowerCC32XX_CONFIG ={
.policyInitFxn =&PowerCC32XX_initPolicy、
policyFxn =&PowerCC32XX_sleepPolicy、
.enterLPDSHookFxn =空、
.resumeLPDSHookFxn =空、
.enablePolicy = false、
.enableGPIOWakeupLPDS = true、
.enableGPIOWakeupShutdown = true、
.enableNetworkWakeupLPDS = true、
.wakeupGPIOSourceLPDS = PRCM_LPD_GPIO4、
.wakeupGPIOTypeLPDS = PRCM_LPD_HIGH_LEVEL、
.wakeupGPIOFxnLPDS =空、
.wakeupGPIOFxnLPDSArg=0、
.wakeupGPIOSourceShutdown = PRCM_HIB_GPIO4、
.wakeupGPIOTypeShutdown = PRCM_HIB_HIGH_LEVEL、
.ramRetentionMaskLPDS = PRCM_SRAM_COL_1 | PRCM_SRAM_COL_2 |
PRCM_SRAM_COL_3 | PRCM_SRAM_COL_4、
keepDebugActiveDuringLPDS = false、
ioRetentionShutdown = PRCM_IO_RET_GRP_1、
.pinParkDefs = parkInfo、
.numPins = sizeof (parkInfo)/sizeof (PowerCC32XX_ParkInfo)
}; 

最新 SDK 和服务包: SP_4.2.0.3_3.1.0.5_3.1.0.17

此致、

C é dric

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

    作为完整性检查、如果您在 CC3235 Launchpad 上运行程序、它是否也会导致相同的行为?

    此外、您是否正在程序中执行任何引脚锁定? 通过使用 PRCM_IO_RET_GRP_0、您可以在休眠期间启用引脚驻留。 默认情况下,使用 Power_shutdown ()不会为您暂留任何引脚。 但是、如果您在进入休眠模式之前已经将引脚寄存、则这些引脚将设置为您指定的停止状态。

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

    您好、Michael、

    感谢您的反馈!

    为了避免引脚悬空、我将所有输出 GPIO 寄存在一个固定值内、但是我只将 GPIO04用作输入(只使用 GPIO_READ 函数)并且不显式将其寄存。   

     pinParkDefs 只用于 LPDS 而不用于休眠、这是否正确?

    此外、我将在另一个电路板上对 CC3220modasf 使用相同的方法、而不会出现任何问题。  

    我可以在本周稍后的时间尝试针对 LaunchPad 进行调整。

    此致、

    C é dric

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

    PinParkDefs 仅在进入 LPDS 时由 RTOS 自动使用、但如果您具有.ioRetentionShutdown = PRCM_IO_RET_GRP_0、则可以手动将引脚停驻在休眠状态。

    如果您可以在 LaunchPad 上运行代码、那么您的硬件设计中可能需要查看一些内容。 让我知道 LaunchPad 测试是如何进行的。

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

    您好、Michael、

    由于以下几个原因、我不知道硬件如何成为问题的原因:

    • 与 CC3200mod 完全相同的电路板可毫无问题地使用
    • 在另一个具有 cc3220modasf 的电路板上也使用了相同的概念
    • 当不激活引脚保持时、唤醒工作正常、并且任何输出都不会对这个特定输入产生任何影响。
    • 使用示波器测量的引脚上的电压显示预期的0 V 停用=> 2.7V 唤醒请求

    我将尝试使用 launchpad 和一个极小的项目重现此问题。

    此致、

    C é dric

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

    经过一些检查和调整后,它现在起作用了,我要注意的是确切的帮助,所以这里是对未来读者的简短描述;)

    未使用 parkInfo,可以保留原样。
    ioRetentionShutdown = PRCM_IO_RET_GRP_0 | PRCM_IO_RET_GRP_1、

    唤醒时、首先初始化 GPIO
    GPIO_init();
    然后禁用保留
    PowerCC32XX_disableIORetention (PowerCC32XX_config.ioRetentionShutdown);

    然后启用电源策略
    power_enablePolicy();

    关断时、配置唤醒引脚
    PRCMHibernateWakeupSourceEnable (PRCM_HIB_GPIO4);
    PRCMHibernateWakeUpGPIOSelect (PRCM_HIB_GPIO4、PRCM_HIB_HIGH_LEVEL);