wuyage

Kinetis K系列低功耗LLS模式GPIO唤醒

0
阅读(2383)

关于Kinetis L 系列的低功耗例程 比较多,而K 系列的低功耗例程相对较少。以Kinetis K60的官方SC代码为例,我们在其提供的例程里并没有看到低功耗例程。

1.jpg

实际上在Driver里已经提供了相关的源文件,只是没有做demo而已。

2.jpg


所以这里我在hello_world的基础上做了一个简单的例子,实现的功能是:MCU进入到LLS低功耗模式,GPIO(PTE1)去唤醒MCU.

硬件平台:TWR_K60D100M

软件平台:IAR7.40.3

测试结果如下:

正常运行模式下电流为40.2mA

2.jpg


进入到低功耗模式之后电流下降到9uA

1.jpg

这和数据手册中的数据是一致的:

LLS.jpg


另外补充几点说明:

1) 并不是所有GPIO都可以在LLS模式去唤醒MCU,哪些GPIO可以在LLS模式下唤醒,需要去查看芯片手册。下图中的表格可以看出LLWU的唤醒源,包括外部引脚和内部唤醒源。

LLWU wakeup.jpg

2)在操作K60 LLWU模块的寄存器之前需要打开LLWU的Clock Gate,这点与KL系列不同,另外也和新一代的K64,K22不同。其他芯片是没有这一位的,直接操作寄存器就可以。在做移植的时候需要留意这一点。

LLWU Clock Gate1.jpg

3)测功耗时要拔掉调试器如Jlink等。

代码如下:

KINETIS512_V2_SC_LLSDemo.rar


如果有人使用超核代码库,可参考以下代码:

main.rar

需要特别注意的是:超核渡鸦开发板上如果使用的芯片是MK60DN512ZVLQ12,那么直接跑这个代码是不行的,因为带Z的芯片和不带Z芯片在低功耗这个地方差别很大。

Baidu
map