LPC17XX 学习之系统时钟与功率控制
2016-11-29 20:22
295 查看
系统时钟与功率控制
一、系统时钟
LPC17XX有三个独立的时钟振荡器,分别是主振荡器(MIAN_OSC)、内部RC振荡器(IRC_OSC)、实时时钟振荡器(RTC_OSC)。LPC17XX时钟框图如下:
![](http://images.cnitblog.com/blog/303206/201410/281404594098176.png)
LPC17XX 时钟框图
如上图所示,三个振荡器通过 system clock select 三选一 后经过(或不经过)MAIN PLL 最后经 CPU CLOCK DIVIDER 分频为CPU提供时钟;其中主振荡器(MAIN_OSC)还可通过USB PLL为USB提供时钟;内部RC振荡器(IRC_OSC)还可作为看门狗的时钟源。
主振荡器(MIAN_OSC)的工作频率为1MHz~25MHz;内部RC振荡器(IRC_OSC)的额定频率为4MHz,但其精度会受电压和温度的影响存在1%的调整。
当系统重新上电或因任何原因复位后,LPC17XX 会将内部RC振荡器(IRC_OSC)作为CPU的时钟源,之后可通过软件更改时钟源。
二、功率控制
LPC17XX 有四种降低功率损耗的运行模式:睡眠模式、深度睡眠模式、掉电模式和深度掉电模式。
1.睡眠模式(sleep mode)
在睡眠模式下:
arm 内核时钟被停止,重新使能内核时钟可退出睡眠模式;
cpu 停止执行指令,复位或者中断可恢复执行指令;
外设继续运行,外设中断可使处理器回复执行指令;
处理器内核自身、存储系统以及相关控制其、内部总线停止运行,进而降低动态功率消耗。
2.深度睡眠模式(deep-sleep mode)
在深度睡眠模式下:
主振荡器掉电,所有内部时钟停止;
处理器的状态和寄存器、外设寄存器、SRAM里面的值都被保存,管脚逻辑电平被设置为静态;
内部RC振荡器失能,但并未被关闭,以便快速推出深度睡眠模式;
实时时钟振荡器正常运行,其中断可作为唤醒源;
唤醒后需重新配置PLL和分频器;
只有复位和与时钟无关的中断可唤醒深度睡眠模式,。这些中断包括NMI、外部中断EINT0到EINT3、GPIO中断、以太网Wake-On-LAN中断、掉电检测、 RTC报警中断、看门狗定时器超时、USB输入引脚跳变或CAN输入引脚跳变
3.掉电模式(power-down mode)
在掉电模式下:
与深度睡眠模式操作相同;
唤醒后,在访问Flash存储器中的代码或数据前,必须等待Flash恢复;
只有复位和与时钟无关的中断可唤醒深度睡眠模式,。这些中断包括NMI、外部中断EINT0到EINT3、GPIO中断、以太网Wake-On-LAN中断、掉电检测、RTC报警中断、看门狗定时器超时、USB输入引脚跳变或CAN输入引脚跳变
4.深度掉电模式(deep power-down mode)
在深度掉电模式下:
整个芯片电源被关闭;
通过外部复位信号、RTC中断唤醒。
ps:上述唤醒中断的前提是这些中断被使能。
一、系统时钟
LPC17XX有三个独立的时钟振荡器,分别是主振荡器(MIAN_OSC)、内部RC振荡器(IRC_OSC)、实时时钟振荡器(RTC_OSC)。LPC17XX时钟框图如下:
![](http://images.cnitblog.com/blog/303206/201410/281404594098176.png)
LPC17XX 时钟框图
如上图所示,三个振荡器通过 system clock select 三选一 后经过(或不经过)MAIN PLL 最后经 CPU CLOCK DIVIDER 分频为CPU提供时钟;其中主振荡器(MAIN_OSC)还可通过USB PLL为USB提供时钟;内部RC振荡器(IRC_OSC)还可作为看门狗的时钟源。
主振荡器(MIAN_OSC)的工作频率为1MHz~25MHz;内部RC振荡器(IRC_OSC)的额定频率为4MHz,但其精度会受电压和温度的影响存在1%的调整。
当系统重新上电或因任何原因复位后,LPC17XX 会将内部RC振荡器(IRC_OSC)作为CPU的时钟源,之后可通过软件更改时钟源。
二、功率控制
LPC17XX 有四种降低功率损耗的运行模式:睡眠模式、深度睡眠模式、掉电模式和深度掉电模式。
1.睡眠模式(sleep mode)
在睡眠模式下:
arm 内核时钟被停止,重新使能内核时钟可退出睡眠模式;
cpu 停止执行指令,复位或者中断可恢复执行指令;
外设继续运行,外设中断可使处理器回复执行指令;
处理器内核自身、存储系统以及相关控制其、内部总线停止运行,进而降低动态功率消耗。
2.深度睡眠模式(deep-sleep mode)
在深度睡眠模式下:
主振荡器掉电,所有内部时钟停止;
处理器的状态和寄存器、外设寄存器、SRAM里面的值都被保存,管脚逻辑电平被设置为静态;
内部RC振荡器失能,但并未被关闭,以便快速推出深度睡眠模式;
实时时钟振荡器正常运行,其中断可作为唤醒源;
唤醒后需重新配置PLL和分频器;
只有复位和与时钟无关的中断可唤醒深度睡眠模式,。这些中断包括NMI、外部中断EINT0到EINT3、GPIO中断、以太网Wake-On-LAN中断、掉电检测、 RTC报警中断、看门狗定时器超时、USB输入引脚跳变或CAN输入引脚跳变
3.掉电模式(power-down mode)
在掉电模式下:
与深度睡眠模式操作相同;
唤醒后,在访问Flash存储器中的代码或数据前,必须等待Flash恢复;
只有复位和与时钟无关的中断可唤醒深度睡眠模式,。这些中断包括NMI、外部中断EINT0到EINT3、GPIO中断、以太网Wake-On-LAN中断、掉电检测、RTC报警中断、看门狗定时器超时、USB输入引脚跳变或CAN输入引脚跳变
4.深度掉电模式(deep power-down mode)
在深度掉电模式下:
整个芯片电源被关闭;
通过外部复位信号、RTC中断唤醒。
ps:上述唤醒中断的前提是这些中断被使能。
相关文章推荐
- LPC17XX 数据手册摘要之系统时钟与功率控制
- LPC17xx学习1——系统控制
- 学习笔记∣stm32l0xx时钟系统详解与代码配置
- 系统时钟学习笔记
- 系统时钟学习笔记
- 2012TI杯竞赛学习-----------时钟系统篇
- 2012TI杯竞赛学习-----------时钟系统篇
- 表示-抽象-控制——系统结构模式学习笔记
- Linux学习记录--进程控制相关系统调用 推荐
- ARM学习笔记--系统时钟和定时器
- 系统服务访问控制的学习
- STM32学习笔记2-系统时钟知识及程序配置
- 深入学习winXP系统中的远程控制
- stm32固件库学习之:建立模板和初始化系统时钟
- stm32学习笔记 系统时钟
- MSP430X5XX的时钟系统与低功耗模式
- 《嵌入式linux应用程序开发完全手册》系统时钟和定时器学习笔记系统时钟和定时器
- JavaScript系统学习之一 <基本语法,运算符,流程控制语句>
- 【裸机开发笔记】6410的系统时钟设置(上)---6410时钟控制逻辑框架分析
- 业务规则管理系统权限控制学习1