打印
[Kinetis]

KL VLPS

[复制链接]
2231|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
淡定致远|  楼主 | 2015-9-11 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 淡定致远 于 2015-9-11 16:40 编辑

VLPS-->RUN
Interrupt with PMCTRL[LPWUI]=1 or
Interrupt with PMCTRL[LPWUI]=0 and VLPS mode was
entered directly from RUN or Reset
NOTE: Not all devices have the PMCTRL[LPWUI] bit.

各位大虾这什么意思?我用的KL15,正好是没有LPWUI这个位的,那么如何从VLPS切换到RUN?是不是一有中断产生就回到RUN?

相关帖子

沙发
FSL_TICS_ZJJ| | 2015-9-11 17:35 | 只看该作者
如果是KL系列,不需要管这个位,因为KL系列没有这个位。
如果要从VLPS模式唤醒到RUN,可以直接通过中断就行。

使用特权

评论回复
板凳
淡定致远|  楼主 | 2015-9-14 16:10 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-11 17:35
如果是KL系列,不需要管这个位,因为KL系列没有这个位。
如果要从VLPS模式唤醒到RUN,可以直接通过中断就行 ...

进中断就自动唤醒吗?需要操作吗?例如清寄存器

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2015-9-15 09:05 | 只看该作者
淡定致远 发表于 2015-9-14 16:10
进中断就自动唤醒吗?需要操作吗?例如清寄存器

比如使用IO口中断唤醒,一旦进入中断之后,就会唤醒VLPS,然后代码继续顺序执行下去。
当然在中断中,你要清除IO口中断标志,否则会一直进入中断。

使用特权

评论回复
5
淡定致远|  楼主 | 2015-9-15 10:23 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-15 09:05
比如使用IO口中断唤醒,一旦进入中断之后,就会唤醒VLPS,然后代码继续顺序执行下去。
当然在中断中,你 ...

就是只清除中断标志就可以了?
另外:
从RUN到VLPS就是执行下面操作:
SMC_PMPROT |= SMC_PMPROT_AVLP_MASK | SMC_PMPROT_ALLS_MASK | SMC_PMPROT_AVLLS_MASK;     
SMC_PMCTRL = SMC_PMCTRL_RUNM(2);
立即进入VLPS模式,有没有问题?
谢谢!

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-9-15 11:05 | 只看该作者
淡定致远 发表于 2015-9-15 10:23
就是只清除中断标志就可以了?
另外:
从RUN到VLPS就是执行下面操作:

关于进入低功耗的代码,你参考KL25的例程。
http://cache.freescale.com/files/32bit/software/KL25_SC.exe
安装后,路径:kl25_sc_rev10\klxx-sc-baremetal\build\iar\low_power_demo
这里面有进入VLPS以及唤醒的代码。

使用特权

评论回复
7
淡定致远|  楼主 | 2015-9-15 12:05 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-15 11:05
关于进入低功耗的代码,你参考KL25的例程。
http://cache.freescale.com/files/32bit/software/KL25_SC.e ...

谢谢!

使用特权

评论回复
8
Micachl| | 2015-9-15 14:31 | 只看该作者
看到了这么有意义的帖子,学习了

使用特权

评论回复
9
FSL_TICS_ZJJ| | 2015-9-16 15:15 | 只看该作者

楼主如果问题解决了,还请帮我们及时结贴哦。

使用特权

评论回复
10
淡定致远|  楼主 | 2015-9-21 14:58 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-16 15:15
楼主如果问题解决了,还请帮我们及时结贴哦。

还没有解决呢。
又有新的问题,进入VLPS模式后,可以通过UART0唤醒,但是之后UART0中断就进不去了,不知道是什么问题。例程我看了,由于没有对应的开发板,也是理解不深。
还需要继续研究。
提点意见,怎么感觉FREESCALE的资料出的数量是不少,但是每一个都是写的不全面,想搞清楚一个问题,往往要查数个文档,再加上自己总结调试,才能明白。(本人水平时间都有限,希望freescale能出全面一些的文档,条理清楚的)

使用特权

评论回复
11
FSL_TICS_ZJJ| | 2015-9-21 15:56 | 只看该作者
淡定致远 发表于 2015-9-21 14:58
还没有解决呢。
又有新的问题,进入VLPS模式后,可以通过UART0唤醒,但是之后UART0中断就进不去了,不知 ...

你唤醒之后,有没有重新配置下时钟,还有uart重新配置下,中断使能也重新使能下。

使用特权

评论回复
12
淡定致远|  楼主 | 2015-9-21 16:11 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-21 15:56
你唤醒之后,有没有重新配置下时钟,还有uart重新配置下,中断使能也重新使能下。 ...

谢谢神速回复。
上面问题找到了,总中断需要打开
现在又有新的问题,debug时可以使用串口退出VLPS,退出前电流是1500微安左右(感觉有点大),断电再上电,就不能退出vlps,电流一直是几十微安

使用特权

评论回复
13
淡定致远|  楼主 | 2015-9-21 16:24 | 只看该作者
我的配置如下:
使用内部4M高速时钟,波特率19200,低功耗模式VLPS,使用UART0中断唤醒.
我看说明,VLPS模式MCG,UART0都是工作的,所以还用初始化吗?我也试了你说的重新初始化,没有什么变化。
中断唤醒时,SMC_PMCTRL,SCB_SCR需要复位吗?我看例程里面没有操作,对MCM_CPO进行了一些操作。

使用特权

评论回复
14
FSL_TICS_ZJJ| | 2015-9-21 16:54 | 只看该作者
淡定致远 发表于 2015-9-21 16:11
谢谢神速回复。
上面问题找到了,总中断需要打开
现在又有新的问题,debug时可以使用串口退出VLP ...

你刚刚说,能退出VLPS,但是在debug下?
然后不debug,重新上电,进入低功耗后,就不能退出?
你现在时钟模式是什么?
另外,你再加个引脚中断,看看是否能够唤醒。

使用特权

评论回复
15
淡定致远|  楼主 | 2015-9-22 08:28 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-21 16:54
你刚刚说,能退出VLPS,但是在debug下?
然后不debug,重新上电,进入低功耗后,就不能退出?
你现在时钟 ...

时钟模式FBI.
debug下,可以进入VLPS模式,给串口发信号可以退出,但是测到的电流有1500微安
断电后再上电,电流大约90微安(开了ADC,UART0,IO),但是给串口发信号没反应。

使用特权

评论回复
16
淡定致远|  楼主 | 2015-9-22 09:42 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-21 16:54
你刚刚说,能退出VLPS,但是在debug下?
然后不debug,重新上电,进入低功耗后,就不能退出?
你现在时钟 ...

另外,请教下,LPTPM指的是TIM0,TIM1,TIM2 哪一个?还是说都是低功耗TPM?
LPTMR指的是TIM0,TIM1,TIM2 哪一个?
我只知道UART0是LPUART,还不记得这个是哪个文档里写的了。这些信息哪里有啊?

使用特权

评论回复
17
FSL_TICS_ZJJ| | 2015-9-22 09:56 | 只看该作者
淡定致远 发表于 2015-9-22 09:42
另外,请教下,LPTPM指的是TIM0,TIM1,TIM2 哪一个?还是说都是低功耗TPM?
LPTMR指的是TIM0,TIM1,TIM2 哪 ...

在KL26的reference manual中讲了。
你说的LPTPM应该是TPM,LPTMR是low Power timer
UART0是在VLPS下还可以工作。
具体你查看 reference manual的power management。
关于你说的VLPS低功耗唤醒问题,我待会会做个测试工程给你。
你UART0的引脚用的是什么?

使用特权

评论回复
18
淡定致远|  楼主 | 2015-9-22 10:21 | 只看该作者
本帖最后由 淡定致远 于 2015-9-22 10:24 编辑
FSL_TICS_ZJJ 发表于 2015-9-22 09:56
在KL26的reference manual中讲了。
你说的LPTPM应该是TPM,LPTMR是low Power timer
UART0是在VLPS下还可 ...

你好,我用的是KL15,我要用两路PWM和一个定时器,要可以工作在VLPS模式下,所以应该是LPTPM和LPTMR都需要用到。一个用来定时,一个用来产生PWM,本质上TPM同TMR应该是一个东东吧?power management我看了,就是没弄明白哪个timer是低功耗的,不是有TPM0TPM1,TPM2吗?目前我是用的TPM0产生PWM,用TPM1做定时器。但是确定这两个模块是否可以工作在VLPS模式下。
测试工程不用了,板子不一样,不能跑就没什么用,你贴个UART0的配置就行,谢谢了。
UART0是用来在VLPS模式下唤醒CPU并通讯用的。

使用特权

评论回复
19
西门扫雪| | 2015-9-22 11:08 | 只看该作者
这个不知道好不好学啊

使用特权

评论回复
20
淡定致远|  楼主 | 2015-9-22 12:06 | 只看该作者
西门扫雪 发表于 2015-9-22 11:08
这个不知道好不好学啊

会者不难,每一款单片机应该都差不多。
我之前一直用ST的8位机,现在项目需要,必须用FREESCALE的m0,灰常不适应呢

使用特权

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

本版积分规则

3

主题

41

帖子

1

粉丝