基于FPGA的多通道生理信号监护仪的设计*
2013-08-13张冰洋詹垒垒陈亚光
田 军 ,张冰洋 ,詹垒垒 ,陈亚光 ,武 力
(1.中南民族大学 生物医学工程学院,湖北 武汉430074;2.中南民族大学 创新创业中心,湖北 武汉430074)
在现有的医疗、社会、科技背景下,医学监护己经朝着个人化、便携化和多功能化的方向发展。目前家用便携式医疗电子产品已在越来越多的家庭中广泛使用,但这类产品功能比较单一,通常只对某种单一疾病的生理参数提供监测[1],比如心脏病、高血压或糖尿病等,不能满足多项生理信号实时监控的要求。功能全面的医用监护仪大多体积庞大,一般应用在医院等固定场所。随着我国经济的发展,心血管疾病已经成为中国成人首要的死亡原因[2]。鉴于心血管疾病患者发病前期不能长期静卧于医院,又需要对病情进行长期监护,因此研制一款高性能的便携式多参数生理信号监护仪对心血管患者的实时监护具有十分重要的意义。利用FPGA并行运算的优点[3],本文设计了一种便携式多通道生理信号监护仪,实现了对多项生理参数的实时监护。系统采用智能化电源管理方案,功耗低,续航时间长,体积小,重量轻,操作简单,满足了心血管患者家庭实时监护的需要。
1 系统硬件设计
该便携式多通道生理信号监护仪的硬件部分主要包括信号调理、数据采集与数据处理、数据存储与数据读取、数据通信、人机交互5个模块。 系统硬件框图如图1所示。
图1 系统硬件框图
该系统采用Altera公司的Cyclone II系列 EP2C35F672作为中央处理芯片。EP2C35F672采用可编程的查找表LUT(Look Up Table)结构,支持 129通道的 LVDS(低压差分串行)和 RSDS(去抖动差分信号),最高支持 640 Mb/s的数据传输能力,与一般处理器的单端I/O标准相比,这些内置的LVDS缓冲器保持了信号的完整性,并且具有更低的电磁干扰、更好的电磁兼容性(EMI)以及更低的电源功耗[4]。这些特点满足了系统快速运算和信号稳定的需求。系统由信号调理、数据采集与数据处理、数据存储与数据读取、数据通信、人机交互等模块组成,能实时地对心电、脉搏、血氧饱和度进行监护。
1.1 A/D转换模块设计
系统需同时对多种生理参数进行监护,这要求ADC芯片具有多通道、速度快的特点。本设计最终选用MAX186,这款芯片具有8个模拟输入通道,输出数据精度为 12 bit,支持低功耗模式(1.5 mA(运行状态),2 μA(待机状态)),最高数据转换频率达到133 kHz,与主控芯片通过SPI协议进行通信,如图2所示。
图2 A/D转换模块
1.2 心电信号采集模块设计
由于标准导联方式只能反映被测两点的电平差,不能探测某一点的电平变化,故设计中采用单极导联方式采集心电,如图3 所 示。 VR(右 手)、VF(左腿)、VL(左手)三路信号通过低通滤波传至多路开关,得到两路差分信号,送至差分放大器前,用等值电阻提取共模信号,经反向放大送至RL(右腿),消除共模干扰。为了保证用户安全,差分放大器后采用光耦隔离电路,然后通过滤波电路,送至A/D,进行数据采集。
图3 心电采集电路
1.3 脉搏采集模块设计
采用压电传感器采集桡动脉脉搏,为计算脉搏波速度,前后放置两个传感器在桡动脉处。设计了两路对称的调理电路实现脉搏信号的采集。电路由前置放大电路、滤波、二级放大电路组成,如图4所示。
1.4 血氧采集模块设计
图4 脉搏采集电路
采用双波长法测量血氧饱和度,光电传感器将透射光转换成电流信号,通过I-V转换、前置放大、隔直电容将信号分成直流分量和交流分量,分别进行滤波和放大后送至A/D。传感器LED驱动电路如图5所示,分时段点亮两个LED。控制FPGA的GPIO口产生PWM信号,通过滤波器滤除其中的谐波成分,实现PWM至DAC的转换,调节PWM占空比即可调节驱动电流大小,从而调整血氧探头输出信号的光电流大小。
图5 LED驱动电路
2 系统软件设计
系统开发环境采用Quartus II和 Nios II IED。采用SoPC(System on Programmable Chip)技术在 Quartus II中定制软核,进行FPGA底层逻辑配置,在Nios II IDE中进行系统功能的软件开发。
2.1 Nios II软核的定制
NiosⅡ嵌入式处理器是Altera公司推出的采用哈佛结构、具有32位指令集的第二代片上可编程的软核处理器,其最大优势和特点是模块化的硬件结构,以及由此带来的灵活性和可裁减性[5]。根据系统的功能需求配置底层软核驱动,如图6所示。
图6 系统软核定制
(1)同时或者分别处理各个信号时,为了避免数据的丢失与覆盖,要求较高的数据转换速率。为此笔者在 SPI驱动(SPI Controller)中加入了一个容量为1 KB的缓冲器(Buffer)(见图2),能迅速将数据同时“推送”给处理器,有效提高数据处理速度。
(2)监护仪的显示模块采用3.5英寸TFT液晶屏,因此需加入LCD Controller驱动。为了方便视力较差的老人使用,系统还预留了VGA接口,可将所有数据接入外部显示器显示,所以需添加VGA Controller核。
(3)所有的数据都必须实时地以文本格式保存,方便医生诊断参考。系统采用大容量SD卡作为存储介质,故加入SD Card Controller核。
(4)允许用户进行相应功能的选择操作,并根据数据处理结果给予相应提示,系统预留按键、蜂鸣器和LED指示灯,加入GPIO控制驱动。
(5)为了进一步处理需要,需将存储的文件发送给PC。选用最常用的串口通信,需加入RS232核。
2.2 应用程序设计
系统的总体功能描述如下:开机后,根据相应的信号接入情况智能选择A/D工作模式:待机、单参数模式和多参数模式。在待机模式中系统通过降低采样频率、降低传感器驱动电流、降低LCD亮度等方式来降低系统能耗。通过对采集的数据进行IIR数字滤波来保证结果的准确性。设定低通滤波器的截止频率为35 Hz,初步滤除包括工频在内的高频干扰;设定高通滤波器的截止频率为0.5 Hz,消除基线漂移等低频干扰[6]。对数字滤波后的数据进行数据分析和处理,计算心率、脉搏波速和血氧饱和度,在LCD中显示数据和波形。为了方便医护人员进行复查,监护日志以文本格式存入SD卡。
由于不同用户的体征参数不尽相同,信号幅度和周期等参数就必然不同,所以系统还必须自适应地调整采样频率、显示幅度和基线位置。另外系统还必须根据用户的选择,把数据通过串口发送给PC,或者把SD卡中的文件读出在LCD上显示。主函数流程图如图7所示。
2.3 数字滤波模块设计
在心电信号处理过程中,为滤除高频噪声,设计了IIR巴特沃斯数字低通滤波器,其技术指标为Wp=35 Hz,Ws=100 Hz,Rp=0.1,Rs=80,数学模型为:
图7 系统主程序流程图
为滤除呼吸等低频干扰,消除基线漂移,设计切比雪夫高通滤波器,技术指标为Ws=0.5 Hz,Wp=4 Hz,Rp=0.1,Rs=80,数学模型阶数较高,这里不给出。图8、图9分别为处理前后的心电信号。
计算心率首先要识别QRS波群,本设计中使用的判据为斜率、极值点、幅度阈值、周期范围[7]。实验证明通过以上4个判据,系统能准确地识别QRS波群,结合采样频率就能迅速计算出心率。
图9 滤波后心电信号
图10 脉搏波信号
数字滤波处理后的双路脉搏波形如图10。首先利用极值点、斜率判据找出相邻两个主搏峰,计算出相邻波峰的信号点数目后结合采样率Fs换算成时间T,已知前后两个测试点距离L,然后计算出脉搏波传递速度,计算公式为PWV=L/T。
对血氧饱和度波形进行10点滑动平均处理,数学模型为:
处理后的血氧波形如图11所示。通过A/D采样可得到两路光的透射强度波形和相应直流幅度,然后计算出两路信号的峰峰值 (对应于两个交流分量)。RedAC、RedDC表示红光交流量、红光直流量,IRAC、IRDC分别表示红外光交流量、红外光直流量。变量 R=(RedAC/RedDC)/(IRAC/IRDC)。通过二次曲线拟合计算血氧饱和度[8-9]。拟合公式为:
3 系统结果分析
图11 血氧饱和度波形
经调试,系统可实时采集心电、脉搏、血氧信号,可将数据在LCD或外接显示器上显示,同时完成数据保存并上传数据至PC。实测中,以迈瑞公司PM9000多参数生理监护仪显示的参数为标准,本系统计算得到各项生理参数的准确度可达95%以上。因此,系统作为一个监护仪器可及时地检测出人体的健康状况,用户可根据系统的提示对一些病症做出及时反应,当检测到的信号指标超过预设值时,系统将蜂鸣报警,达到了预期效果。
[1]余奎,林国庆,耿俊佑,等.现代医学监护仪器的应用特点及发展趋势[J].医疗设备信息,2003,18(1):41-43.
[2]纪璟峰.中国成人心血管疾病危险因素的流行病学研究[D].北京:北京协和医学院,2011.
[3]潘松,黄继业.SoPC技术使用教程[M].北京:清华大学出版社,2005.
[4]周立功,等.SoPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006.
[5]杨刚,肖宇彪,陈江,等.32位嵌入式系统与SoC设计导论[M].北京:电子工业出版社,2006.
[6]李刚,刘巍,虞启连,等.抑制工频干扰及基线漂移的快速算法[J].北京:中国生物医学工程学报,2000,19(1):99-103.
[7]朱凌云,吴宝明.移动心电监护系统 QRS波的实时检测算法研究[J].仪器仪表学报,2005,26(6):603-607.
[8]DI G,TANG X,LIU W.A reflectance pulse oximeter.design using the MSP430F149[C].IEEE/ICME International Conference in Complex Medical Engineering,2007:1081-1084.
[9]LEE J,Wongeun JungAuthor Vitae,IkTae KangAuthor Vitae,et al.Design of filter to reject motion artifact ofpulse oximetry[J].Computer Standards&Interfaces,2004(26):241-249.