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:上述唤醒中断的前提是这些中断被使能。

时间: 2024-10-03 20:18:29

LPC17XX 数据手册摘要之系统时钟与功率控制的相关文章

认识STM32的系统时钟

STM32共有五个时钟源,分别是: HSI是高速内部时钟.RC振荡器,频率为8MHz: HSE是高速外部时钟,频率范围为4~6MHz; (可接石英/陶瓷谐振器或者接外部时钟源) LSI是低速内部时钟,频率40kHz; (独立看门狗时钟源.可作RTC时钟源) LSE是低速外部时钟,频率为32.768kHz石英晶体; (主要RTC时钟源) PLL是锁相环倍频输出,频率可选择为HSI/2.HSE或者HSE/2.倍频可选择2~16倍,但其输出频率最大不超过72MHz: 此处重点介绍系统时钟,一般其他所有

STM32系统时钟

一.时钟树 STM32有4个时钟源: 1)HSE(高速外部时钟源) 外部晶振作为时钟源,范围为4~16MHz,常取为8MHz 2)HSI(高速内部时钟源) 由内部RC振荡器产生,频率为8MHz,但不稳定 3)LSE(低速外部时钟)   以外部晶振作为时钟源,主要供给实时时钟模块,一般用32.768KHz. 4)LSI(低速内部时钟)         由内部RC振荡器产生,也是提供给实时时钟模块,频率约为40KHz. 二.系统启动过程中时钟设置 以使用STM32库函数SystemInit为例进行说

7th.关于系统时钟的设置

言简意赅版本: 开启MPLL 设置LOCKTIME寄存器 (设置锁定时间) 设置MPLLCON寄存器(设置主频与FCLK的关系) 设置CLKDIVN寄存器(设置FCLK,HCLK,UCLK的倍数关系) MPLLCON参照官方提供参数配置即可. 详细情况 开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,当MPLLCON存入初值,并开始生效后,S3C2440A可以正常工作在400MHz下.开发板的主板上的外设和CPU也有一个频率限度,ARM920T内核的S3C2440的最高

Linux 系统时钟

介绍 计算机中的很多程序都依靠精确的时间来正常工作, 比如一个脚本如何在指定的时间执行. 计算机有两个时钟,一个是始终运行的.由电池(CMOS)供电的硬件时钟,另一个是由运行在您的计算机上的操作系统维护的系统时钟(又称软件时钟).启动时,内核会把硬件时钟同步至系统时钟,之后两个时钟各自独立运行. 硬件时钟通常只在操作系统启动时用来设置系统时钟,系统时钟设置好后由系统时钟来记录时间.在Linux系统中,您可以选择用UTC/GMT 时间或本地时间来记录硬件时钟.推荐的选项是用UTC记录,因为可以自动

【单片机】【710】振荡器和系统时钟

710提供7个系统时钟选择 FRC振荡器(快速RC,内部标称值为7.37MHz) 带PLL的FRC振荡器 主(XT.HS.EC)振荡器 带PLL的主振荡器 辅助(LP)振荡器 LPRC振荡器 带后分频器的FRC振荡器 关于晶振频率啊,指令周期啥的请参照以前的随笔1937之定时器的那篇 而710的主振荡器能选以下三种作为其时钟源 XT(晶振):3-10MHz,就是单片机上的那个,一般上面的是8MHz HS(高速晶振):10-40MHz,估计自己用的那个上面没有,和上面的XT在一个位置 EC(外部时

STM32F4xx那点事(二)——系统时钟的配置

每次接触一款新的单片机,我都会很好奇该单片机的系统时钟是多少MHz,怎样才能达到Datasheet中描述的最大系统时钟,该单片机的外设的时钟会是多少MHz呢?如果要使用延时,我怎么编写程序才能实现精准的延时呢?我认为这些问题是我开始接触新单片机之前需要了解的. 对于每款ARM Cortex-M系列单片机而言,厂商为了更好的推广自己的单片机,同时方便设计人员使用,降低产品开发周期,都会将该单片机的外设相关寄存器以及外设的相关函数都实现并打包,放在官方网站上免费供大家使用.STM32F405RG的标

linux之路的第一篇之常用系统命令之系统时钟设置详解

系统时钟通常是非常有用的,所以一定要熟记date 用来显示和修改当前系统日期时间,主要用于时间管理,这是系统时间软件时钟date 月日时分年.秒  MMDDhhmm[cc|yy].ss date 121212122013.34 2013年12月12日12分34秒 年和秒可以不指定,默认是当前年和00秒date +%D 显示日期 月日年     +%Y/%y 都可以 只显示年小y显示两位年份     +%T 小时分钟秒     +%F 年月日     +%H 小时     +%M 分钟     +

【转】OAL之系统时钟

1. 系统时钟与内核的关系 WinCE 5.0采用基于时间片的抢占式多任务的实时内核,而且每个线程可以根据需要自行设定线程时间片的大小(参考CeSetThreadQuantum函数),默认为100ms,这个默认值dwDefaultThreadQuantum也可以在OEMInit()时自行设定.在内核源文件中,与单词Quantum有关的变量名一般是指时间片,WinCE内核定义了几个与时钟有关的全局变量,他们也是内核与OAL接口的一部分: 1) dwReschedTime,这个变量在内核的调度程序中

stm32之Systick(系统时钟)

Systick的两大作用: 1.可以产生精确延时: 2.可以提供给操作系统一个单独的心跳(时钟)节拍: 通常实现Delay(N)函数的方法为: for(i=0;i<x;i++) ; 对于STM32系统微处理器来说,执行一条指令只有几十ns(纳秒),进入for循环,要实现N毫秒的x值非常大:而由于系统频率的宽广,很难计算出延时N毫秒的精确值:针对STM32微处理器,需要重新设计一个新的方法去实现该功能,以实现在程序中使用Delay(N): cortex的内核中包含一个SysTick时钟,SysTi