全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)
- 进入待机模式前需要有序关闭各个模块以避免出现大的电流突变;
- 之后,所有额度外设以及相关的中断全都关闭以避免异常唤醒;
- 进入待机模式的过程中会有系统时钟降频以及切换备份时钟的过程;
- 通常采用的100KHZ的待机时钟也是需要软件修改寄存器来进行选择的;
- 时钟降频以及切换等工作完成后,需要配置唤醒源。
如果使用开关电源的模式需要注意Vext下降的时候,旁路的MOSFET也要跟随Vext下降,否则会有异常唤醒的风险。
这个是休眠以及唤醒的时序图,等我做实际的调试的时候再回来看一下。
- 请求进入待机模式有两种方式,通过ESR1或者指定的PIN。
- 软件可以实现同时请求所有的CPU一起进入待机模式的可能。
- 其他的处理过程与Vext的处理方式类似,不做详细的阅读了。
退出待机模式的方法就是唤醒事件,有几种方式:Vext、ESR1、PIN A、PIN B等。如果不通过唤醒事件而是通过电压降或者外部复位请求,相应的数据会丢失。
在待机模式下,甄别唤醒等信号的时候,Vext有着比PORST更高的优先级。
供电管理控制以及状态寄存器提供了进行idle、sleep、standby等多种模式请求的寄存器设置。
这里是几种唤醒源使能的配置。
选择了唤醒源的配置之后,还可以选择唤醒的行为,主要是针对不同唤醒源的边沿信号识别进行配置。