郑争兵
(陕西理工学院物理与电信工程学院,陕西 汉中 723003)
随着我国社会老龄化的到来,城市中大量独居老人的健康监护问题越来越突出。心血管疾病作为老年人疾病中比例较高的病症,许多病情较轻的病人由于未及时进行检查,错过了宝贵的诊治机会,导致病情加重,严重者可能引起中风甚至危及生命[1]。因此,预防此类疾病对老年人的健康具有重要意义。
根据中医理论,脉搏信号波所呈现出来的形态、强度、速率和节律等方面的综合信息,能反映出人体心血管系统中许多生理疾病信息;对脉搏波形特征参数进行科学合理的检测、诊断、分析,可以更有效地预防此类疾病[2-3]。考虑到脉搏检测装置的简易操作性和便携性,提出了一种基于光电传感器的脉搏检测仪。试验测试结果表明,该仪器在家居护理领域具有较好的应用前景。
脉搏检测系统由光电传感器、单片机AT89S51系统和PC监测终端组成,其系统结构图如图1所示。
图1 脉搏检测系统结构图Fig.1 Structure of human pulse detecting system
脉搏信号经过集成光电传感器得到数字信号,然后对数字信号进行整形,去除干扰后送入AT89S51单片机进行处理。单片机可实现测频显示功能、语音提示报警功能和与PC机终端数据的交互功能。按键电路用来完成相关功能的选择。PC机具有简易的操作监控软件,其对采集的数据进行分析、显示并保存相关数据,从而完成对系统功能的测试。
脉搏传感器是脉搏检测系统的重要组成部分,其基本功能是将切脉压力和桡动脉搏动压力物理量转换成便于测量的电信号量。脉搏传感器的精度、灵敏度、抗干扰能力及安装方式决定了脉搏测量精度,因此,采用合肥华科电子技术研究所开发的光敏元件HKG-07A作为脉搏传感器。整个传感器的结构简单、可靠性高、抗干扰能力强。该结构采用透射式接收光的方式[4-5],利用特定波长红外线对手指血管末端血液微循环产生的血液容积变化量进行检测,得到脉搏信号波形。
脉搏信号经过放大、调理电路,幅度调整、基线调整电路输出同步于脉搏跳动的数字脉冲信号,光电脉搏传感器HKG-07A的输出信号波形如图2所示。
图2 输出信号波形Fig.2 Waveform of the output signal
经过实际测试发现,输出的脉冲信号并不理想,不利于单片机采集处理,可能会造成较大的误差[6]。因此,在HKG-07A输出的信号后加入整形电路,将脉搏传感器输出的信号作为一级电压比较后输出,使之成为一个波形、幅值都适当的信号,便于后续电路的处理。该电路采用高精度单片运算放大器OP07,OP07工作在开环状态,通过调整电位器改变比较电路的阈值电压。当输入电压大于阈值电压时,输出+5 V电压;当输入电压小于阈值电压时,输出0 V电压。此时整形后的输出电压满足AT89S51单片机的要求。
语音电路主要是对单片机处理脉搏信号得到的脉搏频率进行播报,并对非正常的脉搏频率范围的情况进行报警。时钟电路主要用来实时显示当前的时间状态。为了保证电路的简单可靠,采用集成化的语音芯片ISD1420和时钟芯片DS1302。具体电路如图3所示。AT89S51单片机的P0口连接地址输入端A0~A7,利用 P3.7以脉冲触发的方式控制 ISD1420的放音键PLAYE,使器件即进入放音状态。为了使扬声器连接端SP-、SP+的输出音频信号能够可调,利用音频功率放大器 LM386放大电压信号[7]。LM386的1、8管脚增加外接电阻和电容,可将电压增益调为任意值。本电路采用1、8管脚悬空,此时LM386工作在固定放大倍数20,通过改变电位器R3的值来改变放大的输入信号[8]。
图3 语音电路和时钟电路Fig.3 Voice circuit and clock circuit
DS1302是美国DALLS公司推出的一种高性能、低功耗的实时时钟芯片,可以提供秒、分、时、日、星期、月和年等信息,可以自动调整当月天数(30天或31天),且具有闰年补偿功能。AT89S51采用SPI三线接口与DS1302 进行同步通信[9]。P2.3连接复位/片选线,通过把输入驱动置高电平来启动所有的数据传送;P2.4连接串行时钟线SCLK,控制数据的输入和输出;P2.5连接双向数据线I/O,实现数据的传输。为了保证DS1302在工作时的低功耗,采用了双电源供电(主电源和备用电源):Vcc1为主电源,接VCC;Vcc2为备份电源,接两节干电池。当Vcc2>(Vcc1+0.2)V时,由3 V电池向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。
主程序流程如图4所示。
图4 主程序流程图Fig.4 Flowchart of the main program
单片机AT89S51主要完成各部分硬件的协调、相关控制工作以及对脉搏频率计数工作。系统设置两个按键来完成功能的选择:其中一个按键用来启动脉搏信号采集,另一个按键用来传送采集的脉搏信号给PC机。系统上电后,首先进行整机初始化处理,主要包括时钟芯片DS1302、语音芯片ISD1420、串口控制参数的设定。接着判断脉搏数据采集按键是否开启,如果是,执行下一步,否则一直等待。然后判断送上位机按键是否开启,如果是,通过RS-232串口将数据传给PC处理,否则执行单片机处理程序,即脉搏频率的计算子程序、显示子程序和语音提示子程序。利用PC机处理脉搏信号是为了更便于验证检测系统的正确性以及扩展系统的灵活性功能。在整个程序设计过程中,脉搏频率的计算子程序和语音提示子程序是设计的关键。
正常人体脉搏信号的频率为60~80次/min,一般情况下其频率为1 Hz左右,属于低频信号,所以在设计中采用周期测量法[10]。利用单片机内的16位定时/计数器T0,对以单片机内的标准机器周期Tb计数。将被测信号的周期作为信号闸门,由程序控制开关对机器周期进行计数得n,因此被测信号周期为T=Tb×n,每分钟跳动次数f=60/T。对于12 MHz晶振,Tb为1 μs,16位定时/计数器 T0的最大定时时间为65 535 μs,因此,在1 min内会产生溢出。对此,采用定时器中断方式计算脉搏频率值,即在一个脉搏周期内,隔一段时间T1(T1<65 535)产生1次中断,总共产生n1次中断。
此时:
为了使脉搏跳动次数误差不超过1次,要求定时器周期T1不超过1/60 s。为方便计算,取T1=1/27,可以得到定时器T0的TH0=1EH、TL0=84H。
语音提示是对每次计算的脉搏频率进行报数并提示用户是否正常。例如:当前的脉搏频率为90次/min,语音提示的内容是:脉搏频率为90次/min,偏高,请就医。对于要播放的语音信息需要对其进行录音,单片机负责ISD1420的分段放音控制。因此,必须先使用专用的ISD1420编程软件对要录制的语音信息进行分段存储。单片机通过搜索的方式为每段语音的地址信息建立相应的信息表,并根据要放音的内容,查询地址信息表获取地址,通过对ISD1420的8位并行地址线播放不同的信息。地址输入端A0~A7的有效值范围为00000000~10011111,这表明最多可被划分为160个存贮单元,可录放多达160段语音信息。每段地址长0.125 s,共能录音 20 s。
为了更好地测试系统的性能,在PC机上使用虚拟仪器图形编程软件LabVIEW8.6,开发了人机交互界面软件。该软件通过与 AT89S51[11-13]的串行通信,对接收到的脉搏数据实时显示其波形图和心率值,具有保持数据和回放数据的功能,并且能够改变串口的传输参数。为了验证测试脉搏频率数据的正确性,将软件测试的结果与单片机测试的结果进行比较。比较结果显示,采用这两种测试方法得到的结果相同。当人体脉搏次数低于50次/min或高于120次/min时,LCD液晶显示当前脉搏次数,语音提示“偏低,请就医”信息或者“偏高,请就医”信息。
本文提出的脉搏检测系统方案,由于采用集成度高的光电式传感器和单片机系统测量脉率值,电路简单、成本低廉、操作方便,能够完成脉搏次数的显示和语音提示功能。该装置非常适合个体使用,可以实时、方便地提醒用户的身体健康状况,在家庭监护领域具有较好的实用价值。
[1]郭兴明,张科,吴宝明.多生命参数监护仪用检测电路[J].电子技术应用,2000,26(2):35 -36.
[2]罗志昌,张松,杨益民.脉搏波的工程分析与应用[M].北京:科学出版社,2006.
[3]卢超.脉搏检测实验装置的研制[J].实验室研究与探索,2010,29(9):41 -42.
[4]李秀农,汪国强.光电式脉搏传感器及由其组成的血压测量仪[J].电测与仪表,1998,387(35):38 -39.
[5]李晋华,杜宇慧.光电脉搏仪的设计[J].自动化技术与应用,2008,27(8):99 -100.
[6]陈正涛.微弱信号相关检测技术综述[J].科技广场,2006(7):111-112.
[7]刘沛.基于 ISD1420的语言报警器设计[J].现代电子技术,2004(12):19 -20.
[8]任致程.语音录放和识别集成电路应用与制作专例[M].北京:人民邮电出版社,1999.
[9]王晨光,孙运强.串行时钟芯片DS1302在温度测量记录仪表中的应用[J].电子测试,2008(12):65 -68.
[10]舒方法,石俊.基于PVDF压电薄膜的脉搏测量系统研究方法[J].压电与声光,2008,30(1):124 -125.
[11]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].3版.北京:北京航空航天大学出版社,2003.
[12]刘滨.单片机C语言windows环境编程宝典[M].北京:北京航空航天大学出版社,2003.
[13]田希晖,薛亮儒.C51单片机技术教程[M].北京:人民邮电出版社,2007.