子鱼 发表于 2015-2-13 12:18:14

【转载分享】KL03不能正常进入低功耗模式的原因及解决办法

   原帖地址:http://blog.chinaaet.com/detail/39570KL03不能正常进入低功耗模式的原因及解决办法      KL03系列是Kinetis L系列的第二代产品,相比于第一代的同一级别的KL02,的确是新添了不少特色。包括出厂自带Boot ROM(IAP功能,直接通过串口,I2C或者SPI下载程序),内部集成了全温度范围精度在1%的48M晶振(所以去掉了冗余的FLL和PLL倍频部分,即省电又省成本,使用起来也比较方便),内部集成1.2v的电压基准源并且对功耗方面做了进一步的优化(虽然KL02本身功耗已经很低了)。所以俺还是很看好它的,哈哈~

    别的先不提,前面我说到KL03对功耗方面做了进一步的优化,自然刚到手KL03就打算先测测它的功耗啦。但是在调试KL03低功耗的时候,通过触发跟KL02类似的进入低功耗指令时却发现KL03并没有真正的进入低功耗模式,此时功耗虽然比全速运行时的小了不少但是仍然还有几百个uA(正常来讲,进入VLPS模式低功耗时应该保持在1~2uA左右),虽然在此状态下也能正常唤醒,但是这种状态却是让人费解的。找了半天的原因,看手册,对代码,一直也没找出真正问题所在,结果最后在KL03的官方Errata(勘误表)里才找到根本原因,如下图,即在进入低功耗模式前需要先把RTC的中断标志清零才可以,看来是一个芯片的小bug了。





    看来自己还是过于激动,疏忽大意了,呵呵,不过既然知道了问题所在那就好办了,只需在程序开始部分把RTC的中断标志清掉即可,当然RTC的TIF标志清零过程还是需要先打开RTC的Clock Gate才行,具体如下图所示。然后我们重新编译整个工程再下载进入,让其进入VLPS低功耗模式下再测一下电流,竟然直接降到1.7uA(实测数据),正常进入低功耗模式,貌似比KL02还真低了不少,顿时有种捶胸顿足的兴奋劲,哈哈。





FSL_TICS_ZJJ 发表于 2015-2-13 13:15:24

jicheng的帖子确实是非常好的贴,感谢分享!

jinyi7016 发表于 2015-2-14 17:24:44

感谢分享,学习了

eva 发表于 2015-2-14 21:17:30

感谢分享,收藏了

子鱼 发表于 2015-2-14 21:26:40

eva 发表于 2015-2-14 21:17
感谢分享,收藏了

以后遇到问题了 可以看一看

eva 发表于 2015-2-14 21:34:21

子鱼 发表于 2015-2-14 21:26
以后遇到问题了 可以看一看

是呀,现在需要低功耗的产品好多,以前没怎么在意过这些,不过以后这就是发展趋势了

mcucow 发表于 2015-2-15 11:32:34

是否进入低功耗模式, 我以前都是测一下电流对照手册看看差不多就过了,
是否有其他的方式来判断的?

holts2 发表于 2015-2-15 11:56:13

好资料,LZ有没有试过串口下载功能 ?
页: [1]
查看完整版本: 【转载分享】KL03不能正常进入低功耗模式的原因及解决办法