基于C8051F020单片机的脉搏波信号发生器的设计

2011-02-01 04:10彭美然杨益民王杨柳陈国柱
中国医学装备 2011年11期
关键词:液晶脉搏触摸屏

李 洋 张 松* 彭美然 杨益民 杨 琳 王杨柳 邵 晶 陈国柱

1 引言

脉搏波压力及波形特征变化是评价人体心血管系统生理和病理学状态的重要依据,国内外许多生理、病理学家都试图从脉搏波压力与波形变化中提取各种生理和病理信息。这是因为当脉搏波由心脏开始向动脉系统传播时,不仅要受到心脏本身的影响,同时也会受到流经各级动脉及分支中各种生理因素如血管阻力、血管壁弹性和血液黏性等的影响,使动脉脉搏波中包含有极丰富的心血管系统生理和病理信息[1-4]。

近年来,大量的临床实测结果证实,脉搏波的波形特征与心血管疾病有着密切的关系。脉搏波所表现出的形态(波的形状)、强度(波的幅值)、速率(波的速度)和节律(波的周期)等方面的综合信息的确在相当程度上反应出人体心血管系统的许多生理和病理学特征[5-7]。

随着当今计算机技术、信号处理技术等先进理论的发展,国内已经出现了许多不同种类的脉搏波检测仪器,以适应多种疾病的检测和诊断。在脉搏波检测仪器的开发和研制过程中,常常需要标准的信号源来对检测仪器的准确性和精确性进行验证[8-10]。

普通的信号发生器只能提供诸如正弦波、方波、三角波等信号源[11],而不能提供代表不同生理意义的脉搏波信号,在实际开发过程中,需要使用接近真实人体的脉搏波信号来对脉搏波检测仪器进行准确度和精确度检测和验证,因此迫切需要专用的脉搏波信号发生器。脉搏波信号发生器可以把代表人体特定生理意义的脉搏波波形抽象出来,以此来代替实测的人体脉搏波信号并发送至各类脉搏波检测仪器中,方便调试和检查这些仪器的性能指标[12]。

2 脉搏波信号发生器的设计方法

2.1 实现与上位机实时、有效的数据通信

使用USB接口将上位机中的脉搏波波形数据发送至脉搏波信号发生器,并采用合适的方法对数据的准确性进行校验。

2.2 完成波形数据的无损存储

采用Flash非易失性存储器,单片机通过SPI串行总线对Flash存储器进行数据的读取和写入。

2.3 实现数/模转换功能

利用单片机的D/A转换器,将存储在Flash存储器中的波形数据转换为模拟信号,从而进行输出。

2.4 实现输出波形的频率、基线以及幅值的自主化选择

利用液晶触摸屏显示波形的相关信息,用户通过触摸屏选择波形的相关参数,完成波形数据的自主选择。

3 脉搏波介绍与波形特征

脉搏波在动脉血管中传播时,脉搏波到达之处血液的压力、速度与血管直径将同时发生脉动变化。通常将血液压力脉动的传播过程称为压力脉搏波。而血液流量脉动的传播过程就是流量脉搏波。他们的传播速度相同但波形并不相同。临床上压力脉搏波可在人体桡动脉上通过压力传感器无创检测出来,而容积脉搏波一般可在人体指端通过光电容积脉搏波传感器无创检测。两种波的测试方法和波形如图1所示[10]。

图1 桡动脉压力脉搏波波形和指端容积脉搏波波形

4 脉搏波信号发生器硬件设计思路

4.1 硬件系统的总体设计

本设计要求可以在存储器中存储任意脉搏波波形,可将其输出,并在液晶触摸屏上显示输出的波形信息,波形信息包括当前选中波形的波形系数K、频率以及基线和幅值。脉搏波波形数据通过上位机下载至脉搏波信号发生器的非易失性存储器后,脉搏波信号发生器便可脱离上位机单独使用。

硬件电路划分为以下6个功能模块,分别为电源模块,与上位机通信模块,Flash存储模块,液晶触摸屏控制模块,数/模转换与基线调节模块,波形幅度调节与滤波模块。总体硬件框图如图2所示。

图2 硬件电路的总体模块划分图

其中电源模块要完成为电路中所有芯片供电的功能;与上位机通信模块通过USB接口以串口协议方式接收来自上位机的波形数据,暂存至单片机存储空间;Flash存储模块,采用AT45DB081型 Flash存储芯片,其主要功能是存储波形数据;液晶触摸屏控制模块,采用蓝海微芯公司的LJD-ZU035TH型液晶触摸屏,其主要功能是完成单片机与触摸屏控制信息的交换功能,使人机交互得以顺利、流畅的进行;当需要发送脉搏波波形数据的时候,将数据从Flash存储器中调出,利用单片机内部的D/A转换器换将脉搏波波形数据转换成模拟波形信号,送至波形幅度调节与滤波模块进行处理;幅度调节与滤波模块,采用X9241型可编程数字电位器[13]和TL084型运算放大器,其主要功能是放大或缩小模拟脉搏波波形信号,并对波形信号进行低通滤波处理。

4.2 电源模块

电源模块电路图如图3和图4所示。电源模块设计的电路需要+5 V、+3.3 V(图中的VDD、AV+)、-3.3 V(-VA)三种电压。+5 V电压由USB接口直接提供,选用AMS1117芯片将+5 V电压转换成+3.3 V电压并输出,选用ADM660芯片将+3.3 V电压转换成-3.3 V电压并输出。

图3 电源模块电路图

图4 ADM660转换正负电源电路

4.3 与上位机通信模块

与上位机通信模块选择USB接口的方式对数据进行传输。而单片机的数据传输协议为RS232串口传输协议,为了达到RS232接口与USB接口的转换,需要使用CP2102转换芯片。CP2102转换芯片是一种高度集成的USB-UART桥接器,提供了一个实现RS232转USB的简便的解决方案[14-15]。CP2102具体电路图如图5所示。

图5 CP2102应用电路原理图

4.4 Flash存储模块

Flash存储模块选用的AT45DB081型Flash存储芯片,其存储密度高,引脚资源占用少,电源电压低、功耗小,有较广泛的应用。AT45DB081型Flash存储芯片的存储容量为8650752(264字节×4096页×8位)位,以SPI串行总线与单片机进行通信[16]。

4.5 液晶触摸屏控制模块

选择蓝海微芯公司的LJD-ZU035TH型液晶触摸屏,该触摸屏是3.5寸高清晰真彩数字屏,输出分辩率为320×240。此液晶触摸屏带有1路标准RS232端口和1路标准RS485端口,可以和PC或者单片机、PIC、AVR、DSP等完美结合。本文使用液晶触摸屏的1路RS232端口与单片机进行通信。单片机的串口输出为TTL电压,不能与液晶的RS232端口直接相连完成数据信息的交换,因此需要使用电压转换芯片对其进行修改。本文使用MAX232芯片将单片机的TTL电压转换为与RS232兼容的电压模式。

4.6 数/模转换与基线调节模块

数/模转换的作用是将存储在Flash中的波形数据转换成模拟信号。C8051F020单片机中含有两个DAC转换模块,即DAC0和DAC1。其中DAC1将数字波形数据转换成模拟波形数据,并通过液晶触摸屏上选择的频率进行时间换算,换算出的时间作为延时时间,经过一定的延时后更新DAC1寄存器中的数据,从而达到控制输出波形频率的效果。

由于脉搏波信号发生器需要适应不同用户的要求,因此在一些情况下需要修改波形的基线值,即提供一定的直流偏移。本课题中采用DAC0作为产生基线的电压端口,用户在操作过程中选择基线电压值,单片机按照相应的算法将基线电压值转换成数据传递给DAC0寄存器,以达到基线调节的目的。

4.7 波形幅度调节与滤波模块

4.7.1 波形幅度调节电路

由于从人体所提取出的脉搏波信号大约为几毫伏到十几毫伏的范围,因此需要通过模拟电路将D/ A转换器输出的模拟信号进行缩小处理以达到所需的波形幅值范围。设计波形幅度调节电路如图6所示,其中X9241为可编程数字电位器,单片机通过I2C总线协议对X9241的输出阻值进行较为精确地修改,从而调整电路的缩小倍数[17]。

图6 波形幅度调节电路设计图

4.7.2 滤波电路

脉搏波信号属于低频微弱信号,因此需要去除高频及工频干扰,采用二阶巴特沃斯低通滤波器对脉搏波信号发生器产生的脉搏波信号进行滤波处理。按照脉搏波信号的特点,设计的二阶巴特沃斯低通滤波器的截止频率为30 Hz。

5 单片机控制软件的设计

5.1 单片机软件程序总体设计

单片机的主要功能有:①接收来自上位机的波形数据;②将波形数据转存至Flash存储芯片;③与液晶触摸屏控制模块进行通信;④对波形数据进行数/模转换,控制输出波形基线的大小;⑤调节X9241芯片,从而控制输出的脉搏波波形的增益。单片机程序的总体流程如图7所示。

图7 单片机软件总体流程图

5.2 与上位机通信模块的软件设计

与上位机通信模块的流程如图8所示。

与上位机通信模块完成的功能如下:①单片机程序向上位机的应用程序发送“O”字符以提示上位机的应用程序可以发送波形数据;②接收来自上位机的控制信息和数据信息,包括上机应用程序的测试信息、波形数据、波形编号等;③判断是否接收到数据发送停止字符{0xff,0x00,0xff}。如果接收到数据发送停止字符,则表明数据发送完成;④数据发送完成后,单片机程序对接收到的脉搏波波形数据进行和校验,如果检验成功,则发送“R”字符,并将接收到的波形数据存储至MyData数组中,此时上位机程序会显示波形数据发送成功;如果检验失败,则发送“W”字符,此时上位机应用程序会提示用户重新发送波形数据;⑤在进行数据存储过程中,对数据进行比较,找出最小值与最大值,然后将波形数据的个数以及最大值、最小值依次存入Remember数组中,供后续操作使用。

图8 与上位机通信模块程序流程图

其中,数据校验存储流程如图9所示,具体的通信协议如表1所示。

图9 数据校验存储流程图

5.3 数据存储模块的设计

采用AT45DB081型Flash存储芯片的存储容量较大(264字节×4096页),每个波形的数据个数最大为256个,每个数据按照8位进行处理,因此为了达到对波形参数信息与波形数据合理存储,方便数据调用,采用以下方式进行存储:

⑴将每个波形的波形信息(波形数据个数,波形数据最大值、最小值)按照波形号依次存储至Flash存储芯片第一页。

⑵将波形数据按照波形编号存储至Flash存储器的相应页中。

5.4 液晶触摸屏显示与控制模块的设计

本设计选用型号为LJD-ZU035TH的3.5 in.液晶触摸屏,单片机可以通过串口发送相关控制指令来控制液晶触摸屏。该触摸屏提供了丰富的控制指令,如设置光标位置的命令为0x81,显示汉字或ASCII码的命令为0x89,显示BMP图像的命令为0x91,画点的命令为0x92,画线的命令为0x93等,可以利用这些命令完成各种显示功能的设计。模块的流程图如图10所示。

图10 液晶触摸屏操作基本流程

在操作过程中,在触摸屏上按下相应位置,触摸屏的控制单元会将位置信息发送至单片机,单片机提取出用户所按下的位置信息,通过单片机程序的判断信息,确定出相应的操作内容,从而更改相应的波形参数,点击发送键,按照更改后的参数将波形信号发送出去。

6 结果

表1 通信协议

本设计的脉搏波信号发生器能够顺利的接收来着上位机的波形数据,并将波形数据存储到Flash存储芯片中,在存储过程中,按照波形编号的顺序将波形数据存储在不同的Flash页面内,达到合理利用存储空间的目的。用户可以根据不同的需要在触摸屏上选择相应的选项,以达到控制输出波形的频率、幅值等特征。以下为对脉搏波信号发生器的性能指标的验证和误差分析。

6.1 验证脉搏波信号发生器性能

脉搏波信号发生器设计完毕后,对脉搏波信号发生器的性能指标进行验证。验证方法与结果如下:

⑴通信功能验证:向单片机发送波形数据,查看单片机接收到的波形数据,结果表明,接收数据与发送数据吻合,通信功能能够实现。

⑵存储功能验证:单片机调用写数据程序后,调用读数据程序读取写入页的数据,结果表明,其与写入数据相同,存储功能能够实现。

⑶增益调节功能:单片机控制程序向数字电位器X9241写入不同的数值,用万用表可以测量出输出阻值的变化,证明单片机可以控制X9241从而达到控制放大倍数的目的。

⑷液晶触摸屏控制功能:将液晶连接至电路板,查看其运行情况,结果表明,通过液晶触摸屏对输出波形的参数(波形系数K、幅值、频率、基线)进行修改,输出波形产生相应变化。

脉搏波信号发生器实物与测试结果如图11所示。

图11 脉搏波信号发生器(左)实物与测试结果

6.2 误差分析

按照理论值发送波形查看幅值输出情况,所得结果误差表格计算见表2。

表2 幅值误差表

通过上表可知,脉搏波信号发生器输出的波形仍有一定的误差,输出波形的幅值与用户选择的理论值之间误差在5 mV左右,相对误差值为2.96%。

7 结论

常规信号发生器只能输出一些简单的波形,这些波形不具有人体脉搏波的基本特性,而一些带有函数功能的信号发生器使用起来不仅繁琐,而且波形也存在一定的误差,作为检测和调试医疗仪器的输入信号难以达到要求的精确度。

脉搏波信号发生器克服了以上非脉搏波专用信号发生器的缺陷,满足了脉搏波检测仪器的专用性,并且脉搏波信号发生器的使用更加简单和方便。

[1]罗志昌,张松,杨文鸣,等.脉搏波波形特征信息的研究[J].北京工业大学学报,1996,22(1): 71-79.

[2]Lee CT, Wei LY. Spectrum analysis of human pulse[J]. IEEE Trans Biomed Eng, 1983,30(6):348-352.

[3]M. Voelg. Measurement of the bloodpressure constantk,over a pressure range in the canine radial artery[J]. Med Biol Eng Comput,1981,19(5):535-537.

[4]李滚.脉搏波的传播特性研究[D].四川:电子科技大学,2008.

[5]宋相和,王耘.脉搏波:沟通中医和西医的桥梁[J].中西医结合学报,2008,6(9):891-895.

[6]Li JK, Melbin J, Riffle RA,et al. Pulse wave propagation[J].Circ Res,1981,49(2): 442-452.

[7]Morgan GW,Kiely JP.Wave propagation in a viscous liquid contained in a flexible tube[J]. Journal of the Acoustical Society of America,1954,26(3):323-328.

[8]柳兆荣,李惜惜.血液动力学原理与方法[M].上海:上海复旦大学出版社,1997:47-58.

[9]王炳河,相敬林.脉搏系统建模与脉象信息分析的研究进展[J].生物医学工程学杂志,2002,19(2):329-333.

[10]罗志昌,张松,杨益民.脉搏波的工程分析与临床应用[M].北京:科学出版社,2006:93-106.

[11]王红卫,李蓓,王杰琼,等.信号发生器的设计[J]. 企业技术开发,2009,28(8):46-47.

[12]吕伟,张松,杨益民,等.脉搏波信号发生器软件的设计[J].北京生物医学工程,2008,27(5): 520-523.

[13]马海军,曲尔光.基于X9241数字电位器的可控增益放大器[J].现代电子技术,2008, 23(1):160-161.

[14]陈桂珍.USB接口及其应用[J].计算机与农业,2003,12(9):37-38.

[15]张博.用CP2102升级串行接口为USB接口的应用设计[J].自动化技术与应用,2009,28(6): 104-106.

[16]王飒.用C8051F020的SPI接口扩展大容量数据存储器[J].微计算机信息,2006,22(4):77-78.

[17]华成英,童诗白.模拟电子技术基础[M].4版.北京:高等教育出版社,2006:185-214.

猜你喜欢
液晶脉搏触摸屏
不可压液晶方程组的Serrin解
PLC和触摸屏在卫生间控制系统的应用
用心感受狗狗的脉搏
浅析投射式多点触控电容触摸屏
《今日评说》评今日浙江 说时代脉搏
皮肤“长”出触摸屏
光电式脉搏波检测系统的研究
基于51系列单片机的穿戴式脉搏仪的设计
废旧液晶六屏显示改造项目的设计与实现
液晶与显示2015年第30卷第1期 目录