LPC17XX 数据手册摘要之系统时钟与功率控制
系统时钟与功率控制
一、系统时钟
LPC17XX有三个独立的时钟振荡器,分别是主振荡器(MIAN_OSC)、内部RC振荡器(IRC_OSC)、实时时钟振荡器(RTC_OSC)。LPC17XX时钟框图如下:

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 数据手册摘要之系统时钟与功率控制的更多相关文章
- JZ2440 裸机驱动 第10章 系统时钟和定时器
本章目标 了解S3C2410/S3C2440的时钟体系结构 掌握通过设置MPLL改变系统时钟的方法 掌握在不同的频率下设置存储控制器的方法 掌握PWM定时器的用法 ...
- windows 系统时钟
偶然发现了一个函数用以查询操作系统的时钟间隔: BOOL WINAPI GetSystemTimeAdjustment( _Out_ PDWORD lpTimeAdjustment, _Out_ PD ...
- STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)
系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难 ...
- STM32学习笔记:系统时钟和SysTick定时器
原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1. STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...
- STM32F4_RCC系统时钟配置及描述
Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...
- Linux 系统时钟(date) 硬件时钟(hwclock)
/********************************************************************* * Linux 系统时钟(date) 硬件时钟(hwclo ...
- DELPHI下读取与设置系统时钟
在DELPHI下读取与设置系统时钟 很多朋友都想在自己的程序中显示系统时间 这在DELPHI中十分容易 利用DateToStr(Date)及TimeToStr(Time)函数即可实现. 二者的函数原型 ...
- 安装WP8 SDK出现“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内”的解决办法
今天重装系统了,在安装WP8 SDK时,安装了一小部分就提示“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内”的错误. 根据错误提示,貌似跟时间有关,百度了下.果真.把系统时间往前调 ...
- MSP430主系统时钟以及430的低功耗设置
如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可 ...
随机推荐
- ThinkPHP Volist标签
Volist标签主要用于在模板中循环输出数据集或者多维数组. volist标签(循环输出数据) 闭合 非闭合标签 属性 name(必须):要输出的数据模板变量 id(必须):循环变量 offset(可 ...
- Codeforces Round #325 (Div. 2) D. Phillip and Trains BFS
D. Phillip and Trains Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/ ...
- WINAPI 变量(2861个)
WINAPI 变量(2861个) 这是从 c:\Program Files\Windows Kits\8.1\Include\um\WinUser.h 这个文件 中提取的 CTRL+F 查看变量所 ...
- kvm上安装xp
主要为了看看图像显示是否有问题,跑起来系能如何,网络连接.文件共享是怎样的. 用的是雨林木风xp sp3的iso.为了提高性能,决定使用qcow2格式,预分配metadata,cache=none(查 ...
- javascript中的一些偏门知识
undefined能够被重写 undefined = "now it's defined"; alert( undefined ); 浏览器测试结果: 浏览器 测试结果 结论 ie ...
- VMware:虚拟机磁盘空间不足怎么办
前言: 虚拟机里一般我们用的虚拟磁盘,在电脑上是一个或多个文件,随着软件和数据的增多,有时也会提示磁盘空间不足. 那么,虚拟机磁盘空间不足如何处理呢? 一:调整磁盘分区大小; 若只是提示相应磁盘分 ...
- git svn 5点区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...
- 《Mysql 公司职员学习篇》 第三章 小A的疑问
第三章 小A的疑问 ---- 数据类型和自增列 小A拿着鸡腿,回到了房间里面,咬了一嘴油,说:"我有2个疑问,在Excell里面,像列PetAge(宠物年龄)这样的数字,我一般会设置成数值 ...
- 关于javascript的slice方法
slice方法在javascript中既可以在Array对象的原型下也可以是在String对象的原型下;其中w3c上面说的slice方法的第一个参数是必须的;这里的说法有误; slice的参数可以是0 ...
- CentOS7.0下载各版本说明 新增Everything版
来源:http://www.centoscn.com/CentOS/2014/0708/3268.html 下载CentOS-7.0-1406的时候,有很多可选则的版本,对于初学者来说,不知道选择哪个 ...