Profile - CN476


CN476

数字化多参数监护仪

西安邮电学院
计算机科学与技术系微电子专业


Finals


[print]


Project

Name of Project:数字化多参数监护仪

Contact Information

Name:刘晨
E-Mail:liuchen0216@163.com
Telephone:029-88166286
Mobile Phone:15829772949
Mailing Address:陕西省西安市长安区西安邮电学院南校区

Contest Advisor

Name:邢立冬
E-Mail:xld@xupt.edu.cn
Telephone:13119154562

Members

No.NameE-MailEnglish Name
1刘晨liuchen0216@163.comliuchen
2吕严冰ice-lyb@163.comlvyanbin
3冯晓伟fengxiaowei666@126.comfengxiaowei

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

 

 

.设计概述

1.1 研究背景

    随着现代医学的不断发展,作为各级医院基本设备配置的监护仪正被广泛应用于医院的ICUCCU、麻醉手术室及各临床科室,特别是它可向医护人员提供病人生命体征的重要信息。利用这些信息,临床医生能更好地分析患者的病情,从而采取适当的治疗措施,获得最佳的治疗效果,因此监护仪的作用越来越受到重视。
       监护系统的发展,可追溯至1962年,北美建立第一批冠心病监护病房(CCU),以后,监护系统得到了迅速发展,随着计算机和信号处理技术的不断发展,以及临床对危重患者和潜在危险患者的监护要求的不断提高,对CCU/ICU监护系统功能要求也不断提高,目前,监护系统除具有以前的多参数生命体征监护的智能报警外,还要求在监护质量以及医院监护网络方面有进一步的提高,以更好地满足临床监护、药物评价和现代化医院管理的需要。

1)医疗

        随着国家对医疗制度的相关改革以及人们对健康重视程度的提升,病人的监护也越来越受到人们的重视。使用先进医疗设备、确保诊断信息的完整、准确、安全,便成为各地医疗机构提高医疗水平、保障病人安全的关注焦点。当前我国政府与医疗机构正努力完善其医疗体系,以更好地为病人服务。

2)科技

        多参数监护仪是一种以测量病人生理参数,并可与已知设定值进行比较,如果出现超标可发出警报的装置或系统。随着传感器技术、微电子技术和计算机技术等多项技术的高速发展,多参数监护仪正朝着智能化、专业化、小型化,低功耗和零污染的方面发展。嵌入式的发展使得电子产品有了一次新的飞跃,产品的功能更加多样,配之网络通讯的发展使得连网设备得以实现,各种信息得以交流共享。制造工艺的提高也使芯片集成度更高,产品也更加便携简单化。

1.2 发展前景

        我国是个人口大国,农村医疗水平与城镇相比差距较大,医疗水平难以保证,而且传统的医疗监护表现为医护人员与病人的面对面接触,即由医护人员亲自检测病人的各项体征参数。这种方式需要医护人员逐个检测各病房中的病人,致使医护人员的工作量大,检测耗时长且不利于对病人体征参数的及时反馈。现今的多参数监护仪则克服了这些缺点,医护人员可以通过远端计算机监控各病人的情况,及时了解每位病人的病情。当前数字化医疗设备产业发展迅猛,作为数字化医疗设备的多参数监护仪,其发展前景乐观。目前国内的监护仪行业集中度和竞争已相对较高,随着医疗环境的改革,行业发展增速将保持在10%-15%左右的速度增长。在不久的将来,医疗监护仪将会成为医院必不可少的一部分。

1.3 设计意图

         数字化多参数监护仪是综合监测多个临床参数并将其信息整合,提供临床监护和诊断手段的仪器。由于数字化多参数监护仪比人工检测便利,并且相对单参数临床监护仪具有多参数检测以及对输出的各项参数综合解释等众多优点,因此它在医学中起着越来越重要的作用。
         数字化多参数能为医学临床诊断提供重要的病人信息,可实时检测人体的心率、血压、脉搏体温重要参数,实现对各参数的监督报警,信息存储和传输,是一种监护病人的重要设备。普通便携式设备大多功能单一,精度不高,且仅能作为临时测量使用,无法跟踪病人的整个治疗过程。医院里使用的大型医疗设备能够提供很高的精度,且功能全面,但过于专业的使用方法以及高昂的价格导致它们的市场需求不高。
        我们开发的监护仪在检测基本的体征参数后,可以将这些参数进行分析处理并存储显示在PC机上。在对重病患者的监护上,我们采用CamShift算法(运动跟踪算法)通过视频实时识别病人的动作,和所设定的动作模式相对比,进而反馈给医院医护人员,对于了解病人的情况起到了极大的作用。该监护仪既可用于医院,也可用于家庭,可以定时、连续、长时间地检测病人的重要生命特征参数,它在保障病人的生命安全方面具有重要的临床使用价值。

1.4 使用范围和针对的用户群体   

       本监护仪的使用范围如下:
Ÿ           医院
Ÿ           家庭
 
针对的用户群体如下:
Ÿ           做血液透析的病人
Ÿ           其他重病患者

1.5 选用本款Altera 器件来进行设计的原因

1  SOPC是Altera公司提出的一个灵活、高效的SOC解决方案。它将Nios II 处理器、存储器、I/O口等系统设计需要的功能模块集成到一个FPGA上,构建成一个可编程的片上系统。具有灵活的设计方式,以及可裁减、可扩充、可升级的功能。所带的EDA工具具有丰富的调试资源,如综合器,仿真器和时序器。
2) Nios II属于软核嵌入式开发,具有灵活性、高性能、低成本、生命周期长等特点,并提供了大量的开发技术文档和实例,可供参考并可促进学习。Nios II支持MicroC/OS-II、uClinux等多种实时操作系统,支持TCP/IP协议栈, Nios II处理器允许用户增加自定义指令和自定义硬件加速单元,无缝移植自定义外设和接口逻辑,在性能提升的同时,方便了用户的设计。
3 ALTERA DE1开发板,资源非常丰富,包括大量接口电路,如 RS232,USB,VGA,PS/2等;存储电路,如Flash存储器,SRAM存储器,SDRAM存储器等,而且还有大量配置、扩展电路。

 

(Revision: 10 / 2009-09-13 18:00:20)

2. 功能描述 (Final Project Paper)

 

.功能描述

           该监护仪提供了一种对家庭、医院来说有效便捷的医疗监测的解决方案。主要面向医护终端设计,医护人员能够方便的对病人的健康状况进行检测和分析,病人能够实时了解自己身体的各项信息,同时仪器将这些信号参数通过显示屏,以数字方式显示,能让病人直观获悉自己身体各类指标是否正常,并通过仪器提供的分析功能作出初步的病理诊断。另一方面,采集到的身体信息还能被存储起来,方便对数据的后续分析处理。系统还通过网络等远端通讯技术在患者与医疗服务端(如医院、私人医师、监护中心等)之间建立连接,实时的将病人的身体状况信息通过网络传递给远程数据库或医生,可以实现医疗信息的数据库管理,并真正实现远程监护诊断,让病人不用出门就能得到最及时有效的诊断。
该监护仪主要包括的模块功能如下:

1. 视频识别:

主要针对重病患者,由于他们长期处于昏迷状态,在没有医护人员看护下我们无法确切的了解到他们的实时身体状况和需求,因此我们需要对他们进行实时监控,以便于在第一时间获取病人苏醒的信号及需求信息。并在远程PC机上提示出患者有移动现象来通知远程监护的医护人员。

2. 专家分析系统:

专家分析系统能将所采集的各项信息绘制成病人的各项体征参数的曲线图,并对其进行数据分析。通过数据分析结果可以反映出病人在用药或进行其他治疗前后的对比情况,方便制订更好的治疗方案。本系统可分别对患者的血压、脉搏、心电、体温参数进行分析,通过与数据库相连,来传递患者的各项信息。图1为所要实现的专家分析系统中的体温曲线分析示意图。
 
  
 
1 体温分析曲线图
在图示的界面中,如果病人需要带走其病历报表,医护人员可以点击相应的分析按钮,得出病历报表,此报表可打印可拷贝,方便病人的需要。

3. 医学参数采集:

体温:通过pt100连接温度变送器采集电压信号,经过AD转换和特定算法计算出来。
心电:通过电极从左臂右臂采集信号,先经过两级低通滤波电路滤除高频干扰信号,再经过仪表放大器进行前置放大,放大后的信号再经过低通滤波器滤除0.03Hz以下的干扰信号,再进行后一级的放大。其中在仪表放大电路中添加了反馈浮置电路对人体的50Hz其他干扰信号进行抑制。
血压和脉搏:人体血压信号的频率是0.8~38HZ,通过压力传感器可以将压力信号采集过来,通过0.8HZ的高通滤波将信号筛选出来,再通过运算放大器将信号放大,再用带通滤波器筛选出这一频段的信号,再将其放大。

4. 语音提示:

l        体温超过37.5度时会提醒医护人员和患者;
l        当病人有动作时产生语音提示

5. LCD液晶屏显示

    在对病人进行检测时,其体征参数会在LCD上显示出来,为了让患者及其家人了解病人的情况。

6. 网络传输

        我们采用SS-TCP01单串口联网模块进行网络通信,它的一端是UART端口与开发板相连,另一端是网口直接与网络相连,将采集到的数据传输到远程数据库中。

7. PC

1)接收网络模块发送的数据,并且链接数据库。
2)判断是否要显示报警信息,根据实际情况发出报警提示。
3)显示历史数据,以波形的形式显示历史数据,并实时更新。
(Revision: 12 / 2009-09-13 22:33:43)

3. 性能参数 (Final Project Paper)

 

.性能参数

3.1 FPGA资源使用情况

我们此次设计利用FPGA内部资源的情况如图2所示。
 
 
2 FPGA内部资源使用情况图

3.2硬件参数

l       SS-TCP01单串口联网模块
-支持TCP/IP协议: TCP, UDP, ICMP, IPv4ARP, IGMP, PPPoE
-工作协议模式:UDP, TCP Server,TCP Client, Virtual COM
-网络接口:100M/10Mbps,自动匹配,1.5kV隔离保护 符合IEEE802.3 10BASE-T和802.3u 100BASE-TX标准
-串口参数:
   波特率:1.2kbps ~ 1.8432Mbps
   校验位:无校验,奇校验,偶校验
   数据位:7,8 bit
   停止位:1,2 bit
   流控制:无流控制,RTS/CTS
-工作环境:-45~85℃,5~95%湿度
-储存环境:-55~125℃,,5~95%湿度
l       Pt100热电阻温度变送器
-输出信号;4~20mA DC 二线制
-工作电压:24VDC(12~30VDC)
-精度等级:0.2%,0.5%
-温度系数:150ppm
-工作环境:温度范围-25℃~+85℃,无腐蚀性气体
l       夏普LQ080V3DG01 TFT液晶屏
-分辨率:640*480
-显示面积:20.3cm/8inch
-显示色深:18bit/RGB
-可视角度:水平130度,垂直125度
l       触摸屏
-四线电阻式触摸屏
l       触摸屏控制器
-触摸屏分辨率:2048x2048
-接口:RS232/USB/PS2
-采样速率:RS232模式:160point/s
l       VGA控制器
-夏普液晶屏 LQ080V3DG01专用VGA接口驱动器
-支持640×480分辨率
l       摄像头
-清晰度:420线
-输出分辨率:640×480
-制式:NTSC
l       ADV7181视频解码芯片
-支持多种制式:NTSC-(M, J, 4.43),PAL-(B/D/G/H/I/M/N), SECAM
-数字输出格式(8位或16位):ITU-R BT.656 YCrCb 4:2:2输出+HS,VS和FIELD
(Revision: 2 / 2009-09-14 09:41:53)

4. 设计结构 (Preliminary Paper)

 

.设计结构

 

 
  系统框图:监护仪主要由传感器信号前端采集调理、信号处理存储和传输平台及远程监护等三大模块组成,系统结构如图4.1所示:

                  图 4.1   系统结构设计示意图

    系统功能模块主要包括血压模块、脉搏模块、呼吸模块、体温模块,视频识别模块,视频显示模块,波形显示模块,参数显示模块。系统功能模块如图4.2所示:

     

                        图 4.2   系统功能设计示意图

 

        该监护仪通过血压,脉搏,呼吸,体温等传感器接收从人体传来的各项体征参数,通过各项采集卡采集信息,经过AD/DA转换后传送到开发平台进行处理。处理完成后在LCD上显示出病人的各项体征参数并给出相应的医学健康建议,如体温超标则发出报警。而在对病人的监护上,我们采用视频识别手段,通过与开发平台上的GPIO接口相连接或采用采集卡采集接收到的视频信息,在DE1开发板中进行识别处理,如果病人有较大移动则产生报警信号。体征参数信息和报警信息通过以太网与远端PC机进行通信,而在PC机上,医护人员可以通过专家分析系统对病人的体征参数进行分析,得出病人在某一阶段的病情及用药前后的情况。如果有报警信息,则发出警报提示医护人员,使医护人员可以及时处理,保证病人的安全。
 
(Revision: 14 / 2009-09-14 09:52:43)

5. 设计方法 (Final Project Paper)

五.设计方法

 

系统实物图如下:

 

 

 

5.1.1 SOPC Builder系统图

本系统充分发挥了SOPC的优势,利用其很好的可重构可重配置性以及高效的Avalon总线交换结构,加入了多种IP核。其中,视频处理模块和VGA控制器模块都是根据系统要求而开发的用户IP核,然后通过SOPC Builder配置到Avalon总线上。SOPC下的设计大大缩短了项目的开发周期,软硬件协同设计,大大提高了系统的开发速度。
SOPC Builder系统如图5所示。

 

                                                                                             

                                                               图5 SOPC Builder系统

 

5.1.2内部模块图

 

 

  

 

 

                                                                                      图6 内部模块图

 

 

 

 

5.1.3 NiosII双核处理器

1. Nios双核处理器的任务分配

利用NiosII多软核处理器可以改善MCU处理速度不高、外设资源有限、接口配置繁琐、硬件设计和软件设计编程复杂等问题。本设计充分利用NiosII软核处理器的特点和性能,通过配置双NiosII软核,将大量控制以及对多种外设访问的工作交给NiosII软核完成,极大地减少了软件的工作量。双核的任务分配如下:
CPU0:(1).人机交互,不设置操作系统;
    (2).μC/GUI及应用程序程序的运行;
    (3).通过UART1串口接收触摸屏的数据;
CPU1:(1).设置嵌入式实时μC/OS II操作系统;
   (2).通过UART2串口与网络模块通信;
    (3).通过GPIO口接收外部控制中断信号;
    两个NiosII软核通过mailbox进行软核间的通信。

2. Nios双核处理器通信设计

         ALTERA提供带Avalon接口的邮箱内核mailbox组件在多核处理器之间发送消息,邮箱适用于双核间单方向的消息通信,功能相当于FIFO缓冲队列,其传送的消息往往是指向共享内存块的结构体的指针,代替实际的数据传输,提高数据交换效率。根据本系统的要求,只是在双核间传送控制信号,单方向的通信完全符合要求。邮箱内核含有两个互斥体,确保了一次只有一个处理器修改邮箱内容,   表1为邮箱内核存储器映射.
1.邮箱内核存储器映射表

偏移量
寄存器
名称
读/写
位描述符
31 … 16
15 … 1
0
0
Mutex 0
R/W
OWNER
          VALUE
1
Reset 0
R/W
 N/A
 N/A
RESET
2
Mutex 1
R/W
OWNER
VALUE
3
Reset 1
R/W
 N/A
 N/A
RESET

 

5.1.4视频处理模块

本系统采用NTSC制式摄像头。首先利用I2C协议对视频解码器ADV7181进行相关配置,则模拟视频信号经过解码器,输出8位的YCbCr4:2:2的数字视频流,在开发平台中对视频流进行解交织和色度空间变换等处理,输出分辨率为640*480RGB(444)信号,模块做为Avalon总线的从外设,通过CPU控制视频采集的开始和结束,由于视频数据量过大,系统通过Avalon总线规范中的主端口突发传输,将视频数据存入SDRAM的视频缓冲区,缓冲区大小为640*480*2个字节。图7为视频处理模块结构图。
 
 
 
 
 
 7 视频处理模块

 

 

1. 视频采集解码的实现

        由于DE1开发板并没有视频接口,所以我们根据系统的需求做了一块ADV7181的扩展板,通过GPIO与开发板连接。外接一个NTSC制式的摄像头,用I2C总线对视频解码芯片进行合理配置,配置完成后,视频解码器输出符合ITU-R656 YCbCr视频数据以及时钟和控制信号。
 视频解码模块包括两个部分:
(1)    利用对视频解码芯片ADV7181进行合理配置;
(2)    系统通过GPIO接收解码器输出的数据和时钟信号。
  图8为视频采集解码的硬件配置图。
 
 
 
 
 
8 硬件配置图

 

 

2. 视频转换及传输的实现

     本模块主要进行视频格式转换,视频解交织处理,视频数据抽取,视频数据的存储。
视频转换子模块完成的功能如下:
(1)    把视频解码器输出的YCbCr 4:2:2的视频流转换为YCbCr 4:4:4格式的数据。
(2)    把视频解码器输出的YCbCr 4:4:4的视频流转换为符合LCD显示的RGB格式的数据,这里主要是进行色度空间的转换;
(3)    根据DE1的VGA接口性能,需要对转换出来的视频数据进行色度抽取,将转换出来的30位的RGB数据,取各自的高4位, 变成12位,从而符合VGA的接口要求,而且减小了视频的数据量。
(4)    除去视频流中应当消隐的数据,只将有效的RGB数据提取出来,放至发送缓冲区。
(5)    视频的解交织处理,由于摄像头是隔行扫描,而LCD显示则需要逐行扫描,所以需要将数据的存储地址进行变换,将隔行变逐行,在这里采用主端口突发写传输的方式将数据写入SDRAM。

5.1.5 VGA控制核

VGA控制器按功能可划分为三个模块:VGA控制模块,FIFO控制器以及VGA时序产生模块。我们在实际处理时将VGA控制模块中的CPU接口部分和数据处理部分分别封装成为AVALON总线的从端口和主端口模式,首先接口部分收到CPU的控制信息然后发起主端口突发读传输,将从SDRAM中读到的视频数据写入FIFO,再以一个符合VGA时序的频率将数据送入VGA时序产生模块,经过处理模块将时序正确的RGB数据从VGA接口输出,写入LCD进行显示。整个VGA IP核的结构连接如图9所示。
 
 
 
 
 
 
 
                                   9 VGA控制核内部模块图
 
 

 1. FIFO控制器

VGA显示需要进行大批量的数据传送。在标准 VGA(640×480 60Hz)模式下,每个像素点的扫描周期只有40ns,如果直接用CPU来刷屏,会严重影响CPU的处理速度,为此,我们在考虑到系统的要求和速度的情况下,使用了Avalon 总线突发读传输读取显存数据,由于DE1开发板上DA转换有12位,这样,RGB数据只需要16位就可以提供一个像素点的数据,那么,在我们的640*480的图象解决方案上,只需要640*480*2个字节的数据,为了避免存储空间和片上资源的浪费,我们在每次读传输周期,向FIFO中存储3行的数据,即突发传输数(burstcount)为16*60 。在FIFO产生读空信号后,再存入3行的数据。系统框图如图10所示。
 
 
                     
                       10 VGA系统框图

 

2.    VGA控制模块和VGA时序产生模块

        VGA控制模块主要控制VGA模块的开始和其运行的状态,需要写一个Avalon 从端口响应CPU的控制信号,继而控制整个模块的运行。时序发生模块需要严格按照VGA时序进行编写,表2为VGA在640*480分辨率下时序要求。

2 VGA的行时序分辨率要求表

VGA模式
                   行时序
Configuration
分辨率(HxV)
同步脉冲
后沿(us)
有效(us)
前沿(us)
时钟(Mhz)
VGA(60Hz)
640x480
3.8us
1.9
25.4
0.6
25
VGA模式
                   场时序
Configuration
分辨率(HxV)
同步脉冲
后沿(lines)
有效(lines)
前沿(lines)
VGA(60Hz)
640x480
2 lines
33
480
10

 

 

根据计算,在像素时钟为25MHZ的情况下VGA行时序中,每行包括800像素点,其中640 点为有效显示区,160点为行消隐区(非显示区)。行消隐区包括:行同步信号 HS 的同步脉冲96个脉冲,后沿45个脉冲,前沿13个脉冲。 另外,有效时间包括的6个列过扫描边界列,在后沿和前沿中各加 3个;VGA 场时序中,每场有525行,其中480行为有效显示行,45行为场消隐区。场消隐区包括:场同步信号每场有一个脉冲,该脉冲的低电平宽度为2行,后沿30行,前沿9行;有效时间包括的4行过扫描边界行,后沿和前沿各加2行。图11为VGA模块图。
 
 
 

                                                                     11 VGA模块图

 

 VGA时序仿真图如图12.

 

 

 

 

12  VGA时序仿真图

 

 

3. 异步FIFO

异步FIFO采用ALTERA器件库中的IP核,宽度为32位,深度为1024位,有异步清零端与读空,写满信号。

 

5.1.6 LCD触摸屏

LCD采用夏普公司的LQ080V3DG01 TFT真彩屏,接VGA驱动板,驱动板与开发板相连,并使用四线电阻式触摸板,四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线。为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。
为了在Y轴方向进行测量,将顶部总线偏置为VREF,底部总线偏置为0V。将ADC输入端接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。图13显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF的总线接ADC的正参考输入端,并将设置为0V的总线接ADC的负参考输入端。
 
 
 
 
                         
 
 
                          13 简化模型
 
 
此四线电阻式触摸板采用11位AD转换芯片,采集的AD值送回开发板进行处理,由于传过来的AD值无法供GUI使用,所以需要校正为640*480的像素值,校正算法类似于线性代数中的空间变换,首先在屏上定义5个坐标,如图14所示,这些坐标的实际像素值已知,然后点击这些坐标,将AD值记录,其纵向因子系数,横向因子系数计算公式如式(3-2)。
 
 
 
                          
 
                           图14 LCD坐标轴示意图
 
 
 
KY={(YLA-YLC)/(YA-YC)+(YLB-YLD)/(YB-YD)}/2                (3-1)
KX={(XLB-XLA)/(XB-XA)+(XLD-XLD)/(XD-XC)}/2            (3-2)
式中有L的值为AD值,无L的值的值为像素值,然后再定义一个基坐标,根据KX,KY,和其AD值就可推出现在的像素值,见式(3-3),
    XF=(XLF-XLC)/KX+XC
  YF=(YLF-YLC)/KY+YC                               (3-3)

式中C点为基坐标,XC,YC为基坐标的像素值,XLC与YLC为基坐标的AD值。

5.1.7 SD

  1. SD卡基本知识介绍

SD卡是一种基于半导体快闪记忆器的记忆设备,也就是一种高度集成闪存卡,具备串行和随机存储能力,它被广泛地于便携式装置上使用。SD卡拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。正是由于SD卡的结构能保证数字文件传送的安全性,也很容易重新格式化,所以有着广泛的应用领域,音乐、电影、新闻等多媒体文件都可以方便地保存到SD卡中。在本监控系统中我们有各种体征参数,报警信息,还有声音文件等大量数据需要存储,DE1板上的存储空间有限,所以我们利用SD接口设计来扩充系统存储空间。

2. SD卡的硬件介绍

图15为SD卡的硬件结构图。
 
 
 
 
 
 
                  15 SD卡结构图
 
 
        从图15可以看出SD卡主要由接口引脚,接口控制,寄存器组和存储区四部分构成。由于我们无法直接访问其中的存储区域,所以只能通过接口引脚对SD卡内的寄存器组进行读写控制操作,而DE1开发平台已经为我们提供了标准的SD卡接口,所以在此重点介绍一下寄存器组部分。
由图15所示的SD卡结构图可以看出SD卡主要的寄存器包括5种,如表3所示。
 
3 SD卡的寄存器描述
名称
宽度
描述
CID
128
卡识别号:单独卡号码的识别
RCA
16
卡相对地址:卡在本地系统中的地址,在主机对卡初始化的过程中由卡动态分配
CSD
128
卡特别数据:有关卡操作条件的信息
SCR
64
SD卡配置寄存器:有关SD卡的特殊功能信息
OCR
32
操作条件寄存器

3. SD的工作协议描述

 
对SD卡的控制操作是通过一种问答式的协议来进行的。首先主端口在CMD信号线上发命令(CMD),接着卡发送响应(RESPONSE),如果需要数据传送,则数据在DAT信号线上传送。图16,图17分别为主端口对SD卡的读和写的操作示意图。
 
 
 

 

 

 

 

图16 对SD卡的读操作

 

 

 

 

 

 

17 对SD卡的写操作

 
  
  所谓SD卡的控制主要是对卡工作时状态模式转换的控制。 SD卡的工作模式可以分为不工作模式(Inactive Mode),卡识别模式(Card Identification Mode)和数据传输模式(Data Transfer Mode)。其所包含的状态见表4。
 
 
4 SD卡工作模式及其对应状态
卡状态
工作模式
不工作状态
不工作模式
初始状态
 
卡识别模式
准备状态
识别状态
待机状态
 
 
 
数据传输模式
传输状态
发送数据状态
接受数据状态
编程状态
断开状态

       

        其中不稳定模式只是在SD卡在开始阶段或者工作时出现不稳定状态的一个短暂的过程,主要的是另外两种工作模式,大致步骤为SD卡先通过识别模式识别卡的类型和状态,使卡达到稳定状态,主要起到初始化的作用,然后进入数据传输模式传输数据。

 

 

 
 
 
 
 
18 SD卡初始化流程图
 
 
 
 

 图18,图19分别为卡识别模式和数据传输模式的流程。

 

 

 

 
 
 
19 卡数据传输模式流程图
 

 

 

4. SD卡的接口设计   

SD卡上所有单元由内部时钟发生器提供时钟,接口驱动单元同步外部时钟的DAT和CMD信号到内部所有时钟。SD卡有两种通信协议:SD通信协议和SPI通信协议。与SPI通信协议相比,SD通信协议采用单根数据线理论,读写速度快,理论上可达25MB/S,可以满足此系统的需要,因此我们采用单根数据线的SD模式。在quartus开发平台的SOPC Builder中我们添加了三个PIO作为和SD卡交流的接口,分别为SD_CLK、SD_DAT和SD_CMD信号线。对SD卡的工作协议我们在Nios IDE中采用软件编程的方式来实现。

5. SD卡在软件系统中的实现

对SD卡配置实际上就是对其寄存器组的读写控制过程,通过对SD卡规范说明书以及其它有关SD卡资料的阅读,我们在Nios IDE中不仅完成了对SD卡驱动的编写,实现了SD卡初始化,也实现了对SD卡工作时序的控制,并且在FAT16文件系统的基础上实现了数据读写函数。

(1)SD卡的驱动

SD卡的初始化过程我们定义为函数SD_card_init(),它的实现过程主要为:
w通过使用命令CMD0使卡得到稳定的工作电压,这是卡正常工作的前提;
w采用命令CMD55+ACMD41来判断卡的类型,判断插入的卡是SD卡还是MMC卡;同时通过命令ACMD41使主机和卡的操作电压范围相匹配,发这个命令之后,卡会把它的OCR中的内容在Response中回过来。
w通过发送命令CMD2来获得卡的CID。CID为卡内的一个128位的寄存器,就像人的身份证一样。获得CID,就获得了卡的使用权限,使卡进入认证状态;
w分配卡的相对地址RCA(relative card address)为控制器对卡访问的唯一标志,HOST通过发送CMD3即可动态分配;
w设置读写块的大小,根据FAT16文件系统的要求,读写块的大小可设置为512字节。HOST发送命令CMD16来设完成此项任务。
w SD卡的读写以设置的数据块大小为单位来读写,每次读写都是块的整数倍。命令CMD17/CMD18和CMD24/CMD25分别对卡读一个或多个和写一个或多个数据块。在文件系统中我们通过SD_read_lba()函数和SD_write_lba()函数来实现。     

(2) SD卡的时序控制

在对SD卡进行操作的过程中,我们发现对SD卡时序的理解是件十分重要的事情。只有严格按照时序信息,才能让SD卡更好的工作。SD卡的读写时序如图20,图21。
 
 
 
  
 
 
3.20 SD卡读操作时序图
 
 
 
 
 
3.21 SD卡写操作时序图

 

 

表5是对图3.20,图3.21中参数的说明。
 
 
 
5 SD 卡参数说明

编码
描述
S
开始字节(=0)
T
传输字节(Host=1;Card=0)
P
循环一次拉高
E
结束字节(=1)
Z
高阻态(->=1)
D
数据字节
X
不关心数据字节(从SD卡)
.
重复
CRC
循环冗余编码字节(7位)
 
卡激活态
 
主机激活态

 

 

(3) SD卡的文件系统设计

 
 
① SD卡文件体系结构
 
 

 

 

图22 SD卡文件体系结构 

 

 

如图22所示,为SD卡的文件体系结构。应用程序层,通过SD卡文件系统层提供的函数来操作SD。SD卡文件系统层,实现对SD卡的文件操作。SD卡驱动层,实现对SD卡进行读写操作。
由于我们的系统使用的SD卡存储空间不超过1G,所以在SD卡的文件系统层采用FAT16可以很好的满足系统的要求。FAT(File Allocation Table)是“文件分配表”的意思。顾名思义,就是用来记录文件所在位置的表格,它对于SD卡的使用是非常重要的,假若丢失文件分配表,那么SD卡上的数据就会因无法定位而不能使用了。FAT16使用了16位的空间来表示每个扇区(Sector)配置文件的情形,故称之为FAT16。
文件系统由4部分组成:系统记录区(MBR),文件分配表(FAT),文件目录表(DIR)和数据区。
系统记录区通常包含4块内容:BIOS参数记录块BPB(BIOS Parameter Block),磁盘标志记录表,分区引导记录代码区和结束标志0x55AA。BPB表从扇区字节位移0x0b开始,占25字节。
FAT16的文件系统中有两份完全相同的文件分配表FAT1和FAT2,每份FAT表占用空间的大小可从BPB表中查得。文件在磁盘上以簇为单位存储,但是同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,往往会分成若干簇,FAT表就是记录文件存储中簇与簇之间连接信息的,这就是文件的链式存储。FAT16文件系统采用16位字长的分配表,最多可以管理216个基本存储单元
文件目录表DIR固定占32个扇区,每个扇区可以容纳16个登记项,每个登记项长32字节,记录了每个文件的代号、长度、属性、目录、生成和最后修改的时间以及文件的存储链在文件分配表中的入口。

        数据区用来存放文件数据,占用大部分磁盘空间,本系统定义其1块为512字节。

② SD卡文件系统的实现

 

 

 

         

                                   图23  文件创建流程图

 
 
文件的创建——通过函数CreatFile()来实现,创建流程如图23。
在SD卡上新建FAT文件,应首先在FAT表中查找尚未被使用的簇号,确定文件的起始簇号,并根据文件的大小,确定文件在FAT表格中的终止簇号,在相应的FAT[i]中写入起始与终止簇号。之后应在DIR区申请一个登记项,实际上就是在DIR区中建立一个32字节的文件目录。
文件的读写操作——通过函数OpenSD()来实现,读写流程如图24所示
 
 
 
 
 
 
 
 
 
 24 文件读写流程图
 
 
SD卡上文件都是以簇为单位存取的。读SD卡上的文件,首先要根据文件名查找到该文件的目录登记项,根据目录登记项中的起始簇号既可找到文件在数据区中第1簇的内容,又可在FAT表中找到第2个簇号,根据第2个簇号又能找到第2簇的内容和FAT 表中的第3个簇号,以此类推,可读取到全部文件数据。向SD卡写文件,要保证FAT1和FAT2中内容的一致性,即对两块都要进行同样的写操作。

 

5.1.8μC/GUI

1. GUI应用程序简介

μC/GUI不仅提供了丰富的界面元素(窗体,各种控件)和绘图函数,同时也提供了很好的颜色管理和汉字支持,对硬件也提供了良好的底层驱动支持。我们的应用程序正是基于这样的图形用户接口开发的。此系统GUI显示的设计中,我们考虑到文字库代码量大的问题,将其中显示汉字的部分用压缩位图代替,系统界面如图25、图26和图27所示。
 
 
 

 

 

                                                                 25 系统进入界面

 
 
 

 

 

 

                                                         图26 功能选择界面

 
 
 

 

 

 

                                                                             图27 主界面

 

应用软件设计流程图如图28所示:
 
 
 
 
 

 

 

 

                              图28 应用程序开发流程图

 

 

2. GUI移植

 
首先定义GUIConf.h和LCDConf.h这两个文件,前者是μC/GUI功能模块和动态存储空间(用于内存设备和窗口对象)大小,默认字体设置等基本GUI预定义控制的定义。后者LCDConf.h为LCD大小,控制器类别,总线宽度,颜色选取等LCD参数控制文件。GUI/CORE/LCD_ConfDefaults.h文件内可以找到所有囊括LCD配制默认选项,包括LCD屏个数,控制器个数 ,调色板,屏幕反向设置等众多配制选项。如果配备触摸屏可以通过GUITouchConf.h进行配制,根据触摸屏及其控制芯片编制以下几个函数:
void TOUCH_X_ActivateX (void);// 准备X轴数据测量
void TOUCH_X_ActivateY (void);// 准备Y轴数据测量
因为在我们的软件中不需要测量X、Y轴的数据,所以以上两个函数在我们的软件中均为空结构体;
int  TOUCH_X_MeasureX(void); // 根据AD转换结果返回X的值
int  TOUCH_X_MeasureY(void); // 根据AD转换结果返回Y的值
以上几个函数在GUI_TOUCH_Exec()会被调用,将它们写好就可以了。
触摸屏触点位置的获得是通过调用GUI/core/目录中GUI_TOUCH_DriverAnalog.c文件中的 GUI_TOUCH_Exec( )函数来实现的,对该函数进行修改后的伪代码如下:
void GUI_TOUCH_Exec(void)
{
读取触点在触摸屏上(x, y)点实际坐标值;
进行实际坐标值到逻辑坐标的转换;
调用GUI_TOUCH_StoreState(x, y)保存逻辑坐标值;
}
系统为了实时得到触点坐标,需要不断调用GUI_TOUCH_Exec( )函数,但在GUI系统设置时,我们并没有使用UC/OSII操作系统,所以不能用单独的一个任务对该函数进行调用。我们只在触摸中断服务函数中调用GUI_TOUCH_Exec( )函数,并复位当前的触点状态(包括坐标和是否按下标志),这样就可以比任务的方式更快地响应触摸动作。
图29表示了μC/GUI的软件结构:
 
 
 
 
 
       
 
                             图29 μC/GUI的软件结构图

 

 

 

 

 

3. LCD驱动程序

 

 

通过修改μC/GUI自带的驱动程序,对缓冲区的读写改写成对显存的读写,就可实现LCD的正确显示。
色彩方面,我们使用的VGA接口只接收12位的数据,而在LCDConf.h中我们配置每像素用16位表示,这里就需要色彩的转换,将16位的色彩值转换成12位的,具体的转换如下:
b=(ColorIndex&0xf800)>>12;
g=(ColorIndex&0x07e0)>>7;
r=(ColorIndex&0x001f)>>1;
ColorInde为16位数据。这样通过转换后的颜色会有一定的变化,但不是很明显。
 
 

5.1.9μC/OSII

 

 

1. uC/OS II简介及组成

uC/OS-Ⅱ实际上是一个实时操作系统内核,只包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能。没有提供输入输出管理、文件系统、网络之类的额外服务。但是由于uC/OS-Ⅱ的可移植性和开源性,用户可以自己添加所需的各种服务。目前,已经出现了第三方为uC/OS-Ⅱ开发的文件系统、TCP/IP协议栈、用户显示接口等。
对于一个多任务操作系统来说,任务间的通信与同步是必不可少的。uC/OS-Ⅱ提供了四种同步对象,分别是信号量、邮箱、消息队列和事件。通过邮箱和消息队列还可以进行任务间的通信。所有的同步对象都有相应的创建、等待、发送的函数。但这些对象一旦创建就不能删除,所以要避免创建过多的同步对象以节约系统资源
uC/OS-Ⅱ的大部分代码是用ANSI C写成的,只有与处理器硬件相关的一部分代码用汇编语言编写。所以uC/OS-Ⅱ的移植性很强,可以在绝大多数8位、16位、32位微处理器、数字信号处理器上运行
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。

 

(1) 核心部分(OSCore.c)

 
是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。

 

(2) 任务处理部分(OSTask.c)

 
任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。

 

(3) 时钟部分(OSTime.c)

 
μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。

 

(4) 任务同步和通信部分

为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。

 

(5) 与CPU的接口部分

这里的接口部分是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。

 

2.μC/OS II在本系统中的应用

       
        在本系统中μC/OS II是CPU1运行的基础,其中利用MailBox实现双核之间的通信。各个任务之间的调度都是依靠μC/OS II完成的,主要调度发送短信任务、接收短信任务、双核通信任务、监控任务这4个任务,大大提高了系统的实时性。

 

5.1.10串口通信

 
带Avalon接口的通用异步接收器/发送器内核为Altera FPGA上的嵌入式系统和外部设备提供了串行字符流的通信方式。内核执行RS—232协议时序,并提供可调整的的波特率。用户可配置奇偶校验位、停止位和数据位,以及可选的RTS/CTS流控制信号.
DE1开发板上只提供的一个标准串口,而触摸屏和网络模块接口都是通过UART来实现串口通信,所以我们外接了一个MAX232芯片,做电平转换,以适合I/O口的TTL电平。
本系统中,所有用到的UART都设置为9600bps,数据格式全部为8个有效位和一个停止位。
因为NiosII提供的UART的驱动程序在使用中会造成CPU的挂起并很难判断数据包的起止与终止,因此我们对每个外设都编写了与其对应的UART中断服务函数,并且对其做了适当优化。中断服务如图30所示。
 
 
 
 
 
 
                                   
                            30 串口中断服务示意图
 
 

5.1.11 A/D转换IP核

前端的采集信号如何能保证信号数据的不失真,数据不丢失问题,是我们对AD模块设计的考虑重点。

 

 

(1)AD时序控制模块

 
系统采用的AD转换芯片为ADS7822。ADS7822 是一种可在 2.7~3.6V 的电源电压下工作的12位单通道A/D转换器,根据情况的不同也可在 2.0~5V 的电源电压下工作,ADS7822 的参考电压可在50mV到V之间任意设置,参考电压的大小直接决定了模拟输入的范围。A/D变换的结果通过串行口输出。具有低电压、微功耗、结构简单和体积小的特点。其采样速率可达75KHz,能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。它的内部结构图如图31所示。
 
 
 
 
                               31 ADS7822转换器的内部结构图
 
 
 
图32为ADS7822芯片工作的时序图
 
 
 
 
 
 
 
 
32 ADS7822时序图
      
 
 
 
         由此可见,在自ADS7822的I/O CLOCK端输入16个外部时钟信号期间需要完成以下工作:CS下降沿来临,准备本A/D转换;对本次转换的输入模拟信号采样并保持;接收上次转换出的12位数据;启动本次A/D转换。
要在FPGA中实现ADS7822模数控制器,可以用Verilog HDL语言的控制状态机设计的仿真如图33。
 
 
 
 
 
 
 
 
                                                                              33 状态机时序
      
 
 
        dout为采集的数据串行输入,时钟ioclock由系统时钟通过分频系数得到。作为采样控制时钟,这样可以根据需要来调整采样速率。

(2)IP核封装

        通过将AD转换时序控制器和采样时钟分频器等控制寄存器与总线接口信号相结合,就构成了AD转换IP核的结构。在SOPC Builder中将其封装成为IP核即可挂到Avaln总线上进行使用。它的模块图如图34。
 
 
 
 
 
 
                         图34 AD转换IP模块图
 
 

5.1.12心电

        本次设计的主要任务为设计一个简易心电图仪,可测量人体心电信号并在DE1开发板的控制下实现在液晶显示器上显示.示意图如图35所示。
 
 
 
 
 
35 简易心电图仪示意图
 
 
导联电极说明:
RA—右臂;LA—左臂;RL—右腿.
导联电极接法:RA接放大器反相输入端(-),LA接放大器同相输入端(+),RL接反馈浮置.
 

◆ 心电信号属生物医学信号,具有如下特点:

(1)信号具有近场检测的特点,离开人体表微小的距离,就基本上检测不到信号;

(2)心电信号通常比较微弱,至多为mV量级;

(3)属低频信号,且能量主要在几百赫兹以下;

(4)干扰特别强。干扰既来自生物体内,如肌电干扰、呼吸干扰等;也来自生物体外,如工频干扰、信号拾取时因不良接地等引入的其他外来串扰等;

(5)干扰信号与心电信号本身频带重叠(如工频干扰等)

◆ 针对心电信号的上述特点,对采集电路系统的设计分析如下:

(1)信号放大是必备环节,而且应将信号提升至AD输人口的幅度要求,即至少为“V”的量级;

(2)应尽量削弱工频干扰的影响;

(3)应考虑因呼吸等引起的基线漂移问题;

(4)信号频率不高,通频带通常是满足要求的,但应考虑输入阻抗、线性、低噪声等因素。

(5)电源部分和放大滤波电路相隔离,削弱电源信号对放大和滤波电路的干扰.

1 采集电路的设计分析过程

总体设计如图36所示。
 
 
 
 
图36 心电电路处理设计

(1) 低通滤波电路

       在此我们采用两阶低通有源滤波电路,因为一阶有源低通滤波电路简单,幅频特性衰减斜率只有-20dB/十倍频程,因此,在fo处附近选择性差,希望衰减斜率越陡越好,只有增加滤波器的阶数来实现。
二阶有源低通滤波电路如图37所示。
 
 
 
 
 
                                       37 有源低通滤波电路
 
 
幅频特性图如图38所示。
 
 
 
 
 
 
                                        38 幅频特性
 
 
 
一阶和二阶有源低通滤波电路的幅频特性曲线如图39。
 
 
 
 
 
 
 
                                  39 滤波电路幅频特性
 
 
 
 
所以,二阶的低通滤波器更适合我们的电路要求。

(2) 前置放大电路

       由于人体心电信号的特点,加上背景噪声较强,采集信号时电极与皮肤间的阻抗大且变化范围也较大,这就对前级(第一级)放大电路提出了较高的要求,即要求前级放大电路应满足以下要求:
  高输入阻抗;高共模抑制比;低噪声、低漂移、非线性度小;合适的频带和动态范围。
  为此,选用Analog公司的仪用放大器AD620作为前级放大(预放)。AD620的核心是三运放电路(相当于集成了三个OP07运放),其内部结构如图1所示。
 
 
 
 
 
 
 
 
 
 
                                                      图40 AD620医用仪表放大器的内部简图
 
 
 
 
       该放大器有较高的共模抑制比(CMRR),温度稳定性好,放大频带宽,噪声系数小且具有调节方便的特点,是生物医学信号放大的理想选择。根据小信号放大器的设计原则,前级的增益不能设置太高,因为前级增益过高将不利于后续电路对噪声的处理。
根据以上分析,前置放大电路的设计如图41所示。
 
 
 
 
 
41 前置放大电路设计
 
 
 
并运用Multisim 2001仿真, 仿真过程采用O.5 MV,1.2 Hz的差分信号源为模拟心电输入来模拟电路的放大过程,结果满足要求。

(3) 高通滤波器(消除基线漂移)

  在电路部分加上简单的高通滤波环节,对隔断直流通路和消除基线漂移将会起到事半功倍的效果,本部分电路置于预放大与信号放大电路之间,一个简单的无源高通滤波电路,具体电路如图42所示:
 
 
                                                              
               
                                                                                42 0.03HZ高通滤波电路
其特征频率(转折频率)计算为:
 
 
        
      经过高通滤波后,可以大大削弱0.03 Hz以下因呼吸等引起的基线漂移程度,心电信号低频端也就相应地取该频率。

(4) 高通滤波器(消除基线漂移)

引入补偿电路,是为了抵消人体信号源中的干扰(包括工频干扰)。引入补偿电路的方法:在前级放大电路的反馈端与信号源地端建立共模负反馈,为提高电路的反馈深度,将反馈信号放大后(仍采用OP07)接人信号源参考端,这样可以最大限度地抵消工频干扰。引入的这种电路形式,根据其结构和功能,可形象地将其称为“反馈浮置跟踪电路”。

(5)次级放大电路(信号放大)

第二级放大电路主要以提高增益为目的,选用普通的AD OP07即可满足要求。
3 具体电路详细设计
 最后的综合电路如图43所示。图中U3单元为AD620前置放大;U1为反馈浮置跟踪部分;U2为第二级放大输出部分。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43 心电图电路设计
 
 
 
 
 
 
该电路增益估算为:
第一级放大:
 
 
            
 
 
第二级放大:
 
           
总增益:
 
 
         
 
 
        实际增益由于高通滤波及其他损耗的存在,要比理论估算值略小,但已满足放大输出的要求。
          验证仿真波形如图所示:
         当输入信号为2mVrms 5 hz 和 1.2mVrms 200hz 信号时Multisim中的仿真波形如图44所示
 
 
 
 
 
 
 
                                                           图44 心电仿真波形
 
 
 
电路实物图如图45所示。
 
 
 
 
 
 
 
 
45 心电电路实物图

5.1.13视频识别

本系统的图像识别算法以CamShift运动跟踪算法理论为基础,通过提取其中的核心算法与思想,并对实际模型进行简化处理,可从视频图像中判断出病人的移动情况。

5.2 PC端服务器

5.2.1软件介绍

    服务器端软件由两个部分组成,后台程序和图形交互程序。其中后台程序可以独立运行,也可以和图形交互软件作为一个程序运行。

5.2.2软件功能

    1)接收网络模块发送的数据,并且链接数据库。
    2)判断是否要显示报警信息,根据实际情况发出报警提示。
    3)显示历史数据,以波形的形式显示历史数据,并实时更新。

5.2.3实现原理

后台程序利用socket套接字的流式套接字,监听PC机的6000端口,如果有链接则接受网络中传送的数据,并且分析数据是否是应用层规定的有效数据。如果是有效数据,则分析其发送的信息,如果不是有效信息则忽略。由于使用TCP方式链接,因此不会发上数据丢失的情况,保证了整个系统的稳定性。
应用层定义的有效数据可分为测量的数据信息和报警信息。数据格式如下:
 
起始位
标志位
数据段
结束位
如果接受到的数据位测量的数据,则将数据存放到相应的数据库中,并且判断数值是否正常,如果超出正常值的范围,则根据数据对应的检测值发出相应的报警信息。如果是报警信息,则直接发出对应的报警信号。
报警信号以弹出对话框和终端字幕提醒的方式显示,便于观察。示例如下
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
图形交互程序: 为了便于在远程PC上观察病人的情况并把病人信息能及时反馈给病人家属,通过vb中的开始接收数据和结束接收数据按钮分别控制开始接收网络中传来的病人的相关参数信息并存到Oracle数据库中和停止接收传来的数据,再使用连接字符串的方法将Oracle数据库中的信息导入到Adodc控件中,并使绘制病人各参数曲线的Mschart控件的数据源为Adodc中的数据,这样就可以绘制出参数的曲线图,为了便于医护人员的分析和家属对病人情况的了解,特设了各参数分析的按钮,它可实时打印出当前各参数的报表,更便于归档保存。这些远端pc上的功能使得医护人员能随时根据各参数曲线图了解病人的情况,利于病人的治疗。
 Vb中显示参数曲线图如图46(以体温为例):
      (注:从16以后的参数是为了测试报警信息,用温水测试的。)
 
 
 
 
 
 
 
 
 
 
 
46 体温参数曲线图
 
 
5.2.4数据流程图
 
 
 
 
 
 
 
 
                                                        图47 数据处理流程图

5.2.5数据库设计

 

       由于医院病人人数多和需要存储信息量大,因此我们使用了适宜存储数据量大、安全性高和稳定性强的Oracle数据库,在数据库中建立了用于存储数据的四张表,各表的表名和相应列名如下:
temp(体温):次(列名1),体温(列名2);
pulse(脉搏):次(列名1),脉搏(列名2);
bp(血压):时间(列名1),血压(列名2);
 

 

(Revision: 25 / 2009-09-14 09:59:56)

6. 设计特点 (Preliminary Paper)

 

1视频识别系统
    视频识别系统实时识别病人的移动情况,将移动报警信号通过网络传输。该系统由于要使用到网络,所以我们通过将DE1开发板的GPIO设置为UART串口,使其与SS-TCP网络模块相连,达到传输的目的。
 
2. CamShift算法
 该算法是一种运动跟踪算法,它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。利用改进的Camshift算法对人手实时跟踪,再把时空轨迹分析与时序模板结合,使用时序模板轨迹把手势运动的时空轨迹压缩到一幅图像中,用Hu矩提取时序模板轨迹的形状特征,作为支持向量机分类的训练数据实现动态手势的识别。该系统具有较好的鲁棒性和实时性,与传统的时序模板方法相比识别率有了较大提高。
 
3.    远程监护
 远程监护以计算机和网络通信为基础,通过远程视频报警信号和传感器信号来反映所监护病人的情况。远程PC机上包括专家分析系统和报警接收系统。
 
4. 专家分析系统
    专家分析系统是以终端PC机为载体,通过VB设计,可分析由监护仪传来的病人各项参数并通过曲线显示。经该系统分析病人的体征及服用某种药物后其身体反应。不仅可以达到医护病人的目的,而且也对医院监护提供了便利。
 
5双NiosII软核处理器
双核的使用加快了系统间的调度,提高了系统的性能,为各个模块间的通信提供了便利。我们使用Altera FPGA来实现双核,可以大大降低硬件成本。双核之间的通信是通过SOPC中的邮箱机制实现的。
 
6. 传感器网络
    本系统包括血压、脉搏、体温传感器,通过数据采集板和AD/DA转换采集人体的各项参数,经过DE1开发板处理,将数据实时传递给LCD显示,并通过远程监护PC机对各参数进行分析。
 
7µC/GUIµC/OS II在嵌入式系统的应用
µC/GUI是整个导航模块的设计平台,它不仅提供了丰富的界面元素(窗体,各种控件),同时也提供了很好的颜色管理和汉字支持,对硬件也提供了良好的底层驱动支持。通过它我们将完成应用程序的编制,提供友好的用户界面。
µC/OS II作为该系统的任务调度平台,高效可靠。
 
8. SD卡文件系统
根据本系统的要求,我们可以利用DE1提供的SD卡接口开发更加适合自己的文件系统,增强了系统的灵活性。
 
9. LCD液晶屏显示
DE1 开发板支持各种串口,在这里我们将利用UART串口与LCD相连,并在LCD 上逐条显示各个参数的信息以及对病人的健康建议等。
 
10. 自定义外设
    系统采用多种自定义外设,VGA控制器、视频处理模块等,可以提高系统的使用效率。
 
11. 自动报警功能
   为了更好的监护病人的情况,当病人的某项指标超标时,系统会自动发出警报通知病人的家人或医护人员,以便及时进行处理。
(Revision: 3 / 2009-09-14 09:36:07)

7. 总结 (Final Project Paper)

 

七、总结

本次大赛中,我们的设计作品“数字化多参数监护仪”按照预期的计划实现了大部分设计,但没有实现视频的网络传输。通过本次大赛,我们对SOPC理念有了全面的认识,它灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能对我们本次大赛的设计都提供了很好的设计平台。同时,通过本次大赛,我们还得到了很多μC/OSIIμC/GUI、视频图像处理、模式识别、网络传输、Oracle数据库以及传感信号处理方面的经验,为以后的设计奠定了良好的基础。
通过本次大赛,我们充分认识到团队合作的重要性。几个月的竞赛时间里,我们一同努力,面对困难,互相鼓励,终于克服了诸多困难完成了设计。这将是我们的一次难得经历。同时,我们还要感谢给予我们指导的老师,是他们的支持和帮助让我们完成了本次竞赛。
最后,谢谢ALTERA公司提供这次竞赛的机会。
(Draft / 2009-09-13 23:57:26)