远程无线心电监护系统的软件设计
2012-06-23施敏敏何学红
施敏敏,何学红
(1.盐城工学院实验教学部,江苏 盐城 224000;2.江苏林洋电子股份有限公司计划部,江苏 启东 226200)
随着人们生活和工作节奏的不断加快,心血管疾病已逐渐成为威胁人类生命安全的主要疾病,发病率明显上升,并呈低龄化趋势发展。通过心电信号发现并及时诊治心血管疾病,是降低发病率和死亡率的有效途径。
利用当前日趋成熟的电子、通信和计算机技术,设计开发一套操作简单、携带方便、价格适宜的远程心电监护系统具有良好的应用价值。患者可以随时随地对自己的心脏状态进行监护,减轻了奔波劳累和经济开支、节省了时间和社会医疗资源;患者在熟悉的环境中实时监测,提高了心电信号的准确性,从而为病情的发现和诊治赢得了时间;对于行动不便或自理能力较差的用户实施远程监护,遇到病情突变时能够迅速报警,为患者提供及时的救助[1]。
1 系统整体结构
选择以GPRS通信技术为平台[2],设计了一套基于飞思卡尔DSC的远程心电信号监护系统。该系统主要包括心电采集、数据传输和远程监护3部分。整体框架如图1所示。
图1 系统整体框架
心电信号采集模块负责对患者的心电信号进行长时间实时采集,同时辅以心电信号调理电路,对采集到的微弱心电信号进行放大、滤波,然后由微控制器控制远程通信模块,将心电信号数据发送到医院中心监测站的远程服务器,医护工作人员操作远程服务器上的心电信号监护软件,对接收到的心电信号数据进行进一步的处理和分析,给出诊断意见,为患者的治疗提供实时的远程指导;对一些突发病情,可以赢得宝贵的抢救时间[3]。
2 系统硬件设计与成果
系统的硬件部分包括心电信号采集模块和远程通信模块两部分。心电信号采集模块主要包括电极、心电导联系统、前置放大电路及右腿驱动、高低通滤波电路、50 Hz陷波电路、后置放大及电平抬升电路等部分。远程通信模块主要由 MC9S12XS128单片机、GPRS模块、SIM卡电路、电源电路组成[4]。设计的远程无线心电监护系统样机,在强烈的噪声中仍能够采集到准确的心电信号,尽可能地减小了失真,如图2所示。
图2 系统样机测试
3 系统软件设计与实现
远程心电监护系统软件包括两部分:监护终端软件和远程服务器监护软件。监护终端软件即为单片机软件,主要是完成心电信号数据的采集控制、A/D转换、发送等功能;远程服务器监护软件则是医院监测中心的计算机软件,主要完成心电信号数据的接收、显示、存储及报警等功能[5]。
3.1 单片机程序
单片机不仅要完成系统初始化设置,还要完成单片机的工作控制、无线传输控制等。为便于程序的调试、连接和修改,设计时分成3个模块:(1)单片机主程序模块:初始化心电信号监护系统终端的各个模块,控制各个模块的工作状态和工作流程,实现远程心电监护系统的总体功能。(2)心电信号采集模块:主要完成心电信号数据的采样工作。(3)心电信号数据无线传输模块:完成无线传输芯片SIM300模块的初始化、传输控制等功能[6]。
3.1.1 单片机主程序模块
单片机主程序模块的流程图如图3所示。
系统初始化:单片机系统初始化包括锁相环的初始化、串口初始化、A/D初始化等。(1)锁相环的初始化。(2)串口初始化。单片机有两个SCI模块,可任选其一。SCI的初始化主要包括波特率设置、通信格式的设置、发送接收数据方式的设置等。(3)GPRS初始化。系统初始化结束后可以进行GPRS初始化,GPRS初始化是通过SCI串口向SIM300模块输入AT指令,然后根据串口接收的返回值来完成,具体流程如图4所示。
图3 主程序流程图
图4 GPRS初始化流程图
其中当“AT ”的返回值为“OK”时,则表示成功启动SIM300模块,否则表示启动失败;当“AT+CGATT? ”的返回值为“1”时,则说明GPRS打开成功,否则说明打开失败;“AT+CIPSTART=<mode>,<IP address>,<port> ”中mode表示通信协议,IP address表示远程服务器IP地址,同时要求该地址为公网IP地址,port表示远程服务器开放的端口号,该指令的返回值为“CONNECT OK”时,表示登陆Internet成功,即GPRS的初始化即结束。
3.1.2 心电信号采集模块
心电信号数据的采集流程如图5所示。其中A/D转换之前应按照要求对转换位数、扫描方式、采样时间、时钟频率及标志检查等方式进行设置,然后通过控制寄存器发出转换命令,即可实现A/D转换。
图5 心电数据采集程序流程图
3.1.3 心电信号数据无线传输模块
心电信号数据的传输是MC9S12XS128单片机通过SCI串口通信控制SIM300 GPRS模块来完成。通过SCI串口向SIM300模块输入“AT+CIPATS=<MODE>,<TIME>”,以此来设定自动发送的时间,其中MODE可以设置为0或者1,0表示不设定时器,1表示设定时器;定时的长度由TIME设置具体的数值,单位s。接着输入指令“AT+CIPSEND”,等待返回“>”后输入要发送的数据,定时一到自动发送输入的数据。当返回值为“SEND OK”时,表示发送结束。具体的数据传输流程如图6所示。
图6 心电信号数据传输流程图
3.2 远程服务器监护软件设计
计算机软件选择LabVIEW设计完成。LabVIEW是由美国NI公司设计的图形化编程软件,专门用于数据采集与仪器控制、数据分析和数据表达,已广泛应用于航空、航天、通信、电力、汽车、电子半导体、生物医学等领域。
3.2.1 数据显示模块
心电信号监护系统的前面板如图7所示,数据显示主要包括心电信号波形显示、检测结果显示以及报警显示。
图7 心电信号监护系统的前面板
心电信号波形显示的是从串口接收到的心电信号数据,经过转换后的心电曲线。医院中心监测站的工作人员随时观察、分析患者的心电信号波形,及时给出诊断意见。
检测结果显示的是心电信号的峰值、谷值、峰峰值、R-R间期、频率、心率。设计时选择函数选板【Express】→【信号分析】子选板上幅值和电平测量、信号的时间和瞬态特性参数两个函数分别测量心电信号的峰值、谷值、峰峰值和R-R间期、频率。
报警显示部分是对所采集心电信号的心率判断,然后用布尔指示灯显示报警状态。一般正常人心跳次数是60~100次/min,<60称为心动过缓。成人每分钟心率超过100次,称为心率过速。本设计中的判断方法就是设定心率上限为100次/min,下限为60次/min。当采集的心率低于60次/min时,点亮心动过缓的指示灯;当采集的心率高于100次/min时,点亮心动过速的指示灯显示心率异常报警状态,提示医护工作人员进行适当的处理。
3.2.2 数据保存和回放模块
将采集的心电信号数据一方面在前面板上显示,同时还要求保存,尤其是心电信号波形,医护工作人员以后需要观察和分析时可以随时调用。LabVIEW本身不具备数据库访问功能,程序设计中采用了LabSQL工具包解决LabVIEW房屋内数据库的方法。
如果将波形文件直接存储在数据库中,就会因为每个波形数据的长度都过大而增加数据库的容量,造成系统运行缓慢。因此考虑将波形文件以文本方式统一保存在“波形”的文件夹中,在数据库中只记录保存的路径及文件名。在需要重新打开波形文件时,先从数据库读取它的保存路径及文件名,然后通过它直接打开波形文件。操作时只需点击前面板上的“保存”按钮,调用相关子程序就可以把心电信号波形保存到“波形”文件夹中。
通过回放心电信号波形,医生对病人的病情可以深入了解,全面考虑,做出正确诊断,从而能为患者提供更为准确、有效的治疗方法。操作时,医护工作人员只要点击“回放”按扭,在弹出“波形”文件夹中选择相应的波形数据,就可以看到先前保存的波形数据。
3.2.3 远程服务器监护软件的测试
利用LabVIEW提供的【信号处理】→【信号生成】函数选板上的信号函数作为监护软件测试时的数据源;运行软件,能够将信号波形显示在前面板上,并对相关参数进行了测量和判断,图8为选择了一个周期Sinc信号的做的测试结果。
图8 数据显示模块的测试
4 结束语
完成了远程心电信号监护系统的硬件设计,但某些内容的研究不够深入全面,还存在许多不足之处。今后将从以下几个方面继续努力研究:(1)日趋成熟的3G技术将是未来数据传输技术的通讯方式,这样能够大幅度地改善传输速度和精度。(2)远程服务器的监护软件设计上可以更好地借助LabVIEW提供的各种函数,结合心电信号处理算法,对采集到的心电信号数据做更深入的分析处理,优化监护软件的功能,使得远程无线心电监护系统更加人性化、智能化。
[1]施敏敏.基于飞思卡尔DSC与GPRS的远程无线心电监护系统[D].南京:南京理工大学,2011.
[2]张开玉.基于GPRS的远程心电监护系统研究[D].哈尔滨:哈尔滨理工大学,2008.
[3]席景丛.远程心电监护系统的研究与设计[D].武汉:中国地质大学,2010.
[4]李旺.远程心电监护系统的设计[D].北京:北京邮电大学,2010.
[5]张旭.便携式远程实时动态心电监护系统的研究[D].哈尔滨:东北农业大学,2010.
[6]张重雄.虚拟仪器技术分析与设计[M].北京:电子工业出版社,2009.