基于GPRS网络的医疗监护系统
2011-01-24王志勇
王志勇,李 欣
(哈尔滨理工大学 测控技术与通信工程学院,黑龙江 哈尔滨150080)
近年来,在家庭修养的病人由于不能得到及时看护和抢救,死亡的人数大量提高。而随着老年化的加剧,老年人在家中的健康状况也得到了更高的重视。本文研究的医疗服务系统可以极大的降低运送病人的时间和成本,并能及时的看护老年人的健康状况,对提高我国全民的健康水平有着重要作用。本论文介绍一种基于GPRS网络的家庭医疗服务系统,本系统采用了最新的GPRS传输技术和比较人性化的菜单式人机接口,实现了医院对家庭病人的实时监测。
1 系统工作原理
该系统由人体健康参数检测模块,GPRS网络和远程计算机监控中心组成。人体健康参数检测模块由人体生命参数采集传感器,传感器组是适配板,GPRS网络,MPU及辅助电路构成,如图1所示。
传感器进行对人体健康参数的采集,当传感器采集的信号是数字量,则信号直接传送给MPU。当传感器采集的信号是模拟量则需要通过传感器组适配板进行信号放大滤波处理,再传送给MPU。通过MPU处理的信号在LCD上显示和存储,MPU对数据进行相应的协议封装然后传送给GPRS无线通讯模块,该模块将数据传送上GPRS公众网,通过Internet传输方式将数据传送到远程计算机监控中心。该中心对接收到的数据进行整理存储,以达到监测病人的目的。
图1 结构框图Fig.1 Structure diagram
1.1 GPRS模块
出于对性价比和系统要求的考虑,本系统采用了Wavecom公司的M590E GPRS模块。本模块具有语音,简讯服务,数据传输以及FAX功能并集成了Base band,RF以及快速闪存并支持RS232等。
GPRS模块[1]和MPU之间可通过RS232串口进行通信。该模块是基于IP协议的,GPRS网要经过发送符合IP协议的数据包才能与S3C44B0X进行通信。而且在uClinux操作系统具有完备的TCP/IP协议栈,完全能达到系统功能的要求。进行通信时,第一步要通过AT命令建立GPRS信道,第二步设置波特率并指定上层协议开通GPRS链路,最后采用PPP协议来进行数据链路层的连接和传输[2-3]。
底层链路成功建立以后,就要进行上层的socket通信。链路层的上边就是IP层,该层之上可以选择的协议有面向连接的TCP和面向非连接的UDP协议。如果数据可靠性要求较高,应当选择TCP协议,可是其实现比较复杂,并且系统负荷较大;虽然UDP协议的可靠性较低,但是对网络的负荷较小。比较适合数据的实时传输。本系统对实时性要求比较高,应选用UDP协议,本协议不但简单,而且在实际的应用中效果良好。本系统要实现远程测控,所以要为GPRS模块的PC机编写一个通信软件。主要用于接收发送UDP协议的IP包和一个类似嵌入式系统的LCD菜单人机对话框。
1.2 远程计算机监测中心的软件实现
远程计算机监测中心实际上就是一个管理数据库的系统。远端数据库采用SQL Server作为软件。SQL是一种结构化查询语言并是一种标准数据库语言,SQL对数据库的随即查询以及管理数据库和设计程序功能十分丰富。本系统的用户界面采用C++Builder作为开发语言,本软件可以提供丰富的可视和不可视控件,可以创建良好的用户界面,能进行高效能的数据库管理和访问,并能快速执行和网络编程。该数据库功能强大,不仅有查询,添加,删除以及编辑的基本功能,还能报警,结果导出,打印,查询以及绘图等实用功能。
2 系统的软件和硬件的实现
2.1 硬件电路
该系统的嵌入式微处理器采用Samsung公司的S3C44B0X,S3C44B0X是基于ARM7TDMI核的32位高速处理器[4]。此MPU具有LCD控制器,4个DMA通道,定时器,外部存储控制器,通用I/O口,2个通道UART以及外部中断源等。S3C44B0X还有8路模拟信号输入的10位逐次逼近型数模转换器,可实现将模拟信号转化为数字量的功能[5]。本系统的具体硬件电路如图2所示。
图2 硬件电路框图Fig.2 The hardware principle diagram
2.1.1 信号放大滤波电路
气体浓度通过气体传感器转换为电压信号输出。因为气体浓度的变化比较缓慢,传感器的电压信号变化量比较小。所以要对信号进行放大。本系统的信号放大滤波模块由测量放大器原理电路,如下图3所示。该电路有第1级的同相输入电路,输入电阻高,并且因为电路结构对称,可较好地抑制零点漂移;第2级是差分放大电路,能较好地对扰动的窜入进行抑制。小电容的一端接地另一端与测量放大器输出信号相连,可以对信号进行滤波。
图3 信号放大滤波电路图Fig.3 Signal amplifying filter circuit
2.1.2 S3C44B0X与GPRS模块的连接
S3C44B0X本身带有两个串口控制寄存器,该串口通过电平转换器MAX232进行电平转换,转换以后的接收端口RXD和发送端口TXD与GPRS模块的对应脚相连,再将MPU上的清除发送端口CTS和请求发送端口RTS与GPRS模块对应脚相连,从而就实现了MPU与GPRS模块之间的通信[6]。MPU的I/O口与GPRS模块开关进行连接,通过置位来控制GPRS开关。
2.2 系统的软件实现
搭建完硬件平台以后,考虑操作系统的选择,因为操作系统的选用是实现各系统功能的关键。该系统采用了免费的uClinux操作系统,该系统没有MMU即内存管理单元,比较适合ARM式微处理器。该系统采用uClinux-20040408版。该版本的操作系统带有很多硬件的驱动程序,比如串口驱动,LCD显示等,另外还具有完整的嵌入式TCP/IP网络协议[7-8]。如果需要加上自己的驱动,可采用文件系统方便地加入内核中[9]。驱动程序编辑好以后,就可以为上层的应用程序的编写提供接口函数,也就可以开始编写针对设备的应用程序,最后就可以重新编译内核。把该操作系统的二进制文件烧载进FLASH中,就能实现对外部设备的使用了。
该系统的软件功能模块由初始化模块,显示器模块,键盘功能模块,操作系统模块以及数据解算模块组成。主程序流程图如图4所示。
图4 主程序流程图Fig.4 Flow chart of main program
本系统的主程序的主要功能是对传感器模拟信号的转换、存储、显示以及发送。该系统将接收的模拟信号通过ADC转换为数字信号后在LCD上显示,经操作人员得到确认后将数据存储到系统的FLASH中,对信号进行一定的处理以便达到GPRS传输的需要,通过对上位机发出发送信号的请求,并且该系统接收到上位机的回应便可以进行发送。
该系统的数据采集程序中运用了一个带数字滤波的AD转换方法即中位值滤波,该方法是对数据进行4次采样,除去其中的最大值和最小值,再取平均值,得到系统可用的数据,该方法对去除尖峰干扰有较好的效果。
3 结束语
本系统在哈尔滨市某小区进行了试运行,取得了比较满意的效果。使用该系统时,用户可根据自身的实际情况灵活的选择人体检测传感器,通过比较人性化的菜单式人机接口可以直观地观察到自身的健康信息;用户也可以随时将健康信息发送到医疗监测中心,该系统不受时间和地域的限制。该系统成本较低,使用方便将具有广阔的应用场景和市场,对我国全民健康水平的提高具有重要的作用。
[1]SIEMEMS Mobile.M590E Hareware Interface Description[EB/OL].(2007-02-04)http://.semens.com.
[2]SIEMEMSMobile.M590E AT Command Set[EB/OL].(2007-02-04).http:www.semens.com.
[3]SIEMESMobile.M590E GPRSStartup Use’s Guide[EB/OL].(2007-02-04).http://.semens.com.
[4]SAMSUNG Electronic.S3C44B0X User Manual[EB/OL].2008-09-01.http://.samsung.com.
[5]汪玉凤.基于ARM7的远程数据监控系统 [J].仪表技术与传感器,2010(11):15.WANG Yuf-eng Remote data monitoring system based on ARM7[J].Instrument Technique and Sensor,2010(11):15
[6]陈文智.嵌入式系统开发原理与实践[M].北京:清华大学出版社,2003.
[7]RUIBINI A.Linux设备驱动程序[M].北京:清华大学出版社,2008.
[8]杜春雷.ARM体系结构与编程[M].北京:清华出版社,2003.
[9]王洪辉.嵌入式系统Linux内核开发实践指南(ARM平台)[M].北京:电子工业出版社,2009.