OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4259|回复: 30

低功耗的难题

[复制链接]

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2018-8-21 21:21:29 | 显示全部楼层 |阅读模式
10金钱
最近在调试低功耗,单片机就不说,现在只想和你们交流一下低功耗的思想。

当把单片机设置为低功耗以后,往往电流还大的很。根本原因是IO与外设有导通电流。那么怎么办呢?

基本的做法是将各个IO根据外设环境从新配置一遍。待唤醒以后在配置成你的功能需要的IO模式。

于是我将IO都试了个遍,还是没有降下来。后面找硬件,他说进入低功耗了很多地方的电压都是为0的,用万用表多点一下就知道。

顺着这个办法,我把能怀疑的都点了,确实没有电压。  现在我的束手无策了。实在是没智商进展了。

最佳答案

查看完整内容[请看2#楼]

硬件问题,换了一块稳压芯片。这块稳压芯片耗了几十个uA。 大家以后要注意了。
自己选择的路,成家前走完。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-21 21:21:30 | 显示全部楼层
硬件问题,换了一块稳压芯片。这块稳压芯片耗了几十个uA。  大家以后要注意了。
自己选择的路,成家前走完。
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-8-21 21:29:08 | 显示全部楼层
IO在睡眠时的设定是没有固定的, 要因应外围电路, 这个需要硬件知识, 没有的话, 就接上电流表, 就一个一个的试三种状态, 让电流表说了算, 呵呵
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-8-21 21:36:11 | 显示全部楼层
简单而言,
外围电路在睡眠状态下是浮空的, 就要设置为输出口
若外围为非浮空的就设置为输入
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-21 21:52:10 | 显示全部楼层
edmund1234 发表于 2018-8-21 21:29
IO在睡眠时的设定是没有固定的, 要因应外围电路, 这个需要硬件知识, 没有的话, 就接上电流表, 就一个 ...

没错 都一个个试了   还是达不到理论值   而我在开发板上调试的就可以,开发部的外设比较少
自己选择的路,成家前走完。
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-8-22 12:13:12 | 显示全部楼层
你看看论坛,我记得有这方面的内容
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-8-22 16:42:00 | 显示全部楼层
等你的结果,低功耗需要时间
回复

使用道具 举报

17

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2085
金钱
2085
注册时间
2016-8-8
在线时间
362 小时
发表于 2018-8-22 17:18:19 | 显示全部楼层
AD呢 要是用了就关了 那个东西电流很大
黑夜给了我黑色的眼睛,我却用它来寻找白花花的银子,黄灿灿的金子,以及红彤彤的毛爷爷
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-22 18:25:25 | 显示全部楼层
1208 发表于 2018-8-22 12:13
你看看论坛,我记得有这方面的内容

系统进入休眠以后,测电路周围有没有电压,来确定硬件有没有电流这个算不算科学。
自己选择的路,成家前走完。
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-22 18:29:00 | 显示全部楼层
守候ocean 发表于 2018-8-22 17:18
AD呢 要是用了就关了 那个东西电流很大

我也不是很清楚这款单片机。他的外设不需要开时钟的。也没有开关。像串口中断、定时器中断这些我试了没什么影响。你说的ad,我另外一块板子也没怎么处理,只是处理了IO,调的低功耗就40多个uA。不过那块板子是同型号的单片机,引脚少一些是QFN24.
自己选择的路,成家前走完。
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-8-22 20:00:31 | 显示全部楼层
aiyeba 发表于 2018-8-22 18:25
系统进入休眠以后,测电路周围有没有电压,来确定硬件有没有电流这个算不算科学。

1。电阻开路时---电阻两端有电压,但没有电流;
2。电阻短路时---电阻两端无电压,有短路电流;
3。电阻正常时---电阻两端有电压,有工作电流。
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

17

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2532
金钱
2532
注册时间
2016-3-6
在线时间
393 小时
发表于 2018-8-22 22:43:06 | 显示全部楼层
前面做过的一个蓝牙卡,AD这个影响很大
路漫漫其修远兮,吾将上下而求索。
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-8-22 23:30:05 | 显示全部楼层
刚刚想起, 你说在调试的时候电流不大, 如果是用J-Link, 留意J-Link的确VCC有没有连在板上, 否则它会反过来给板电流, 这时候你量到的不是实际CPU在睡眠用的电流
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7568
金钱
7568
注册时间
2016-11-30
在线时间
643 小时
发表于 2018-8-23 09:44:33 | 显示全部楼层
本帖最后由 lvkanger 于 2018-8-23 09:49 编辑

1.你现在功耗调到多少了?如楼上所说,Jlink如果没断开的话会有大约200uA左右的电流消耗。2.没有用到的外设一定要关掉,包括中断等。
3.IO口的状态需要根据外部电路进行设置。悬空的IO口设置为模拟输入,外部有电路的要根据实际情况进行设置,确保电路没有电流消耗就可以。
4.串口,SPI这些如果有连接外部器件的话,应该断掉外部器件的电源,并把相关引脚设置为IO口。
5.降低主频。


回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-24 16:00:32 | 显示全部楼层
1208 发表于 2018-8-22 20:00
1。电阻开路时---电阻两端有电压,但没有电流;
2。电阻短路时---电阻两端无电压,有短路电流;
3。电 ...

大佬不是很明白你说的开路啊,短路什么的,能简单的解释一下摸。
自己选择的路,成家前走完。
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-8-24 16:02:47 | 显示全部楼层
lvkanger 发表于 2018-8-23 09:44
1.你现在功耗调到多少了?如楼上所说,Jlink如果没断开的话会有大约200uA左右的电流消耗。2.没有用到的外设 ...

我用的单片机是nrf24le1.好像是没有什么外设开关。

理论电流可以在几个uA。我接收器调到了20几个uA把。

发射器还有60几个uA。   可是我IO的配置是基本都配置过了。   如果真是还需要关掉什么外设的话,那我的去找找这单片机的数据手册了。
自己选择的路,成家前走完。
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7568
金钱
7568
注册时间
2016-11-30
在线时间
643 小时
发表于 2018-8-25 12:23:07 | 显示全部楼层
aiyeba 发表于 2018-8-24 16:02
我用的单片机是nrf24le1.好像是没有什么外设开关。

理论电流可以在几个uA。我接收器调到了20几个uA把 ...

已经很接近了,那就得看看你的引脚设置是否都恰当了!
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-9-6 14:56:35 | 显示全部楼层
lvkanger 发表于 2018-8-25 12:23
已经很接近了,那就得看看你的引脚设置是否都恰当了!

大佬问下,我这项目得收尾了。下军令状了。秋后问斩

我这边有发射板 、接收板、开发板。    我把发射器的代码烧入开发板,然后根据外围硬件设置
IO,得到的低功耗电流是几个uA。但是我的发射器板呢有80多个uA。接收器调的有20几个uA。  我个人很不愿意相信是软件问题。因为我移植到开发板是最接近手册的。

你帮我分析下。
自己选择的路,成家前走完。
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-9-6 15:23:15 | 显示全部楼层
检测外围设备,看是否有上拉 ,进入休眠前把外部上拉的IO设置为推挽输出高,有链接其他iO但是无确定电平的使用浮空模式,浮空IO设置为下拉输入模式,这样应该就差不多,如果还不确定,把发射器外设全拆了,只看mcu的功耗
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-9-6 16:38:02 | 显示全部楼层
无线发射和接收的芯片功率多大,有没有什么待机模式?
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-9-6 18:50:13 | 显示全部楼层
楼主对处理IO省电的理解确实有误
不是说把IO都变0, 就是省电, 有的情况下变0, 反而更不省电, 这要看外围电路
正确的理解是, 让IO处于一状态(可以是1, 可能是0,也可能是输入), 目的只有一条, 不让IO与外围电路有电位差, 没电位差就不会有电流流动, 这才能达到省电的目的。
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7568
金钱
7568
注册时间
2016-11-30
在线时间
643 小时
发表于 2018-9-7 09:54:35 | 显示全部楼层
edmund1234 发表于 2018-9-6 18:50
楼主对处理IO省电的理解确实有误
不是说把IO都变0, 就是省电, 有的情况下变0, 反而更不省电, 这要看外围 ...

这是正确的IO设置方式。IO设置时就需要对硬件电路知识要多了解一点了。
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7568
金钱
7568
注册时间
2016-11-30
在线时间
643 小时
发表于 2018-9-7 09:59:01 | 显示全部楼层
aiyeba 发表于 2018-9-6 14:56
大佬问下,我这项目得收尾了。下军令状了。秋后问斩

我这边有发射板 、接收板、开发板。    我把发射 ...

思路应该是先确定这几十个uA的电流是那里消耗的,如果你的IO都设置没有问题的话,应该考虑是否应用了串口这样的外设,尤其是串口的Tx引脚,可能会有电流消耗。比较笨一点的方法就是测试各个引脚的电压值,然后根据上下拉,以及外围电路分析是否会产生电流。
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-9-7 12:36:12 | 显示全部楼层
edmund1234 发表于 2018-9-6 18:50
楼主对处理IO省电的理解确实有误
不是说把IO都变0, 就是省电, 有的情况下变0, 反而更不省电, 这要看外围 ...

这个思路是对的
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-9-7 13:04:46 | 显示全部楼层
没电压说明已经进入低功耗了。可能是硬件问题。
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-9-7 16:33:43 | 显示全部楼层
d1z1y2 发表于 2018-9-7 12:36
这个思路是对的

我上面说的电压都为0,不是指芯片或者IO的电压为0就是没有电流。而是指低功耗的时候外设设备的一些电阻俩段没有电压。  可以再看下我上面的话。
自己选择的路,成家前走完。
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-9-10 08:46:56 | 显示全部楼层
aiyeba 发表于 2018-8-24 16:02
我用的单片机是nrf24le1.好像是没有什么外设开关。

理论电流可以在几个uA。我接收器调到了20几个uA把 ...

请教一下,测这种小电流是怎么测得?用什么设备?
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-9-10 10:10:03 | 显示全部楼层
wxjhby 发表于 2018-9-10 08:46
请教一下,测这种小电流是怎么测得?用什么设备?

初中物理那样,在一条线上接个安培表就好了。

我这里用的万用表代替。
自己选择的路,成家前走完。
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-9-10 10:56:19 | 显示全部楼层
aiyeba 发表于 2018-9-10 10:10
初中物理那样,在一条线上接个安培表就好了。

我这里用的万用表代替。

哦,这样准么。 还有请问一下,你这个无线是买的模块还是直接芯片画在自己板子上?供电是什么电池? 我也想做个2.4G无线遥控器
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-9-10 14:50:03 | 显示全部楼层
wxjhby 发表于 2018-9-10 10:56
哦,这样准么。 还有请问一下,你这个无线是买的模块还是直接芯片画在自己板子上?供电是什么电池?  ...

是带有2.4Ghz无线发送接收的单片机哦。

性价比还可以吧。
自己选择的路,成家前走完。
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-9-10 15:52:51 | 显示全部楼层
aiyeba 发表于 2018-9-10 14:50
是带有2.4Ghz无线发送接收的单片机哦。

性价比还可以吧。

可以的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 05:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表