CortexM0_LPC1100_第2章 硬件体系结构 功率控制

  • 格式:pdf
  • 大小:264.04 KB
  • 文档页数:7

目录
第2章硬件体系结构 (1)
2.1 功率控制 (1)
2.1.1 简介 (1)
2.1.2 功率控制相关寄存器 (1)
2.1.3 系统控制(SCR)寄存器描述 (2)
2.1.4 电源管理单元模块的相关寄存器 (2)
2.2 节电模式 (4)
2.2.1 运行模式 (4)
2.2.2 睡眠模式 (4)
2.2.3 深度睡眠模式 (4)
2.2.4 深度掉电模式 (5)
第2章 硬件体系结构
2.1 功率控制
寄存器 电源/时钟控制功能
应用的模式
电源控制
PDRUNCFG 控制模拟模块的电源(振荡器、PLL 、ADC 、Flash 和BOD )。

在运行模式下可以通过该寄存器来改变电源的配置
注:为了确保在运行模式下处理器能正常运行,该寄存器
的中的第9位和第12位必须为0
运行模式
PDSLEEPCFG 选择在深度睡眠模式中需要停止的模拟模块。

当器件进入
深度睡眠模式时,该寄存器中的内容会自动加载到PDRUNCFG 中
注:为了降低深度睡眠模式中处理器的功耗,该寄存器中
的第9位和第12位必须为0
深度睡 眠模式
PDAWAKECFG 选择从深度睡眠模式唤醒后需要上电的模拟模块。

当器件
退出深度睡眠模式以后,该寄存器中的内容就会自动加载到PDRUNCFG 中
注:为确保在运行模式下处理器能正常运行,该寄存器的
中的第9位和第12位必须为0
运行模式
时钟控制 AHBCLKCTRL
控制ARM Cortex-M0 CPU 、存储器以及APB 外设的时钟 运行模式 SYSAHBCLKDIV
禁能或配置系统时钟 运行模式 SSP0CLKDIV
禁能或配置SSP0外设时钟 运行模式 UARTCLKDIV
禁能或配置UART 外设时钟 运行模式 SSP1CLKDIV
禁能或配置SSP1外设时钟 运行模式 WDTCLKDIV
禁能或配置看门狗定时器时钟 运行模式 CLKOUTDIV 禁能或配置CLKOUT 管脚上的时钟 运行模式
续上表
寄存器电源/时钟控制功能
应用的模式
掉电模式的控制(PMU)
PCON
控制处理器所进入的节能模式睡眠/深度睡眠/掉电模式
2.1.3 系统控制(SCR)寄存器描述
表2.2 系统控制寄存器(SCR,地址0xE000 ED10)的为描述
符号值描述复位值
0 -
-
保留。

不能向该位写1 0
从处理模式到线程模式是否进入退出睡眠模式。

此位置1
使能中断避免应用程序返回空的mian函数
0 在线程模式中不睡眠
1 SLEEPONEXIT
1 当从ISR返回到线程模式进入睡眠模式或深度睡眠模式
在低功耗模式下选择处理器使用睡眠模式还是深度睡眠
模式
0 睡眠
2 SLEEPDEEP
1 深度睡眠
3 - -
保留0
4 SEVONPEND 发送中断信号。

当有中断进入等待中断模式,中断信号可
将CPU从WFE中唤醒。

如果CPU没有等待中断,但是
中断信号已经有效,将会在下一个WFE指令后生效。


然执行SEV指令也可将CPU唤醒
0 只有使能的中断才可以将CPU唤醒,没有使能的中断将被忽略
4 SEVONPEND
1 所有的中断,包括使能和没有使能的中断都可以将CPU 唤醒
31:5 - - 保留。

不能向这些位写1 0x00 2.1.4 电源管理单元模块的相关寄存器
1.总览
电源管理单元(PMU)可以控制深度掉电模式。

在深度掉电模式期间,数据暂时由PMU中的4个通用寄存器来保存,PMU单元寄存器总览见表2.3。

表2.3 寄存器总览:PMU(基址0x4003 8000)
名称访问地址偏移描述复位值PCON R/W 0x0000 电源控制寄存器0x00 GPREG0 R/W 0x0004 通用寄存器0 0x00 GPREG1 R/W 0x0008 通用寄存器1 0x00 GPREG2 R/W 0x000C 通用寄存器2 0x00 GPREG3 R/W 0x0010 通用寄存器3 0x00 GPREG4 R/W 0x0014 通用寄存器4 0x00
2. 电源控制寄存器
电源控制寄存器决定使用ARM WFI 指令时,器件进入的节能模式。

表2.4 电源控制寄存器(PCON ,地址0x4003 8000)的位描述
符号 值 描述 复位值
0 - - 保留。

不能向该位写1
深度掉电模式的使能位 1 通过使用ARM WFI 指令使器件进入深度掉电模式(ARM Cortex-M0内核掉电) 1 DPDEN
0 通过使用ARM WFI 指令使器件进入睡眠模式(ARM
Cortex-M0内核的时钟停止) 0
10:2 - - 保留。

不能向这些位写1
深度掉电标志 1 读:进入深度掉电模式 写:清除深度掉电标记 11 DPDFLAG
0 读:不进入深度掉电模式
写:没有作用 0
31:12 - - 保留。

不能向这些位写1 0x00
3. 通用寄存器0 ~ 3
器件进入深度掉电模式时,若V DD(3V3)管脚仍有电源,则通用寄存器可用于保存数据。

只有在芯片的所有电源都关断的情况下,“冷”引导程序才能将通用寄存器复位。

表2.5 通用寄存器0到3的位描述(GPREG0-3,地址0x4003 8004到0x4003 8010)
位 符号 值 描述 复位值
31:0 GPDATA - 在器件处于深度掉电模式下保存数据
0x00 4. 通用寄存器4
在V DD(3V3)管脚上仍有电源但器件已经进入到深度掉电模式下时,通用寄存器用于保存数据。

只有在芯片的所有电源都关断的情况下,“冷”引导程序才能将通用寄存器复位。

注:如果V DD(3V3)管脚上的电压值降到某规定值以下,WAKEUP 输入管脚上就不会有滞后,器件直接从深度掉电模式唤醒。

表2.6 通用寄存器4的位描述(GPREG4,地址0x4003 8014)
位 符号 值 描述 复位值
9:0 - - 保留。

不能向这些位写1 0x00
10 WAKEUPHYS 1 0 WAKEUP 管脚滞后的使能位 WAKEUP 管脚滞后使能 WAKEUP 管脚滞后禁能 0
31:11 GPDATA - 在器件处于深度掉电模式下保存数据
0x00
2.2 节电模式
2.2.1 运行模式
在运行模式下,ARM Cortex-M0内核、存储器和外设都使用分频后的系统时钟,系统时钟由寄存器AHBCLKDIV来决定。

用户通过寄存器AHBCLKCTRL选择需要运行的存储器和外设。

特定的外设(UART、SSP0/1、WDT和Systick定时器)除了有系统时钟以外,还有单独的外设时钟和自己的时钟分频器,用户可以通过外设的时钟分频器来关闭外设。

模拟模块(PLL、振荡器、ADC、BOD电路和Flash模块)的电源可以通过寄存器PDRUNCFG 来单独控制。

注:为了确保在运行模式下处理器能正常运行,PDRUNCFG寄存器的中的第9位和第12位必须为0。

中唤醒。

●通过PDSLEEPCFG寄存器选择在深度睡眠模式下需要掉电的模拟模块(振荡器、PLL、
ADC、Flash和BOD);
●通过PDAWAKECFG寄存器选择从深度睡眠模式唤醒后需要上电的模拟模块;
●向ARM Cortex-M0 SCR寄存器中的SLEEPDEEP位写1;
●通过使用ARM Cortex-M0等待中断(WFI)指令进入深度睡眠模式。

为了保证在深度睡眠模式下处理器功耗最小,寄存器PDRUNCFG,PDSLEEPCFG和PDAWAKECFG中的第9、11、12位必须正确地配置,详见表2.7所列。

表2.7 深度睡眠模式下的低功耗设置
位PDSLEEPCFG PDAWAKECFG PDRUNCFG
9 0 0 0
11 1 1 1
12 1 0 0
寄存器以及内部SRAM
●通过使用ARM Cortex-M0等待中断(WFI)指令进入深度掉电模式。

当最后一步完成后,PMU关闭片内所有模拟模块的电源,然后等待WAKEUP管脚的唤醒信号。

退出深度掉电模式的步骤如下:
●WAKEUP管脚的电平从高到低的转变;
—PMU会开启片内电压调节器。

当内核电压达到上电复位的触发值时,系统就会复位,芯片将重新启动;
—除了GPREG0到4和PCON以外的所有寄存器都会处于复位状态。

●一旦芯片重新启动之后,就可以读取PCON(见表2.4)中的深度掉电模式标记,看看
器件复位是由唤醒事件(从深度掉电模式唤醒)引起的还是由冷复位引起;
●清除PCON中的深度掉电标记;
●(可选的)读取保存在通用寄存器中的数据;
●为下一次进入深度掉电模式设置PMU。

停止的时钟
仅停止内核时钟
主振荡器和所有内部时钟都停止,但
振荡器不停止
芯片电源(RESET
引脚、PCON和通用寄存器除外
2.3 功率控制注意事项
复位后,PDRUNCFG寄存器的值仅设置成Flash、IRC和BOD相关模块上电。

因此,用户需要使用某些外设时,还需要访问PDRUNCFG寄存器给对应的外设上电,并配AHBCLKC TRL打开相关外设的时钟。

注:为了降低功耗,处理器进入节能模式后,其调试功能被禁止。

芯片进入深度掉电模式后,只能通过WAKEUP(PIO1_4)唤醒。