在需求分析阶段,硬件电路的设计已经较为全面的进行了说明。接下来我们将细化硬件设计部分。
一.低功耗外围器件的选型
1.电容:所有电容在电流通过电介质时都会产生少量电荷损失,即使完全充电后也是如此,称为“电容泄漏电流”。通常,钽电容和电解电容的泄漏电流较高,而陶瓷电容和薄膜电容的泄漏电流较低。
2.按键:按键通常以非常慢的人类速度时域进行操作,而不使用高速嵌入式系统时域。即使非常快的按键操作也需要数百毫秒。如果按键上有10 kΩ上拉电阻,则意味着几百毫秒的300 uA 电流消耗,这在低功耗系统中是相当可观的。增加上拉电阻值可有助于降低功耗,但高阻值可能会减小抗干噪能力。此外,增加上拉电阻还会增加信号的时间常量,这会延长检测到高电压前的上升时间。
建议使用MCU 的内部上拉电阻作为按键的电压源。由于可在代码中动态使能和禁止内部上拉,只要检测到按键按下,MCU 即可禁止上拉,去除接地电流路径。这也提供了简单的去抖动功能并减少了外部元件数。对于需要能够检测按住状态的按键,可以定期重新使能上拉来确定按键是否处于按住状态。
3.LED:LED在运行时的电流消耗很大(2 mA 至50 mA)。
(1)使用PWM 以较低占空比驱动LED。这种方法能够在必要时动态降低亮度,从而使代码可在一定程度上控制LED 功耗。
(2)通过增加限流电阻的大小来以较低的电流驱动LED。该技术对于新型高亮度和高效率LED尤其有用。尽管额定电流为2 mA 的LED 在低于额定值工作时可能不是很亮,但额定电流为20 mA 的高亮度LED 在低于1 mA 的电流下驱动时通常仍可保持高可见性。
4.晶振:低功耗晶振设计的基本要点是将晶振尽可能接近MCU放置,在可能的情况下,使接地环包围晶振驱动器电路,以防止耦合噪声。此外,应确保为晶振和驱动器选择了大小适当的大容量电容,使用具有理想负载电容(3.7 pF 至6 pF)的低功耗晶振,以获得更可靠的低功耗运行。
5.稳压器:开关稳压器在低工作电流时效率很低,如升压稳压器在50 mA 时的效率可达95%,而在负载电流为10 uA 时可能只有大约20% 或更低的效率。在设计低功耗系统时,系统大部分时间处于休眠状态,因此从总体上看线性稳压器是更有效的选择。
在某些情况下,运行不带稳压器的电池供电系统可能很理想。特别是:LiFeS2(锂AA电池)、LiMnO2(纽扣电池)和碱性电池都在大多数低功耗单片机的1.8-3.6V工作电压范围内工作。通过设计能够使用电池直接供电的系统,可以显著延长系统使用寿命。
6.存储器:flash主要功耗都集中在读写时候,所以需要选择低功耗的芯片
7.模拟器件
8.低功耗MCU的选型:总功耗可以分为两大类:动态功耗和静态功耗。动态功耗是单片机在运行和执行编程的任务时消耗的功率,主要是开关CMOS电路时造成的功率损失。静态功耗是只对器件供电,但不运行代码时消耗的功率,主要是模拟电路的偏置电流、低功耗计时振荡器和泄漏电流。
动态功耗:
注:此公式适用于单个CMOS器件,不适用于整个MCU,整个MCU需要在此公式上乘一个比例因子。
(1)电压项在公式中以平方出现,它是对动态功耗影响最大的因素,降低系统工作电压可以显著降低功耗。
(2) 低频率会导致低动态电流。但很多情况下,以较高的频率运行会更节电,因为加快相应操作的完成速度,从而可使系统更快进入休眠模式减少功耗。另外,在低频运行时,动态开关电流有可能不再是系统功耗的主要影响因素。
静态功耗:减少泄漏最好的办法是降低电压并关闭不需要的电路。
MCU功耗的计算:
每种工作模式(静态功耗+动态功耗)的电流消耗乘以该模式的时间,得到每种模式的电量消耗,然后将每种模式的电量相加,在总循环时间内求平均,得到平均电流消耗。
静态功耗计算:使用示波器测量电流检测电阻两端的电压。对于低于10 uA 的电流,须使用至少5 kΩ的电流检测电阻才能形成可以测量的压降。
动态功耗计算:使用示波器测量电流检测电阻两端的电压。所选的电流检测电阻既应足够大,以提供示波器上可测量的分辨率,也应足够小,以免系统在高功耗状态下发生电压不足现象。一般10 到100 Ω的电阻适合动态功耗的测量。