【赚周年币】技术帖Week3-Day4——LPC824 Breakout之17、PMU学习
#线上活动
5032 人阅读
|
2 人回复
|
2017-01-18
TA的每日心情 | 开心 6 小时前 |
|---|
签到天数: 4272 天 连续签到: 1 天 [LV.Master]伴坛终老
司徒
- 积分
- 49080
    

|
|
本帖最后由 toofree 于 2017-1-19 03:23 编辑
【赚周年币】技术帖Week3-Day4——LPC824 Breakout之17、PMU学习
PMU即电源管理单元,在用户手册“UM10800.pdf”的60到73页有详细说明。
Chapter 6: LPC82x Reduced power modes and power management,节电和电源管理,不用多说,这都是为电池供电准备的。
我们以工程“LPC824_Example_Code_Bundle_Keil_r1.0\Keil_Projects\Example_PMU_Modes\Example_PMU_Modes.uvoptx”模板来对PMU进行测试。工程如下图:
我们来分析一下程序结构。实际就一个main()函数,一个管脚7中断函数,一个UART0中断处理函数。UART0中断处理比较简单,是用来中断接收的。管脚7中断函数用来重新开启UART0和GPIO时钟的,因为有进入节电模式之前有一条Setup_Low_Power_Example_PMU_Modes()函数,在这里面把外设的电全断了。
“Example_PMU_Modes_Funcs.c”中的4条函数。PININT7_IRQHandler()管脚7中断处理函数,清中断标志,用来重新开启UART0和GPIO时钟。
UART0_IRQHandler() UART0中断处理函数,中断接收数据转发出去,实际相当于硬件的回显。
Setup_UART0_9600(),设置UART0为9600波特率。这里波特率设置与之前的程序不同,使用了波特率时钟源为12MHz(即主时钟为12M,波特率时钟分频系数为1),具体12MHz是怎么来的,我们在后面分析。
Setup_Low_Power_Example_PMU_Modes(),进入节电模式前,关闭外设时钟。对PDAWAKECFG和PDRUNCFG不作详细分析,有兴趣可以参考用户手册51、52页。
“Example_PMU_Modes.c”文件中,就一个main()函数。我们对main()函数进行分析。
首先是开启相关外设时钟UART0、 GPIO、 IOCON 、SWM,BOD_PD断电。
所有IO禁止掉上下拉,P0.0--P0.28。
将P0.4挂到管脚7中断,并开启中断。P0.4为唤醒专用管脚,外部已上拉,在LPC824 Breakout板上是靠CP2102的TXD输出TTL高电平上拉的。
测过P0.2管脚,作为中断唤醒,发现可以唤醒前三种械,深度掉电模式不行,在用户手册中找到原因。即在深度掉电模式时,只有P0.4唤醒专用管脚能成功唤醒,其它IO不好使。
UART0初始化,设置并开接收启中断。板上的串口正好用到管脚P0.4,而P0.4又是唤醒专用管脚。没办法,只好外接了一个USB转TTL串口。
配置绿灯IO,关闭不必要的时钟IOCON和SWM,真是能省则省呀。
开绿灯,串口发输入提示,等待中断接收上位机输入。
判断UART0接到输入为字符“0”,打印相应Sleep模式信息,关闭UART0、IOCON 、SWM时钟,设置SleepDeep位,则进入Sleep模式。
其它三种模式在程序上,只是给LPC_PMU->PCON赋值不同,则模式不同。
没有正确输入“0”到“3”字符时,或者从低电唤醒后,直接进入系统复位,程序从头开跑。
“Keil_startup_LPC8xx.s”文件,与之前的文件也有点不同。用IRC_Only_SystemInit()函数,代替了SystemInit()。
那么IRC_Only_SystemInit()在哪里呢,直接查找发现找不到。点软件仿真后,直接跳转到了“utilities.c”,而在头文件“utilities.h”中并不有申明此函数,难怪找不到。
从这个IRC_Only_SystemInit()设置我们,可以得出下图时钟走向。其中PLL输出时钟的并没有使用,要省电的话,可以把PLL也停掉,就不对这个做测试了。
测试过程,在上位机串口终端打印结果,见图。
好了,整个PMU学习到此,收工,睡觉。
|
评分
-
查看全部评分
|
|
|
|
|
|
|
|
|
|
沙发
wxJSH_1617091943
发表于 2024-4-2 20:46:39
|
只看该作者
|
LPC824在深度掉电模式下 P0.4如果一致为低电平,MCU能被唤醒吗? |
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2025-10-22 07:09 |
|---|
签到天数: 590 天 连续签到: 1 天 [LV.9]以坛为家II
状元
- 积分
- 8788
|
板凳
eefocus_3914144
发表于 2024-4-13 08:12:38
|
只看该作者
|
|
|
|
|
|
|
|