许多医学应用都需要不用外接电源线和数据线的便携式自供电设备,最明显的例子是病人随身携带用来测量心率、体温和其它健康指标的便携式数据记录仪。
当然,还有很多复杂应用即使通过外部电源供电,也会需要一个小型的电池设备实现安全冗余和设备监控,如医院病房、病人居室、环境受控的实验室或贮藏设备环境参数(包括温度和湿度)都需要持续监控;另外便携设备的安装使用比需要外接电源和网线的设备更方便更灵活。在有些情况下,如需要病人随身携带的医疗设备,冷库的温度检测设备等,根本无法外接电源线和网线。
便携医疗设备要求何种功能?首先,必须自带电源。通常可通过可充电的或不可充电的电池供电,尽管还有其它方式(如太阳能供电),但这取决于对电压和电流的要求。不管采用何种电源,电源的效率必须足够高,而且电池供电的便携设备在不需要满负荷工作时应可以进入“休眠”模式来尽可能降低功耗,休眠的设备可以被外部触发信号或定期的被“唤醒”,然后提高运算速度(当然功耗也会增加)进入正常工作模式。设备还应具备介于满负荷工作和“休眠”模式之间的一些工作模式来执行一些简单的任务(如访问存储器或刷新液晶及LED显示器数据),因为设备通常仅在某些条件下才会需要满负荷运算能力(如对传感器数据进行滤波和解码),这样就可以在功耗和运算速度之间进行某种程度的平衡。
便携设备即使支持无线通信,但并不总是保证能够接入无线网络。取决于网络条件,某一时刻设备在有无线网络的环境中工作,下一时刻就有可能被移动到没有无线网络的环境中,或可能因断电造成无线网络临时关闭。在这些情况下,如果设备本身不支持无线通信,设备需要将随时采集的数据存储起来,以备将来上传到上一级系统进行数据处理。有一些关键数据(如环境安全失效数据,配置数据或设备驱动)必须保证存储安全,即使电池故障或被移除也不能丢失。
便携设备的其它特性取决于具体应用需求,数据可以直接通过模拟传感器采集,也可以通过局域网络访问子系统读取,便携设备可以仅被动地采集数据,也可以在特定条件下主动地通过声音报警或向某人发信号告警。一些简单的数据采集设备在上传数据前根本无需用户干预,而另一些设备(如手持血糖仪或腕带式心脏监护仪)也许需要通过另外的输入输出设备而不是主机系统来更改配置或浏览数据。
使用MAXQ2010设计便携式数据记录仪
尽管业内有很多可供选择的微控制器,但Maxim公司的 MAXQ系列低功耗混合信号RISC微控制器MAXQ2010具有的特性非常适合设计电池供电的数据采集设备。MAXQ2010具有极低功耗,极高MIPS/mA比值,仅需很小的电池电流支持便携应用,集成的12位8通道ADC可以采集很多类型的传感器数据,另外还支持许多类型的本地串行接口(如I2C, SPI, 同步/异步UART) ,可用来接入主机系统和串口非易失存储设备,或与本设备中的其它子系统通信。
MAXQ2010可根据当前任务对运算能力的要求通过动态调整时钟频率来改变功耗,并当其处理完所有的数据和事件,便携设备即可进入最低功耗的休眠(停止)模式,直到再次被应用唤醒。MAXQ2010的核电压仅1.8V,可以极大的降低功耗,3V独立供电的I/O可以同外部高压逻辑通信。如果希望使用像3V纽扣锂电池这样的单电源供电而不希望使用双电源,则可以通过内置集成稳压器给核电压供电。在停止模式下,该稳压器可以被关闭,以便降低功耗。
MAXQ2010能通过多种途径从传感器读取数据,如果采集模拟传感器数据,并可使用内置的12位多通道ADC,支持8通道单端输入。MAXQ2010从外部传感器采集的数据可以根据需要被存储在由备份电池供电的RAM中或内部闪存中。片上基于32kHz的实时时钟(RTC)在停止模式下也能工作,根据需要为数据提供时标。如果需要用户输入数据或向用户显示信息,MAXQ2010都能实现,它有一组通用输入/输出引脚(在最大的封装中有56个),可以驱动LED,读取机械开关设置,或通过行列扫描的方式连接开关矩阵。MAXQ2010还有一个LCD控制器,可以直接驱动3V的段式LCD,最多支持1/4周期的复用(COM1~ COM4),其最大的封装提供40个专门的驱动引脚,在4倍复用模式下可以驱动160段LCD显示。
基于MAXQ2010的数据记录仪设计实例
像许多用来采集或存储数据的电子设备一样,基于MAXQ2010的数据记录仪采用USB接口与主机(如个人电脑)通信。但是,由于MAXQ2010自己没有USB接口,我们利用FTDI公司的芯片FT232R实现USB与UART的转接。
采用FT232R可以给数据记录仪设计带来许多好处。首先,当USB总线活动时,数据记录仪可以利用FT232R的3.3V稳压器输出供电,仅需一对二极管即可实现与电池供电的自动切换,因为稳压器输出(减去0.2V二极管前向压降)电压总比电池电压减去二极管压降后的电压高,这样就可保证连接到USB总线时,记录仪不用电池而通过 USB Vbus供电。 采用两个二极管(图1)是为了防止给电池充电,输出电容用来降低负载瞬变对电池的影响。其次,MAXQ2010可以利用两个串口(UART)中的一个直接与运行在个人电脑上的应用程序通信,不需要任何额外的驱动程序。两个串口之间通过一个建立在USB接口上的虚拟COM口连接。本设计采用MAXQ2010基于32kHz 晶体的FLL作为其自身的时钟源(如果需要还可为RTC提供时基),其成本比其它晶体或谐振电路的成本要低得多。FLL 电路相当于一个倍频系数为256的倍频器,将32kHz的晶体振荡频率变到8.388MHz作为MAXQ2010的时钟。
为计算基于MAXQ2010的数据记录仪究竟会消耗多少电流,可以考虑执行以下操作:首先一个外部信号(如按键或传感器电压突然升高)将微控制器从停止模式唤醒;系统随即通过一个单端的ADC通道读取模拟传感器电压,将采集的传感器电压值存储在数据RAM中;此时为了节省功耗,微控制器重回到停止模式,而在约60秒后,微控制器再次被唤醒( 回到第 1步)。因此,计算平均电流消耗并估算电池寿命需要将微控制器的以下参数代入公式(1):tAcTIve(完成上述全部操作所需的时间,包括进入停止模式的时间)、iAcTIve(上述操作期间的典型电流值)、tStop(保持停止模式的时间)、iStop(停止模式的典型电流)、tExit(从停止模式被唤醒所需的时间)、iExit(被唤醒时的典型电流)。
(tAcTIve &TImes; iActive) + (tStop × iStop) + (tExit + iExit)
tActive + tStop + tExit
根据以上参数的值可以计算出平均电流大约为202nA;即如果电源是一个普通的CR2032纽扣锂电池,可以估算出电池寿命为1138小时。不同电池生产厂家生产的电池的特性会有所不同,CR2032电池在90%的放电区间内压降不超过0.3V,这意味着在电池电压降到2.7V之前(经过一个二极管压降后为2.5V,满足单电源工作时的最低电压),微控制器可以工作1024个小时。
增加电池容量或数量、用可充电电池,或当连接到USB时自动充电等许多措施均以用来延长电池寿命。一般平均电流仅略高于停止模式的待机电流,这是因为停止模式的时间远长于程序运行时间,停止模式的电流起主导作用。程序循环体代码可以被扩展,如测量多个传感器值或增加其它功能并不会显著改变电池寿命。当然,使用其它外设功能,如LCD显示,LED指示或串口等都会增加功耗,设计者在计算实际电池寿命时需要综合考虑这些功能可能增加的功耗。