在现代医学中, 心电信号是诊断心血管疾病的重要依据。传统的心电监护设备在心血管疾病的诊断与治疗中起到了很重要的作用, 但这一类监护设备一般只能在医院里使用, 而可以随身携带的Holter 又只能实现心电信号的回放而不是实时监护。基于无线通信的远程心电监护系统给了患者较大的活动自由, 用户可以不受时间、地点的限制, 随时随地得到医院监护中心的监护, 在出现紧急情况时可以被及时发现并救治。美国、澳大利亚和欧洲一些国家进行了远程心电监护的研究, 部分公司还推出了相应的监护仪[1] , 国内也有部分高校和研究单位进行了相关的研究工作, 取得了一定成果, 但并未开发出成熟、实用的系统。
这里利用业已成熟的GPRS 技术设计了一种便携式远程心电实时监护终端, 克服了Holter 只能用于回放分析的缺点, 可以对患者心电信号进行实时监护。下面详细介绍该监护终端的设计与实现。
1 监护系统设计概述
基于GPRS 的远程心电实时监护系统示意图如图1所示。它主要包括两部分: 心电监护终端和医院监护中心。患者随身携带的监护终端由它上面的无线模块通过GPRS 无线基站接入GPRS 网络, 再通过GPRS 网络连接因特网上的监护中心服务器。监护终端采集并处理患者的心电信号, 所得到的心电数据通过该链路传输到监护中心服务器上, 并由服务器上的心电分析软件进行分析,医生则根据软件分析结果及自己的判断来给患者适当的医嘱, 必要时采取相应的救治措施。
本文只介绍监护终端的设计与实现, 服务器端的心电综合分析软件这里不再赘述。
2 监护终端硬件设计
监护终端硬件系统框图如图2 所示, 它主要由以下几部分组成: 心电采集模块、主控单片机模块、GPRS 无线通信模块和电源模块。
2 .1 心电采集模块
人体心电信号的主要频率范围为0.05~100Hz, 幅值范围为0.5~5mV。心电信号中通常混杂有其他生物电信号, 还容易受到以50Hz 工频干扰为主的电磁信号干扰,因此对心电信号的检测属于强噪声背景下低频微弱信号的检测。为得到适合于临床应用的干净心电信号, 必须对心电信号进行合理的放大和滤波处理, 其原理框图如图3 所示。
由于人体皮肤阻抗比较大, 而心电信号十分微弱,且存在许多干扰信号, 因此前置放大器采用了具有高共模抑制比、高输入阻抗、低输入偏置电流、低失调电压和漂移、在低增益条件下具有稳定性的仪表放大器INA326[2]。人体皮肤和电极之间存在原电池效应, 使电极之间存在连续的电位差, 为避免该电位差经过放大后造成后级电路饱和, 前置放大器的增益设置为5。信号需放大至数伏量级才能满足A/D 转换的要求, 因此设置次级放大的增益为200。这里采用了具有宽增益、低失调电压和漂移、低噪声的运算放大器OPA335。两级放大后的总增益为1000, 符合要求。
心电信号中常混有低频和直流干扰, 其中, 由于金属电极、导电介质和皮肤之间的化学反应而产生的直流偏压是主要干扰成分, 因此设计了截止频率为0.1Hz 的二阶高通滤波器来滤除这部分干扰。相应地, 高频干扰信号通过一个截止频率为100Hz 的二阶低通滤波器予以滤除。此外, 采用由辅助运算放大器生成的共模电压使共模信号反相, 经限流电阻回送至人体来抑制50Hz工频干扰。反相共模信号通过右腿驱动电极回送至人体, 这对50Hz 工频干扰而言是一种深度负反馈, 因而可以有效加以抑制[3]。
实验表明, 该采集方案所得到的心电波形毛刺少,基线漂移很小, 具有良好的效果。
为防止导联脱落或松动而造成误判, 还设计了导联脱落检测及报警电路。运算放大器LM358 采用单电源供电时可接成跟随器, 当其同相端处于悬空状态时会输出稳定的高电平。导联脱落检测电路就是利用LM358 的这一特性而设计的。
2 .2 主控单片机模块
主控单片机采用PIC16F877A 单片机。该单片机可在线调试和编程, 便于开发, 而且功耗很低, 适合应用于对功耗敏感的场合。主控单片机主要完成心电信号A/D转换并与GPRS 模块进行通信, 还负责外扩Flash 存储器和实时时钟的管理。
PIC16F877A 单片机具有10 位片内A/D 转换器, 其工作方式和转换结果存放格式通过寄存器ADCON0 和ADCON1 进行设置, A/D 转换结果则存于寄存器ADRESH 和ADRESL 中[4]。在本设计中, 选择系统时钟作为A/D 转换时钟, RA0 作为模拟输入通道。转换结果格式为左对齐, 即高8 位存于ADRESH 中, 低2 位存于ADRESL 中。考虑到A/D 转换本身存在的误差以及压缩无线模块发送数据量的要求, 在设计中忽略ADRESL 寄
存器中的数据, 即只采用转换结果的高8 位。系统中心电信号的采样频率为500Hz, 采用定时器TMR0 完成2ms 定时。
单片机片外扩展了4MB Nand Flash 存储器, 用于暂存心电数据, 经过一定时间后由无线模块集中发送, 用户也可以选择在A/D 转换后不经存储就直接发送。在心电监护中, 医生常要求知道心电信号出现异常的时间, 因此使用DS1302设计了实时时钟电路。
2 .3 GPRS 无线模块
GPRS 无线模块采用Wavecom 公司的WISMO QuikQ2406B。该模块工作频带为双频EGSM 900/GSM1800MHz 或GSM 850/GSM 1900MHz, 支持GPRS 多时隙class 10, 可提供语音、数据、传真和短信息服务功能。模块射频部分和基带部分可共用一个电源, 电压范围为3.3V~4.5V[5]。模块基带部分内嵌了GSM/GPRS 协议栈,是否嵌入TCP/IP 协议栈可由用户选择。根据系统需要,这里选择了内嵌TCP/IP 协议栈的模块。
GPRS 无线模块硬件连接如图4 所示。单片机对无线模块的控制通过无线模块主串口实现。无线模块提供了一个符合V24 协议的6 线主串行接口, 包括TX、RX、RTS、CTS、DTR、DSR 等, 此外还提供了与通用I/O 口复用的DCD 和RI 信号接口。为节省单片机引脚资源, 在设计中将无线模块的CTS 和RTS 短接, TX、RX 引脚分别与单片机的RC6、RC7 引脚相连, 其余无线模块主串口引脚则不使用。单片机发送AT 命令和心电数据给无线模块, 无线模块则将响应信息发送给单片机, 从而完成单片机对无线模块的状态控制和数据发送。无线模块提供了与SIM卡相关的信号接口, SIMVCC 为SIM 卡供电, SIMRST 为低时使SIM 卡复位, SIMCLK 提供时钟信号, SIMDATA 用来实现与SIM 卡的数据通信, SIMPRES 用来检测SIM 卡是否插入。其中, SIMPRES 信号接口可以不使用, 如果不用则将其与VCC 相连[5]。为调试和使用方便, 在设计中还提供了GPRS 连接状态指示灯和硬件复位电路。
2 .4 电源模块
系统需要实现连续24 小时心电监护, 普通容量的电池难以满足要求, 因此选择了3.7V 2400mAh 的可充电锂电池为系统供电。系统中单片机、仪表放大器、运算放大器等芯片的电源电压应为5V, Q2406B 无线模块的电源电压范围为3.3V~4.5V, 所以必须采用不同的电压产生电路来满足不同的电源电压要求。本系统使用RichTek 公司的RT9278 来设计4V 和5V 电源电路, 4V电源电路的驱动电流接近2A。系统还使用RT9501 设计了锂电池的充电电路, 当电路板连接外部电源时, 将由外部电源为系统供电, 同时为锂电池充电。此外, 还用RT9801 设计了低压报警电路, 在电池电量不足时及时提醒用户为电池充电或更换电池。Q2406B 无线模块使用了一个接收端口和一个发送端口, 进行数据传输时电
流约为150mA, 而1 秒内只需发送500 字节数据, 即大部分时间并不处于数据传输状态, 所以其平均电流只有几十毫安。用直流电源对电路板进行供电, 发现电路板的平均电流约为90mA。长时间测试表明, 电源模块工作稳定, 可以保证约24 小时的连续心电监护。
3 监护终端软件设计
系统中单片机的主要任务是完成心电信号的A/D转换并与GPRS 无线模块进行通信以完成数据传输。本文只对这部分的软件设计进行介绍。系统软件流程图如图5 所示。
串口工作于异步串行方式, RC6 设置为串口输出,RC7 设置为串口输入, 波特率设置为9600bps , 这足以满足系统需求。ADC 模块的初始化主要是选择A/D 转换的时钟及其频率、模拟输入通道、转换结果的对齐方式等, 定时器0 的初始化主要是选择定时器的分频比。然后单片机发送相应的AT 命令给GPRS 无线模块, 使其进入数据状态( 具体AT 命令从略) 。完成单片机和GPRS 无线模块初始化后, 单片机即以500Hz 采样频率对心电信号进行采样, 并通过GPRS 无线模块向外发送心电数据, 该过程不断地循环。当监护结束时可以通过发送Ctrl+z( 0x1a ) 使GPRS 无线模块退出数据状态, 然后通过AT 命令将其关闭。
监护终端在深圳、北京、长沙等地已进行了约两个月的测试, 整个系统工作稳定、可靠, 并结合软件组同学开发的心电综合分析软件完成了心电信号的采集、发送、接收、分析、诊断, 其效果得到了深圳市部分三甲医院心内科主任医师的好评。但测试中发现在移动网络较为繁忙的时段, 心电数据的传输速度会有所下降, 导致心电综合分析软件中显示的心电波形有时会不连续, 可以考虑在数据发送策略、波形显示方式等方面做进一步的改进。