打印

430低功耗问题

[复制链接]
1370|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
BCSCTL1&=~XT2OFF,意思是打开XT2晶振,BCSCTL1&=XT2OFF是不是就是关闭XT2晶振了,在低功耗的之前开启XT2作为时钟源,进入低功耗的时候关闭XT2,为什么这时候功耗依然很大呢,如果在时钟初始化的时候不操作BCSCTL1这个寄存器的话,进入低功耗后电流就非常小,我测试的时候没有任何外设,附上没有操作 BCSCTL1寄存器的时钟设置[img][/img]

LL]}S`I7KB{EEN$R{UGTZ9C.png (24.97 KB )

LL]}S`I7KB{EEN$R{UGTZ9C.png

相关帖子

来自 2楼
shisizai| | 2016-11-15 10:01 | 只看该作者
本帖最后由 shisizai 于 2016-11-15 10:04 编辑

SELS   Bit 3   Select SMCLK. This bit selects the SMCLK source.
0 DCOCLK
1 XT2CLK when XT2 oscillator present on-chip. LFXT1CLK when XT2
oscillator not present on-chip.
你把xt2关了之后 SMCLK选的是低频时钟源 32k的那个  但是你要是给xt2开开 就是8M的时钟源了
所以功耗就上去了另外 关闭XT2晶振 是 BCSCTL1 | =XT2OFF

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
o爱电子 + 2 很给力!
板凳
dirtwillfly| | 2016-11-14 13:49 | 只看该作者
你的xt2是多少频率的?
你说的功耗很大和非常小,分别是多少?

使用特权

评论回复
地板
o爱电子|  楼主 | 2016-11-14 14:31 | 只看该作者
dirtwillfly 发表于 2016-11-14 13:49
你的xt2是多少频率的?
你说的功耗很大和非常小,分别是多少?

XT2是8M的,如果不操作BSC1那个寄存器的话,进入低功耗后电流2uA,如果操作BSC1的话进入低功耗后电流为还几百uA

使用特权

评论回复
5
dirtwillfly| | 2016-11-14 14:46 | 只看该作者
o爱电子 发表于 2016-11-14 14:31
XT2是8M的,如果不操作BSC1那个寄存器的话,进入低功耗后电流2uA,如果操作BSC1的话进入低功耗后电流为还 ...

几百uA是正常的,你进入低功耗状态,功耗就能降下来一些

使用特权

评论回复
6
o爱电子|  楼主 | 2016-11-14 15:02 | 只看该作者
dirtwillfly 发表于 2016-11-14 14:46
几百uA是正常的,你进入低功耗状态,功耗就能降下来一些

如果操作BCSCTL1那个寄存器的话进入低功耗也是几百uA,

使用特权

评论回复
7
dirtwillfly| | 2016-11-14 15:52 | 只看该作者
o爱电子 发表于 2016-11-14 15:02
如果操作BCSCTL1那个寄存器的话进入低功耗也是几百uA,

不会啊。方便上传下更多代码吗?

使用特权

评论回复
8
o爱电子|  楼主 | 2016-11-14 16:00 | 只看该作者
部分代码

$R$Q9HS6R@{8U])C08V5B0Q.png (26.73 KB )

时钟初始化

时钟初始化

@OHTSM6FVFID$2}MCUGORW5.png (25.98 KB )

退出低功耗

退出低功耗

X`I{T7]YP@ZFO{((%1X}7%X.png (27.18 KB )

主函数

主函数

使用特权

评论回复
9
o爱电子|  楼主 | 2016-11-14 16:02 | 只看该作者
dirtwillfly 发表于 2016-11-14 15:52
不会啊。方便上传下更多代码吗?

我把主函数部分,时钟部分,推迟低功耗部分的代码贴楼下了,这部分代码是没有操作BCSCTL1寄存器的,可以正常低功耗的,你看一下,

使用特权

评论回复
10
dirtwillfly| | 2016-11-14 16:27 | 只看该作者
o爱电子 发表于 2016-11-14 16:02
我把主函数部分,时钟部分,推迟低功耗部分的代码贴楼下了,这部分代码是没有操作BCSCTL1寄存器的,可以 ...

定时器和串口等是不是有使用mckl或者smclk的?
如果有使用的,会造成msp430不能进入LPM3模式

使用特权

评论回复
11
o爱电子|  楼主 | 2016-11-14 16:54 | 只看该作者
dirtwillfly 发表于 2016-11-14 16:27
定时器和串口等是不是有使用mckl或者smclk的?
如果有使用的,会造成msp430不能进入LPM3模式 ...

那该怎么办啊?我觉的问题应该在时钟设置上,

使用特权

评论回复
12
dirtwillfly| | 2016-11-14 17:01 | 只看该作者
o爱电子 发表于 2016-11-14 16:54
那该怎么办啊?我觉的问题应该在时钟设置上,

方法一:如果这些内置资源在低功耗模式不需要工作,可以先关闭它们,然后进入低功耗模式。退出低功耗模式记得重新配置他们。
方法二:LPM3模式模式下,MCLK和SMCLK被关闭,但ACLK还在运行状态,配置这些内置资源使用ACLK就可以了。

使用特权

评论回复
13
robter| | 2016-11-15 08:17 | 只看该作者
没注意到这个问题

使用特权

评论回复
14
o爱电子|  楼主 | 2016-11-15 08:40 | 只看该作者
dirtwillfly 发表于 2016-11-14 17:01
方法一:如果这些内置资源在低功耗模式不需要工作,可以先关闭它们,然后进入低功耗模式。退出低功耗模式 ...

也就是进低功耗之前,把定时器,串口全部关了再进入低功耗?

使用特权

评论回复
15
o爱电子|  楼主 | 2016-11-15 10:39 | 只看该作者
shisizai 发表于 2016-11-15 10:01
SELS   Bit 3   Select SMCLK. This bit selects the SMCLK source.
0 DCOCLK
1 XT2CLK when XT2 oscillato ...

谢谢,按照你说的,问题解决了,之前关闭XT2的方法错了,导致进入低功耗后XT2无法关闭,电流大。谢谢啦

使用特权

评论回复
16
o爱电子|  楼主 | 2016-11-15 10:40 | 只看该作者
dirtwillfly 发表于 2016-11-14 17:01
方法一:如果这些内置资源在低功耗模式不需要工作,可以先关闭它们,然后进入低功耗模式。退出低功耗模式 ...

谢谢啦,问题解决了

使用特权

评论回复
17
Snow7| | 2016-11-22 22:07 | 只看该作者
LPM3模式模式下,MCLK和SMCLK被关闭,但ACLK还在运行状态

使用特权

评论回复
18
o爱电子|  楼主 | 2016-11-23 15:16 | 只看该作者
Snow7 发表于 2016-11-22 22:07
LPM3模式模式下,MCLK和SMCLK被关闭,但ACLK还在运行状态

了解了,谢谢啦

使用特权

评论回复
19
shenmu2012| | 2016-11-23 22:57 | 只看该作者
进入低功耗模式后,一般主频率是暂停掉了,采用SMCLK的

使用特权

评论回复
20
firstblood| | 2016-11-23 23:21 | 只看该作者
这个主要是针对32.768KHz的晶振操作而言的,有几种低功耗模式下就是由该晶振提供时钟的。

使用特权

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

本版积分规则

2

主题

23

帖子

1

粉丝