1、第八章 医学仪器嵌入式应用8.1 嵌入式医学仪器设计概述 嵌入式医学仪器应视为一个数据采集与信息处理系统,其设计应遵循数据采集与信息处理系统的原则,它的技术路线与方案如下所示:1.安全可靠安全可靠 医学检测系统中的控制计算机不同于一般的用于科学计算或管理的计算机,它所担当控制重任不允许它发生异常现象。因此,在设计过程中,要把安全可靠放在首位。从上述观点出发首先要选用高性能的控制计算机,其次还常设计后备装置,对于特殊的控制对象还得设计成双机系统。2.操作维护方便操作维护方便 操作方便表现在操作简单、直观形象、便于掌握,并不强求操作人员要掌握计算机知识才能操作。因而本系统操作显示界面应遵循上述原则
2、进行设计。3.实时性强实时性强 医学检测仪器系统的实时性,表现在对内部和外部事件能及时地响应,并做出相应的处理,不丢失信息,不延误操作。4.通用性好通用性好 医学仪器中的控制计算机的通用性体现在两方面,一是硬件模板设计采用标准总线结构,配置各种通用的功能模板,以便在扩充功能时,只需增加功能模板就能实现;二是软件模块或控制算法采用标准模块结构,用户使用时不需要二次开发,只需按要求选择各种功能模块,灵活地进行控制系统组态。5.经济效益高经济效益高 计算机控制应该带来高的经济效益,系统设计时要考虑性能价格比,要有市场竞争意识。经济效益表现在两个方面,一是系统设计的性能价格比要尽可能的高;二是投入产出
3、比要尽可能的低。8.2嵌入式数据采集系统组成嵌入式数据采集系统组成 数据采集系统(图8-1)由多路开关、采样/保持器、放大器、A/D转换器、计算机等组成。数据采集要经过采样和量化两个步骤。采样过程由多路开关、采样/保持器完成(如信号变化很慢,也可以不用采样/保持器)。多路开关将各路信号轮流切换到输入端。A/D转换器将采样信号量化,将转换成的数字量输入到计算机中。放大器、滤波器可根据被测信号的大小、频谱分布及干扰的强弱选用。传感器传感器传感器多路开关放大器计算机A/D转换器采样/保持器图8.1 数据采集系统组成8.3 嵌入式医学仪器嵌入式医学仪器系统软件设计系统软件设计1 系统软件定义与需求分析
4、 系统软件定义:系统软件定义的目的是明确系统目标规模和基本要求,确定系统软件实现的基本功能和系统输入及输出。需求分析:需求分析的基本任务是软件开发人员与用户一起完全弄清用户对系统的确切要求。目的是确定目标系统的运行环境与性能要求以及系统功能。2 面向对象系统软件概要设计 通过以上系统基本功能的确定与需求分析后,我们就可以进一步进行程序设计,以确立系统的对象模型、动态模型、功能模型。对象模型是三个模型中最关键的一个模型,它表示静态的、结构化的系统的“数据”性质。描述了系统的静态结构。建立对象模型首先确定对象、类,然后分析对象的类及其相互关系 对象:是系统中用来描述客观事物的一个实体,是构成系统的
5、一个基本单位,由一组属性和对这组属性进行操作的一组服务构成。类:是具有相同属性和服务的一组对象的集合。类为属于它的全部对象提供了统一的抽象描述(属性和服务)动态模型:描述对象和关系的状态、状态转换的触发事件以及对象的服务(行为)。即描述对象和关系的生成周期。状态:对象在其生成周期中的某个特定阶段所具有的行为模式。事件:事件是引起对象状态转换的控制信息。服务:也称为行为,对象在某种状态下所发生的一系列处理操作。建立动态模型过程:编写脚本(用例)提取事件 顺序图 状态转换图 功能模型:用来说明如何处理数据,数据之间有何依赖关系,并表明系统的有关功能。建立功能模型过程:确定输入、输出值画数据(程序)
6、流程图定义服务。系统软件设计思路图8.2 设计思路图.嵌入式开发环境的建立嵌入式开发环境的建立(以嵌入式操作系统为例).安装虚拟机和Linux操作系统基于Linux操作系统的嵌入式系统开发环境可在宿主机上安装Linux操作系统。在开发过程中计算机可安装了虚拟机VMware,并在这基础上安装了Linux操作系统 Ubuntu。在VMware上安装Linux操作系统 Ubuntu 有几个好处。安装完成并启动Ubuntu后,鼠标即可在windows系统和Ubuntu系统之间自由切换。windows系统和Ubuntu系统之间还可以使用复制、粘贴数据的功能 可以通过建立共享文件夹的方式,方便两个操作系统
7、间传送数据、文件。.建立交叉编译环境建立交叉编译环境 开发环境搭建:根据所选及开发板确定使用交叉编译工具链。在编译好交叉编译工具链后,要在环境变量的PATH中添加编译工具的路径(也就是arm-*-linux-*-gcc所在的路径),这样在编译时系统才找得到编译器的命令。在 Ubuntu下的修改方法如下:1.vi/.profile,2.在最后加上:PATH=:$PATH。建立建立nfs 服务器服务器:安装安装 nfs服务器程序服务器程序、配置服务器端配置服务器端、测试测试服务器服务器.QT图形界面开发环境的建立图形界面开发环境的建立 安装交叉编译环境安装交叉编译环境下载下载、解压解压交叉编译器,
8、修改环境变量修改环境变量;把交叉编译器的路径加入到把交叉编译器的路径加入到PATH;检查是检查是否将路径加入到否将路径加入到PATH;测试是否安装成功测试是否安装成功。QT/Embedded安装移植下载QT/Embedded源码包(如有触摸屏则还需下载tslib1.4.tar.gz)、配置ubuntu 编译环境、编译及安装qt-x11-opensource-src-*(作用:产生Qt开发工具,如designer、qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以调试Qt应用程序)、编译配置QtEmbedded-4.5.3-x86(或-x)版本、编译安装tslib1.4(如有触
9、摸屏)在宿主机上建立NFS启动根文件系统,把编译好的库文件复制到相关目录下。.实例实例:基于嵌入式技术的便携式心电监护基于嵌入式技术的便携式心电监护仪仪软件系统软件系统设计设计1.系统硬件总体结构 图8.3 硬件结构框图 2.软件系统设计 使用面向对象的程序设计方法利用Qt进行编程。设计步骤如下:A)系统软件定义与需求分析 系统软件定义:基于32位嵌入式系统的便携式心电监护系统,具有心电信号实时显示和简易自动分析功能,并能对心电异常作及时报警处理,可应用于家庭、社区医院及流动医疗站等场所。需求分析:实时地采集心电和动态显示心电信号计算并显示心率计算并显示ST 段幅值心率报警,当心率异常时,亮报
10、警灯或鸣报警声ST段幅值报警,当ST段幅值超出某个范围值时,亮报警灯或鸣报警声报警设置,可以分别设置心率和ST段的正常范围冻结,心电信号停止动态显示,能前后查看显示实时时间去除50Hz工频干扰可选择采样频率,可选择显示放大倍数B)系统软件概要设计 设计对象模型I.画出用例图图8.4 心电监护用例图扫描速度选择设置滤波参数设置报警参数软增益刷新显示Timer1停止心电波形采集显示心电信号冻结心电信号停止报警设置参数采集心电信号医生启动报警II.细化用例(说明用例)Use case:采集心电信号ID:1Brief description:采集心电信号,保存至缓冲区 Primary actors:U
11、serPreconditions:启动硬件设备,连接好心电导联Main flows:1.用户点击“开始”按钮2.系统开始采集心电信号,保存至缓冲区,3.“开始”按钮变为“停止”扩展点:处理心电信号Post conditions:系统发送提示缓冲池已满的信号Alternative flows:没有Use case:停止心电信号采集ID:2Brief description:停止采集心电信号Primary actors:UserPreconditions:启动硬件设备,连接好心电导联Main flows:1.用户点击“停止”按钮2.系统停止采集心电信号,3.“停止”按钮变为“开始”Post con
12、ditions:Alternative flows:没有Use case:显示心电信号ID:3Brief description:系统在屏幕上动态显示心电信号Actors:用户Preconditions:没有Main flows:1.(o1.)用户选择“播放”心电信号2.系统接收缓冲池已满的信号,更新显示内容3.(o2.)系统在屏幕上显示心电信号4.系统将“播放”转换为“冻结”Post conditions:没有Alternative flows:没有Use case:冻结心电信号ID:4Brief description:系统在屏幕上静态显示心电信号Actors:用户Precondition
13、s:没有Main flows:1.(o1)用户选择“冻结”心电信号2、系统接收缓冲池已满的信号3.(o2)系统在屏幕上显示心电信号4.系统将“冻结”转换为“播放”Post conditions:没有Alternative flows:没有Use case:设置参数ID:5Brief description:用户设置系统运行的参数Actors:用户Preconditions:没有Main flows:1.1如果用户选择了“软增益”系统显示软增益设置界面,用户设置软增益1.2如果用户选择了“扫描速度选择”系统显示扫描速度选择设置界面,用户设置扫描速度1.3如果用户选择了“设置滤波参数”系统显示设置
14、滤波参数设置界面,用户设置滤波参数1.4如果用户选择了“设置报警参数”系统显示设置报警参数设置界面,用户设置报警参数2.用户点击“确定”按钮3.系统保存参数Post conditions:没有Alternative flows:没有Use case:启动报警ID:6Brief description:系统停止声光报警Actors:用户Preconditions:系统已启动Main flows:1、用户按下“启动报警”按钮2、系统启动报警检测3、“启动报警”按钮转换成“停止报警”Post conditions:没有Alternative flows:没有Use case:停止报警ID:7Brie
15、f description:系统停止声光报警Actors:用户Preconditions:系统已启动Main flows:1、用户按下“停止报警”按钮2、系统停止声光报警3、“停止报警”按钮转换成“启动报警”Post conditions:没有Alternative flows:没有Use case:刷新显示ID:8Brief description:系统刷新显示界面Actors:系统定时器Preconditions:系统已启动Main flows:1、系统刷新定时器定时时间到2、系统刷新显示界面Post conditions:没有Alternative flows:没有III.确定设计类EC
16、Gmonitor 心电监护类DeviceRecorder 采集设备类VolumeDialog 软增益对话框类SpeedDialog 扫描速度对话框类FilterDialog 滤波设置对话框类AlarmDialog 报警对话框类Alarm 报警类IV.确定类关系DeviceRecorderFilterDialogVolumeDialogSpeedDialogAlarmECGmonitorAlarmDialogQWidgetQDialogRecorder 设计动态模型图8.5 启动、停止心电信号采集顺序图后面内容直接删除就行资料可以编辑修改使用资料可以编辑修改使用资料仅供参考,实际情况实际分析主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等秉着以优质的服务对待每一位客户,做到让客户满意!致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求The user can demonstrate on a projector or computer,or print the presentation and make it into a film to be used in a wider field