miraclever 发表于 2012-8-4 23:16:47

关于低功耗设计的一个案例

本帖最后由 miraclever 于 2012-8-5 12:44 编辑

不知各位兄弟有没有做过低功耗的产品,本人将在做低功耗的产品中的一些心得与体会发上来和大家探讨与学习,希望能够起到抛砖引玉的效果。


点击可看大图

点击可看大图

公司是做车载GPS终端的,某款终端客户要求在低功耗状态下采用电池工作30天,由于车载GPS终端一般采用GPS模块采集经纬度信息通过GPRS网络上传数据中心的方式来工作,所以两个模块都是耗电大户,GSM模块在GPRS联网状态下峰值电流可达2A,其工作电流最大可达220ma,GPS模块一般在60-70ma左右,所以低功耗状态下必须切断这两个模块的电源,由于终端体积较小无法采用体积更大蓄电池来供电,最大只能选用3.7V 2400ma的锂电池来供电,这样就决定了终端必须在休眠时进入超低功耗状态下,经过设计电路,将GSM模块与GPS模块的电源分别通过使用可控LDO用CPU来控制切断电源,样机制作完毕,调试发现电流比预先设计的大2ma左右,无法达到要求,理论上在终端进入低功耗状态下其耗电应该在1ma以下,但是目前看来多出来了2ma左右,真是百思不得其解,进一步分析电路发现,GSM模块与GPS模块即使在关断其电源的情况下居然也有近1ma左右的电流消耗,发现了问题所在就剩仔细排查了,终于发现了为什么会有1ma的电流消耗,如上图所示,终端在休眠时CPU依次将GPS模块GSM模块电源切断,此时两个模块均处于掉电状态,但是此时CPU的串口引脚还接在模块的串口引脚上,由于模块或者IC在设计的时候考虑到防止引脚上出现高于电源电压的电平出现,于是在总线上做了如图2的一种保护,当模块处于掉电的状态时,其总线由于有二极管进行保护则其电压被箝位0.3-0.7V左右,所以当CPU的TX引脚输出为高电平(3.3V)时则电压一部分电压直接经过到电源的二极管达到了VCC引脚,进而经过了整个模块形成的负载,构成回路,虽然不足以让模块正常工作,但其损耗的电源对于一款低功耗的产品来说还是很可观的,所以,要求软件工程师在CPU进入休眠状态时,先将接到两个模块的串口的I/O口设置为高阻态,经过测试,终端在低功耗状态下已经可以达到800ua,满足之前的计算要求,可以达到客户要求,至此样机测试完成



插播一条................帮助信息{:lol:}

MRT系列模块 Altium Designer格式封装下载

http://www.miractech.com/upLoad/down/month_1206/20120623142901246.jpg

http://www.miractech.com/upLoad/down/month_1206/201206231428394232.jpg

Altium Designer 格式文件


MRT系列模块Protel99se 格式封装下载

Protel99se 格式文件



diannaoza 发表于 2012-8-4 23:38:08

总结:将模块的串口的I/O口tx,rx设置为高阻态^-^

miraclever 发表于 2012-8-5 12:13:39

本帖最后由 miraclever 于 2012-8-5 12:19 编辑

buxinshan 发表于 2012-8-5 10:31 static/image/common/back.gif
刚找了一个GSM模块,没找到华为的模块资料。
从资料上来看,“电源的供电能力至少要达到1A,最好加一个1000 ...

我现在选用的是470uf/10V的钽电容,钽电容各项参数还是优于电解电容的(尽管不推荐使用钽电容,但是主要是终端体积限制无法使用电解),但是有个问题就是太贵了啊,5-6块一个........
如果采用电解电容的话,建议采用两个电容并联的形式,比如官方要求选用470uf,则可以采用两个220uf的并联,这样即达到了降低了等效串联电阻(ESR)又节省成本的效果。{:lol:}

WoShiMaJia 发表于 2012-8-6 10:07:52

buxinshan 发表于 2012-8-5 21:18 static/image/common/back.gif
钽电容用在电源级1.5倍的耐压还是够的,当然国货的冗余度小很多。

这位兄台,你那个设计存在根本上的错误,那就是采用了超级电容作为GSM的滤波电容,这样很有可能导致GSM在收发数据时死机,如果超级电容旁边没有并接他的电容,你那个设计就危险了.........可以用示波器观察一下,在GSM收发数据时电源波动情况。

miraclever 发表于 2012-8-9 09:11:37

156397226 发表于 2012-8-9 08:40 static/image/common/back.gif
楼主的问题我也碰到过,也是这样解决的,顺便建议下楼主可以选用低静态电流的DC-DC模块,还有4V的电源开关 ...

楼主的问题我也碰到过,也是这样解决的,顺便建议下楼主可以选用低静态电流的DC-DC模块,还有4V的电源开关一个低压MOS管就可以了,不需要三极管,我的EM310是直接考5V加一个二极管供电的,这样测试下来感觉比加DC-DC或LDO效果要好些
485芯片我试验了,在串口初始化后,不开电源也有1.3V左右;
顺便问下楼主,你这个GPRS模块能唤醒CPU吗?还是你全靠闹钟定时唤醒呢?

DC-DC的电路在之前的设计中也考虑过,但是DC-DC也有一定的缺点,主要原因是:
1、成本比较高
2、会产生一定的干扰。
4V电源开关部分我采用了比较复杂的设计,其中有比较多因素决定,比如:电池供电部分和电源供电部分无缝切换等。
我的电源部分是这样设计的,首先DC-DC(稳压范围6V-60V)出来6.2V-6.5V,然后就是到各种LDO(3.3V 4V 5V)。
给GSM模块供电我强烈不推荐你所说的5V加二极管方式,EM310最高工作电压为4.7V推荐值为4.0V,二极管在电路中所产生的压降并不是0.7V,在不同的电流下产生的压降是不一样的,当然最大应该是0.7V。
如果EM310工作在休眠状态下,你可以测一下电源引脚电压多高,我想应该非常接近5V!所以非常危险!

156397226 发表于 2012-8-9 09:14:43

本帖最后由 156397226 于 2012-8-9 09:24 编辑

miraclever 发表于 2012-8-9 09:11 static/image/common/back.gif
楼主的问题我也碰到过,也是这样解决的,顺便建议下楼主可以选用低静态电流的DC-DC模块,还有4V的电源开 ...

呵呵,我现在测试了二极管方式,一直很好啊,可以再二极管后面加一个场效应管嘛,低功耗的时候直接切断电源不就OK,用那么多LDO不是低功耗的风格哦,至少在我们这种应用中DC-DC所谓的干扰我还没遇到
还有就是EM310睡眠与否对这个供电影响不大,我目前测的是4.3-4.6V,貌似看负载的
只是给个建议吧
楼主那个485隔离模块貌似静态电流比较小,下次我试试,是不是比周立功的RSM3485CHT要好些?

jack202211 发表于 2013-1-21 09:46:59

楼主,先声明不求源码不求原理图啊,呵呵,我想问的是您这个设备是怎样的工作流程?我这样理解您看对么?第1种:3.7V2400MA的电池供这个设备工作1个月(都是在最低功耗的状态,说白了就是用那800UA 供了一个月)这样算下来平均电流 还按照3.7V的话应该是2400/24/30=3.3MA,         2种:中间有开GPS GPRS 的时候,那么这个功耗您设计的时候是按每天开机采集多少次上传多少次计算出来的?

jia_xuan 发表于 2013-9-9 14:55:52

我处理这类问题就是休眠前把串口配置为输入口。

buxinshan 发表于 2012-8-4 23:35:29

之前也遇到过通过GPIO给已经掉电的芯片供电的情况,由于不是低功耗应用,也就没有深究它。

LZ,如果物理空间可以的话,建议添加一个超级电容给GSM供电,以备2A的峰值电流。

miraclever 发表于 2012-8-5 09:47:50

diannaoza 发表于 2012-8-4 23:38 static/image/common/back.gif
总结:将模块的串口的I/O口tx,rx设置为高阻态^-^

谢谢,总结的好。{:lol:}

miraclever 发表于 2012-8-5 09:51:40

buxinshan 发表于 2012-8-4 23:35 static/image/common/back.gif
之前也遇到过通过GPIO给已经掉电的芯片供电的情况,由于不是低功耗应用,也就没有深究它。

LZ,如果物理空 ...

因为超级电容的特性(内阻教大),所以一般不采用超级电容给峰值电流很大的设备做续流用。
按照华为官方给出的手册在GSM模块供电引脚处增加一个470uf的电容可达到要求。

hqwei_sz 发表于 2012-8-5 10:01:55

不错,多了一条经验

wzavr 发表于 2012-8-5 10:12:56

很好的总结,低功耗设计还是需要考虑很多因素的

buxinshan 发表于 2012-8-5 10:13:30

miraclever 发表于 2012-8-5 09:51 static/image/common/back.gif
因为超级电容的特性(内阻教大),所以一般不采用超级电容给峰值电流很大的设备做续流用。
按照华为官方 ...

哦!看来是各有所需!

华为的没用过,

之前一个方案中所用的是西门子的GSM模块,考虑功效问题,给上面加了个2.2V/1F的超级电容,50欧内阻是有点大,效率还是可的。

role_2099 发表于 2012-8-5 10:25:30

多谢楼主分享!图很规整

buxinshan 发表于 2012-8-5 10:31:27

刚找了一个GSM模块,没找到华为的模块资料。
从资料上来看,“电源的供电能力至少要达到1A,最好加一个1000uF的电容,线路内阻小于0.1毫欧姆”。

看来我之前的方案还是有问题的,通俗的说就是“还行”,可以用,但存在隐患。

buxinshan 发表于 2012-8-5 10:34:35

希望楼主多分享点宝贵的设计经验,硬件方面的低功耗设计以及软件方面的低功耗设计。

buxinshan 发表于 2012-8-5 17:03:25

miraclever 发表于 2012-8-5 12:13 static/image/common/back.gif
我现在选用的是470uf/10V的钽电容,钽电容各项参数还是优于电解电容的(尽管不推荐使用钽电容,但是主要 ...

呵呵两个电容并联 PCB布局也更灵活点。

选470uF/6.3V的不是便宜点嘛?

RUANJI 发表于 2012-8-5 18:26:43

LZ分析问题的整个过程不错。

miraclever 发表于 2012-8-5 18:28:17

buxinshan 发表于 2012-8-5 17:03 static/image/common/back.gif
呵呵两个电容并联 PCB布局也更灵活点。

选470uF/6.3V的不是便宜点嘛?

GSM供电为4V,如果选用6.3V钽电容你觉得合适吗?
钽电容在选择耐压电压值上至少要高于工作电压2倍.............

buxinshan 发表于 2012-8-5 21:18:57

miraclever 发表于 2012-8-5 18:28 static/image/common/back.gif
GSM供电为4V,如果选用6.3V钽电容你觉得合适吗?
钽电容在选择耐压电压值上至少要高于工作电压2倍....... ...

钽电容用在电源级1.5倍的耐压还是够的,当然国货的冗余度小很多。

Hunter 发表于 2012-8-9 00:43:53

类似的问题我曾经遇到并解决过。

另外,楼主是否考虑到有关断引脚的LDO,在给LDO使能时,LDO后级的大电容充电造成的输入电压瞬间跌落的问题?

Hamyou 发表于 2012-8-9 01:14:32

楼主的休眠功耗还是有些大,我的只有4uA 的电流

szxszx 发表于 2012-8-9 08:03:28

800ua也不小,什么型号单片机,单片机睡眠耗电?应该还包括其他部分的功耗吧

GNMXD 发表于 2012-8-9 08:34:37

谢谢分享,,,图2 的这种保护好多地方都用到,所以楼主的经验很值得借鉴

LK9286 发表于 2012-8-9 08:40:27

MARK
标记学习了!!!

156397226 发表于 2012-8-9 08:40:36

楼主的问题我也碰到过,也是这样解决的,顺便建议下楼主可以选用低静态电流的DC-DC模块,还有4V的电源开关一个低压MOS管就可以了,不需要三极管,我的EM310是直接考5V加一个二极管供电的,这样测试下来感觉比加DC-DC或LDO效果要好些
485芯片我试验了,在串口初始化后,不开电源也有1.3V左右;
顺便问下楼主,你这个GPRS模块能唤醒CPU吗?还是你全靠闹钟定时唤醒呢?

miraclever 发表于 2012-8-9 08:50:10

Hunter 发表于 2012-8-9 00:43 static/image/common/back.gif
类似的问题我曾经遇到并解决过。

另外,楼主是否考虑到有关断引脚的LDO,在给LDO使能时,LDO后级的大电容 ...

说的好,这个问题是一个应该认真对待的问题。
针对我的这个电路,在设计之前已经参考过模块上电时序问题,并且经过长时间的验证未发现相关的问题。
所以此种类型的电路一直在我设计的电路中沿用至今。

miraclever 发表于 2012-8-9 08:58:09

szxszx 发表于 2012-8-9 08:03 static/image/common/back.gif
800ua也不小,什么型号单片机,单片机睡眠耗电?应该还包括其他部分的功耗吧 ...

800ua是不小,但是真的我对这个电路已经算是比较小的了,主要是其中有几个分压电阻供CPU采集电池电压,还有RTC也在工作。
这个终端其中存在着较多的开关量检测和其他的功能,所以这些电流是固定不变的。

miraclever 发表于 2012-8-9 09:17:42

156397226 发表于 2012-8-9 09:14 static/image/common/back.gif
呵呵,我现在测试了二极管方式,一直很好啊,可以再二极管后面加一个场效应管嘛,低功耗的时候直接切断电 ...

你的设备也是车载GPS吗?有没有遇到过设备干扰汽车收音机的现象?

156397226 发表于 2012-8-9 09:20:59

miraclever 发表于 2012-8-9 09:17 static/image/common/back.gif
你的设备也是车载GPS吗?有没有遇到过设备干扰汽车收音机的现象?

那到不是,没有应用过这种系统,不是很清楚,呵呵

剌圊 发表于 2012-8-9 09:37:56

多谢楼主的经验

acmilannast 发表于 2012-8-9 09:38:40

低功耗要求徘徊在10uA{:cry:}

miraclever 发表于 2012-8-9 11:03:39

acmilannast 发表于 2012-8-9 09:38 static/image/common/back.gif
低功耗要求徘徊在10uA

什么意思?是你的设计需要低功耗到10ua吗?

bbsview 发表于 2012-8-9 11:36:08

不错,又学习到一条经验了

catch2000 发表于 2012-8-9 13:17:38

看来低功耗设计,
不仅仅是硬件上,软件也要十分注意。
以前很忽视软件这一点。

zhangyb 发表于 2012-8-9 15:00:50

学习了!!!!!!!

bjc125 发表于 2012-8-9 15:05:16

MARK下 学习了 谢谢楼主和各位提出的深刻意见

haizaolan 发表于 2012-8-9 17:30:10

标记。学习

USACH 发表于 2012-8-9 17:37:36

buxinshan 发表于 2012-8-4 23:35 static/image/common/back.gif
之前也遇到过通过GPIO给已经掉电的芯片供电的情况,由于不是低功耗应用,也就没有深究它。

LZ,如果物理空 ...

兄弟你用过超级电容么?

超级最大的缺点之一就是内阻很大。

另:2400mah的电池就算以1C放电都能放出2.4A的电流,一般4A也能放个10-20分钟。随便用个大一点的电解就ok啦。

z903057128 发表于 2012-8-9 17:38:09

低功耗时 空闲IO该怎样处理

117433525 发表于 2012-8-9 17:59:07

查查单片机的休眠电流是多大,我原来做低功耗的时候,连每个模块的电流都查了一偏,算的死死的了。
这次又做了一个移动电源单片机休眠电流1uA,电池保护的那个IC会耗3-6uA.总电流就是4-7uA.

szxszx 发表于 2012-8-9 19:44:04

miraclever 发表于 2012-8-9 08:58 static/image/common/back.gif
800ua是不小,但是真的我对这个电路已经算是比较小的了,主要是其中有几个分压电阻供CPU采集电池电压,还 ...

RTC应该耗不了多少电流,其他部分可以用单片机I/O口控制,需要采集的时候再给他供电,其他时刻断电,例如电池的分压电阻亦可用单片机I/O控制MOS或三极管接通电池,当然要考虑MOS和三极管的饱和压降。

armok 发表于 2012-8-10 14:12:57

COOL !

lkl10800139 发表于 2012-8-16 17:00:22

求软件工程师在CPU进入休眠状态时,先将接到两个模块的串口的I/O口设置为高阻态

如何设置呢?

lkl10800139 发表于 2012-8-16 17:17:16

Hamyou 发表于 2012-8-9 01:14 static/image/common/back.gif
楼主的休眠功耗还是有些大,我的只有4uA 的电流

分享一下你的做法可以吗?

ding1980 发表于 2012-8-19 18:15:19

低功耗的确不好做啊,呵呵,学习了。以后能够用到。

abcdzhy 发表于 2012-8-19 19:59:53

这个好,有很大的参考意义

雨下大头 发表于 2012-8-20 15:05:14

精华呀,佩服楼主

irobot07 发表于 2012-8-20 15:18:02

学习了~   

chanly1 发表于 2012-8-20 15:19:21

低功耗,确实很难搞

726544893 发表于 2012-8-20 15:51:06

Hamyou 发表于 2012-8-9 01:14 static/image/common/back.gif
楼主的休眠功耗还是有些大,我的只有4uA 的电流

不知道Hamyou的4uA电流是怎么测得的?是用的什么仪器啊?

trent5145 发表于 2012-8-20 16:03:03

做低功耗一定要注意IO口的状态,之前和LZ一样吃过亏

iove 发表于 2012-8-20 16:19:29

buxinshan 发表于 2012-8-5 21:18
钽电容用在电源级1.5倍的耐压还是够的,当然国货的冗余度小很多。

钽电容正常降额因子S为0.5,重载为0.3

Hamyou 发表于 2012-8-20 16:33:25

726544893 发表于 2012-8-20 15:51 static/image/common/back.gif
不知道Hamyou的4uA电流是怎么测得的?是用的什么仪器啊?

用的安捷伦的万用表测得

726544893 发表于 2012-8-20 16:54:24

能说一下是安捷伦的什么型号吗?我想测一个1uA的,不知道能不能行

lanhai1987 发表于 2012-8-20 19:38:00

多了一条经验。。

and001 发表于 2012-8-20 19:43:13

haohao
!
!

ds168 发表于 2012-8-20 20:34:13

喜欢。。。。

ad00r 发表于 2012-9-20 22:54:50

有见地,学习了

guxingganyue 发表于 2012-9-22 10:33:47

总结的好,这种做法也适用于其他模块,如wifi

shuailong0411 发表于 2012-9-22 12:51:49

Hamyou 发表于 2012-8-20 16:33 static/image/common/back.gif
用的安捷伦的万用表测得

最近也在做低功耗,想测试几uA的电流,一直都测不准,怀疑用的万用表精度不够。
和54楼一样,同问万用表是安捷伦的什么型号?

zyw19987 发表于 2012-9-26 22:04:48

楼主产品时定时唤醒上传一下数据吗?

miraclever 发表于 2012-10-10 20:19:58

zyw19987 发表于 2012-9-26 22:04 static/image/common/back.gif
楼主产品时定时唤醒上传一下数据吗?

很抱歉很久没上网了,刚看到你的问题,我的产品是需要定时唤醒的。

maimaige 发表于 2012-10-10 20:30:47

顶一下 数字补丁

工程师030 发表于 2012-10-10 21:08:02

楼主好人,顶一个~

zyw19987 发表于 2012-10-11 09:58:17

miraclever 发表于 2012-10-10 20:19 static/image/common/back.gif
很抱歉很久没上网了,刚看到你的问题,我的产品是需要定时唤醒的。

哪后台是不是会显示掉(离线)线呢,你们这样做心跳大概做成多少?

mcujack 发表于 2012-10-11 10:14:29

学习了,最近被低功耗搞得蛋痛

miraclever 发表于 2012-10-11 10:26:55

zyw19987 发表于 2012-10-11 09:58 static/image/common/back.gif
哪后台是不是会显示掉(离线)线呢,你们这样做心跳大概做成多少?

掉线是不可避免的,毕竟是把所有的模块全部都关电,主要是监控平台那边在机车ACC关断的情况下不需要即时显示相关信息,该设备为定时唤醒。

sz1199 发表于 2012-10-11 14:55:24

MARK!{:biggrin:}

youmeng 发表于 2012-10-11 15:22:13

牛人很多 路过看看热闹

克隆 发表于 2012-10-11 15:51:06

顶下!!

taka 发表于 2012-10-11 18:28:55

MARK下,谢谢LZ分享经验

52robot 发表于 2012-10-11 19:05:31

谢楼主分享经验,马克,学习

perfugee 发表于 2012-10-11 19:27:46

好东西啊~~~谢谢LZ~~

zlqzxl126 发表于 2012-10-11 21:19:46

请问下大神们你们说的那个低功耗下的静态电流是测试出来还是计算出来??这个是怎么怎样计算测试的话又是怎样测试

whym1987 发表于 2012-10-15 10:55:20

学习了,LZ分析问题的思路很清晰,值得学习

eric112 发表于 2012-10-16 09:40:37

mark 学习了。。。{:lol:}

fxhfxh 发表于 2012-10-16 10:43:02

现在正在搞低功耗的产品,低功耗的应用今后会越来越广,学习了。

xiaochu312 发表于 2012-10-16 11:41:50

谢谢分享经验

xylx1219 发表于 2012-10-16 12:31:30

受益了,非常感谢!

jackmony 发表于 2012-10-16 12:51:00

小弟获益匪浅,谢谢。

lsr0304 发表于 2012-11-15 22:51:49

从“在低功耗系统中MOS管的应用”转过来看,也是遇到过同样问题,IO带电;查了好久才发现。

fromdream 发表于 2012-11-16 09:19:44

长长见识,学学低功耗,谢谢分享

TimCheng 发表于 2012-11-16 10:28:56

这样的贴太少了

Hz01800475 发表于 2012-11-16 11:04:32

算是有点干货

weiwst 发表于 2012-12-30 16:51:27

把所有的回复都看了。低功耗的问题还没有考虑过。。。收藏了。

Mario 发表于 2012-12-30 18:21:31


MARK
标记学习了!!

propor123 发表于 2012-12-30 21:46:05

好经验,学习。

w492901074 发表于 2012-12-30 21:48:37

顶下,以后可以做参考{:tongue:}

向STM进攻 发表于 2013-1-1 16:53:58

学习,,天天向上

bolizhicheng204 发表于 2013-1-8 12:59:55

多谢楼主分享楼主好心肠啊

guowanling8061 发表于 2013-1-8 13:39:57

此贴比较具体适用,适合大家集思广益!!

miraclever 发表于 2013-1-21 10:17:04

jack202211 发表于 2013-1-21 09:46 static/image/common/back.gif
楼主,先声明不求源码不求原理图啊,呵呵,我想问的是您这个设备是怎样的工作流程?我这样理解您看对么?第 ...

我这个设备是24小时唤醒一次,然后工作6分钟,GPRS、GPS模块都工作,平均工作电流应该在120ma左右吧(具体多少忘记了)根据以上提供的数据就不难算出每天的消耗的功耗是多少,实际上会有一点误差。

jack202211 发表于 2013-1-21 10:41:15

miraclever 发表于 2013-1-21 10:17 static/image/common/back.gif
我这个设备是24小时唤醒一次,然后工作6分钟,GPRS、GPS模块都工作,平均工作电流应该在120ma左右吧(具 ...

好的,谢谢这么快就回复了,呵呵,您这个看来通讯的时间还真是短啊,但有参考意义了。我的项目要求,不好搞了,每分钟就要传5-10次,呵呵,

Onsunsl 发表于 2013-3-15 21:14:53

不错,呵呵

Codoox 发表于 2013-6-28 14:39:51

mark 学习了

wsxiaoping 发表于 2013-9-9 14:19:42

标记。学习

追寻cheney 发表于 2013-9-9 19:26:02

记下了先,向楼主学习!!{:smile:}辛苦!

Put_down 发表于 2013-9-9 19:59:57

楼主所述情况我碰到过,甚至在电源切断的情况下,所连附件还在正常工作!
后来怎么处理的这会懒得想,总之解决了。
这里突然想到一般的“切断”是正极;如果切断负极,是不是这个问题就不存在了?
页: [1] 2 3
查看完整版本: 关于低功耗设计的一个案例