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.

[参考译文] TM4C129XNCZAD:从深度睡眠中唤醒

Guru**** 2443910 points
Other Parts Discussed in Thread: TM4C129XNCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/586551/tm4c129xnczad-wake-up-from-deep-sleep

器件型号:TM4C129XNCZAD

您好!

我们有一个基于 TM4C129XNCZAD 的定制板

Tivaware 2.1.1.71

TI-RTOS 2.14

发生断电时、我们需要保存上下文数据并将微控制器置于深度睡眠状态。 我们有超级 电容器备份来完成此操作(根据  超级电容器充电、备份时间为几十秒)。  当电源恢复时、我们需要从深度睡眠中唤醒。

我们使用相同的信号来监控电源故障和电源恢复。 同一信号连接到2个不同的 GPIO 引脚、用于检测电源故障和恢复。  用于电源故障检测的第1个 GPIO 配置为 LVL_HIGH、用于电源恢复的第2个 GPIO 引脚配置为 FALLING_EDGE。

当电源发生故障时 、两个 GPIO 引脚都被上拉。 第一个 GPIO 的中断处理程序 发布事件、保存上下文数据 、微控制器进入深度睡眠模式。

当电源恢复时(例如在几秒钟内)、两个 GPIO 引脚都被拉低、 第二个 GPIO 的中断处理程序 应该启动、并且应该调用 sysctlreset。  

 我看到电源故障中断。  我没有看到电源恢复的第二个中断(下降沿)。  

微控制器能否 在下降沿中断时从深度睡眠状态唤醒?  深度睡眠仅在上升沿或 LVL_HIGH 中断时唤醒

TIA

Narendra

TIA

Narendra

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Narendra、
    我尚未实施深度睡眠、但可能有几个问题会帮助您解决/测试该问题:
    -我假设在最深的睡眠级别、MCU 不响应 GPIO 中断-您是否在数据表上检查过该情况?
    -有一个名为 #WAKE 的引脚、用于在下降沿唤醒处理器-您是否也可以将信号转移到该引脚?
    好奇心:您在哪里保存了您的背景信息? Tiva 的 EEPROM? 您有一个合理的超级电容器、能够做到这一点! 您的超级电容器是否还能在深度睡眠的剩余时间内为 MCU 保证电能?
    此致
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    任何正确配置的中断都可以使器件退出深度睡眠模式。 必须通过置位 DCGCGPIO (通用输入/输出深度睡眠模式时钟门控控制寄存器、偏移量0x808)中的相应位、确保用于生成唤醒中断的 GPIO 模块在深度睡眠模式中启用时钟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    此帖子可能已解决,但由于我在最近创建的帖子上没有得到任何响应,关于 USB 和 PWM 的深度睡眠问题,我将在该主题上发布我的查询,希望得到任何答案。

    我正在使用深度睡眠、它在处理 GPIO 中断时工作正常。 但我无法使其与 USB 配合使用。 下面详细介绍了我在基于 TI RTOS 的项目(TM4C129XNCZAD)中执行的配置

    1:运行时钟、带 PLL 和25MHz MOSC、为60MHz。
    2:深度睡眠时钟源是 MOSC。
    3-深度睡眠中启用 USB,同时启用时钟门控。
    4:HAL 计时器模块配置为10秒中断、以将 MCU 从深度睡眠状态唤醒。
    在深度睡眠模式中、与按钮配合使用的 GPIO 端口也被启用。

    我已将应用配置为仅在收到 USB 挂起事件时进入深度睡眠模式。 问题是当我将仪器置于深度睡眠(持续10秒)时、它会在按下按钮或计时器中断时唤醒。 将 USB 电缆连接到 PC 不会导致其从深度睡眠状态中唤醒。 请告诉我缺少什么导致 USB 无法将 MCU 从深度睡眠模式唤醒。

    谢谢、
    Muhammad Shuaib.