《医学仪器设计课件5虚拟医学仪器设计》由会员分享,可在线阅读,更多相关《医学仪器设计课件5虚拟医学仪器设计(53页珍藏版)》请在金锄头文库上搜索。
1、第四章 虚拟医学仪器设计医学仪器整机设计的捷径 4.1 概述概述 4.2 虚拟医学仪器硬件接口设计虚拟医学仪器硬件接口设计 4.3 虚拟医学仪器软件接口设计虚拟医学仪器软件接口设计 4.4 虚拟仪器专用软件与设计实例虚拟仪器专用软件与设计实例专题:虚拟医学仪器简介专题:虚拟医学仪器简介 4.1 概述虚拟医学仪器虚拟医学仪器virtual medical instrumentation一种基于(或主要基于)通用计算机的软硬件资源而设计的医学仪器。缩短了研究开发的周期整机设计与研究的便捷途径 4.1 概述两种可选择的方案:两种可选择的方案:(1)完全基于通用计算机(PC或工作站)软、硬件资源的设计
2、(2)基于商业化的虚拟仪器开发环境的设计特点特点计算机参与测试,即集控制、计算与测量于一计算机参与测试,即集控制、计算与测量于一 体,体, 充分利用计算机资源,使传统医学仪器的充分利用计算机资源,使传统医学仪器的 部分硬件软件化(尤其是控制面板设计等)。部分硬件软件化(尤其是控制面板设计等)。 4.1 概述与与传统的医学仪器相比几个优点:传统的医学仪器相比几个优点:q 用户可以利用开放式结构组建虚拟仪器的功能与结构q 强大的计算处理能力和仪器硬件的测量、控制能力q 十分强大的数据处理能力和通信功能q 可重复使用、可移植、可重构的优势q 提高了系统的透明度、可靠性和可维护性 4.1 概述 虚拟医
3、学仪器通常由用通用计算机、扩充的硬件虚拟医学仪器通常由用通用计算机、扩充的硬件模块和软件模块三大部分构成,以计算机系统为主体。模块和软件模块三大部分构成,以计算机系统为主体。 其中硬件模块一般又由三个部件组成,即接口驱其中硬件模块一般又由三个部件组成,即接口驱动部件、医学功能部件、医学传感器或作用部件。动部件、医学功能部件、医学传感器或作用部件。 软件模块即是实现仪器全部功能的应用软件,当软件模块即是实现仪器全部功能的应用软件,当然也包含通用计算机中与之相关的系统软件。然也包含通用计算机中与之相关的系统软件。 4.1 概述 4.1 概述 计算机系统指通用计算机,如计算机系统指通用计算机,如PC
4、机或工作站,仪器的全套应机或工作站,仪器的全套应用软件设计均在这里完成。用软件设计均在这里完成。 其中针对信号层面、物理层面的设计,大多采用C语言或汇编语言实现; 而涉及人机界面和管理层面的设计,大多采用可视化的编程语言,如VB、VC、C+ Builder、Delphi等来实现。 商业虚拟仪器设计软件,大多提供的是给为直观、简便的图形化编程语言(如LabView) 。 对于复杂度较大的科学计算,还可借助Matlab来实现。 4.1 概述硬件模块:(1)接口驱动部件面向计算机总线的设计(2)医学功能部件核心部件(3)软件模块系统软件、工具软件、医学应用软件 4.2 虚拟医学仪器硬件接口设计 用户
5、硬件模块的接口设计实质上是面向计算机总线的设计,因此虚拟医学仪器的设计应遵循计算机系统总线的标准。 总线是构成计算机系统的框架,是多个系统部件之间进行数据传送的公共通路。 同一台计算机系统的各个部件如CPU、内存、通道和各类I/O接口间互相连接的总线,称为系统总线。 4.2 虚拟医学仪器硬件接口设计系统总线:系统总线:(1)物理结构一束扁平电缆线,物理特性包括系统总线的物理连接方式(总线的根数、插头、形状、引脚线的排列方式)(2)功能总线中每一根线的功能(3)电气特性每一根线上信号的传递方向和有效电平范围(4)时序每根线在何时有效 4.2 虚拟医学仪器硬件接口设计总线的标准:总线的标准:ISA
6、(Industry Standard Architecture)MCA(Micro Channel Architecture)EISA(Extended Industry Standard Architecture)VESA(Video Electronic Standard Association)VME(Versa Module Eurocard)PCI(Peripheral Component Interconnect)PCMCIA(Personal Computer Memory Card International Association)USB(Universal Serial B
7、us) 4.2 虚拟医学仪器硬件接口设计接口接口计算机与外设进行连接的逻辑部件计算机与外设进行连接的逻辑部件 不同功能的接口电路,其结构虽各有不同,但都是由寄存器和控制逻辑两大部分组成:v 数据缓冲寄存器v 控制寄存器v 状态寄存器v 数据总线和地址总线寄存器v 端口地址译码器v 内部控制逻辑v 对外联络控制逻辑 4.2 虚拟医学仪器硬件接口设计 4.2 虚拟医学仪器硬件接口设计 早期的计算机系统总线以IBM的16位工业标准总线(ISA)为代表。 对于PC机来讲,XT总线扩展槽是一种8位总线标准,AT总线扩展槽是一种16位总线标准。 在ISA总线上可实现的(CPU)指令操作类型主要有6种: C
8、PU对存储器的读操作 CPU对存储去的写操作 CPU对端口的读操作 CPU对端口的写操作 CPU对中断的响应 总线的DMA操作 4.2 虚拟医学仪器硬件接口设计 PCI局部总线是一种高性能的32位或64位地址数据线复用的总线,它与CPU和时钟频率无关,它能支持多个外设,尤其适用于各类高速外设。 它的用途是在高度集成的外设控制器器件、扩展板和处理器/存储器系统之间提供一种内部连接机制。 PCI局部总线广泛应用于高中低档台式机、便携机直到部门服务器种。 PCI-EXPRESS 4.2 虚拟医学仪器硬件接口设计 4.2 虚拟医学仪器硬件接口设计 USB(universal serial bus)是一
9、种是一种PC外挂总线,外挂总线,其目的是为了解决其目的是为了解决PC机外围设备的拥挤和提高设备机外围设备的拥挤和提高设备的传输速度。的传输速度。 USB只需要机器简单的安装与配置即可使用外设,只需要机器简单的安装与配置即可使用外设,USB提供了即插即用提供了即插即用(plug & play)和热插拔功能,可和热插拔功能,可以在不断电的情况下直接将外设连接到以在不断电的情况下直接将外设连接到USB上,且马上,且马上就可以被系统识别使用。上就可以被系统识别使用。 4.2 虚拟医学仪器硬件接口设计 USB系统采用级联星型拓扑结构,每个系统采用级联星型拓扑结构,每个USB设备设备用一个用一个USB插头
10、连接到一个外设的插座上,而其本身插头连接到一个外设的插座上,而其本身又提供一个插座供下一个外设连接用。又提供一个插座供下一个外设连接用。 通过这种类似菊花链似的连接,一个通过这种类似菊花链似的连接,一个USB控制器控制器可以连接多达可以连接多达127个外设,而每个外设间距离(线缆个外设,而每个外设间距离(线缆长度)可达长度)可达5m,这为这为PC的的USB外设扩充提供了一个外设扩充提供了一个很好的解决方案。很好的解决方案。 4.2 虚拟医学仪器硬件接口设计 4.3 虚拟医学仪器软件接口设计 为了保证系统的安全性、稳定性,对应用程序访问硬件资源为了保证系统的安全性、稳定性,对应用程序访问硬件资源
11、施加了许多限制,对硬件资源的访问需要编写相应的驱动程序才施加了许多限制,对硬件资源的访问需要编写相应的驱动程序才能实现,而能实现,而虚拟仪器种有大量对硬件资源访问的操作;如虚拟仪器种有大量对硬件资源访问的操作;如I/O读写、读写、硬件中断、物理内存寻址等,所以应编写专用的设备驱动程序。硬件中断、物理内存寻址等,所以应编写专用的设备驱动程序。 虚拟仪器对信息进行一系列处理并应提供给操作者一个可视虚拟仪器对信息进行一系列处理并应提供给操作者一个可视化、易于操作的界面,这一部分功能由应用程序来完成,因此支化、易于操作的界面,这一部分功能由应用程序来完成,因此支持软件可分为持软件可分为驱动程序驱动程序
12、和和应用程序应用程序两部分组成。两部分组成。 4.3 虚拟医学仪器软件接口设计驱动程序是指一系列控制硬件设备的函数。 Exe、Dll VxD WMD(Win32 Drivers Mode) 出于安全性因素考虑,对80386以上的CPU都划分了运行特权,从高到低为ring0-ring3,只有当Windows运行在ring0层的代码时,才可以直接访问物理硬件。 4.3 虚拟医学仪器软件接口设计编写驱动程序类型由以下几个因素决定:编写驱动程序类型由以下几个因素决定:o 操作系统的类型操作系统的类型o 硬件的端口(数据采集卡)类型硬件的端口(数据采集卡)类型o 硬件设备需要使用系统资源的类型硬件设备需
13、要使用系统资源的类型o 需要设计的应用程序类型需要设计的应用程序类型 4.3 虚拟医学仪器软件接口设计 如果我们所采用的数据采集端口是简单的如果我们所采用的数据采集端口是简单的I/O映射,映射,并且不使用中断(例如采用查询方式),在这种情况并且不使用中断(例如采用查询方式),在这种情况下,可以编写下,可以编写Dll驱动程序驱动程序来访问硬件。来访问硬件。 Dll是是Windows最最重要的组成要素,重要的组成要素,Windows中的中的许多新功能、新特性都是通过许多新功能、新特性都是通过Dll来实现的。来实现的。 4.3 虚拟医学仪器软件接口设计 其实其实Windows本身就是由许多的本身就是
14、由许多的Dll组成的,它最组成的,它最基本的三大组成模块基本的三大组成模块Kernel、GDI和和User都是都是Dll,它它所有的库模块也都设计成所有的库模块也都设计成Dll。 凡是以凡是以dll、drv、fon、sys和许多和许多exe为扩展名的为扩展名的系统文件都是系统文件都是dll,要是打开要是打开WindowsSystem目录就可目录就可以看到许多的以看到许多的dll模块。模块。 4.3 虚拟医学仪器软件接口设计 虚拟设备驱动程序简称虚拟设备驱动程序简称VxD。X代表各种设备的名字,如虚代表各种设备的名字,如虚拟键盘驱动程序(拟键盘驱动程序(vkd),),虚拟鼠标驱动程序(虚拟鼠标驱
15、动程序(vmd)等等。等等。 VxD程序是硬件成功初始化的途径。程序是硬件成功初始化的途径。 VxD是一个管理硬件设备或者已安装软件等系统资源的是一个管理硬件设备或者已安装软件等系统资源的32位位可执行程序,使得几个应用程序可以同时使用这些资源。可执行程序,使得几个应用程序可以同时使用这些资源。 Windows通过使用通过使用VxD允许基于允许基于Windows的应用程序实现多的应用程序实现多任务。任务。 4.3 虚拟医学仪器软件接口设计 VxD程序通常虚拟一些硬件设备。程序通常虚拟一些硬件设备。 一个一个VxD程序通常控制真正的硬件设备并对该设备在各个虚程序通常控制真正的硬件设备并对该设备在
16、各个虚拟机之间的共享进行管理。拟机之间的共享进行管理。 并不是每个并不是每个VxD程序必须和一个硬件设备相连。虽然程序必须和一个硬件设备相连。虽然VxD程程序是用来虚拟硬件设备的,但是我们也可以把序是用来虚拟硬件设备的,但是我们也可以把VxD程序看作是在程序看作是在ring0级的级的Dll。 4.3 虚拟医学仪器软件接口设计 在在Windows9x系统中,系统中,VxD是系统中权利最大的实体。由是系统中权利最大的实体。由于它们可以对系统做任何事情,所以它们是极度危险的。于它们可以对系统做任何事情,所以它们是极度危险的。 两种形式的两种形式的VxD静态静态Vxd和动态和动态VxDCIH病毒 4.
17、3 虚拟医学仪器软件接口设计目前开发目前开发VxD可以使用以下四种工具软件:可以使用以下四种工具软件: Microsoft Visual C+ Microsoft 9x DDk WinDriver NuMega DriverStudio(SoftICE&VtoolsD) 4.3 虚拟医学仪器软件接口设计WDM(Win32 Driver Modal)Win32驱动程序模型 Windows新驱动程序模型,旨在提供一种灵活的方式来简化驱动程序的开发,在实现对新硬件支持的基础上减少并降低所必须开发的驱动程序的数量和复杂性。 实现一个模块化的、分层次类型的微型驱动程序结构。 支持通用总线、协议或设备类所
18、需的功能性接口。 对标准类接口的支持减少了Windows95和Windows NT所需的设备驱动程序的数量和复杂性。 Windows2000引入了WDM驱动程序构架。 4.3 虚拟医学仪器软件接口设计 4.4 虚拟仪器专用软件与设计实例目前适合于虚拟医学仪器开发的专用软件和工具包可列举如下:目前适合于虚拟医学仪器开发的专用软件和工具包可列举如下:% LabView% Matlab% MP100% LabLinc V% Model900 4.4 虚拟仪器专用软件与设计实例 4.4 虚拟仪器专用软件与设计实例 4.4 虚拟仪器专用软件与设计实例 4.4 虚拟仪器专用软件与设计实例DAQ卡主要由以下
19、几个部分组成: 多路开关 放大器 采样/保持电路 A/D转换电路采样分辨率、转换速读 4.4 虚拟仪器专用软件与设计实例DAQ卡的参数设置: 模拟信号输入 A/D转换 D/A转换 4.4 虚拟仪器专用软件与设计实例自制自制DAQ卡的驱动实现卡的驱动实现(1)利用端口操作函数实现)利用端口操作函数实现 4.4 虚拟仪器专用软件与设计实例自制自制DAQ卡的驱动实现卡的驱动实现(2)利用)利用CIN(Code Interface Node)实现实现 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心
20、率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析
21、仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪 4.4 虚拟仪器专用软件与设计实例设计实例设计实例心率变异性分析仪心率变异性分析仪专题:虚拟医学仪器简介 虚拟仪器技术在神经传导检测中的应用虚拟仪器技术在神经传导检测中的应用 基于基于LabVIEW的脑电数据多路采集系统的脑电数据多路采集系统 基于虚拟仪器的网络虚拟实验室构建基于虚拟仪器的网络虚拟实验室构建 基于校园网的医学虚拟仪器网络实验室基于校园网的医学虚拟仪器网络实验室