韩国电子通信研究所Eun JungKo提出了 一种卫生保健的架构,所有应用程序和中间件均运行于嵌入式系统上,为实现 随时随地的卫生保健服务采用一种context=aware框架【悔191,这种框架能运行于 嵌入式可穿戴系统中。他们还基于SoC和嵌入式Linux设计开发了一种Web医 学监护管理系统,通过多协议转换调高了传输的灵活性和有效性,嵌入式系统 提供知识接口技术和智能仿真卫生保健服务的定制。 最近,法国Eric Page等人设计了一种新型可移植系统,将设计的低功耗实 时嵌入式传感器运用于移动医疗中【20l,采用嵌入式系统测量运动时和休息时病 人的MU和ACT,系统设计通过双向传感起搏器及对重要生理指标变化监测及 时发出警告等实现充血性心力衰竭的连续监护,该设备对采集的数据、发生的 医学事件记录存储可高达三个月。西班牙Malaga大学Asadullah Shaikh等人设 计了定量测量脉冲血氧的一种无线监护系统【211,该系统采用嵌入式Linux作为 软件平台,设备集成Xscale微处理器,拥有嵌入式蓝牙接口,由蓝牙的微微网 通过WLAN和GPRS来传送医学信号。 印度由财政部启动了地区首家低成本移动远程医疗车圈。这个移动医疗车 项目是由亚洲媒体实验室开发与部署的,预期将有助于帮助农村地区的病人。 该移动医疗车配备有数码X光,超声波扫描仪、血液分析仪、心电图机和一个 三目显微镜。以目前印度医疗保健的实际情况在1rI达芬奇SoC平台(双核:ARM 的926.EJS&C64x+DSP)设计开发了医疗终端,外设摄像机,LCD,麦克风, 扬声器,USB2.0接口,10/100M以太网接口,同时支持多种板载内存,能实现 6 硕士学位论文 医疗服务系统,对远程病人的检查与监测,远程传输病人报告,文字语音视频 以及图片等。 国内也进行了诸多研究并有已投入使用移动医疗系统。浙江大学附属邵逸 夫医院部署了由美国讯宝科技公司研制开发移动医疗系统【231。它结合了条形码 技术、移动计算技术、无线网络技术和无线呼叫技术,不仅保证了正确的病人 使用正确的药物,而且实现了护士在第一时间响应病人求助,低分贝的呼叫音 彻底改善了原来输液室嘈杂的环境,为患者提供了更人性化的医疗服务,大大 提高了病人对医疗服务的满意度。北京科技大学Xiumin Shi等人研究了基于 CDMA的移远程医疗系统[241,由四部分组成:医学信息网点(MIN)、WDL、医 疗信息中心及专家计算机系统。其中,用做医疗设备与医疗信息中心通信的MIN 采用嵌入式技术设计,以XScaJe PXA270为核心控制器,嵌入式linux为操作系 统,通过Linux的驱动接口来控制外部模块。上海大学设计开发了医院中实现实 时通信、医学记录管理,报警等的全双工无线语音通信系统,采用无线通信、 音频技术和网络技术,构建嵌入式系统软件平台,在其上实现其各项功能的软 件设计,有效地改善了病人与医护人员之间的联络。同时,国内一些重点高校 如清华大学、西安交通大学、山东大学、重庆大学和台湾各大学也对于移动医 疗的应用实现做出了研究刚21,获得了一些成就。 2.2移动医疗嵌入式解决方案可行性 近几年,嵌入式应用大大推动了医疗保健行业的进步。研究表明,将嵌入 式技术应用于医疗仪器可以降低医疗仪器的成本,提高实时性与可靠性,延长 使用寿命。同时,流行的32位处理器也拥有更强大的数据分析和处理能力。 医院里很多方面用到嵌入式系统1331,包括各种检验设备,如X线机的控制 部件、EEG和ECG、CT、超声波检测、核磁共振等设备,以及其他用于诊断检 查的设备,如结肠镜和内窥镜等。现在基于计算机的EEG和ECG设备也投入使 7 第二章移动医疗现状及研究启示 用,它们属于另一类型的嵌入式系统。除此以外,随着医用传感器技术的发 展,用于家庭远程诊断的嵌入式设备不断地被开发出来,嵌入式技术在医疗仪 器中的应用也渗透到了心脏除颤器、心脏起搏器、患者信息和监视系统、理疗 控制系统、电磁成像系统、便携式生理参数记录仪等医疗仪器中。 由以上研究可见,嵌入式技术在医疗领域的应用的可行性及可靠性已得到 证明。同时,从加强医疗卫生、提高医疗质量、改善医疗服务等方面考虑,移 动医疗的嵌入式解决方案更是十分必要和可行的洲。而随着科学技术的发展, 嵌入式技术在移动医疗方面的应用灵活性也将越来越高。 2.3研究启示 由于我国医疗信息化程度低,无线网络仍然存在一定的安全隐忧,又加上 医疗行业的复杂性,同时移动医疗的需求还未完全成熟、赢利模式还不明确, 而且产业链很多方面还没完全做好准备,移动医疗的产业规模和全面发展受到 了一定的影响【l引。可以说,通过微处理器技术、无线通信技术及网络技术的结 合进一步提高移动医疗产品的整体性能是促进移动医疗发展的基本方法。 一般来说,移动医疗系统主要由移动终端和监护中心两部分组成。通过对 国内外相关的研究加以分析,我们认为在进行基于嵌入式技术的移动医疗系统 相关研究时可借鉴和应注意的问题主要有以下几个方面。 (1)智能移动终端设计:智能化的移动医疗终端应能实现数据采集、处理 和分析、无线数据传输等功能,它们在设备中可集成一体或分体。1)数据采集: 对于急救使用的车载系统,可通过台式PC或笔记本电脑控制信号采集设备,然 后将采集到的数据通过移动终端发送出去;而对于个人用户使用的便携式终端, 通常采用具有W'mCE、Linux等嵌入式操作系统的Pocket PC和PDA来作为数 据采集的控制,它们的处理器功能较强,信号采集、分析和传输实现也比较容 易,但整机成本比较高;为提高移动设备的性能并满足专用性,实际应用设计 8 硕士学位论文 数据采集时一般还是应采用专用的医用传感器,再与控制器的接口连接。2)数 据分析处理:终端的数据分析处理是实现早诊断、早治疗的关键。早期大部分 涉及大量数据处理均采用DSP完成,随着嵌入式微处理器发展其数据处理能力 也已得到肯定。因此以嵌入式微处理器为控制核心,是完成数据分析处理的又 一选择。3)数据无线传输:目前,常见可用于移动医疗的无线技术包括:(1) 移动电话网络GSM(蜂窝电话网络),属于2G技术;GPRS、EDGE等2.5G技 术;TD.CDMA、WCDMA、CDMA.1X等3G技术:(2)蓝牙和RF等短距离传 输技术;(3)卫星系统;(4)晰Fi、WiMAX技术;(5)家庭/个人/机构区域网 络;(6)移动Ad.hoe网络或MANET网络。系统可通过集成无线数据传输芯片 或外接对应的无线数据传输模块,由嵌入式微处理器控制连接无线网络。应特 别注意到是要把握好选择网络的有效传输距离。 痧 (2)与监护中心服务器的接入方式:实现与监护中心服务器的接入方式主 要是依据通信接口设计合适的通信协议。常选用的协议主要有点对点协议 (PPP)、TCP/UDP/IP协议、无线应用协议(WAJP)。PPP协议主要在蓝牙、GPRS 等技术中使用,完成点对点的连接,适用于两个移动终端之间的通信连接; TCP/UDP/IP协议是广泛用于互联网通信的协议,可以实现与互联网相连接了的 监护中心服务器进行通信;WAP融合了各种广域无线网络技术,实现将互联网 内容和电话传送的业务传送到数字蜂窝电话和其他无线终端上。选用WAP可以 充分利用无线应用环境(WAE)开发的高层应用软件。应利用嵌入式操作系统强大 的网络功能,针对应用环境不同的通信接口选择适用的通信协议。 (3)系统软件模块的设计:由于医疗本身专业性强,并且业务种类繁多、 流程繁琐,所涉及的信息包括文本、图形、图像、视频等。因此,需合理设计 各软件模块来实现有效管理,特别是医学信号的处理分析、存储、显示、打印 等功能。应逐步将嵌入式数据库平台应用于移动医疗系统中,利用嵌入式操作 系统开源性提供对个人隐私安全保护,杜绝非法使用和非法访问。 9 第三章系统整体架构设计 第三章系统整体架构设计 根据所要实现的功能要求,构建的移动医疗系统框架如图3.1所示。系统包 括嵌入式ARM平台、GPRS模块和监护三部分。 鼽掷台 触摸显示模块 G职S模块 监护 工 数 据 采 集 模 块 一.●■■●L一 。圈I ————— ~ 7 舢 ￥3C2410 ● ’ -- G豫S模块 / I 数据存储模块 } ● 由 8 尉 { / \ 图3-1移动医疗系统设计框图 Fig 3-1 block diagram ofdesigned M-health system 3.1嵌入式ARM平台 平台核心采用了韩国Samsung公司32位ARM920T核RISC处理器 s3c2410[351,其内部具有触摸屏控制器、LCD控制器及A/D转换器,支持8路模 拟输入混合器,12位模数转换,最大转换速率为100 kps。嵌入式ARM平台实 现数据采集和处理,由ARM9处理器、数据采集模块、存储模块、触摸显示模 块等组成。四线电阻式触摸屏做输入设备,5.7寸、320x240像素、256色的LCD 做输出设备,二者结合作为触摸显示模块;0"--2.5V的心电模拟信号接入AIN0 由￥3C2410内置的A/D转换器完成数据采集;存储模块采用W86L388D SD卡 控制器芯片,最高时钟速率为25MHZ,兼容MMC卡,使用前要先实现控制芯 10 硕士学位论文 片的初始化。标准20针JTAG接口用于程序调试。平台图如下3.2图所示。 图3-2系统开发硬件平台 Fig 3-2 Developping hardware platform of the system 3.2 GPRS模块 GPRS网络是目前国内覆盖范围最大的无线网络,综合性能与成本考虑本文 选择GPRS网络实现无线数据通信。GPRS模块主要功能是通过GPRS网络实现 ARM控制器与医院监护中心或者医生之间的数据交换。在此,系统选用Wavecom 公司的Q2403 GPRS模块。Q2403模块集成了射频电路和GPRS基带处理器,支持 900/1800双频,提供完整的GSM和GPRS无线接口;带有16M Flash和2M SRAM; 支持数据、语音、短消息等多种通信方式。用户永远在线、按流量计费、通信 成本低也是选择GPRS进行无线数据传输的重要原因。SIM卡需根据实际数据流 量申请开通合适的GPRS资费套餐。 3.3监护中心 监护部分主要是指医院的监护中心端,它作为移动医疗系统的数据接收端。 连接了Intemet的监护中心服务器将接收到的简单诊断结果及生理数据显示并由 医生作出诊断再通过短信或电话反馈给病人或其家属,同时开具相应医嘱,从 而实现院外流动病人的移动监护和治疗。 第三章系统整体架构设计 3.4移动医疗终端应用信息流程 设计的移动医疗系统终端实现应用主要包括三个重要环节:采集、移动及 管理,县口有数据采集设备提供实时的数据采集手段;医护人员在移动过程中借 助一个安全、快速响应的无线网络的支持,保证移动终端上的内容同原有信息 系统的数据同步:具有通信和移动数据库等功能,以便对数据进行有效的管理。 具体信息流图如图3.3所示。 图3=3移动医疗应用信息流图 Fig 3=3 information flow of Mohealth application 12 硕士学位论文 第四章系统移动终端软件平台构建 移动医疗终端是一个多任务系统,同一时刻可能有若干任务并发执行,由 于引入了人机交互功能,根据患者的不同要求,不同时刻并发执行的任务也会 有所不同。为了对多任务管理提供更好的支持,移植嵌入式操作系统是最佳选 择。依据系统提供的函数来编写应用程序,也可大大减少程序员的负担。需要 注意的是,由于系统设计中选用的Q2403A模块没有自带的TCP/IP协议栈,宜 选用内嵌TCP/IP协议栈的操作系统,为接入Interact提供支持。 操作系统向下负责管理硬件系统提供的各种资源,向上为各个层次协议软 件提供数据通信接口,共享信息以及进程管理等。目前,嵌入式流行的操作系 统主要有ttC/OS.II、linux(Vxworks、uclinux)等。其eepc/os.II以体积小、编译 方便著称,所有硬件平台均可使用,开源但非免费,开发商业产品需购买license; Vxworks主要流行于欧美,国内使用较少;Linux主要在带mmu的32位平台上使 用(不带mmu的使用uCLinux),2.4P勺核以前仅支持分时调度,实时性较不好(主 要是调度算法不同),2.6内核增加了实时调度,提供完善的进程通信、线程同 步等服务,网络功能超级强大(支持PPP、Ethemet等多种网络连接方式,包括 完整的TCP/IP协议),支持动态链接,文件系统完善,有uboot,vivi等bootloader (引导加载程序)的支持,内核小巧容易裁剪,移植性很强。另外,由于Linux 的开放性,新的网络协议也可以很容易地加入内核中。 因此,终端软件平台采用了Linux系统,开发板上构建Linux系统的步骤为: 在宿主机上建立交叉编译的环境;编译生成Bootloader;编译生成Linux的内核; 编译生成根文件系统;向目标机下载Bootloadcr的映像;烧写Linux内核和文件 系统的映像;复位启动。 第四章系统移动终端软件平台构建 4.1建立交叉编译环境 由于嵌入式平台的资源限制,嵌入式的开发采用的是一种宿主机.目标机的 开发模式。在宿主机上交叉编译生成目标机上可运行的程序二进制代码,再下 载到目标板上调试运行。因此需要建立交叉编译环境。在建立交叉编译环境前, 在宿主机上要有一个Linux环境,这主要通过两种方法实现:一种是在PC机或虚 拟机(适合配置较高的PC机)上安装Linux操作系统;另外一种就是在Windows 下安装软件cygwin,通过cygwin软件在Windows下提供一个模拟的Linux运行环 境。交叉编译环境建立可以采用Binutils、GCC、Glibc等工具自己来构建交叉编 译工具链,也可以直接下载网上一些成熟稳定的交叉编译器版本。在此选择后 者,这样交叉编译环境的建立实际上就是各个交叉编译工具包的解压,以2.95.3 版本为例:tarjxfcross2.95.3.tar.bz2.C/usr/local/armEP可在/usr/local/arm目录下创 建2.95.3的目录,也就是构建了2.95.3的交叉编译环境,其他版本的交叉编译器 以同样的方法即可创建对应的交叉编译环境,可在宿主机上同时建立多种交叉 编译器环境。经测试,系统最终采用的Bootloadcr采用2.95.3的交叉编译器,而对 内核采用4.3.2,文件系统的busybox贝,lJ采用3.4.5。使用中设定2.95.3版本为默认交 叉编译器,则其余版本使用时均设置绝对路径。 4.2引导加载程序移植 Bootloader的基本功能是初始化硬件设备、建立内存空间映射图等,为引导 和加载操作系统内核做好准备。通常,Bootloadcr是严重依赖于硬件而实现的, 特别是在嵌入式的世界【3们。设计中常根据CPU及相应外设如FLASH的不同, 选择合适的Bootloader。Uboot是支持CPU架构较多、应用最为广泛的Boofloader 之一,通常搭配NOR Flash使用。NOR Flash可以直接被系统寻址,启动时可直 接把Boofloader拷贝到RAM中去的。若系统采用的是NAND Flash,那么它是 不能直接被系统寻址的,对它的读写需要专门的操作,此时采用Uboot需要修 14 硕士学位论文 改太多的代码,而vivi针对NAND Flash作了特别处理,是韩国Mizi公司开发 的一款针对ARM9处理器系列的Bootloader。根据移动医疗终端的硬件配置系统 选用vivi作为Bootloader,移植vivi以便后续加载终端上运行的嵌入式系统。 vivi的整体设计是仿照linux内核设计的,具有与其相似的配置界面,其源码 结构也与linuxl内核类似,其代码树结构如下: 叽 图4-l vivi源码结构 Fig 4-1 Sourcecode stmct ofvivi 其中,arch存放平台相关代码,在此即为s3c2410的相关代码;Documentation 存放一些操作说明;drivers存放了串口和mtd设备的驱动程序;include存放平台、 mtd设备和运行时所需的头文件;init存放c语言主函数文件,与普通C语言程序 类似,从main.C文件中的main函数开始执行vivi;lib提供vivi各程序共用的库函 数;scripts提供配置界面程序;util提供,Nand Flash操作相关的程序。 4.2.1 vivi实现linux启动 Bootloader的启动过程可以分为单阶段和多阶段两种,而多阶段的Bootloader 能提供更为复杂的功能且具有更好的移植性。vivi等从固态存储设备上启动的 Bootloader大多为两阶段启动。根据完成的功能不同,可将启动过程分为stagel 15 第四章系统移动终端软件平台构建 和stage2两个阶段脚7l。 Stagel i扫arch/s3c24lO/head.s文件实现,汇编编程实现S3C2410堆栈、寄存器、 时钟等的初始化,准备好stage2运行环境,并跳转至lJstage2执行。