降低嵌入式医疗电子应用中的功耗

时间:2022-10-13 11:02:01

降低嵌入式医疗电子应用中的功耗

摘要:在设计任何电子设备时,低功耗都是追求的目标之一。就便携式医疗设备而言,实现功耗目标是成功开发产品的关键因素。通过在单个器件中以更高集成度集成多种功能的高级半导体,设计人员可以极大地缩小医疗设备的尺寸,同时通过降低医疗应用(包括植入式设备、便携式设备、家用设备和安全设备)中的功耗来延长它们的寿命。本文将说明设计人员如何利用单片机(MCU)的高级功耗管理功能来降低医疗应用中的功耗。

关键词:嵌入式医疗电子;功耗;MCU

降低功耗所涉及的设计问题

系统设计人员面临着紧凑式和便携式医疗电子设备提出的许多挑战。为低功耗器件设计电源可能会非常棘手,因为设计人员需要考虑系统的电压/电流需求。在许多低功耗应用中,电池是主要电源,在化学性质、性能、

容量、尺寸/重量和成本等方面对设计人员提出了许多挑战。例如,高容量电池的内阻较高,这使它们不适合于大电流应用。而与尺寸类似的高内阻电池相比,适合于大电流应用的电池通常容量较低、重量较大。此外,只能放电的原电池的容量要远高于可充电电池。由于存在这些限制,设计人员需要针对特定系统来制定策略,以在成本和性能方面达到最佳效果。静态功耗是一项重要的品质指标,可以指示MCU在低功耗应用中的适用情况。对于一些采用高级处理技术的MCU,在休眠模式下耗用的电流可低于50nA。为了能够适应各种低功耗设计,有一点非常重要,即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唤醒一次。使用该功能时,需选择支持相应看门狗周期的MCU。

时钟速度选择

对于低功耗应用,设计人员需特别注意振荡器起振时间,起振在Mcu空闲(不执行任何代码)时发生。在起振期间,振荡器稳定的过程中,MCu不执行任何操作,但它会一直消耗功率。在MCU的数据手册中通常不会提及振荡器起振时间,因为该时间因晶振、负载电容、系统环境、振荡器模式等因素而不同。在使用较低时钟速度的设计中,振荡器起振时间对功耗的影响非常大。在系统时钟需要在休眠和唤醒之间切换的应用中,振荡器起振时间会带来显著差异。低频振荡器在运行时的功耗较低,但也需要较多的起振时间,这会影响系统的功耗。

大多数常见的MCu都实现了某种类型的振荡器起振定时器,用以确保正确起振和提供足够时间来建立振荡。该定时器用于防止MCu在振荡器稳定之前执行代码这种意外情况的发生,但它也延长了每个唤醒周期需要的时间。对此问题的解决方案是使用双速振荡器启动。

在这种方案中,MCU将使用快速启动的辅助振荡器(如RC振荡器)立即开始执行代码。当主振荡器就绪时,将电路切换为使用主振荡器,而不是使用辅助振荡器。这对于器件存在频繁唤醒/休眠事件的应用非常关键。一些MCU甚至允许设计人员使用内部振荡器运行代码,同时等待振荡器起振定时器计数完毕。通过使用功能寄存器配置位,可以使能这种双速启动功能。这种情况下,MCU先使用内部振荡器作为时钟源,直到振荡器定时器计时期满。

多时钟启动与运行

在必要时,还可以在启动期间切换到内部振荡器,以加速启动。最好的方法是,时钟频率可以即时更改,可以在外部时钟和内部振荡器之间切换,而不会造成代码执行被延时。在实际工作中,这相当于双速启动功能。这种情况下,外部时钟源在起振期间稳定时,Mcu可以使用任意一个内部振荡器工作。当外部时钟源稳定之后,MCU可以进行时钟切换,从而缩短节能型医疗设备中宝贵的启动时间。

图2所示为在一个便携式应用中,对于负责查询许多发送器的无线接收器,可实现双速启动功能的几个阶段。在正常工作期间,接收器每隔37ms查询一次消息。假设系统的电流目标为

双向I/O引脚在大多数MCU中很常见,其中有一部分I/O引脚可接受模拟输入。对于施加

上一篇:随时随地的健康保障,离我们还有多远? 下一篇:一种SD/MMC存储器启动方案在SoC中的设计与实现