1 系统总体设计
系统利用专门的传感器采集人体体温参数,脉冲波和心电信号,并对这些信号进行放大、滤波、A/D转换后,经数据处理系统进行计算,得到人体的重要生理参数并实时显示,这些参数包括血氧饱和度、心率、血液粘稠度和体温,另外系统还能显示人体的心电波形和脉搏波形,系统总体框图如图1所示。
系统主要由信号采集模块和数据处理模块两部分组成,信号采集模块主要由前端的心电、脉搏和体温传感器、采集电路、A/D转换和串口发送单元组成,其中,传感器采集人体的生理信号,采集电路对生理信号进行模拟放大、简单滤波和A/D转换,并根据数据处理系统的指令通过串口把数据传送到数据处理系统中,数据处理模块对采集到的信号进行软件滤波,并根据滤波后的波形数据采用合适的算法计算得到所需要的生理参数并实时进行LCD显示。
2 系统具体设计
2.1 芯片选择
本系统的核心是数据处理模块,它主要完成对波形的软件滤波,并通过计算得到所需的生理参数,其运算量较大,软件设计较复杂,而信号采集模块要分时采集两路信号,并进行放大、滤波和A/D转换,为简化硬件电路的设计和软件系统的编写,采用两个CPU的设计方案,信号采集模块采用TI公司的16位系列单片机MSP430F149,数据处理模块采用Samsung公司的ARM芯片S3C44B0X。
MSP430具有正常工作模式和四种低功耗工作模式,它的集成度非常高,单片集成了多通道12位的A/D转换、片内精度比较器、多个具有PWM功能的定时器、斜边A/D转换、片内USART、看门狗定时器,片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,单片MSP430即可以满足绝大多数应用的需要,MSP430F149具有丰富的片内外设,是一款性价比很高的单片机,它不仅极大的简化了系统硬件电路,还大大地提高了系统的性价比,其极低的功耗非常适合本系统的应用环境,本系统就是利用此单片机内置的A/D转换单元完成信号的转换,并通过片内的串口与其他模块通信。
S3C44B0X微处理器是Samsung公司专为便携式设备提供的高性能及高性价比的微控制器解决方案,使用32位的低功耗RISC内核ARM7TDMI,同时,S3C44B0X在ARM7TDMI核的基础上,扩展了一系列完整的通用外围器件,使系统成本及外围器件数目降至最低,这些功能部件主要包括CPU单元、系统时钟管理单元、存储单元和系统功能接口单元,本系统中,S3C44B0X完成波形数据的处理和计算,驱动LCD等功能。
2.2 系统硬件电路设计
2.2.1 信号采集电路的硬件设计
本系统中因采用了集成度很高的单片微控制器MSP430,所以系统的外围电路设计相对简单。
信号采集硬件电路主要包括前端模拟电路设计,光源控制电路、电平转换电路和光电隔离电路,如上所述,模拟信号通过MSP430内置的A/D转换成数字信号,前端模拟电路采用两级放大和低通滤波完成对信号的处理,光源控制电路通过双脉冲驱动电路依次电亮红光和红外光发光二极管实现对脉搏波的光电测量。为增强系统的安全性,系统采用专门的光电隔离电路实现电气隔离,以保证使用仪器时人体的绝对安全,温度测量部分采用美国DALLAS公司的DS1820高精度数字温度传感器,该传感器采用单线接口,可直接把采集结果以9位数字量方式串行传送到MSP430F149中,由此可计算得到温度值。本模块电路如图2所示。
2.2.2 数据处理模块的硬件设计
数据处理模块的核心是ARM芯片S3C44B0X,本系统要采集的信号较多,需存储的数据量大,系统应用S3C44B0X存储单元设计了三层存储体系结构:片内Cache、片外主存和片外辅存,另外还是存储启动代码的线性lash,具体设计如图3所示,S3C44B0X集成了大量应用资源,系统设计利用了其内部的LCD控制器和串行通信UART接口,简化了外围电路设计。
系统设置了四个按键,用来实现用户控制命令的输入,案件功能分别为采集心电、 脉搏信号和体温宾在LCD显示相关的参数,LCD驱动电路用于驱动液晶触摸屏。
2.3 系统软件设计
本系统的工作过程为:用户通过按键选择需要实现的功能,ARM处理器接收到命令后,通过串口向MSP430单片机发送采集相应信号的命令,单片机完成采集后再通过串口将采集到的数据发送到ARM处理器,进行数据处理。
本监护系统是一个复杂的多任务系统,为了实现系统的实时性及充分利用32位内核CPU的性能,采用嵌入式实时多任务软件设计方法,在实时操作系统RTOS(Real-Time Operating System)平台上进行嵌入式应用软件开发,系统选用μC/OS-II作为系统的嵌入式RTOS,将其移植到基于ARM内核的S3C44B0X硬件平台,应用μC/OS-II的内核多任务管理机制,更好地完成软件系统的编写。
系统的软件设计可以分为两部分,基于μC/OS-II的软件部分设计和单片机MSP430的软件设计,其中,基于μC/OS-II的软件部分是系统的主要部分,用来完成命令的输入和对信号进行软件滤波和参数的计算、显示,这部分由S3C44B0X处理器实现,信号采集部分软件实现信号的采集和发送,这部分由MSP430F149单片机实现。
2.3.1 基于μC/OS-II的软件部分设计
系统软件在启动μC/OS-II之前先进行系统硬件和操作系统的初始化,然后进入系统主任务,等待键盘响应,但按键按下时,系统向单片机发出命令采集相应的生理信号,并等待接收采集的数据,接收数据后进入数据处理子程序,计算得到所要求的生理健康参数,并进行显示。
系统软件流程如图4所示。
数据处理过程中,首先对单片机采集到的数据进行软件滤波,在心电信号的检测放大中,50Hz干扰及高频杂波干扰最为严重,本系统设计了整系数IIR数字滤波器,便于在32位处理器中快速执行,其数学模型如下:
Y(n)=2Y(n-1)-Y(n-2)+X(n)-2X(n-10)+X(n-20)
式中:X(n)表示滤波前的信号,Y(n)表示滤波后的信号。
在脉搏波信号的处理中,采用7点平均的方法滤波,滤波公式为:
Y(n)=(X[n-3]+X[n-2]+X[n-1]+X[n]+X[n+1]+X[n+2]+x[n+3]/7
经实际应用证明,此方法可进行有效滤波,为下一步波形分析计算生理参数提供了保证。
系统根据采集到的心电波形计算出心率参数,根据脉搏波形计算出血氧饱和度和血液粘稠度等参数,根据波形计算所需参数的算法是软件编写的难点和关键,结合芯片的运算速度,并考虑实时性要求,算法采用阈值判别法,此类算法在文献[3]、[4]中已有应用,本系统对算法进行了改进,以更好地完成所需要的功能。
2.3.2 信号采集部分软件设计
此软件设计主要根据得到的指令采集相应的生理信号,经A/D转换后通过串口发送到数据处理模块,其流程如图5所示。
3 系统调试
经调试,系统可在LCD上实时显示采集到的脉搏波和心电波形,并同时显示计算出的参数,实测中,根据本系统计算得到生理参数的准确度可达90%以上,因此,系统作为一个监护仪器可及时地检测出人体的健康状况,用户可根据系统的提示对一些病症作出及时反应,系统达到了预期效果。