APP下载

基于动脉张力法和STM32L的24h动态血压计设计

2016-11-10郭友达雷恒波徐雅洁邢晓曼康明才孙明山

单片机与嵌入式系统应用 2016年9期
关键词:脉搏低功耗时钟

郭友达,雷恒波,徐雅洁,邢晓曼,康明才,孙明山

基于动脉张力法和STM32L的24h动态血压计设计

郭友达1,2,雷恒波2,徐雅洁2,邢晓曼2,康明才1,孙明山2

(1.南京理工大学电子工程与光电技术学院,南京210094;2.中国科学院苏州生物医学工程技术研究所医学影像室)

本文介绍了一种基于高灵敏度压力传感器和STM32L芯片的低功耗、高性能的24h连续动态血压监测系统,阐述了系统的工作原理、流程及其软硬件设计。系统通过压力传感器对腕部脉搏波进行实时监测,利用动脉张力法预估血压值,实现了24h连续动态血压监测的效果。该系统具有自动进入低功耗状态、5 min自动唤醒、按键中断唤醒、血压异常报警等功能,克服了传统血压计无法进行24h连续动态血压监测、受偶然因素影响大、实时性差等缺点。

STM32L;24h连续动态血压监测;低功耗;压力传感器

引 言

血压是反映人体心血管系统健康与否的重要生理参数,同时也是医院临床上疾病的预防和诊断的重要依据。24h动态血压监测对于高血压的防治工作、医生的临床应用方面有着深远的意义。首先,24h动态监测由仪器自动完成,能有效避免“白大衣现象”。第二,24h动态监测可以测量一个人日常生活状态时的血压,可以发现“隐蔽性高血压”。第三,24h动态监测可以了解血压变化趋势。所以24h动态血压监测不仅是血压监测次数增加,更重要的是可以准确反映一个人的血压风险,提高高血压的预测和诊断能力[1]。

现有的血压监测设备种类繁多,主要厂商有欧姆龙、九安、松下、CONTEC等,但基本都是基于示波法的袖带式血压监测方法。这种方法虽然测量值相对准确可靠,但其缺点也很明显:①无法对血压进行连续动态监测,无法得出血压的变化趋势;②充气袖带会给人带来紧张不适感,从而影响血压监测结果;③得出的结果相对片面,只是一个瞬时的“好”或者“坏”,不确定性因素大[6]。基于这些缺点,本文设计了一套可穿戴式连续动态血压监测系统。利用高性价比的STM32L作为系统的主控芯片,实现了对血压信号的实时监控、定时存储、异常报警。

1 系统设计

1.1系统功能

本系统主要实现的功能有:①实现实时的脉搏信号采集,并转换成血压心率信息,以及信息显示与定时存储。②通过默认或用户自主设定的血压阈值,实现血压健康状况判定,当血压异常时报警提示。③实现系统的小型化、可穿戴式设计,降低系统功耗,使用纽扣电池供电可持续更长的时间。④通过显示定时存储的数据,用户可以查看当天和每月的血压情况走势,预估血压健康状况。

1.2系统总体设计方案

本文采用动脉血压张力测量法[4](TBP)进行血压测量。这是一项新的非侵入式连续动脉血压监测技术,其原理是:当一个具有内在压力的血管被外部物体部分压扁时,其血管壁的外周应力将发生变化,当外力达到某一特定值时,内外力相等,此时所测得的外力即为动脉血压。为了实现以上的方法和功能的需求,本系统需要一个稳定低功耗核心处理器、数据采集模块、数据存储模块、显示模块、蓝牙通信模块、电源模块和报警模块。

其中核心处理器完成对系统的控制管理、数据采集控制、数据处理和算法实现功能。数据采集模块完成对模拟脉搏波信号的采集、滤波和放大;数据存储模块完成血压心率和日期信息的定时数据存储功能;显示模块完成血压心率信息和血压走势的显示功能;蓝牙通信模块完成与PC端及其他智能终端的数据通信工作。此外电源模块和报警模块实现了对系统的电源供应和异常血压的预警提示。系统的总体架构如图1所示。

图1 系统总体构架

1.3系统的工作原理与流程

在系统复位或第一次开机后,首先系统进入第一次初始化设置,配置系统外设时钟、功能模式和I/O配置等。等待系统初始化完毕后,用户通过液晶屏与系统进行交互,根据系统提示利用按键完成系统实时时钟和血压预警值的设置。之后,系统进入第一次血压采样过程,等待血压采样结束后,系统会将采样结果进行运算,得出用户当前时间的收缩压和舒张压并显示在液晶屏上。同时如果血压监测结果超出了用户设定的预警值范围,则系统的预警模块发出警报,提示用户血压异常。在血压值显示10 s之后,系统将进入低功耗停机状态,等待下一次唤醒。系统每隔5 min将由设定的RTC闹钟自动唤醒一次,进入一次采样循环,用户也可以通过按键中断退出停机状态进入一次采样循环。系统工作流程如图2所示。

图2 系统工作流程

2 硬件设计

2.1硬件设计要求

根据系统设计目标和脉搏信号特性,本系统的硬件设计着重处理以下几方面的问题:

①为了实现可穿戴目的,系统必须实现产品低功耗、小型化的设计指标。

②由于脉搏信号微弱、幅度小、频率低,极易受到噪声的影响,所以要求电路设计具有输入高阻抗、高共模抑制比、低噪声、带通输出的特点。

③在实现系统的功能和运算指标的基础上,应尽量降低成本,使之有更高的性价比。

2.2核心处理器

本次设计选择高性价比、超低功耗的STM32L152RBT6芯片作为系统的核心处理器。这是一款由意法半导体(ST)公司推出的32位基于ARM Cortex- M内核的超低功耗精简指令集微控制。该芯片采用LQFP-64封装,具有51个I/O引脚接口、128 KB的Flash程序数据存储空间和16 KB的RAM程序运行空间、20通道12位逐次逼近式A/D转换器,一路USB2.0接口,7通道DMA控制器,4个通用定时器和一个Systick系统定时器以及大量的中断资源等,足够满足本系统设计的功能需求。

此外STM32L系列芯片具有三种低功耗模式:

①睡眠模式。通过执行WFE指令或者WFI指令可进入睡眠模式。进入睡眠模式之后,内核时钟停止,外设可继续工作。通过任意外部中断退出睡眠模式,最低功耗可达到6.1μA。

②停机模式。停机模式是在睡眠模式的基础上结合了外设时钟控制机制。在停机模式下,内核和外设时钟将被停止,保留SRAM供电,可通过任意外部中断和RTC闹钟唤醒。在实时时钟运行情况下,最低功耗为1.3μA,关闭实时时钟后为0.5μA。

③待机模式。待机模式可实现系统的最低功耗,进入待机模式之后整个1.8 V供电区将被断电,SRAM和寄存器内容丢失。仅保留备份寄存器和待机电路供电,可通过RTC闹钟或者STM32复位唤醒。唤醒之后程序重新运行,相当于复位状态。在实时时钟运行情况下,最低功耗为1.0μA,关闭实时时钟后为270 n A。其低功耗性能和传统超低功耗MSP430芯片[3]参数对比如表1所列,可以看出,STM32L系列的低功耗方面的表现和MSP430是非常接近的,此外STM32L系列在时钟频率、处理位数、运算能力以及可编程性、性价比方面,比起MSP430都有更优的表现。因此STM32L系列芯片非常好地契合了本系统的设计需求。

表1 STM32L系列和MSP430系列参数对照表

2.3数据采集模块设计

系统采用的压力传感器是Honeywell的1865系列,该系列是专门为医疗和特定的OEM应用而设计的高精度压力传感器。1865利用一层特制的硅隔膜传递压力信号,具备激光修正补偿功能,可以精确采集微小的生物信号,具有线性度好、测试精度高、稳定性好、响应速度快的特点。测量量程为0~30 psi,在正常量程内线性度能达到0.1%FS。传感器通过轻轻贴合腕部动脉获取脉搏信号,输出为模拟电压信号。

此外,采用截止频率为0.05 Hz的二阶Sallen -Key高通滤波电路和截止频率为40 Hz的二阶贝塞尔有源低通电路串联组成带通滤波电路,作为系统的滤波模块。人体正常的脉搏为60~100次/min,即1~1.67 Hz。从脉搏功率谱的能量分布来看,99%的能量集中在0.5~10 Hz之间。脉搏信号最低频率只有0.5 Hz,为降低信号相移产生的失真,低频截止频率须设定为最低频率的1/10,即0.05 Hz。脉搏最高频率不超过40 Hz,故高频截止频率设定为40 Hz。此外系统选取体积小、功耗低、噪声小及供电范围广的AD620AN运算放大器组成一级放大电路,系统放大增益为11,可通过调节可变电阻R1来调节系统增益。电路及参数选取如图3所示。

图3 放大滤波电路

2.4存储显示模块设计

系统选用AT24C16作为数据存储区,AT24C16是2线型串行EEPROM,存储容量达到16 Kb,电压运行范围为2.7~5.5 V,数据保存可达到100年。数据一次存储容量占72位,利用AT24C16可以存储227次血压动态监测结果和时间日期,即可以记录一天的血压趋势和179天内的血压走势。STM32L芯片的I2C总线的SCL和SDA端分别对应接到AT24C16的SCL和SDA端。由SCL端——时钟控制SDA端的数据读写,完成系统的数据存储和读取的功能。

系统显示模块采用3.3 V的LCD1602液晶显示器,该模块已内置8 192个中文字形(16×16点阵)和126个西文字型(16×8)字库,便于显示汉字与字符。模块的8位并行数据端连接芯片的PA0~PA7,RS、WR、EN、CS这4个控制引脚连接芯片的PB3~PB6。

2.5电源和蓝牙通信模块设计

系统选用DX -BTO5 4.0蓝牙通信模块对PC和其他智能终端进行无线通信。蓝牙模块采用TI公司的CC2541芯片,配置256 Kb空间,遵循V4.0 BLE蓝牙规范,支持AT指令,用户可以根据需要更改串口波特率、设备名称、配对密码等参数、使用灵活。

整个系统通过纽扣电池进行供电,通过稳压电路转换电压对芯片和模块供电,输入电压为5 V,输出为3.3 V。稳压电路如图4所示。

图4 稳压电路

3 软件设计

3.1数据采集模流程

数据采集模块实现了脉搏信号的采集和简单滤波处理的功能,提高了系统的抗干扰能力,既是系统的核心,也是系统精度的关键因素之一。数据采集流程如图5所示。

在数据采集流程中,系统首先进行初始化设置:先后进入ADC_GPIO_ Configuration()和ADC_Configuration()函数,使能引脚时钟和ADC时钟并初始化引脚为模拟输入模式,初始化配置ADC为单通道连续软件触发采样模式;进入Key_Init()函数,配置按键对应的引脚连接到内部中断线,配置中断模式和中断优先级;之后进行RTC实时时钟初始化、RTC闹钟配置,系统初始化完毕之后,系统可以进行采样循环。首先通过条件判断是否是第一次采集或按键中断或5分钟闹钟唤醒,如果是,则系统进入A/D采样流程。采样过程中,由于脉搏信号比较微弱,信号容易受到外部和器件的电气干扰而产生毛刺。为消除毛刺、改善信号质量,系统在采样过程中进入MidFilter()函数采用中值平均滤波的方法,对信号进行处理。中值平均滤波原理如下:每次采样10个点,对这10个点进行一次冒泡排序,等待排序完成之后取数组中间的两个中位值点,并计算其平均值,而计算出的平均值即系统所需信号的一个采样点。

通过这样处理,相当于对系统进行了一次时域滤波,能有效消除脉冲噪声干扰,增强系统的抗干扰能力。因此系统采样频率定为500 Hz,而实际采集到的信号频率为50 Hz。一次采样过程持续12 s,即采集队列填满600点视为一次采样结束。数据采完之后保存采样数据,一次采样流程结束。

图5 数据采集流程图

3.224h动态血压监测流程

对血压数据进行24h的采集和存储,可以让用户看到一天以及一段时间内的血压变化趋势,得出一些特定时间内的血压变化的危险点,并在监测到血压异常的情况下进行报警。由于系统将采集的血压数据存入系统的存储模块中,因而用户将可以对一段时间内的血压变化趋势进行监测。图6是系统进行24h动态血压监测的流程图。

图6 24h动态监测流程图

首先系统进入正常的低功耗血压采集循环,系统每5 min或者用户通过按键中断唤醒停机模式的系统,之后开始对脉搏信号进行一次采样监测。系统通过读取实时时钟RTC获得当前采样的日期和时间。用户可以通过显示模块读取监测的结果,如果检测的结果超出预设的预警值范围,则预警模块将发出警报通知用户,用户可以通过按键取消报警。另一方面,系统将保存此次检测的日期时间和血压值。系统将对半小时内监测的数据进行汇总平均,作为这半个小时内的平均血压并连同时间一起存入存储模块。当超过24h时,系统将对每半小时监测的血压数据进行汇总平均,作为一天的平均血压并连同时间一起存入存储模块,从而实现对血压24h动态监测的目的。

3.3低功耗控制与实现

在系统的实际运行当中,系统功耗主要体现在硬件电路、模块耗散的电能和芯片逻辑运算、等待耗散的电能方面。在硬件方面,本设计通过精简电子元器件,选用超低功耗STM32L芯片来达到降低功耗的效果。在软件方面,通过精简代码、算法和利用STM32L的降低功耗模式的编程达到低功耗的效果。

本系统采用的是开启实时时钟的停机模式实现低功耗功能[5]。首先,在程序初始化的过程中通过函数RTC_Config()对RTC进行初始化配置,定义外部32.786 k Hz低速晶振作为RTC时钟,并初始化RTC时钟时间,使能RTC时钟。通过函数RTC_AlarmConfig()对RTC闹钟进行配置,将唤醒时间定为5 min。之后进入主程序循环,在每次数据采集完成之后将各个I/O口重新配置成模拟输入模式,同时通过PWR_EnterSTOPMode(PWR_Regulator_Low Power,PWR_STOPEntry_WFI)函数让系统进入停机模式。在进入停机模式之后,系统通过RTC闹钟每5 min自动唤醒或者按键外部中断唤醒,唤醒之后系统对用到的I/O口以及RTC闹钟重配置,才能进入下一次数据采集过程。如此系统只在采样工作的时间运行,空闲时间进入停机模式,实现了软件方面的低功耗设计。

4 测试结果与分析

在未开启低功耗模式时,利用5 V直流电源供电,采集数据过程中对电池电流进行测试,电流为108 mA。在开启低功耗模式后,利用同样的电源供电,在数据采集过程中电流为56 mA,进入停机模式后功耗为3 mA。系统功耗得到明显降低,采集到的脉搏波形如图7所示。对24岁健康成年男性进行6h的血压动态监测,结果如图8所示。

图7 一次数据采样600点的脉搏波形

图8 动态血压趋势

同时本系统对6名志愿者进行血压测试,收缩压(SBP)、舒张压(DBP)、结果和Microlife BP3GX1-5X标准充气袖带式血压计测试结果对比如表2所列。

表2 6组实验测试结果和标准血压计测试结果对比

测试结果表明,系统通过对腕部脉搏波的实时监测获取血压信息,并实现了24h连续动态血压监测的效果。本文利用超低功耗STM32L芯片的低功耗停机模式,满足了系统的低功耗需求;并且系统具有RTC闹钟自动唤醒和按键中断唤醒两种唤醒功能,使用户能更加灵活地运用。

[1]王继光.24h动态血压监测:适用人群及临床意义[J].中国高血压杂志,2014(7).

[2]ST Microelectronics Corporation.STM32L151x6/8/B,STM 32 L152x6/8/B Datasheet,2013.

[3]TI.MSP430x13x,MSP430x14x,MSP430x14x1 MIXED SIGNAL MICROCONTROLLER Datasheet,2013.

[4]林治川,董庆龙,欧阳葆怡.动脉血压张力测量法的临床应用[J].广州医药,2001(32).

[5]马忠梅,徐琰,叶青.ARM Cortex微控制器教程[M].北京:北京航空航天大学出版社,2010.

[6]Pickering Thomas G,Shimbo Daichi,Haas Donald.Ambulatory Blood-Pressure Monitoring[J].New England Journal of Medicine,2006,354(6).

郭友达(硕士研究生),主要研究方向为嵌入式系统设计。

24h Ambulatory Blood Pressure Monitoring System Based on Arterial Tension Method and STM32L

Guo Youda1,2,Lei Hengbo2,Xu Yajie2,Xing Xiaoman2,Kang Mingcai1,Sun Mingshan2
(1.School of Electronic and Optical Engineering,Nanjing University of Science and Technology,Nanjing 210094,China;2.Medical Image Department,Suzhou Institute of Biomedical Engineering and Technology Chinese Academy of Sciences)

A high-performance 24h continuous ambulatory blood pressure monitoring system is introduced which based on a high sensitivity pressure sensor and STM32L.The work principle,the flow and the design of hardware and software are described.The pressure sensor is used to monitor the wrist pulse wave,and estimates the blood pressure using the arterial tension method,so the 24h continuous ambulatory blood pressure monitoring is achieved.At the same time,the system has the functions of automatically entering the low-power consumption state,5min auto wake-up,push button interrupt wake-up,and abnormal blood pressure alarming.It overcomes the shortcomings of the conventional blood pressure monitors,such as unable to monitor blood pressure 24h continuously,easily influenced by accidental factor,and poor real-time performance.

STM32L;24h continuous ambulatory blood pressure monitoring;low-power consumption;pressure sensor

TP29

A

��杨迪娜

2016-04-08)

猜你喜欢

脉搏低功耗时钟
别样的“时钟”
一种高速低功耗比较器设计
古代的时钟
一种宽带低功耗四合一接收机设计
用心感受狗狗的脉搏
《今日评说》评今日浙江 说时代脉搏
光电式脉搏波检测系统的研究
基于51系列单片机的穿戴式脉搏仪的设计
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用