低功耗嵌入式系统的设计考量:一般设计考量
扫描二维码
随时随地手机看文章
低功耗电池供电嵌入式应用的设计考量
1. 硬件考量:
a. 电池类型:
在嵌入式应用中主要有以下类型的电池:
i. )标准碱性电池
iii. )可充电电池: 可充电碱性电池,锂离子电池
iii. )钮扣电池
对于各种广泛低功耗嵌入式应用而言,为系统充电不是合理的使用案例模型。这里无需为这些应用使用可充电电池。我们来比较一下另外两种在低功耗应用中有用的电池以及在为设计选择电池时需考虑的因素。
标准碱性电池:标准AA电池的典型容量大约为1500mAh,不仅可轻松提供数百mA的峰值电流,而且还能够以50mA的恒定速率放尽电流。
碱性电池能为应用提供高峰值电流,因此系统能够在并列使用其全部专用外设(定时器与通信模块等)的同时,在其最高时钟频率下运行,从而可在尽快完成各项任务后,快速进入低功耗工作模式。
钮扣电池:钮扣电池具有极高的内部电阻,因此不能承受高峰值电流。在应用超过20mA的峰值电流时,即便持续时间很短,其有效电压也会大幅下降。因此对于使用钮扣电池供电的设计而言,强烈建议设计使用能在2V或以下电压下工作的组件。微控制器的掉电电压应低至能避免在钮扣电池提供高峰值电流时系统出现意外复位的水平。
此外,我们还需要采取预防措施来降低系统所需的峰值电流。降低峰值电流的途径包括:
● 降低CPU时钟频率
● 通过随时分配负载,避免一次性启用所有内部模块
● 在外部组件及内部模块未使用时,减少对它们的供电
b. 设置正确的微控制器:
要让低功耗应用中的静态功耗和动态功耗保持最低,最重要的是选择具有所需外设集的微控制器,其可在所需电源模式下工作。根据需要,系统设计人员可选择合适的微控制器,该微控制器支持低功耗模式下其应用所需的外设集。
以需要LCD较长时间工作的应用为例。通过选择可在低功耗模式下运行该LCD的微控制器,开发人员可最大限度降低功耗。这类微控制器的典型实例就是赛普拉斯的PSoC 4,其可让LCD显示器以仅3uA的流耗进入深度睡眠模式。复杂应用的情况类似,我们需要进行利弊权衡,确定能以最低平均功耗完成每项任务的适当微控制器。
c. 选择合适的无源组件:
上拉电阻器和下拉电阻器是支持接口开关及I2C器件等的常用组件。有时在低功耗设计中,这些上拉及下拉电阻器消耗的电源比系统其它部分还大。要降低其功耗,需要使用更大的电阻值。这样可降低流经它们的电流量。但它同时会增大RC时间常数,因此会降低系统对高频率信号的响应能力。
例如,为I2C线路使用高阻值上拉电阻器会降低I2C通信的速度,因为增大了I2C线路的压摆率。因此这些电阻器值可决定影响最终设计的各种因素之间的权衡取舍。
同样,在为设计选择电容器时,应避免电解电容器,因为它们具有极高的漏电流。薄膜电容器和陶瓷电容器能以合理的成本提供超低的漏电流,可考虑用于低功耗系统设计。
d. 审慎使用I/O:
避免在系统中随机分配控制器I/O引脚。如果引脚随机分布在不同端口,则需要对每个端口单独处理,这样会增加控制它们所需的寄存器写入数。为解决这一问题,可以按最小端口数对输入引脚和输出引脚进行分组,从而实现以最小的寄存器写入数完成读取与写入。
在引脚用于驱动LED和其它类似负载的地方,应使用引脚的开漏驱动模式,这些负载的一端固定在VDD或接地上。这种驱动模式可降低通过I/O引脚的漏电流,因此可降低功耗。
e. 选择正确的外设:
在系统设计中应使用支持低功耗模式、在工作模式下支持低功耗的外设组件,以降低设计的总体功耗。
f. 审慎使用系统时钟:
定义系统时钟的行为有助于降低系统功耗。遵循通用系统时钟相关设计实践可帮助在几乎每个系统中实现低功耗。
● 在系统中使用低频率时钟降低动态功耗。
● 在执行计算密集型任务时提升系统时钟,可通过缩短完成任务的时间,降低平均功耗。
● 优先使用系统时钟,而非外部时钟。
● 在CPU等待通信传输完成时,应关闭CPU,只开启通信模块的时钟。在完成该任务后,它可获得一个中断信号,恢复代码执行。
g. 电流门控:
一般情况下,热敏电阻等无源传感器工作在分压器模式下,因此一直都在消耗系统电流。为降低这种情况下的功耗,我们可以在通过采样传感器网络获得相关数据之前为其提供电源,并在数据采样完成后切断电源。这在传感器需要定期读取的情况下才有用。
但当传感器必须保持工作状态才能检测环境中的异常现象时,CPU可在整个传感过程中保持低功耗模式。CPU一旦收到传感器的中断/数据信息,就会恢复工作模式。类似逻辑可用于读取开关状态,以判断它是处于开启还是关闭状态。