降低功耗所涉及的设计问题
系统设计人员面临着紧凑式和便携式医疗电设备提出的许多挑战。为低功耗器件设计电源可能会非常棘手,因为设计人员需要考虑系统的电压/电流需求。
在许多低功耗应用中,电池是主要电源,在化学性质、性能、容量、尺寸/重量和成本等方面对设计人员提出了许多挑战。例如,高容量电池的内阻较高,这使它们不适合于大电流应用。而与尺寸类似的高内阻电池相比,适合于大电流
应用的电池通常容量较低、重量较大。此外,只能放电的原电池的容量要远高于可充电电池。由于存在这些限制,设计人员需要针对特定系统来制定策略,以在成本和性能方面达到最佳效果。
静态功耗是一项重要的品质指标,可以指示MCU在低功耗应用中的适用情况。对于一些采用高级处理技术的MCU,在休眠模式下耗用的电流可低于SOnA。为了能够适应各种低功耗设计,有一点非常重要,即MCU能在很宽的电压范围内工作。例如,在使用碱性电池时,它需要能够工作于1.8V,因为每节电池的端电压为0.9V,且在应用中通常使用两节电池。选择可在宽电压范围内工作的MCU可以延长便携式设备的使用寿命。但是,MCU的工作电压范围并不是唯一的决定因素。整个系统的工作电压范围都必须考虑,包括MCU的外设。如果系统中的某个单一外设需要消耗大部分的功率,降低MCU
的功耗对系统总功耗几乎没有什么影响。
作为一个设计规则,如果系统使用了MCU的内部外设(如模数转换器或EEPROM),则必须注意它的工作范围。如果某些外设无法在MCU的整个工作电压范围内工作,则系统的工作电压范围将由外设决定。同一设计规则也适用于所有外设。在下面几节中,将介绍当前市场上推出的一些MCU系列产品如何提供用于功耗管理的特殊功能。
降低功耗的方法
控制外设的功耗
便携式嵌入式系统功耗管理的核心原则是让MCU能够控制内部和外部设备的功耗。设计便携式医疗设备时,先确定必需的物理模式或状态,然后对设计
进行分割,以关闭不需要的电路。例如,在电池应用中不需要欠压复位(BOR)功能,因此可以通过禁止该功能来节省功耗。针对这一目标,从许多不同供应商中选择合适的MCU可以帮助减少外部元件和降低成本。如前面所述,可在宽电压范围内工作的MCU可以使系统设计多样化。
以一个基于MCU的医疗数据记录仪为例,它包含了传感器、EEPROM和电池,如图1所示。该医疗设备是低功耗嵌人式设计的典型示例,它可以获取传感器读数、换算传感器数据、将数据存储到EEPROM,并等待下一个传感器读数。在传统的系统中,可能随时都在为EEPROM、传感器及其偏置电路供电,但这样电源使用效率不高。那么,怎样节省类似系统的功耗呢?答案在于在不需要这些外设时通过程序控制来关闭它们。在给出的示例中,设计人员可以使用MCU的I/O引脚和几个字节的代码根据需要来为EEPROM和传感器供电。因为I/O引脚可提供最高20mA的电流,不需要提供额外的元件来
开关电源。
功耗管理模式
在嵌入式应用中,节省功耗的一种常见方式是,在系统对MCU的资源需求很低时,定期将MCU置为休眠模式。然后,要执行有用工作时,通过中断或在看门狗定时器计时期满之后唤醒系统的MCU。让MCU处于休眠模式的时间越长,应用的平均功耗就越低。只需要确保看门狗的延时周期适于应用。通常,工作方式如下:如应用需要MCU每隔一段固定的时
间处理一次采样数据,看门狗定时器应在所需的时间周期内将MCU唤醒一次。使用该功能时,需选择支持相应看门狗周期的yCU o
时钟速度选择
对于低功耗应用,设计人员需特别注意振荡器起振时间,起振在MCU空闲(不执行任何代码)时发生。在起振期间,振荡器稳定的过程中,MCU不执行任何操作,但
它会一直消耗功率。在MCU的数据手册中通常不会提及振荡器起振时间,因为该时间因晶振、负载电容、系统环境、振荡器模式等因素而不同。在使用较低时钟速度的设计中,振荡器起振时间对功耗的影响非常大。在系统时钟需要在休眠
和唤醒之间切换的应用中,振荡器起振时间会带来显著差异。低频振荡器在运行时的功耗较低,但也需要较多的起振时间,这会影响系统的功耗。
大多数常见的MCU都实现了某种类型的振荡器起振定时器,用以确保正确起振和提供足够时间来建立振荡。该定时器用于防止MCU在振荡器稳定之前执行代码这种意外情况的发生,但它也延长了每个唤醒周期需要的时间。对此问题的解决方案是使用双速振荡器启动。
在这种方案中,MCU将使用快速启动的辅助振荡器(如RC振荡器)立即开始执行代码。当主振荡器就绪时,将电路切换为使用主振荡器,而不是使用辅助振荡器。这对于器件存在频繁唤醒/休眠事件的应用非常关键。一些MCU甚至允许设计人员使用内部振荡器运行代码,同时等待振荡器起振定时器计数完毕。通过使用功能寄存器配置位,可以使能这种双速启动功能。这种情况下,MCU先使用内部振荡器作为时钟源,直到振荡器定时器计时期满。
多时钟启动与运行
在必要时,还可以在启动期间切换到内部振荡器,以加速启动。最好的方法是,时钟频率可以即时更改,可以在外部时钟和内部振荡器之间切换,而不会造成代码执行被延时。在实际工作中,这相当于双速启动功能。这种情况下,
外部时钟源在起振期间稳定时,MCU可以使用任意一个内部振荡器工作。当外部时钟源稳定之后,MCU可以进行时钟切换,从而缩短节能型医疗设备中宝贵的启动时间。
图2所示为在一个便携式应用中,又寸于负责查询许多发送器的无线接收器,可实现双速启动功能的几个阶段。在正常工作期间,接收器每隔37ms查询一次消息。假设系统的电流目标为<2mA,对于RF查询,接收器承受SOO}A的平均电流。频率变化的次数可由设计人员决定。
双向I/O引脚在大多数MCU中很常见,其中有一部分I/O引脚可接受模拟输人。对于施加到这些引脚的信号,设计人员需要非常小心,以实现最小的功耗。以未用端口引脚为例。如某个端口引脚未用,可将它保留为不连接,但
配置为输出引脚,驱动为任意一种状态(高电平或低电平)。或者,也可将它配置为输人,使用外部电阻上拉到V DD或
vSS。配置为输入时,只有输人漏电流会通过引脚。如果引脚直接连接到V DD或vSS,电流将相同。通过这
种方式,引脚可在以后用作输人或输出,而无需大量的硬件改动。
当输人电压接近VD。或VSS时,数字输人引脚的功耗最低。明显地,如果输入电压位于V DD或uss之间的中点,数字输人缓冲器中的晶体管会被偏置于线性区域一消耗更多的电流。将此引脚配置为模拟输人时,数字缓冲器会被关闭,从而使引脚电流和控制器总电流下降。
需要注意的是,模拟输人具有高阻抗,所以消耗的电流极低,这一点非常重要。特别是当施加的电压位于VD。和V ss之间的中点时,消耗的电流将低于数字输人。在可能的情况下,将数字/模拟共用的引脚配置为模拟输人,可以将数字输人强制为低功耗状态,从而节省功耗。即使在通过
数字输出驱动外部电路时,除了为外部电路供应的电流,数字输出引脚不会消耗任何其他电流,也可以最大程度降低电流消耗。在医疗电子设计中,安全性是需要优先考虑的事项。MCU供应商提供了一些机制,用于确保系统中的MCU正常工作,且代码能够按预期执行。在一些MCU中(如Microchip采用纳瓦技术的PICMCU),可以采用故障保护时钟监视器功能来检测是否失去晶振/谐振器或其他外部时钟源。这是一种极适于医疗应用的重要功能,在晶振发生故障时,故障保护时钟监视器将切换到内部振荡器,并允许安全关闭应用或允许它以精简功能模式继续运行。
计算总平均功耗
以下将通过采用称为功率预算的技术,说明设计人员如何估算应用中的电流消耗和电池寿命。同样,以图1为例列析
数据记录仪应用的各种模式:休眠、传感器预热、检测、数据换算和存储。通过对处理循环进行分析,可以确定每个周
期中在各个模式下花费的时间。然后,从制造商提供的相应器件数据手册中获取每个器件的电流消耗数值。将每种模
式下需要的总电流乘以该模式的持续时间,就可以得到每个循环周期中,在该模式下消耗的电荷量。根据表1可以得
到,数据记录仪应用的每个循环周期需要2000m s,需要的总电荷量为18.8e-6A}s。根据
结语
本文介绍了通过使用最新的MCU,设计人员如何实现功耗管理技术,以及降低医疗电子设备设计中的功耗。通过最大程度降低医疗设备中的功耗,可减少热量,并支持使用较小的电池,反过来又可以提高设备的工作寿命,缩小设备的物理尺寸,增进患者对治疗的配合。