打印
[软件资料]

MCU典型的睡眠唤醒时间delay概念

[复制链接]
39|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七毛钱|  楼主 | 2025-3-5 20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CPU系统有两种典型的低功耗模式:一种是睡眠模式,另一种是空闲模式。它们都可以通过执行相应的指令而进入。对于睡眠模式,一般来说系统会停止系统时钟的运行及所有代码指令的运行,以及大多数外设模块的运行。而在空闲模式下,CPU会空闲下来停止运行,但允许外设模块以特定的时钟继续运行。
当系统进入这两种模式后,当发生一些特定事件后,系统将走出低功耗模式变为正常模式,常见的时间比如,中断发生,或者看门狗超时(此处可知MCU内部看门狗是可以使用LPRC低频时钟在睡眠模式下运行),亦或者外部复位或者内部复位事件发生等,这个现象就是唤醒事件。
这里有一个特殊情况需要注意,当中断和低功耗模式指令同时发生时,那么会首先进入低功耗模式,中断延后唤醒系统。
另外,在睡眠模式下,主振荡器POSC和辅助振荡器会disable,系统时钟FOSC会disable,那么对系统时钟监控的模块FSCM也不会运行。
当器件从睡眠模式唤醒时,CPU不会立即执行后面的指令,而是会有一定的delay,这个delsy通常在8个系统时钟以内。当唤醒后,系统时钟和外设时钟会重新使能,器件就重新启动 并以先前配置的当前时钟源去执行指令或工作,这时器件就进入了正常工作模式。
这里我们重点分析一下这个唤醒delay的时间组成,在MCU系统唤醒中,如果我们对系统使能了在睡眠模式下的供电电压模块待机模式,则从待机到active会有一个电压模块的从待机模式到active模式的delay。另外,时钟系统的delay也是重要的部分,对于不同的时钟源delay组成各有不同,主要分为振荡器启动delay,除了采用外部时钟产生器时不包含这类dealy之外,不管是内部振荡器FRC还是外部晶振源都需要考虑这部分delay,即TOSCD,当使用外部晶振时,必须要考虑外部负载电容及晶体特性造成的影响。
当使用外部晶振时,还有一个重要的时钟delay是启动定时器的delay,即TOST。若时钟系统涉及到使用了锁相环,还需要考虑时钟锁相需要的时间,即TLOCK。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

347

主题

2384

帖子

4

粉丝