远程医疗监控系统文档格式.docx
《远程医疗监控系统文档格式.docx》由会员分享,可在线阅读,更多相关《远程医疗监控系统文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
患者身上佩戴的采集终端,将采集到的生理信息数据(体温、脉搏、血压、心率)发送到AP(AccessPoint)。
AP通过医院的局域网,将数据转发到上位监控机上,由上位监控机对数据进展分析和处理。
AP上电后立即尝试连接局域网上的效劳器,效劳器的IP和端口号以及AP的网络配置都写在配置文件中,用户可以手动修改,连接成功后进入就绪状态。
如果有携带移动监护设备的患者进入AP的覆盖区域移动监护设备将会查询到AP并与之建立ACL链路,AP承受连接将会进展主从切换,保证AP作为传感器网络的主单元可以继续被其他移动监护设备发现和建链。
之后移动监护设备和AP之间进展SDP,L2CAP,RFM连接。
AP向效劳器报告有移动监护设备进入该区域,此后AP将透明地转发AP和移动监护设备之间的双向数据。
主机可以通过AP和移动监护设备的串口替代功能完成控制、数据采集的功能。
当患者离开此AP的覆盖*围后,链路中断,AP向效劳器报告移动监护设备离开该区域,同时患者携带的移动监护设备开场搜索新的AP。
医护人员根据移动监护设备与哪一个AP相连可以获知患者在整个病区内的活动情况。
其设计构造如图1所示。
监护效劳器
AP
病房4
病房3
信息中心
单片机
传感器
局域网
病房1
病房2
图1医院无线监控系统构造
〔2〕家庭监护网络体系方案
远程家庭监控网络体系构造如图2所示。
Internet
GPRS/GSM模块
传感器和单片机
医院信息中心
图2家庭无线监控系统构造
无线系统主要由各个传感器节点(脉搏、体温、血压、心率等传感器节点)、假设干个具有路由功能的无线节点和中心网络协调器(监护基站设备)组成。
监护基站设备连接无线网络与以太网,是家庭无线网络的核心局部,负责传感器网络节点和设备节点的管理。
各项体征数据经过家庭网关传输到远程监护效劳器。
远程监护效劳器负责脉搏生理数据的实时采集、显示和保存。
医院监护中心和医生可以登录监护效劳器查看被监护者的生理信息,也可以远程控制家庭无线网络中的传感器和设备,从而在被监护病人出现异常时,能及时检测到并采取抢救措施。
被监护者的亲属等也可以登录监护效劳器随时了解被监护者的安康状况。
五、设计流程
1.传感器单元的设计
传感器节点主要功能为采集人体体征信息〔包括体温、脉搏、血压、心率〕,其节点主要包括5局部:
中央处理器模块(51单片机)、无线数据通信模块〔GPRS/GSM〕、传感器、A/D转换及相关调理电路、电源模块。
节点框图和处理器单元如图3所示。
传感器及相关调理电路
A/D转换
单片机处理器模块
无线数据通信模块
电源单元
图3监控传感器节点构造
2.GPRS/GSM模块的设计
介绍了一种通过GPRS/GSM短消息的收发实现对工程上数据采集系统的远程监控,其能够完成对工程上数据采集系统的运行状况监测及采集数据的传输。
同时也能够通过短消息控制数据采集系统完成指定的操作。
系统自带有存储器,能够按接收到的指令对设备进展配置,并将其存储到设备自带的存储器中。
同时系统配备了看门狗,能够使系统在异常状态下重启系统,使系统做到永不死机。
由于该系统采用了GSM短消息作为通信载体,使其克制了普通监控的人机界面不友好,话费高,且控制功能少等缺点。
GSM硬件图如下列图4所示。
图4GSM硬件框图
3.基于FPGA的上位监控中心设计
为了使便携式心电监护仪具有友好的人机交互和方便的显示,移植了一个GUI界面系统。
以UP‐CUPFPGA2C35‐II综合实训平台为验证平台,TFTLCDIP核是在QuartusⅡ9.0软件平台下,使用Verilog在FPGA上用硬件逻辑电路进展设计。
该IP核是利用QuartusⅡ开发和其集成的SOPCBuilder系统开发工具而设计的。
μC/GUI则是在配套开发软件NiosⅡIDE中进展移植实现。
实验结果说明,μC/GUI界面系统成功运行在本开发板上,可实现窗口管理、在指定位置显示文字、快速而高效处理数据和显示图片等功能。
FPGA开发箱如下列图5所示.
图5FPGA开发箱
便携式医疗监护仪已成为人们日常生活中不可缺少的一局部。
便携式设备是由硬件与软件紧凑组合的一个单元模块,是一种体积小、智能化程度高、功能全、使用灵活、操作方便的便携机,适合家庭使用、外出携带等用途。
为了使便携式心电监护仪实现友好的人机交互和更加方便的显示,这里提出一种GUI界面系统设计,就是在基于NiosⅡ处理器的嵌入式平台上实现μC/GUI的移植,使之实现系统功能。
系统中心触摸屏浏览效劳信息并实现相关操作,通过无线网络和终端通信。
各个采集终端作为独立系统工作,所有数据传到前台上位机协调处理。
终端硬件框图如图2所示,利用片上可编程系统(SoPC)技术将NiosII处理器、外设接口控制器等功能模块集成到FPGA,构成可编程片上系统。
SDRAM、Flash控制器用于处理程序和数据的存储;
512KBSRAM作为图像数据缓存区;
FPGA内部自定义LTM控制器和SD卡控制器模块,辅助软核工作,操作触摸屏并读取SD卡内的JPEG图片;
UART接口用于和移植到CC2430的ZigBee模块通信;
采用定时器以嵌入uC/OSII操作系统。
其硬件构造图如6所示。
图6FPGA硬件构造图
4.系统硬件设计
本系统的设计和实现是采用了模块化设计的思想。
从功能模块上该系统可分为:
体征信息采集模块、无线收发模块和通用串行总线接口传输模块。
系统的硬件构造由两局部组成:
一局部是数据采集和无线数据发射电路;
另一局部是无线数据接收和通用串行总线接口电路。
系统的总硬件构造如图7所示。
无线模块嵌入式系统
脉搏传感节点
温度传感节点
血压心率传感节点
无线发射模块
控制器
串口
网络接口模块
图7系统的总硬件构造
操作流程:
〔1〕.通过各传感器节点准确采集各项体征信号并交于89c51单片机进展处理,计算出各项体征信息〔包括体温、血压、脉搏、心率〕,组成体征采集子模块,完成各项体征信息采集,并上传到GPRS/GSM无线模块。
〔2〕.GPRS/GSM无线模块将接收到体征信息,并准确地送往上位监控机。
〔3〕.基于FPGA的上位监控机接收到下位机信息,并进展分析处理及控制。
5.系统软件设计
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。
把一个多功能的复杂的程序划分为假设干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的构造层次一目了然。
应用系统的程序由包含多个模块的主程序和各种子程序组成。
各程序模块都要完成一个明确的任务,实现*个具体的功能,在具体需要时调用相应的模块即可。
由于系统各个模块都有自己的程序,在此将列出个别模块的程序流程图。
血压及心率采集并显示的处理流程如图8所示。
开场
A/D采样
数据处理子程序
最大脉搏幅度
保存最大幅度
计算最大脉搏幅度0.77倍和0.58倍
显示数据
返回
Y
N
计算收缩压、舒*压及心率
图8血压、心率采集流程图
代码如下:
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitDQ=P1^0;
//ASD*001与单片机连接口
sbitRS=P3^5;
sbitRW=P3^6;
sbitEN=P3^7;
unsignedcharcodestr1[]={"
bloodpressure:
"
};
unsignedcharcodestr2[]={"
uchardatadisdata[5];
uinttvalue;
//压力值
uchartflag;
//压力正负标志
/*************************lcd1602程序**************************/
voiddelay1ms(unsignedintms)//延时1毫秒〔不够准确的〕
{unsignedinti,j;
for(i=0;
i<
ms;
i++)
for(j=0;
j<
100;
j++);
}
voidwr_(unsignedchar)//写指令//
{
delay1ms
(1);
RS=0;
RW=0;
EN=0;
P0=;
EN=1;
voidwr_dat(unsignedchardat)//写数据//
;
RS=1;
P0=dat;
voidlcd_init()//初始化设置//
{
delay1ms(15);
wr_(0*38);
delay1ms(5);
wr_(0*08);
wr_(0*01);
wr_(0*06);
wr_(0*0c);
voiddisplay(unsignedchar*p)//显示//
while(*p!
='
\0'
)
wr_dat(*p);
p++;
init_play()//初始化显示
{lcd_init();
wr_(0*80);
display(str1);
wr_(0*c0);
display(str2);
}
voiddelay_asd*001(unsignedinti)//延时1微秒
while(i--);
voidasd*001rst()/*ds1820复位*/
{unsignedchar*=0;
DQ=1;
//DQ复位
delay_asd*001(4);
//延时
DQ=0;
//DQ拉低
delay_asd*001(100);
//准确延时大于480us
//拉高
delay_asd*001(40);
}
ucharasd*001rd()/*读数据*/
{unsignedchari=0;
unsignedchardat=0;
for(i=8;
i>
0;
i--)
{DQ=0;
//给脉冲信号
dat>
>
=1;
DQ=1;
if(DQ)
dat|=0*80;
delay_asd*001(10);
return(dat);
voidasd*001wr(ucharwdata)/*写数据*/
{unsignedchari=0;
for(i=8;
i>
i--)
{DQ=0;
DQ=wdata&
0*01;
wdata>
read_pressure1()/*读取压力值并转换*/
asd*001rst();
asd*001wr(0*cc);
//*跳过读序列号*/
asd*001wr(0*44);
//*启动压力转换*/
read_pressure2()
{uchara,b;
//*跳过读序列号*/
asd*001wr(0*be);
//*读取压力*/
a=asd*001rd();
b=asd*001rd();
tvalue=b;
tvalue<
<
=8;
tvalue=tvalue|a;
if(tvalue<
0*0fff)
tflag=0;
else
{tvalue=~tvalue+1;
tflag=1;
return(tvalue);
/*******************************************************************/
voidasd*001disp1()//压力值显示
{ucharflagdat;
disdata[0]=tvalue/1000+0*30;
//百位数
disdata[1]=tvalue%1000/100+0*30;
//十位数
disdata[2]=tvalue%100/10+0*30;
//个位数
disdata[3]=tvalue%10+0*30;
//小数位
if(tflag==0)
flagdat=0*20;
//正压力不显示符号
flagdat=0*2d;
//负压力显示负号
if(disdata[0]==0*30)
{disdata[0]=0*20;
//如果百位为0,不显示
if(disdata[1]==0*30)
{disdata[1]=0*20;
//如果百位为0,十位为0也不显示
}}
voidasd*001disp2()
{ucharflagdat;
wr_(0*c3);
wr_dat(flagdat);
//显示符号位
wr_dat(disdata[0]);
//显示百位
wr_dat(disdata[1]);
//显示十位
wr_dat(disdata[2]);
//显示个位
wr_dat(0*2e);
//显示小数点
wr_dat(disdata[3]);
//显示小数位
wr_(0*ca);
wr_dat(0*df);
wr_dat(0*43);
/********************主程序***********************************/
voidmain()
init_play();
//初始化显示
while
(1)
{read_pressure1();
//读取压力
read_pressure2();
asd*001disp1();
//显示
asd*001disp2();
六、系统设计中遇到的问题及解决方法:
问题1:
不能运用虚拟的调试助手建立GPRS的连接。
解决方法:
在详细分析,发现不是自己的操作问题后上网查资料发现,想要建立GPRS的连接,就必须拥有的一个暴露在共网下的IP地址,但是实验室的都是动态随机分配,所以解决方法就是用无线网卡或者用路由器拨号上网的那种。
问题2:
主程序的编写与调试。
在编写程序的时候是分模块写的,所以在后期揉合一块儿的时候出现了很多问题,只是显示所设的初始值。
经过教师以及的同学的分析知道是中断那儿出现问题,经过一下午的调试与编程终于及时的解决了此问题.
问题3:
硬件焊接过程。
在软件仿真出结果后,就开场电路板的焊接。
但是在焊接完毕后出现了一些误差,检查后发现是*些电容或者是电阻值不是太准确所以会导致电路出来后出现一些偏差或者干扰。
七、设计心得体会和收获:
在本系统的设计中,我是负责GSM/GPRS模块的调试。
主要负责将下位机中采集到的数据及时的发送到上位机中,以便于实时的监控与诊断。
首先就是AT命令的学习,这局部是就是根本的指令,跟C51语言在单片机中的重要性一样,本次实验收获就是掌握了一门语言了解了SIM300的工作原理,更加熟练的掌握了C51语言。
而在实验的过程中心得体会就是学习初始的时候一定要一步一步的脚踏实的了解原理,这样才能在运用这门技术做东西的时候的才能随心应手,也可以在出现问题的时候查出原因。
团队精神——我最大的收获。
只有团队里的每个人都在动手,都在为这个作品出力的时候则你们的作品就是最好的。
只有团队团结才是这个作品最终的意义。
在以后的工作中,我也会以本次的实验问基点,不断的学习与进步。
在本系统的设计中,我负责的主要是体征采集子模块的设计。
根据监控对象的和监控目的不同,体征信息采集模块主要用于病人生理信号的采集,其检测的体征信息主要包括:
心率、血压、脉搏、体温四项根本体征信息。
通过各传感器节点准确采集各项体征信号并交于微控制器进展处理,计算出4项体征信息,组成体征采集子模块,完成各项体征信息采集,并上传到GPRS/GSM无限模块。
在过程中,首先遇到的问题是传感器的选择,通过查询资料,了解各项体征的采集原理,尤其是血压的测量是本次设计的一个重点也是难点,后续信号的处理〔包括整流,放大,A/D转换〕也是需要投入很大的工作的,本来生理信号就是特别弱的。
以前总是在学理论,从来没有过真正的实践,像电子血压计,脉搏仪也只是在生活中用到过,通过这次的设计,使我的动手操作能力大大提高,也使得理论和实践完美的结合在了一起,希望这些东西能够在我以后的生活中有和那的帮组,我也会再接再厉,更多的的将理论运用到实际中。
八、附录
参考文献:
[1]李兰英.NiosII嵌入式软核SOPC设计原理及应用[J].:
航空航天大学,2006.
[2]MicriumInc.μC/GUImanualRev.0[M].2002.
[3]QiuChuanfei,ZhangWei,ZhouQuanzhi,etal.PortingμC/GUIToLCDandVGAinNiosIIsystem[C].InternationalConferenceonMeasuringTechnologyandMechatronicsAutomation,Changsha,2010.
[4]葛欣,孟凡荣.使用μC/GUI开发图形用户界面[J].计算机工程与设计,2005,26
(1):
253-255.
[5]AlteraCorporation.NiosIIprocessorreferencehandbook[M].2005.
[6]朱国富,廖明涛,王博亮.袖珍式脉搏波测量仪.电子技术应用.1998.第1期
[7]程咏梅,夏雅琴,尚岚.人体脉搏波信号检测系统.生物医学工程.2006.第25卷
[8]*晓风.测振式自动血压测量中的一种脉搏波检测方法,中国医疗器械杂志1990年第14卷第2期