• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 基于 A R M 单片机的生理特征测量系统

基于 A R M 单片机的生理特征测量系统

录入:edatop.com    点击:

  摘 要:在分析血压测量方法的基础上,给出了基于 ARM 单片机 LPC2210 生理特征测量系统具体设计方案,详细介绍了系统中的各关键环节的实现及实际中应注意的问题。

  1 引言

  随着社会的发展和人们生活水平的提高,高血压、心脏病等心血管疾病的发病率逐年升高。身体健康成为人们越来越关心的问题。血压是反映心血管功能的重要生理参数,在反映心脏泵血功能方面,血压比心电图更有效。为了及时了解和掌握人们的生理特征,血压是被检测的重要指标之一。

  2 血压测试原理

  测量血压的办法可以分为直接法和间接法两种。直接法以针头插入血管的方式来测量血压。虽然直接法测出的血压比较准确,但是由于使用不便而且只能测量静脉血压,现在已基本不再使用。间接法的代表主要有柯氏声法和示波法两种[5]。

  本系统采用的是示波法。示波法的原理是:将袖套加压至阻断肱动脉血流,当气袖压力远高于收缩压时,脉搏波消失。随着袖套压力下降,脉搏波开始出现。当袖套压力从高于收缩压降到收缩压以下时,脉搏波会突然增大,直到平均压力达到最大值,然后脉搏波又随袖套压力下降而衰减。示波法血压测量就是根据脉搏波振幅与气袖压力之间的关系来估计血压的。与脉搏波最大值对应的是平均压,收缩压和舒张压分别对应脉搏波最大振幅的比例来确定。

  3 系统组成及设计方案

  3.1 系统概述

  整个生理特征测量系统由上位机和下位机两个部分组成。其连接方式可通过下位机的系统进行选择,分为串口通信方式和短消息方式。下位机主要完成对生理数据的采集、计算、发送和对充气装置的控制;上位机完成数据的接收和储存。下位机由ARM为核心的嵌入式系统构成,具有性能稳定和功能可扩展的特点,而且系统可采用短消息方式传输数据,能够利用现有移动网络实现以前难以想象的远距传输。上位机为个人计算机,通过 VC编写应用软件,实现串口数据读入和调用数据库等功能.

  

  3.2 基于ARM 的下位机

  下位机是以ARM 单片机 LPC2210 为核心的嵌入式系统。下位机系统包括了:输入模块、测量模块、充气模块、显示模块LCD、传输模块和单片机。下位机提供与上位机数据交互所需的信息源和控制对象。输入模块是一个4*3的按键键盘,用于输入ID、系统启动和紧急停止等控制消息。测量模块主要包括了温度传感模块和压力传感模块两个部分,用于测量体温、室内温度、人体血压值和心率。显示模块LCD 用于实时显示测量信息和当前状态。充气模块包括充气泵和气阀,为袖套进行充放气。传输模块包括RS232串口和无线模块MC35i,将数据发送到上位机。

  单片机 LPC2210 实现键盘扫描、控制充气设备、数值采样、AD转换和串口发送等功能,使整个下位机系统能正常工作。接下来 重点介绍一下测量模块和传输模块。

  3.2.1 测量模块

  温度传感器使用DS1820。DS1820是单线的数字式温度传感器。因为其具有单线接口方式、支持多点组网功能、不需要任何外围元件等特点,所以被广泛采用。使用方法和通信流程可见参考文献[1]。压力传感模块中的压力传感器使用的是MPX2050,这款传感器具有线性度好、外围电路简单和灵敏度高的优点。测量范围为0~50kPa,线性误差为0.25%。其电路为:

  

  袖套通过气管连接到压力传感器MPX2050上。MPX2050将压力线性的转化为模拟信号,V=0.8*P(V为mV,P为kPa)。模拟信号通过仪用放大器AD620进行第一级放大。其放大倍数受输入脚之间的电阻控制,公式为R=49.7/(G-1),G为放大倍数,得出R的单为千欧。本系统需要的第一级放大增益约为200,所以R为240欧姆。放大后的模拟信号通过电容将直流参量和交流参量分离。直流参量连接到ARM 的模数转换通道AD0 口上,其测量的是袖套中的平均压力;交流参量通过由OPA2277组成的带通滤波电路。交流参量得到足够的放大增益并且减小噪声干扰。带通滤波电路主要器件OPA2277 是TI 的双通道高精度运算放大器,电路的放大增益为A1=-12和A2=-33.3。放大后的交流信号必须再接入一个交流耦合电路,使输出的电压范围控制在0~3.3V。经过处理的信号连接到ARM 的模数转换通道AD1 口上,用于测量脉搏波的振幅。

  其中需要特别注意的是放大电路电源电压的稳定。系统使用电池供电,电池的输出电压在使用中会改变,而放大器的放大性能随着电源电压的变化会发生显著变化,并直接影响采集数据的准确性和软件中血压的计算。本系统使用电源芯片LM2575 和TPS6755 来提供 +5V 和 -5V 的电源电压。

  3.2.2 传输模块

  传输模块由RS232 串口和MC35i 模块组成。这里将重点介绍无线模块MC35i。MC35i 是西门子公司的一款GPRS无线模块,可以快速可靠地实现系统方案中的数据传输、语音传输、短消息服务(Short Message Service)和传真。模块有AT命令集接口,支持文本和PDU 模式的短消息,通过独特的40引脚的ZIF 连接器(包括电源接口、SIM 3V接口、标准RS232双向接口、模拟语音接口)实现电源连接、指令、数据、语音信号、及控制信号的双向传输。天线通过50欧姆天线连接器与模块相连。本系统使用的是封装好的MC35i调制解调器,可以直接通过串口与LPC2210连接。

 

3.2.3 软件流程

  下位机的软件流程如左图所示(如图3所示)。在系统上电后,首先进行LCD、串口和定时器的初始化,并检测电源电压。然后进入发送模式的选定。通过键盘输入来决定接受数据的上位机为计算机或手机。根据LCD显示的提示信息,输入手机号码和测试者的ID。接下来进入数据测量阶段,主要完成温度测量和血压测量。在血压测量中,如果测量时间超过3分钟,系统进入超时处理。LCD显示系统超时,此次测量结束。当数据正常采集后,对数据按一定格式进行排列,然后将数据按选定的发送模式发送到上位机。最后判断是否继续测量。如果不要继续测量,系统结束。如果继续测量,系统回到发送模式选定状态。20秒内没有输入,系统按上次测量的选择继续。输入测试者的ID,然后进行新的测量。整个软件的重点是数据测量和无线传输的实现。接下来将介绍数据测量的软件流程和MC35i的无线收发流程。

  

  数据测量的软件流程包含了温度测量和血压测量(如图4所示).温度测量通过控制和读取DS18b20来实现,流程:复位→写入0xCC→写入0x44→等待转换完成→复位→写入0xCC→写入0xBE。其中0xCC表示跳过ROM,直接向DS18b20发命令;0x44表示开始温度转换;0xBE 表示从RAM 中读出数据。血压测量的流程为:

  1、ARM 发出控制信号,充气泵开始充气,气阀关闭。同时ARM 通过 AD0 口不断地测量袖套中的平均压力并判断压力是否达到180mmHg。AD的采样方法见参考文献[2] [3]。如果压力没有达到 180mmHg,充气泵继续充气并将读出的压力值通过 LCD显示出来。如果压力达到要求,系统进入放气测量阶段。

  2、测量收缩压。充气泵停止充气,气阀关闭。从AD1 口每隔40ms采样一次脉动波。当脉动波的幅度连续6次越过设定的收缩压阀值,系统确定此时袖套中的平均压力为收缩压。通过AD0口连续采样5次,收缩压为5次采样的平均值。

  3、测量心跳。袖套中的脉动波幅度逐渐达到最大且波形清晰。从AD1 口每隔40ms采样一次脉动波,脉动波幅度越过门限值一次,对脉动波的计数加1。当心跳到达5次时,通过定时器的ms计数就可以计算出心跳。

  4、测量舒张压。通过AD1口每隔40ms采样一次脉动波。当脉动波的幅度连续2S小于设定的门限值时,通过AD0口连续采样 5次。舒张压为5次采样的平均值。ARM 控制气阀开启,并将计算的数据放入LCD 显示内存中,调用LCD 显示程序。在整个测量过程中,定时器2不停计数,用于控制测量时间。如果系统出现问题,测量时间会超过设定的3分钟,系统进入超时处理程序并结束本次测量。

  无线收发程序的重点是MC35i 调制解调器由AT 指令集来驱动,即通过串口发送AT指令集的ASCII码使MC35i完成相应的工作[4]。主要流程为:

  

  1、ATE0:用于复位内部状态,返回 OK,表示操作成功。

  2、AT+CNMI=[mode][,mt][,bn][,ds][,bfr]:此AT指令集用于初始化新信息来到时的显示方式,返回OK 表示操作成功。mode 为选择通知模式,选 1表示当新消息来到时无论终端已经连接状态如何,都直接向终端发一次通知;mt为选择是否发送索引号;bm为选择是否传送来电显示通知;ds为选择是否向终端传送SMS状态报告;bfr为选择清除存储着的通知代码。

  3、AT+CMGF=0/1:此命令用于选择信息发送和接收格式是 PDU(0)还是 TEXT(1),返回 OK,表示操作成功。

  4、AT+CMGS=pdu 长度:pdu 长度以字节来计数,当操作成功,返回“>”符号,表明可以向MODEM 发送 PDU 数据包了。然后可以发送测量数据包,返回 OK,表示操作成功。

  3.3 上位机

  当下位机的发送模式选定为无线发送时,接受数据的上位机可以是 GSM 手机或 MC35i 调制解调器。使用 GSM 手机可以直接接收测量到的生理特征数据。使用MC35i调制解调器接收时,可将 MC35i 调制解调器连接到计算机的串口上。在计算机端用VC 编写应用程序,可直接通过串口控件编写,并连接由ACCESS编写的数据库。实现上位机对数据的储存和搜索,还可以按ID查询个人的所有数据。当下位机的发送模式选定为串口发送时,上位机为计算机,并将它们用RS232连线连接。计算机端的应用程序仍然是使用MC35i调制解调器接收时的程序,只需要在程序中添加直接串口接收的选项和相应的数据包处理程序。直接串口接收与MC35i调制解调器接收只有接收数据包的结构不同,而且直接串口接收方法相对简单。

  4 改进

  由于系统使用的是示波法测量,血压数据是估计得到的。测量数值与实际值存在一定的误差;测量时的姿势会影响测量值,而且不可以连续多次测量。解决方法有:

        1、使用其它的测量方法,如张力测定法、容积补偿法和利用脉搏波特征参数间接测量血压等。

  2、修正系统参数。根据被测者的年龄,设定不同的参数;每次测量前,通过计算机来控制和修正测量参数,以提高测量的准确度。

  系统具有良好的扩展性和性价比。系统中的 ARM 单片机LPC2210还有许多空闲引脚,可以在现有基础上添加血氧模块等医疗模块,使系统成为一个功能强大的医疗监控系统。

  5 前景分析

  本系统具有操作简便、性价比高和便于移动等特点。随着社会的发展,身体健康成为人们越来越关心的问题。如果每个社区都有这样的系统,可以为社区居民定期测量生理数据,并将数据发送到指定医院。医院通过这些数据能够监控居民的身体状况并提出应注意的相关问题。这样可以有效地降低发病率和为治疗提供第一手数据。特别有利于行动不便或远离医院的居民。这种方式有助于医疗体系的完善,一旦在社会中普及,必能为人们的生活提供更大的便利。

  参考文献:

  [1]蔡美琴,等《MCS-51 系列单片机系统及其应用》(第二版)[M],北京:高等教育出版社,2004,6.

  [2]周立功著.ARM 嵌入式系统基础教程[M].北京: 北京航空航天大学出版社,2005,1.

  [3]周立功.ARM 微控制器基础与实战[M].北京:北京航空航天大学出版社,2003,11.

  [4] Simens 公司,《MC35i AT Command Set.MC35i_atc_v0102_1070482》[M].,Nov 2003.

  [5] 焦学军.房兴业连续每搏血压测量方法的研究进展,[J]航天医学与医学工程,2000,13(2):148-151.

  作者简介:彭熙(1982-),男,四川绵阳人,硕士研究生,研究方向为: 个人通信、移动通信。

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:超声波测距仪
下一篇:多站工作模式的动态轻轨衡的研究与实现

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图