Linux平台下远程多生理参数监护系统的实现
2013-09-17刘继忠王保磊陈海初
刘继忠,王保磊,黄 翔,陈海初,张 华
(1.南昌大学 机器人研究所,江西 南昌 330031;2.抚州职业技术学院 机电系,江西 抚州 344000)
Linux平台下远程多生理参数监护系统的实现
刘继忠1,王保磊1,黄 翔2,陈海初1,张 华1
(1.南昌大学 机器人研究所,江西 南昌 330031;2.抚州职业技术学院 机电系,江西 抚州 344000)
利用新一代通信网络GPRS(General Packet Radio Service)与IP网络的无缝接入设计了一种人体多生理参数远程监护系统。系统采用CSN808传感器模块,基于嵌入式Linux平台,实现心电波、血压、体温、脉搏和血氧饱和度等5大生理参数实时监测,具有参数异常报警功能。测试表明:系统能够稳定、准确、实时监测显示各项生理参数,适用于家庭护理、医院等场合。
生理参数;网络传输;无线通信;嵌入式
近年来,随着网络和设备技术的发展,数字家庭的网络化、信息化、智能化成为业内的发展方向[1]。本文设计的远程人体生理参数监护系统可用于家庭监护,也为家庭智能管理如远程控制、远程查询、管理与监控、远程维护、家庭能源管理、远程集中抄表等提供了借鉴[2]。因为目前基于PC的监护仪不但价格昂贵,不方便移动使用,且只能适用于类似医院的固定场所。因此很多患慢性病且具有自由活动能力的人会被现有的监护方式束缚在医院和病床上[3]。另外,现在看病专家难预约的问题也较为突出。针对这些问题,利用移动通信技术与嵌入式系统平台设计了一种远程多生理参数监护系统,通过网络传输到远程监护中心以供远程诊断,具有参数异常报警功能,功能强大、便携移动。并且目前生理参数的监护已成为生物医学工程领域的研究热点[4]。
1 硬件设计
多生理参数采集系统硬件结构如图1所示,CSN808的5个传感器模块实现心电波(ECG)、无创血压(NIBP)、血氧饱和度(SPO2)、脉搏和体温参数的数据采集,并按照RS-232协议,由串口向主控模块发送生理参数数据包[5]。主控模块选用三星公司的S3C2440作为主控芯片,该芯片是以ARM作为架构的ARM920T的微处理器核心[6],支持嵌入式Linux系统、NAND Flash、网卡等,具有主频高、低功耗等优点。GPRS通信模块选择BENQ M22与ARM串口通信。在应用M22时需要注意电源匹配,M22的VBAT电源管脚电压范围是3.4~4.5 V,模块在发送数据时电流消耗较大,峰值电流可能达到2 A,所以电源一定要能够提供2 A以上的电流。
2 软件设计
系统软件主要包括本地监护终端程序和远程监护中心程序。本地终端程序完成对数据的采集、分析、补偿,并将数据传递到用户空间的地址中;应用程序通过发送AT指令使数据发往远程监护中心。监护中心主要是接收数据并校准、实时显示。
2.1 本地监护终端程序的设计
2.1.1 采集模块通信协议的约定
获取传感器数据的关键是约定好通信协议,系统中CSN808传感器模块与ARM采用RS-232串行数据发送,约定19 200 baud、8位数据位、1位停止位、无奇偶校验位,发送数据以每秒2个数据包(50 byte)的形式进行发送。ARM端收到的数据包如表1所示,表1以温度数据为例说明。前两行与后两行数据分别代表读取一次温度传感器的信息。每一行代表一个数据包,其中55 AA为数据包头。系统能同时读取两路温度传感器的数据,在参数命令字节中0D与2F分别表示一路温度传感器。进一步分析可知,CSN808是轮询所有传感器模块的,这样保证每个传感器模块能得到及时响应。在测试时,由于只连接了一路温度传感器,对比两次读取的数据发现只有0D路传感器温度值变化,将读取的值分离出来,用公式(DATA+200)/10可换算成摄氏温度。分析所有收到的数据可知,传感器上电后,第一次发出的数据是不准确的,应该舍弃掉,从而保证实测数据的准确性。
表1 ARM端收到的数据包格式
2.1.2 GPRS接入Internet的通信实现
GPRS是在现有GSM网络基础上发展起来的分组交换系统,并与互联网Internet相联。如图2所示,GPRS网络主要由在GSM基站中新增加的GPRS业务节点组成。信息数据先通过GPRS调制解调器与当地的GSM基站中的GPRS业务节点进行无线通信并进入GPRS网络,然后通过GPRS网关与Internet进行数据交互。采用GPRS方式接入Internet在链路层采用的是PPP(Point to Point Protocol)协议[7]。PPP协议又分3个子协议[8]:链路控制子协议LCP(Link Control Protocol)用于设定、测试并建立数据链路;PAP(Password Authentication Protoco)子协议认证用户名和密码;网络控制子协议NCP(Network Core Protocol)设IP为控制协议IPCP(IP Control Protocol)。发起连接后经LCP,PAP和NCP执行,PPP协商成功后系统成功远程登入Internet,并得到GPRS网关分配给自己的A类IP。具体实现指令为:
需要注意的是,GPRS模块与监护中心PC通过Internet连接,每次都必须是GPRS模块发起请求,并且连接地址必须是公网IP。这样PC机才会获得GPRS的IP及用于通信的端口号。
2.1.3 两端Socket通信实现
在监护中心下建立Socket描述符,填充Socketaddr结构体、bind描述符到IP地址。核心代码如下:
然后发起listen侦听连接请求。等待GPRS终端发起connnet连接请求,进行通信。当连接成功后,GPRS终端就可以作为一个独立的Internet主机与监护中心通过TCP/IP协议进行通信。
2.2 远程监护中心程序的设计
在监护终端主要是动态显示心电波、无创血压、血氧饱和度、脉搏和体温参数,程序流程图如图3所示。由于系统是多参数采集,需要画出的波形有6路(5路ECG波形和1路SPO2波形),如果在主线程中进行大量的读写串口及显示操作,将会使系统处于假死状态,严重影响实时显示,因此系统采用多线程技术,进行模块化编程处理。软件采用3级结构解决了假死问题,流畅地实现了串口数据的读取:
1)读线程负责监控串口事件;
2)回调函数通知主线程数据分析,然后通过信号槽机制连接到绘图处理函数;
3)进一步处理数据,终端显示参数与绘制波形等。
由于在Qt通信机制中是利用串口是以ASCLL码的形式收发数据的,而对收到的数据处理格式及发送的命令格式都是数据串(QString)格式的,所以在发送及接收数据时要进行数据格式转换。接收数据时主要依赖函 数 QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0')),将接收的数据outChar转换为十六进制数用于后续处理。在发送数据时依赖函数ConvertHexChar(char ch)将字符串转换为相应十六进制数,利用函数String2Hex(QString str,QByteArray &senddata)将相应十六进制数转换为ASCLL码。
在终端显示界面中,本文主要介绍心电波的显示。每路波形一次允许显示25个数据,定义了5个ECG数组用于保存接收到的波形数据,当数组元素个数大于2时开始绘图,当数组存满时,将数组的数据同时右移一位,此时数组的首位元素为空将被用来更新数据。核心代码为:
以上三句分别指明了建立对象、创建线程、连接槽函数。在槽函数里有启动线程的操作,然后开始画波形,画波形的核心函数为void SahuWaveScene::drawWave()。在绘制出心电波形后,要对波形校准,使其符合医学标准。方法为:把标准波形输入串口,将系统绘制的波形与之对比,得出偏差值,调整坐标系,微调系统波形。
3 实验分析
3.1 超阈值报警分析
初次使用系统时,需要设置报警的参数,系统以文件的形式将参数保存并作为默认的参数使用,直到更新新的参数需要重设。图4为报警参数设置对话框,其中NIBP为血压报警参数,RESP为呼吸频率的报警参数。这两个参数的设置要参考医学的正常范围,本系统设置如图4a所示。当超出设定的值时会触发本地报警。点击More按钮,显示一个phone number设置模块,如图4b所示。发起GPRS端的拨号连接,目的是实现远程报警,使得远程监护中心的护理人员及时处理异常事件。
3.2 参数显示分析
远程多生理参数采集系统交互显示界面如图5所示。中间5路显示为心电波形,测试时连接了3路(医学上称为I,III,AVR)。右侧为体温1和体温2双体温通道参数(针对如腋下、舌下或额头等),温度采集连接了1路。血压参数包括收缩压、舒张压以及袖带压力CUFF,其中袖带压力CUFF是随着血压测量过程始终变化的,直至血压测量结束;收缩压与舒张压是在测量结束后经过计算得来的值,所以这两个参数是在血压模块测量结束后显示。体温数值、收缩压、舒张压数值实验结果如图5a右边所示,血氧饱和度波形如图5b所示。
将系统接收到的5路心电数据进行线性拟合,通过MATLAB建模,得到实测波形与标准波形的仿真图,通过图6可知实测得到的波形数据与医学标准波形吻合,偏差在可接受的范围内,完全能够正确反映人体生理参数情况。通过实验证明,该系统能长期、稳定、可靠的工作。
4 结语
在嵌入式操作系统Linux平台下,基于GPRS无线通信技术,通过网络数据传输,采用多线程技术及3级软件架构,设计了远程多生理参数监护系统。系统解决了现有PC监护仪不便携、无法远程诊断的问题。实现了本地报警和远程报警。并通过建模仿真,验证了实测波形与医学标准波形的吻合性。经实验证明,系统具有功耗低、功能强、准确度高、实时性好、价格便宜、便携性强等优点,适合家庭个人监护及现场救助监护需要,并且可以为数字家庭中网络互连、远程传输等提供技术借鉴。
:
[1] 丁森华,李学伟,张乃光,等.数字家庭标准综述与应用分析[J].电视技术,2012,36(14):28-32.
[2] 田玉静.浅议数字家庭[J].电视技术,2007,31(8):54-55.
[3] 谭国模.无线移动网络多参数远程监护系统的研究[D].重庆:重庆大学,2006.
[4] STEPHANE M.The current state of telemonitoring:A comment on the literature[J].Telemedicine and E-heahth,2005,11(1):63-69.
[5] 赵玉晓,徐志玲,唐川,等.医院患者无线监控系统的软件设计[J].实验室科学,2011,14(1):100-102.
[6] 郑灵翔.嵌入式系统设计与应用开发[M].北京:北京航空航天大学出版社,2006.
[7] 周健,周杏鹏,周强,等.嵌入式系统基于GPRS的Internet无线接入设计[J].仪表技术与传感器,2005(12):27-28.
[8] 赵锋,王艳玮,范建华,等.GPRS终端拨号上网连接认证注册全过程研究[J].计算机工程与应用,2004(23):158-160.
黄 翔(1957—),副教授,主要研究方向为机电一体化技术;
陈海初(1978—),副教授,主要研究方向为智能机电系统;
张 华(1964—),教授,主要研究方向为机器人技术等。
Design of Embedded Multiple Physiological Parameters Monitoring System Based on Linux Platform
LIU Jizhong1,WANG Baolei1,HUANG Xiang2,CHEN Haichu1,ZHANG Hua1
(1.Institute of Robotics,Nanchang University,Nanchang 330031,China;2.Fuzhou Vocational&Technical College,Jiangxi Fuzhou 344000,China)
Taking use of a new generation of communication network GPRS(General Packet Radio Service)and IP network seamless access,a multiple physiological parameters monitoring system is designed,which is based on a CSN808 sensor module and constructed Linux system platform.Five physiological parameters of blood pressure,temperature,heart wave,and blood oxygen saturation can be monitored by the system.When the measured parameters are over or below the patient's normal range of values,it can trigger alarm.Experiments show the system can monitor and display the parameters steadily and real-timely with its portable advantage in size.
physiological parameter;network transmission;wireless communication;embedded system
TP216;TN92
A
【本文献信息】刘继忠,王保磊,黄翔,等.Linux平台下远程多生理参数监护系统的实现[J].电视技术,2013,37(14).
国家自然科学基金项目(50905083;61273282);江西省科技支撑计划项目(2008BA00400)
刘继忠(1974—),副教授,主要研究方向为智能机电系统与机器人技术;
王保磊(1987—),硕士生,主要研究方向为嵌入式驱动开发,为本文通信作者;
责任编辑:时 雯
2012-10-16