基于C8051F040单片机的动态血糖监测系统的低功耗设计
2013-09-26潘佚
潘佚
(南华大学 电气工程学院,湖南 衡阳 421001)
2007-2008年的调查显示,我国20岁以上人群中男性和女性糖尿病的患病率分别达10.6%和8.8%,总体患病率已达9.7%,同期糖尿病前期的患病率高达15.5%[1]。因此,糖尿病已成为我国面临的一个重大的公共卫生问题,其防治具有极其重要的意义。糖尿病防治过程中最重要的步骤是进行血糖监测。利用快速血糖仪测血糖,可以很快获得结果,及时调整治疗[2-6],动态血糖监测则可以提供血糖连续变化的信息。动态血糖仪使用电池供电,在系统设计中功耗问题显得尤为重要。集成度高、低功耗的微处理器是降低系统功耗的关键。本文采用了混合信号片上系统级单片机C8051F040达到了低功耗的目的。
1 血糖仪系统结构
动态血糖监测系统的一般结构如图1所示,包括模拟模块和数字模块。模拟模块的功能是对生物传感器(葡萄糖氧化酶电极)的输出信号进行采集、放大、滤波和模数转换;数字模块的核心是微处理器,负责对采集到的数据进行存储、处理、与上位机通讯、液晶显示、发现异常信号时报警。系统的外围器件较多,在满足设计指标的条件下应选用低功耗特性的产品。动态血糖监测需要在一段长时间内进行间断的、定时的(如30分钟)连续测量,意味着微处理器不能同其他设备一样,为了省电在不工作时完全关断,而必须一直处于监控状态,因此微处理器的功耗在系统平均功耗中占有相当大的比例,微处理器本身功耗的大小对系统整体功耗的影响很大[7]。
2 几种低功耗处理器比较
目前在系统设计中广泛应用的低功耗单片机已有多种。表1给出了TI、ATMEL和Silabs公司的三种典型的低功耗微处理器的功耗比较[8]。表中正常模式电流消耗数据指MCU工作主频在1 MHz时,节能模式数据指各厂商微处理器适用于本系统的低功耗模式。
表1 三种常用低功耗微处理器的功耗参数Tab.1 Power consumption parameter of common MCUs
虽然MSP430F16x和ATMEGA16L系列微处理器的功耗也很低,但综合考虑A/D、D/A转换器精度、各接口类型和数量、存储器、PGA等可用资源情况,C8051F040更利于减少外围器件的数量,减小系统的体积,从而达到降低整个系统功耗的目的。C8051F040采用了流水线处理构架,集成12位ADC和DAC模块,芯片温度传感器,3个史密斯比较器模块,一个SPI串行外围设备接口控制器,一个SMBUS总线控制器 (与I2C完全兼容),64K Flash Rom,256 BYTE片内存储器和4K BYTE外部存储器,两个外部事件中断(中断源可高达20个),5个定时器。高集成度和多中断源使得C8051F040在低功耗系统设计中有很大的优势[8]。本设计中通过对微处理器的工作电压、晶振频率和软件优化实现最大限度地降低功耗。
3 低功耗策略
影响CMOS数字逻辑器件功耗的因素主要有两方面:供电电压和系统时钟(SYSCLK)频率。其中功耗与系统时钟的关系用下式来表达:
式中,C为CMOS的负载电容,V是电源电压,f是系统时钟频率。由上式可以看出,CMOS逻辑电路中的电流与电源电压成正比,功耗与电源电压的平方成正比,降低器件的供电电压可以减小功耗。C8051F040所要求的电源电压为2.7~3.6 V,为了减小功耗,设计中使用3.0 V的稳压器而不采用3.3 V的稳压器。外围器件均使用3 V的电源供电,并具有关断或待机功能。
C8051F040的系统时钟可以来自内部振荡器,也可以来自一个外部时钟源。内部可编程振荡器可提供最高24.5 MHz的时钟频率;外部时钟源可以是一个CMOS时钟、RC电路电容或晶体振荡器。
动态血糖测量是一种“猝发”操作,即测量要求高速度,但只是在很短的时间间隔发生。对C8051F040来说,SYSCLK频率可在任何时刻改变,因此器件平时可工作在较低的频率,直至某个需要高速操作的条件发生(如定时器中断)。
本设计中,C8051F040使用一个实时时钟提供时间戳来进行高速数据转换,一个内部振荡器和外部晶体的组合是最理想的方案:在采样和数据处理操作期间使用高速内部振荡器,操作结束后使用一个外部32 kHz晶体以维持实时时钟,一旦重新需要高速操作,微处理器将切换到内部振荡器,如图2所示。
图2 内部和外部振荡器配置方案Fig.2 Configuration scheme of internal and external oscillators
4 低功耗系统的软件设计与优化
C8051F040的可编程内部振荡器最高可达24.5 MHz,根据血糖监测的需要,本设计中使用其8分频作为高速模式已经足够,外部则使用32 kHz晶振待机。系统时钟的初始化代码如下:
C8051F040通过IO口控制各个外围设备和电源管理芯片;用高速模式进行采样、计算、存储和显示,完成一次测量后,系统进入待机,关闭AD及所有外设,切换到外部晶振,直到下一次被定时器中断唤醒。C8051F040有5个定时/计数器,在系统设计中用定时器3中断提供测量所需的时间戳。代码如下:
在这样的设计下,可以通过计算平均电流来估算功率需求。微处理器在正常方式(用于采样、数据转换、处理)和等待方式(两个采样处理操作之间)之间切换。等待方式下,外部时钟频率32 kHz,外围器件关闭。仅考虑微处理器的话,等待方式下的模拟外设被禁止,模拟电流消耗(电源监视模块)约为0.6 μA;数字部件的电流消耗约为 0.65 mA/MHz,计算可得20.8 μA。微处理器在等待时的总消耗电流约为21 μA。
理论上来说,高速模式运行的时间是ADC跟踪/转换时间并将样本保存到存储器的时间。C8051F040的ADC模块在低功耗跟踪方式下,有3个SAR时钟用于跟踪,16个SAR时钟用于转换。这19个SAR时钟在频率为3 MHz时需要6.3 μs;存储采样值需要两个 SYSCLK 周期即 0.083 μs。进入正常方式需要执行一条MOV指令,消耗3个SYSCLK周期即0.125 μs。因此,在高速模式一次采样需要的总时间为6.5 μs。
实际情况要复杂得多。微处理器在启动DC-DC时,往往会出现一个瞬时电流峰值,因此到DC-DC输出稳定之前系统需要等待几毫秒;为了提高信噪比,系统需要在每次测量时进行多次采样和数字滤波;存储测量结果时,对外围器件(铁电)的读写也包含较多的等待周期等等,这些都增加了系统实际功耗,计算也比较复杂。虽然如此,本设计中动态血糖监测要求每30分钟对电极输出进行一次采样,系统高速运行时间比等待时间仍然少得多。
在软件优化上,应用定时中断的方式减少CPU的工作时间、应用片内定时/计数器的定时计数功能进行定时测量或对信号计数,尽可能不使用查询或等待方式,有利于减小系统功耗。
表2 动态血糖监测系统电流消耗Tab.2 The current consumption of continuous glucosemonitoring system
通过硬件和软件的优化设计,测得系统在高速(含采样)工作态的电流为12 mA左右,在待机模式下工作电流降低至5.4 mA。该系统各部分在不同工作模式下的电流消耗如表2所示。实际测试中,利用2 500 mAh的5号电池供电时,系统可以工作450 h左右,满足设计要求,便于随身携带。
5 结束语
文中比较了多种低功耗单片机,从动态血糖监测系统需求出发,使用集成度高、功耗低、具备高精度ADC的C8051F040单片机作为微处理器,采用了内部振荡器和外部晶体组合的系统时钟,充分利用各种中断源和低功耗模式,选用低功耗的外围器件,有效降低了系统总功耗,实现400小时以上的连续血糖监测。各种工作模式均在基于C8051F040的动态血糖监测系统上得到验证。
[1]YANG Wen-ying,LU Ju-ming,WENG Jian-ping,etal.Prevalence of diabetes among men and women in China[J].N Engl J Med,2010,362:2425-2426.
[2]Rubin R.J.,Altman W M,Mendelson D N.Health Care Expenditures for People with diabetes Mellitus[J].Journal of Clinical Endocrinology and Metabolism,1992(78):809-809.
[3]Klonoff D C.Benefits and Limitations of Self-Monitoring of Blood Glucose[J].J Diabetes Sci Technol,2007,1(1):130-132.
[4]Solnica B.Quality Control of SMBG in Clinical Practice[J].Scandinavian Journal of Clinical&Laboratory Investigation,2005,65(s240):80-85.
[5]Poolsup N,Suksomboon N,Jiamsathit W.Systematic review of the benefits of self-Monitoring of blood glucose on glycemic control in Type 2 diabetes patients[J].Diabetes Technology&Therapeutics,2008,10(s1):S-51-S-66.
[6]黄华东,郭张军.彭鹏基于分布式多传感器融合技术的坝基地下水宏观动态监测数据分析[J].陕西电力,2011(3):13-16.
HUANG Hua-dong,GUO Zhang-jun,PENG Peng.Study on macroscopic regime of groundwater under dam section based on distributed multi-sensor data fusion theory[J].Shaanxi Electric Power,2011(3):13-16.
[7]童长飞.C8051F系列单片机开发与C语言编程[M].北京:北京航空航天大学出版社,2005.
[8]周乐川,叶树明,蒋春跃,等.基于MSP430F1611的自容式叶绿素仪的采集控制电路的低功耗设计[J].电子器件,2008,31(3):864-867.
ZHOU Le-chuan,YE Shu-ming,JIANG Chun-yue,et al.Lowpower design of the acquisition and control circuit for selfcontained chlorophyll detection device based on MSP430F1611[J].Journal of Electron Devices,2008,31(3):864-867.