微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 医疗电子 > 基于ARM9处理器的家用远程医疗监护终端

基于ARM9处理器的家用远程医疗监护终端

时间:11-10 来源:互联网 点击:
陷波电路
  工频干扰是心电信号的主要干扰,虽然前端电路和前置放大器已对共模干扰具有较强的抑制作用,但有部分工频于扰是以差模信号进入电路的,且频率处于心电信号频带之内,加上电极和输入回路不稳定等因数,前级电路输出的心电信号仍然存在较强的工频干扰,因此必须将其滤除。本设计采用的是无限增益多路反馈型二阶陷波器,电路如图5。
  


  图5 陷波电路
  嵌入式Web服务器模块
  考虑本系统定位于家庭使用,且系统需要连续长时间工作,又由于系统需要良好的人机交互环境、存储大量数据以及支持网络通信,所以要求处理器具有功耗低、成本低、丰富的接口和支持操作系统。本设计选用ARM9处理器S3C2410A,S3C2410A主要面向手持设备以及高性价比、低功耗的应用上。其 CPU内核采用的是ARM公司的16/32位ARM920T RISC处理器。ARM920T实现了MMU、AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据 Cache。S3C2410A集成的片上功能主要包括:1.8V/2.0V内核供电,3.3V存储器供电,3.3V外部I/O供电;外部存储器控制器;LCD控制器提供1通道LCD专用DMA; 8通道10位ADC接口,转换速率最大为500KSPS(Kilo Sample Per Second,千采样点每秒);117位通用I/O口和24通道外部中断源;电源控制模式包括正常、慢速、空闲和掉电4种模式;支持NAND Flash的启动装载。
  对心电信号采样精度的考虑主要出于对ST段异常分析处理的要求,ST段电平变化约为0.05mV,因此采样精度至少为0.025mV。当采用10位 A/D转换器工作在正极性、满刻度电压为2.5V时,可分辨的最小输入电压为2.5mV,而信号调理电路放大倍数为1000倍,则输入端的最小分辨率约为 0.0025mV,故S3C2410A具有的10位A/D的精度完全满足系统需求。
  为了使用户能够直观的观察心电和便于控制设备,设计采用东华公司的TFT彩屏YL-LCD35套件用于人机交互界面。为满足移植操作系统以及存储心电信号、网页等数据的要求,系统外扩了64M的NAND Flash(使用一片K9F1208UOB)和64M的SDRAM(使用两片HY57V561620)。为满足终端联网的需求,选用CS8900A用于设计网络适配器,CS8900A是一个真正的单芯片、全双工的以太网解决方案产品,更方便的是在Linux内核中提供有CS8900A适配器的驱动程序。
  电源部分
  为增加安全性、降低功耗、节省成本,设计采用9V碱性电池供电,通过电源转换芯片AS1117-3.3将9V转换为3.3V可供给放大器芯片和S3C2410使用。
  软件设计
  软件设计主要包括Linux的移植,嵌入式Web Server-Boa的移植,CGI(通用网关接口)程序的设计,功能程序的设计。
  


  图6 系统软件框图
  Linux的移植
  本设计采用linux-2.4.18内核。正确进行Linux移植的前提是具备一个与Linux配套、易于使用的BootLoader,它能够正确完成硬件系统的初始化和Linux的引导。本系统中采用vivi,它是由韩国MIZI公司提供的一款针对S3C2410芯片的BootLoader。
  Linux内核的目录/arch中包含了所有与硬件体系结构相关的内核移植代码,目录/arch中的每个子目录代表了一种Linux支持的处理器。移植Linux到S3C2410平台主要是修改/arch/arm目录及其子目录下相关的makefile文件和配置文件。例如:修改内核根目录下的 Makefile文件,指明要移植的硬件平台为ARM:ARCH:=arm,指明使用的交叉编译器CROSS_COMPILE=/opt/host /armv41/bin/armv41-unknown-linux-;修改arm/arm目录下的config.in文件,配置S3C2410的相关信息;为初始化处理器,还需在arch/arm/boot/compressed目录下添加head-s3c2410.s文件。内核修改完成后,用命令 make menuconfig配置Linux,再用make zImage命令编译内核,编译通过后则在目录arch/arm/boot下生成zImage内核文件,还需利用工具软件MKCRAMFS制作 cramfs文件系统。最后,在minicom终端的vivi命令行下利用load命令将内核和文件系统下载到目标系统,至此移植完成。
  Boa的移植和CGI程序设计
  由于嵌入式设备资源有限,并且不需要同时响应多用户请求,因此一般使用一些专门的Web服务器用于嵌入式应用设计。Boa是单任务web服务器,源代码开放,性能高,支持CGI,能为CGI程序fork出一个进程来执行,其设计目标是速度和安全,可执行代码只有约60KB。移植Boa的过程如下:从 sourceforge.net上下载 boa-0.94.13,在其解压目录下生成并修改makefile文件,然后运行make得到可执行程序,利用命令armv4l-unknown- linux-strip将调试信息剥去,然后修改Boa的配置文件boa.conf,使其能支持CGI程序的运行。最后将生成的可执行程序Boa挂载到目标系统,若能成功访问静态HTML网页和运行测试用的CGI程序,则表明配置成功。
  通用网关接口CGI可将Web服务器连接到外部应用程序,它主要完成两件事情:一是收集从Web浏览器发送给Web服务器的信息,并将这些信息提供给外部程序利用;二是对提出请求的Web浏览器发送程序的输出。CGI具有平台独立性、语言独立性和层次感等优点。利用CGI程序则可以实时执行并输出动态信息,且其占用资源少。CGI程序的执行过程为:浏览器将表单数据以POST方法提交给Web服务器,服务器根据收到的数据设置环境变量,并新开一子进程来执行CGI程序,CGI程序从环境变量中读取所需要的数据,通过调用用户自定义的外部功能函数完成数据处理后,再读取相应的HTML模板文件,根据注释标记将对应的数据填充到HTML文件中,生成新的HTML页面经Web服务器返回给浏览器。
  为快速开发符合应用要求的CGI程序,在设计时添加了CGIC库和gd库。CGIC是一个功能强大的支持CGI开发的开放源码的标准C库。 Thomas Boutell编写的gd库是标准的C语言库,具有基本的绘图等功能。为实现在网页上动态显示心电波形,将每次采集的数据经过功能程序处理后存储的同时送给CGI程序,利用gd库提供的函数来创建图像。通过在网页模块上设定刷新时间(使用HTML语言的META标记),从而实现在网页上心电波形的动态显示。
 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top