湖南文理学院课程设计报告课程名称:嵌入式系统课程设计专业班级:学生姓名:指导教师:完成时间:2015年6月10日报告成绩:湖南文理学院制评阅意见:评阅教师日期2目录一、设计题目………………………………………………………………………3二、设计要求………………………………………………………………………3三、设计作用与目的………………………………………………………………3四、系统设计方案…………………………………………………………………44.1.系统总体设计……………………………………………………………44.2.系统工作原理………………………………………………………………7五、系统硬件设计…………………………………………………………………81.系统整体设计…………………………………………………………………82.各单元电路设计……………………………………………………………9六、系统软件设计……………………………………………………………………111.主程序流程设计……………………………………………………………112.子程序设计…………………………………………………………………13七、仿真调试分析……………………………………………………………………15八、嵌入式系统学习心得…………………………………………………………16九、参考文献………………………………………………………………………173嵌入式系统在医疗仪器上的应用研究一、设计题目嵌入式系统在医疗仪器上的应用研究。二、设计要求研究嵌入式系统在医疗仪器上应用的可能性以及方法。三、设计的作用与目的随着时代的发展,人口老龄化进程加快,各种慢性疾病在中青年人群中肆虐和衍生,人们健康意识和保健要求日益增强,这一切推动了医疗模式从以症状治疗为中心的模式向以预防为主、早诊断、早治疗的模式转变,医疗仪器开始了从复杂的、应用于医院的大型医疗设备,到既适用于医院又适用于家庭和个人的小型穿戴式甚至是植入式的装置的改变。得益于此穿戴式医疗仪器发展起来,它具有生理信号检测和处理、信号特征提取和数据传输等功能,可以实现对人体的无创监测、诊断和治疗;具有可移动操作、使用简便、支持长时间连续工作、智能显示诊断结果、异常生理状况报警和无线数据传输等特点移动医疗(M.Health)具备穿戴式医疗研究的各项特性,是穿戴式医疗的发展方向是基于生物医疗、计算机科学、通讯技术等多学科将移动计算、医学传感以及通信技术等密切结合的一种新兴医疗保健模式。目前我国医疗机构的整体医疗装备水平还很低,在全国基层医疗卫生机构的医疗器械和设备中,约15%左右是20世纪70年代前后的产品,60%是20世纪80年代中期以前的产品,它们更新换代将会保证未来10年甚至更长一段时间中国医疗器械市场的快速增长。随着改革开放的深入,国家支持力度的不断加大以及全球一体化进程的加快,我国医疗器械行业得到了突飞猛进的发展,医疗器械行业总产值自20世纪90年代以来一直保持平均12%.15%的快速增长。2005年,我国已成为仅次于美国和日本的世界第三大医疗器械市场,据2006年《中国医疗器械行业发展报告》预计未来5.7年内,中国将超过日本,成为全球第二大医疗设备市场。2009年新医改明确指出,国家将逐年加大公共卫4生体系和城市社区、农村基层医疗卫生建设。据Gartner预计,2010年中国在医疗IT方面的投资大约为3l亿美元,未来五年还会以15%的速度逐年增长,而在医疗IT投资中,移动性的需求大概为5%。就是说,移动医疗拥有至少10.5亿元的市场。可以预见,作为一个很有意义且极有市场前景的研究,移动医疗将给2l世纪的医疗造成巨大的冲击。无线通讯技术及网络技术的发展,使得穿戴式医疗仪器向移动医疗的发展成为可能。同时,微处理器技术的快速发展为穿戴式医疗实时性控制、系统优化、使用寿命寿命、以及系统安全与可靠性提高等研究方向提供了支持。与传统8/16位单片机为控制核心相比,嵌入式微处理器具有低功耗、片上资源丰富、应用广泛和性价比高等特点,能更好地满足现今医疗仪器高性能、低功耗等要求,其操作系统平台的支持能为穿戴式医疗向移动医疗发展提供最好的保障。无线网络技术及嵌入式技术的突破性进展刺激了移动医疗示范性项目的开展,采用嵌入式技术与无线网络技术结合的移动医疗解决方案将成为继HIS(医院信息系统)与CIS(临床信息系统)之后医疗信息化产业的又一个建设高潮。四、系统设计方案本课题主要进行移动医疗和嵌入式技术在医疗仪器的应用研究现状的调查,再探查基于嵌入式技术的移动医疗系统实现的可行性,最后以嵌入式技术为核心,研究设计移动医疗系统的整体架构,并重点研究终端平台的构建及信号发生、采集、压缩、无线传输等功能的实现。综合性能及成本考虑,系统终端构建ARM.Linux软件平台,使用三星ARM9$3C2410为微处理器,Linux内核选用2.6.24版本;在终端构建的嵌入式linux平台上添加QT库支持,编程实现现场的生理数据实时采集、无线传输的应用程序;在Linux内核及文件系统分别添加PPP协议支持和所需拨号上网脚本程序,利用已普遍应用的通用分组无线业务(GPRS)实现数据的无线传输;系统采用Labview编程设计模拟心电信号发生器获取ECG信号进行测试;为提高数据传输质量,研究了ECG压缩算法,并将其运用于此系统中。4.1系统总体设计根据所要实现的功能要求,构建的移动医疗系统框架如图1所示。系统包5括嵌入式ARM平台、GPRS模块和监护三部分。图14.1.1嵌入式ARM平台平台核心采用了韩国Samsung公司32位ARM920T核RISC处理器s3c2410,其内部具有触摸屏控制器、LCD控制器及A/D转换器,支持8路模拟输入混合器,12位模数转换,最大转换速率为100kps。嵌入式ARM平台实现数据采集和处理,由ARM9处理器、数据采集模块、存储模块、触摸显示模块等组成。四线电阻式触摸屏做输入设备,5.7寸、320x240像素、256色的LCD做输出设备,二者结合作为触摸显示模块;0--2.5V的心电模拟信号接入AIN0由$3C2410内置的A/D转换器完成数据采集;存储模块采用W86L388DSD卡控制器芯片,最高时钟速率为25MHZ,兼容MMC卡,使用前要先实现控制芯片的初始化。标准20针JTAG接口用于程序调试。平台图如下图2所示。图264.1.2GPRS模块GPRS网络是目前国内覆盖范围最大的无线网络,综合性能与成本考虑本文选择GPRS网络实现无线数据通信。GPRS模块主要功能是通过GPRS网络实现ARM控制器与医院监护中心或者医生之间的数据交换。在此,系统选用Wavecom公司的Q2403GPRS模块。Q2403模块集成了射频电路和GPRS基带处理器,支持900/1800双频,提供完整的GSM和GPRS无线接口;带有16MFlash和2MS洲;支持数据、语音、短消息等多种通信方式。用户永远在线、按流量计费、通信成本低也是选择GPRS进行无线数据传输的重要原因。SIM卡需根据实际数据流量申请开通合适的GPRS资费套餐。4.1.3监护中心监护部分主要是指医院的监护中心端,它作为移动医疗系统的数据接收端。连接了Intemet的监护中心服务器将接收到的简单诊断结果及生理数据显示并由医生作出诊断再通过短信或电话反馈给病人或其家属,同时开具相应医嘱,从而实现院外流动病人的移动监护和治疗。4.1.4移动医疗终端应用信息流程设计的移动医疗系统终端实现应用主要包括三个重要环节:采集、移动及管理,即有数据采集设备提供实时的数据采集手段;医护人员在移动过程中借助一个安全、快速响应的无线网络的支持,保证移动终端上的内容同原有信息系统的数据同步:具有通信和移动数据库等功能,以便对数据进行有效的管理。具体信息流图如图3所示。7图34.2系统工作原理移动医疗终端是一个多任务系统,同一时刻可能有若干任务并发执行,由于引入了人机交互功能,根据患者的不同要求,不同时刻并发执行的任务也会有所不同。为了对多任务管理提供更好的支持,移植嵌入式操作系统是最佳选择。依据系统提供的函数来编写应用程序,也可大大减少程序员的负担。需要注意的是,由于系统设计中选用的Q2403A模块没有自带的TCP/IP协议栈,宜选用内嵌TCP/IP协议栈的操作系统,为接入Intemet提供支持。操作系统向下负责管理硬件系统提供的各种资源,向上为各个层次协议软件提供数据通信接口,共享信息以及进程管理等。目前,嵌入式流行的操作系统主要有ttC/OS.II、linux(Vxworks、uclinux)等。其中ttc/os.II以体积小、编译方便著称,所有硬件平台均可使用,开源但非免费,开发商业产品需购买license;Vxworks主要流行于欧美,国内使用较少;Linux主要在带mmu的32位平台上使用(不带mmu的使用uCLinux),2.4内核以前仅支持分时调度,实时性较不好(主要是调度算法不同),2.6内核增加了实时调度,提供完善的进程通信、线程同步等服务,网络功能超级强大(支持PPP、Ethemet等多种网络连接方式,包括完整的TCP/IP协议),支持动态链接,文件系统完善,有uboot,vivi等bootloader(引导加载程序)的支持,内核小巧容易裁剪,移植性很强。另外,由于Linux的开放性,新的网络协议也可以很容易地加入内核中。因此,终端软件平台采用了Linux系统,开发板上构建Linux系统的步骤为:在宿主机上建立交叉编译的环境;编译生成Bootloader;编译生成Linux的内核;8编译生成根文件系统;向目标机下载Bootloader的映像;烧写Linux内核和文件。五、系统硬件设计5.1系统整体设计用户通过调用设备驱动程序来控制外设。设备驱动程序为用户屏蔽物理设备的工作细节,为上层提供通用的编程接口,能使用户专注于软件编程,减轻工作量,降低应用程序代码复杂性。嵌入式Linux将所有设备视为一个特殊的文件一设备文件,存储在文件系统的dev目录下并给它一个专门的文件名,如串121设备文件为/dev/ttyO。设备文件通过主、次设备号来唯一确定它的驱动程序和物理设备。通常,linux系统设备驱动程序可分为三类:字符设备、块设备和网络设备。其中,字符设备是最简单、最常用的设备,以字节流形式进行数据的发送和接收,它包含一个重要的数据结构:fileoperations。驱动程序的这个结构实现了主设备号与驱动程序连接的建立,其中定义Topen、read、write等成员,每个成员分别对应open、read、write等系统调用。如下图4图49当应用程序对某个设备文件执行open、read等操作时,设备文件就会根据已分配的主、次设备号找到设备驱动程序,再根据设备驱动程序对fileoperations结构体定义的系统调用,找到相对应的函数,并交予其控制权,即完成应用程序与硬件设备的通信过程,具体流程如图4.6所示。总而言之,Linux驱动硬件大致步骤如下:(1)加载驱动程序,向系统注册,得到一个主设备号。(2)安装上相应硬件后,驱动程序根据主设备号在/dev目录下创建一个设备文件,并给该设备文件分配一个次设备号。(3)当进行设备相关系统调用时,Linux操作系统就获取该设备对应的驱动程序来实现控制。为有效测试系统的实用性,需要增加生理信号的接入。为缩减移动医疗终端开发周期,本文利用Labview软件结合DAQ数据采集卡编程得到一个虚拟模拟心电信号发生器。它能方便地获取到所需生理数据,也容易实现数据参数控制。虚拟仪器(virtualinstrument,VI)指的是基于计算机的仪器,是计算机与仪器的密切结合,是目前仪器发展的重要方向。实现的方式有两种:一种是将计算机装入仪器,即所谓智能化的仪器如含嵌入式系统的仪器;另一种是将仪器装入计算机,以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要指的是这一种。Labview是美国国家仪器(NI)公司研发的,用于虚拟仪器开发的一种图形化编程语言问,产生的程序是框图的形式,