打印
[Kinetis]

KL03不能正常进入低功耗模式的原因及解决办法

[复制链接]
982|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vigous1|  楼主 | 2015-2-27 21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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了。


相关帖子

沙发
vigous1|  楼主 | 2015-2-27 21:09 | 只看该作者

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

    经历了这么一次小阻碍之后,再次感叹真是“没病不死人啊”,呵呵,一个小小的问题如果找不到症结所在真的会让你如梗在喉啊。好了,卡着的刺终于摘出来了,可以拍拍灰继续向前了


使用特权

评论回复
板凳
ccw1986| | 2015-2-28 08:38 | 只看该作者
vigous1 发表于 2015-2-27 21:09
看来自己还是过于激动,疏忽大意了,呵呵,不过既然知道了问题所在那就好办了,只需在程序开始部分把RTC的 ...

楼上真是精神可嘉啊,向你学习

使用特权

评论回复
地板
cowboy2014| | 2015-2-28 16:19 | 只看该作者
讲的挺细致的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

427

帖子

15

粉丝