KL 系列 FAQ (二)
3 低功耗模式
3.1 KL25Z 在 VLPR 模式最小电流消 耗下的核心频率?
问题:
KL25Z 数据手册在 VLPR 工作模式给出了电流消耗与核心频率的关系图,
那么其在最小电流消耗下的核心频率具体值为多少?关系图如下:
答案:
首先需要说明的是这张图并不是功率与频率关系的连续变化曲线,而只是
描述了几个特定频率点上的典型功率值。从横坐标上的说明可以看到,这张图给出
的内核频率分别为 1M、2M 和 4M,原则上是频率越高,功耗越大。但是对于某个
内核频率,选择不同的 FLASH 与内核频率比也会影响芯片的功耗。总的来说,也
是 FLASH 频率越高,功耗越大。所以此图会呈现这种 V 字的形状。从这张图上来
看,就是选择 1M 的内核频率,500K 的 FLASH 频率时,功耗最低。
3.2 应用 CMP 作 为 KL14 的 VLLS3 唤醒源
问题:
最近我正在使用 KL14 开发项目,当 KL14 进入到 VLLS3 模式后,需要设
置唤醒源将其唤醒,参考 KL25_SC.ex e 中的 low_power_demo 例程,想将其中的按
键唤醒变成 CMP 作为唤醒源,初步想法是这样:当 CMP 的外接电压输入引脚所
接的电压低于某个电压时,即可唤醒 MCU,请问有相关的例程代码提供吗?
答案:
在 low_power_demo 例程的基础上,按照以下步骤操作即可:
1. 设置 CMP 作为唤醒源
llwu_configure(0x0000, LLWU_PIN_FALLING, 0x2);
2. 使能 CMP 时钟
SIM_SCGC4 |= (SIM_SCGC4_CMP_MASK );
3. 使能 CMP 中断
NVIC_EnableIRQ(CMP0_IRQn);
4. 添加 cmp_init(0x18);
3.3 LLS 和 VLLSn 低功 耗模式唤醒
问题:
请问 LLS 和 VLLSn 低功耗模式是如何经过中断唤醒的,与唤醒 WAIT 或
STOP 一样吗?
答案:
唤醒 LLS 和 VLLSn 需要专门设置的唤醒源,而且 MCU 唤醒后,不是接着
进入低功耗模式前的代码运行,而是相当于给单片机复位,具体操作流程参考
AN4503
http://cache.freescale.com/files/32bit/doc/app_note/AN4503.pdf?fsrch=1&sr=1
3.4 低功耗进入及退出设置函数编写需注意的细节
问题:
请问编写不同的低功耗进入及退出设置函数有哪些需要注意的细节,因为经
常出现低功耗模式进不去或者低功耗模式无法退出的现象?
答案:
(1)进入低功耗模式:
- 使能 PMPROT 寄存器中的 VLLSx 模式.这里要注意的是, PMPROT 是 only
write once 的寄存器
- 检查 SMC 寄存器组中的其他寄存器的设置
- LLWU 唤醒设定
- LLWU 中断使能, 并且在 LLWU 的中断服务程序中清除 pending 标识位
- 确认引脚是一个数字输入引脚
(2)唤醒设置:
- VLLSx 的唤醒是要 reset 的
- 确认软件写 ACKISO. 这个必须要在最开始处写入
参考应用手册 AN4503 链接:
http://cache.freescale.com/files/32bit/doc/app_note/AN4503.pdf?fsrch=1&sr=1
参考阅读:
KL 系列 FAQ (一)