hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 909|回复: 0

基于单片机的电池供电设备的微功耗设计

[复制链接]

484

主题

491

帖子

1493

积分

大司空

Rank: 5Rank: 5

积分
1493
发表于 2024-1-11 01:12:31 | 显示全部楼层 |阅读模式
要设计一个低功耗的单片机系统,需要从硬浸和软件两方面入手。
1、硬浸设计
选用尽量简单的CPU内核。在选择CPU内核时切忌一味追求性能。选择的原则应该是“够用就好”。8位机够用,就没有必要选用16位机。一般来说,单片机 的运行速度越快,功耗也越大。一个复杂的CPU集成度高、功能强,但片内晶体管多,总漏电流大,即使进入STOP状态,漏电流也变得不可忽视;而简单的CPU内核不仅功耗低,成本也低。
选用低电压供电的系 统。低电压供电可以大大降低系统的工作电流。目前单片机从与TTL兼容的5V供电降低到3.3V、3V、2V乃至1.8V供电,降低单片机的供电电压可以有效降低其功耗。供电电压降低也是未来单片机发展的一个重要趋势。
选择带有低功耗模式的系统。低功耗模式指的是系统的Idel(闲置)、Stop(停止)和Suspen(暂停)模式。处于这类模式下的单片机功耗将大大小 于运行模式下的功耗。
选择合适的时钟方案。时钟的选择对于系统功耗相当敏感,有两方面的问题要注意:
其一、系统总线频率应当尽量低。单片机内部的总电流消耗分为:运行电流和漏电流。单片机集成度越高, 环境温度越高,漏电流也越大。单片机的运行电流几乎和其时钟频率成正比。降低时钟频率,就可以有效降低单片机的功耗。
其二、关于时钟方案。是否使用锁相环,使用内部振荡器还是外部振荡器。现代单片机普遍使用锁相环技 术,使单片机的时钟频率可以由程序控制。单片机使用外部较低的振荡器,通过软件控制,系统时钟可以在一个很宽的范围内调整,得到比较高的总线时钟。使用锁 相环会带来额外的功耗。单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。有的单片机带有内部时钟,也可使用外部时钟。这可以根据实际 系统的需要使用双时钟:一个高速时钟和一个低速时钟。处理事件时使用高速时钟,空闲时使用低速时钟。这钟双时钟系统可以有效地降低功耗。
2、应用软件设计
应用软件设计对于一个低功耗系统的 重要性常常被人们忽略。一个重要的原因是,软件上的缺陷并不像硬浸那样容易发现,同时也没有一个严格的标准来判断一个软件的低功耗特性。尽管如此,设计者 如果能尽量将应用的低功耗特性反映在软件中,就可以避免那些“看不见”的功耗损失。用“中断”代替“查询”。在没有要求低功耗的场合,程序使用中断方 式还是查询方式并不重要。但在要求低功耗场合,这两种方式相差甚远。使用中断方式,CPU可以什么都不做,甚至 可以进入等待模式或停止模式;而查询方式下,CPU必须不停地访问I/O寄存器,这会带来很多额外的功耗。用“宏”代替“子程序”。子程序调用的入栈出栈操作,要对RAM进行两次操作,会带来更大的功耗。宏在编译时展开,CPU按顺序执行指令。使用宏,会增加程序的代码量,但对不在乎程序代码量大的应用,使用宏无疑会降低系统 的功耗。尽量减少CPU的运算量。减少CPU的运算工作量,可以有效地降低CPU的功耗。减少CPU运算的工作可以从很多方面入手:其一,用查表的方法替代实时的计算。其二,不可避免的实时计算,算到 精度够了就结束,避免“过度”的计算。其三,尽量使用短的数据类型,例 如,尽量使用字符型的8位数据替代16位的整型数据,尽量使用分数运算而避免浮 点数运算等。其四,让I/O模块间歇运行,即不用的I/O模块或间歇使用的UO模块要及时关掉,以节省电能;不用的I/O引脚要设置成输出或设置成输入,用上拉电阻拉高。

对于大部分单片机系统,由于单片机的运行速度很快,单片机在工作的过程中有大量的空闲等待时间。在某些情况下,系统的等待时间甚至可以达到总工作时间的 95%以上。在等待过程中,单片机不作任何工作,只是在踏步等待,或者在循环判断有无新的外部请求。在这个过程中,可以让单片机内部的大部分电路工作在休 眠状态,可以大大地降低单片机的功耗。同时,也可以让有关的外部电路工作在休眠状态,这样就使整个产品的供电大大降低。产品的这种非连续工作的特点是微功 耗设计的基本思路,此外,还要根据产品的特点醉意更多的设计细节。

选择合适的CPU芯片是微功耗设计的关键

目 前的单片机种类很多,而且大都针对某一个特定的应用,可根据具体应用情况选择合适的单片机。在需要进行微功耗设计的应用中,可以根据下面的规则来选择:

1. 选择尽可能减少外部电路的单片机。随着集成电路工艺技术的飞速发展,真正单片化的单片机系统已逐步成为主流产品。

2. 注意比较工作电流和静态电流。由于工艺的不同,单片机内部工作电流、静态电流不尽相同,有的甚至相差很大。在选择单片机时,不但要考虑其工作电流,还要仔 细考虑其在休眠状态下的静态电流。

3. 通过比较可以看出,选用专用的低功耗单片机,可更加灵活地控制其功耗,在满足设计要求的前提下使其尽可能工作于最省电的模式。

4. 选择合适的ROM、RAM。一般来讲,存储器越大功耗也越大。在满足设计要求的情况下,尽可能使用单片机内部的ROM、RAM。

5. 选择合适的工作时钟频率。在较低的时钟频率下,单片机的功耗也较低。以MSP430F1121为例,当工作在1MHz的主频之下,典型电流消耗为 300uA;而工作在4096Hz的主频之下,其电流只有3uA。

6. 选择合适的IO管脚数,和合适的IO驱动能力和显示驱动能力。单片机驱动的IO管脚数越多,其功耗也就越大。

7. 选择合适的单片机,实现真正意义上单片化,可以省去了大量的硬浸开发调试工作,提高了工作效率,系统的可靠性、抗干扰能力得到了显著的改善,同时使系统成 本降低,更加适合微型化和便携化,对降低系统功耗有着决定性的作用。

低功耗设计策略

a. 使内部电路可选择性地工作

一般,设计中不会用到全部的单片机内部电路,而那些没有用到的电路将产生额外的功耗。在需 要进行微功耗设计的应用中,可以通过对内部特殊功能寄存器编程,选择使用不同的功能模块,对于不使用的功能模块使其停止工作,减少系统无效功耗。

b. 产品的低电压设计可以降低产品功耗

一般,单片机的工作电压越高,内部晶体管在放大区的工作时间也越长,单片机的功耗 也就越大。由于采用先进的芯片生产工艺,使单片机的电压范围一般很宽,如可以在1.8V~5V电源电压范围内正常工作。为了降低系统功耗,可尽量采用低电 压设计。

单片机供电电压范围的放宽,可以进一步拓宽单片机的应用领域,尤其是便携式或掌上型设备中,可以放心地使用电池作为电源,而不必 关心放电过程电压曲线是否平衡、在低电压下是否会影响单片机正常工作,更不必因电池供电而专门增加稳压电路,从而可减少大量的功率消耗。

c. 在空闲状态时,采用低速时钟信号

单片机的功耗与其工作频率成正比,系统运行频率越高,电源功耗就会相应增大。图1所 示为Philips公司的80C31单片机Vcc上的电流与主时钟频率的关系曲线,可以看出随着单片机主时钟频率的增加,其Vcc上的电流也呈线形增加, 则其功耗也随着主时钟频率的增加而增加。

为更好地降低功耗,在许多单片机的内部集成了两套独立的时钟系统,即高速的主时钟和低速的副时 钟,在不需要高速运行的情况下,可选用低速的副时钟,维持内部基本的定时要求。某些单片机的主时钟也可通过功能寄存器来重新设定,在满足功能需要的情况 下,按一定比例降低主时钟频率,以降低电源功耗。可在程序运行的过程中,通过软件对特殊功能寄存器赋值在线改变时钟频率,或进行主时钟和副时钟切换。

d. 尽可能工作在休眠模式

为降低功耗,通常单片机都提供多种工作模式,当处于空闲时进入休眠模式,当有一个事件提出中断 请求时,可以快速地返回到正常的运行模式,这样既可以保证系统节电,又不影响正常的工作。

不同的单片机会有不同的工作模式,如51系列的 单片机有空闲模式和掉电模式。在不同的工作模式中,单片机内核中某些功能模块将设置为休眠状态。如MSP430系列单片机有6种不同的工作模式,除了一种 是正常的运行模式(active mode)以外,其余五种均是低功耗模式,在这些模式下可以分别将CPU、内部时钟、内部总线、直至内部晶振全部关闭,使单片机的耗电降为最小。只有发生 中断请求或复位时,系统被唤醒进入正常运行模式。

外部电路的微功耗设计

单片机周边电 路的微功耗设计十分复杂,对产品的整体耗电而言也非常重要。复杂,庞大的周边电路将会带来很大的电源消耗,因此,应尽量少选用外部电路,尽可能利用单片机 内部的资源。

作为一个用电池供电的设备而言,其静态功耗最好为几微安~几十微安,由于这部分电流是在待机状态下加在设备上,是常供电电 流,在系统不工作的情况下将造成很大的电能浪费。因此在设计中,应该使外部电路最少,并减少外部电路在静态需要供电的部分。同时,还需要考虑以下问题:

1. 系统中单片机以外的其它器件尽可能选用静态功耗低的器件,如尽量选用CMOS芯片,少用双极性的晶体管门电路,因为双极性电路需要一个恒定的维持电流,增 加了电路的静态功耗。

2. 按照芯片的要求,将不用的引脚接至地或者高电平,悬空的输入脚将会增大芯片的静态电流。

3. 在IO管脚上尽量少用上拉或下拉电阻,这些电阻将消耗一定的静态电流。

4. 数据采集的模拟部分的设计可以采用一种轨对轨(rail-to-rail)的BiCMOS运算放大器,如LMV824用于替代LM324时,电源可低至 2.5V,单位带宽到5MHz,仅250μA/通道。

5. 设计外部器件的电源控制电路,使外部器件或设备在不工作时关断供电,减少无效功耗。低功耗器件的价格一般稍高一些,如果价格允许,通常都可以找到相应的低 电压、低功耗的替代产品。

6. 多用电压驱动电路,少用电流驱动电路。例如,要显示运行结果、当前状态或控制信息,通常有LCD显示器、LED显示器两种选择。用LCD输出,一般只有几 个微安的电流;而用LED则会有几十毫安的电流。
话题页 中间左侧广告1
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-1 12:42 , Processed in 0.054845 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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