Secom Confidential 1
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
如何实现单片机系统的低功耗如何实现单片机系统的低功耗
肖建云
2007.9
Secom Confidential 2
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
主
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
主题
一、如何
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一个低功耗的单片机系统
二、Silabs MCU在低功耗方面的优势
三、Silabs MCU在低功耗方面的设计方法
Secom Confidential 3
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
一、如何设计一个低功耗的单片
机系统
一、如何设计一个低功耗的单片
机系统
Secom Confidential 4
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
问题:单片机系统的功耗是否只是
由单片机的功耗决定?
问题:单片机系统的功耗是否只是
由单片机的功耗决定?
以单片机为核心构成的系统,其系统的总能
耗是由单片机能耗及其外围电路能耗共同构成。
为了降低整个系统的功耗,除了要降低单片机自
身的运行功耗外,还要降低外围电路的功耗。
Secom Confidential 5
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
如何设计低功耗单片机系统?如何设计低功耗单片机系统?
要设计一个低功耗的单片机系统,需要从硬件
和软件两方面入手。
1、硬件设计
1.1选用尽量简单的CPU内核
在选择CPU内核时切忌一味追求性能。选择的原则应
该是“够用就好”。 8位机够用,就没有必要选用16位机。一
般来说,单片机的运行速度越快,功耗也越大。一个复杂
的CPU集成度高、功能强,但片内晶体管多,总漏电流
大,即使进入STOP状态,漏电流也变得不可忽视;而简单
的CPU内核不仅功耗低,成本也低。
Secom Confidential 6
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
1.2选用低电压供电的系统
低电压供电可以大大降低系统的工作电流。
目前单片机从与TTL兼容的5 V供电降低到3.3
V、3 V、2 V乃至1.8 V供电,降低单片机的供电
电压可以有效降低其功耗。供电电压降低也是未
来单片机发展的一个重要趋势。
Secom Confidential 7
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
1.3选择带有低功耗模式的系统
低功耗模式指的是系统的IDLE、STOP和
SUSPEND模式。处于这类模式下的单片机功耗将
大大小于运行模式下的功耗。
Secom Confidential 8
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
0000或从
进入
SUSPEND
模式的指
令的下一
条指令开
始执行
唤醒事
件或内
部和外
部的复
位
功耗低
(C8051F41
0 15nA)
保持
使能但不
运行或用
户设定关
闭
使能但不
运行或用
户设定关
闭
InactiveInactiveSUSPEND
0000
内部或
外部的
复位
功耗非常
低
(C8051F41
0 15nA)
RAM保
持,内
部寄存
器在唤
醒时被
复位
使能但不
运行或用
户设定关
闭
InactiveInactiveInactiveSTOP
0000或从
进入IDLE
模式的指
令的下一
条指令开
始执行
任何使
能的中
断或复
位
小于正常
模式的功
耗(
C8051F41
0 5mA)
保持activeactiveactiveInactiveIDLE
PC指针退出
条件功耗
内部
寄存
器和
RAM
片上模
拟外设
片上数
字外设
时钟
(内
部)
CPU
项 目
模 式
Secom Confidential 9
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
1.4选择合适的时钟
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
时钟的选择对于系统功耗相当敏感,有两方面的问题要
注意:
(1)系统总线频率应当尽量低。
单片机内部的总电流消耗分为:运行电流和漏电流。
单片机集成度越高,环境温度越高,漏电流也越大。
单片机的运行电流几乎和其时钟频率成正比。降低时钟
频率,就可以有效降低单片机的功耗。
Secom Confidential 10
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
(2)时钟方案
是否使用锁相环,使用内部振荡器还是外部振荡器。
现代单片机普遍使用锁相环技术,使单片机的时钟频
率可以由程序控制。单片机使用外部较低的振荡器,通过
软件控制,系统时钟可以在一个很宽的范围内调整,得到
比较高的总线时钟。使用锁相环会带来额外的功耗。单就
时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗
最小的一种。
有的单片机带有内部时钟,也可使用外部时钟。这可
以根据实际系统的需要使用双时钟:一个高速时钟和一个
低速时钟。处理事件时使用高速时钟,空闲时使用低速时
钟。这钟双时钟系统可以有效地降低功耗。
Secom Confidential 11
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
2、应用软件设计
应用软件设计对于一个低功耗系统的重要性常
常被人们忽略。一个重要的原因是,软件上的缺陷
并不像硬件那样容易发现,同时也没有一个严格的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
来判断一个软件的低功耗特性。尽管如此,设
计者如果能尽量将应用的低功耗特性反映在软件
中,就可以避免那些“看不见”的功耗损失。
Secom Confidential 12
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
2.1 用“中断”代替“查询”
在没有要求低功耗的场合,程序使用中断方式还是查询
方式并不重要。但在要求低功耗场合,这两种方式相差甚
远。使用中断方式,CPU可以什么都不做,甚至可以进入
等待模式或停止模式;而查询方式下,CPU必须不停地访
问I/O寄存器,这会带来很多额外的功耗。
2.2 用“宏”代替“子程序”
子程序调用的入栈出栈操作,要对RAM进行两次操
作,会带来更大的功耗。宏在编译时展开,CPU按顺序执
行指令。使用宏,会增加程序的代码量,但对不在乎程序
代码量大的应用,使用宏无疑会降低系统的功耗。
Secom Confidential 13
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
2.3尽量减少CPU的运算量
减少CPU的运算工作量,可以有效地降低CPU的功
耗。减少CPU运算的工作可以从很多方面入手:
(1)用查
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的方法替代实时的计算;
(2)不可避免的实时计算,算到精度够了就结束,避
免“过度”的计算;
(3)尽量使用短的数据类型,例如,尽量使用字符型
的8位数据替代16位的整型数据,尽量使用分数运算而避免
浮点数运算等。
Secom Confidential 14
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
2.4让I/O模块间歇运行
(1)不用的I/O模块或间歇使用的I/O模块要及
时关掉,以节省电能。
(2)不用的I/O引脚要设置成输出或设置成输
入,用上拉电阻拉高。
Secom Confidential 15
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
二、Silabs MCU
在低功耗方面的优势
Secom Confidential 16
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
1、Silabs MCU供电电压低
Silabs MCU供电电压为:2.0~5.25V。供电电
压低可以有效降低整个单片机系统的功耗。
2、Silabs MCU有多种低功耗模式
Silabs MCU有多种低功耗模式:Idle模式、
Suspend模式和Stop模式。用户可以根据实际情
况选择所需要的低功耗模式。其中在Suspend模
式和Stop模式下的功耗可以达到nA级。
Secom Confidential 17
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
Secom Confidential 18
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
3、Silabs MCU有多种时钟方案供选择
Silabs MCU内置振荡器有高速震荡模式和低速震荡
模式可供选择。每种模式下的频率又有多种选择。而且
还可以外接振荡器。更重要的是,在MCU运行中,这些
时钟模式可以实时切换。这很方便客户进行低功耗控
制。例如:在处理数据时,系统运行在高速状态;空闲
时运行在低速状态。
4、高速实时的中断响应
Silabs MCU响应中断的时间非常快,一般只需要5个
系统时钟周期。中断响应速度快,CPU花费在等待方面
的时间少,这可以节省不少的等待功耗。
Secom Confidential 19
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
5、灵活的I/O设置
Silabs MCU的I/O口资源丰富,配置灵活。有三种配
置方式:漏极开路、推拉输出和弱上拉方式。用户可以
根据实际需要通过相关寄存器的设置来禁止或使能这些
方式。其中将端口配置成漏极开路方式是最省电的方
式。
另外,Silabs MCU片上没有用到的其他外设可以通
过软件来关闭。
总之,根据项目的要求,灵活运用Silabs的各种低功
耗特性,通过软件的控制,就可以很好地实现低功耗的
要求。
Secom Confidential 20
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
6、使用每MIPS功耗来衡量MCU的低功耗性能
是相对比较准确。
比如执行一个需要10K条指令的任务,甲MCU的工作电
流为3mA,速度为10MIPS,则甲MCU需要工作1mS完成该任
务,消耗3mA*1mS*Vcc,然后甲MCU就可以进入低功耗模式
了.而乙MCU的工作电流为1mA,速度为2MIPS,则乙MCU需
要工作5mS完成,这样乙MCU完成该任务的消耗为
1mA*5mS*Vcc.
电流大但是速度快的MCU可能更省电!
Silabs MCU使用每MIPS功耗来评估也是性能最
好的!!!!
Secom Confidential 21
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
三、Silabs MCU在低功耗方面的
设计方法
三、Silabs MCU在低功耗方面的
设计方法
Secom Confidential 22
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
一般来说,MCU的运行的速度越高,供电
电压越高,功耗也就越高。要降低单片机系统
的功耗,就要降低单片机系统的供电电压,降
低MCU运行的频率。
Secom Confidential 23
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
对于Silabs MCU来说,内部弱上拉的电阻大概100K
千欧左右,所以对于功耗要求很严的场合,选择适当的
电阻,使用外部上拉会更省电。
要驱动外部LED, Silabs MCU I/O端口能承受
10mA的拉电流,而LED一般5mA就可以驱动了,所以
尽量选用I/O模块的Push-Pull方式来驱动LED(如图A
所示),如果采用Open-Drain方式(如图B所示),当
关闭LED时,I/O端口内部的漏电流要比图A所示方式
大。
根据实际情况选择合适的低功耗模式,在进入低功
耗模式时关闭不用的I/O模块和片上的模拟及数字外
设,可以进一步降低系统功耗。
Secom Confidential 24
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
Secom Confidential 25
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
案例分析:电子运动表案例分析:电子运动表
客户要做一个电子运动表,使用电池做供电
电源,要求平均功耗不超过200uA。电子运动表
是间歇工作的:当收到数据时激活,快速处理数
据;当空闲时进入休眠状态,来降低功耗。
客户使用的是C8051F333。
下面我们来看看C8051F333的电气参数。
Secom Confidential 26
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
1、正常模式,CPU从Flash取指令1、正常模式,CPU从Flash取指令
Secom Confidential 27
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
2、Idle模式,CPU停止工作2、Idle模式,CPU停止工作
Secom Confidential 28
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
光从上面两个表的数据,我们会得出什么结
论?
您的答案肯定是不行!
因为要满足系统的运行速度,又要满足低功耗,
≥1MHZ的频率,功耗都要超过客户的要求。
真的是这样吗?
正确答案是:在不降低MCU运行速度(MCU处理
数据时的运行频率是24.5MHZ)的情况下,客户使用
C8051F313成功实现了低功耗的要求,功耗在150uA以
下。
鱼和熊掌兼得!
Secom Confidential 29
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
这是怎样实现的?这是怎样实现的?
客户使用了内外两种晶振。工作时使用内部
高速晶振24.5MHZ,空闲时切换到外部低速晶振
32.768KHZ,并且进入Idle模式。并且把没有
用到的外设全部关闭。
Secom Confidential 30
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
就是这么简单!就是这么简单!
Secom Confidential 31
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
始终牢记功耗是一个系统的问题!
单片机系统的功耗
是由MCU和其外围电路的功耗共同决定的!
认真细致地分析单片机系统的工作特点,灵活
运用单片机的低功耗特性,您会发现实现单片
机系统的低功耗是那么的容易!
有时候,单片机系统的低功耗就是从硬件和软
件的设计中“抠门”出来的!
Secom Confidential 32
Professional Channel Partner, Professional SupportProfessional Channel Partner, Professional Support
2007年10月30日
Thank you!Thank you!