基于ARM9的无线多床位心电监护仪的设计

发布者:数据梦行者最新更新时间:2011-06-12 关键字:ARM9  无线多床位  心电监护仪 手机看文章 扫描二维码
随时随地手机看文章

1 引言

      随着社会生活节奏加快、人口逐渐老龄化,心血管疾病已经成为同前威胁人类生命的丰要疾病之一,此类疾病往往具有突发性、短暂性和危险性的特点,如果不能及时发现并进行治疗将会产生非常严重的后果。心电图是检查.诊断和预防该类疾病的主要手段和依据,对于心肌梗塞、心律失常等症状,心电监护仪的使用贯穿于治疗、康复的整个过程。由于传统的基于PC机平台的心电躲护仪,价格昂贵,体积庞大,不便于移动且主要集中在大医院,给医生和病人带来了很大的不便。因此,为了降低成本、缩小体积,本文设计了一种基于ARM9微处理器的新型便携式多床位遥测心电监护仪。该监护仪采用Samsung公司的一款以ARM920T为控制器内核的16/32位高速处理器S3C2410A芯片作为系统控制核心,利用nRF401无线收发芯片发送和接收心电数据,具有功耗低、体积小、可靠性高、操作简单等优点。

2 系统结构

     该遥测心电监护仪可同时监护1~12个床位.系统结构框图如图1所示.其中与PC机相连的S3C2410A作为中心躲护端.其功能是传递由PC机发出的命令,与监护各个床位的监护终端进行通信,将各个临护终端所采集到的数据汇总到中心监护端,并通过USB口传递给Pc机。监护一个床位的便携式心电监护终端作为终端节点,功能是采集心电信号,对采集到的数据进行必要的处理,同时当收到中心监护端的命令时,做出回应。

图1 系统结构框图 

3 系统硬件设计

      系统硬件设计包括中心监护端的硬件设计和监护一个床位的各个心电监护终端的硬件设计两大部分。中心监护端的硬件设计包括S3C2410A与PC机的连接和nRF401与S3C2410A的连接。由于S3C2410A具有USB设备控制器,因此可通过USB口与PC机相连,并得到5V的T作电压。无线收发芯片nRF401直接与S3C2410A的串口1连接。图2为监护一个床位的心电监护终端硬件电路的结构框图,包括ARM微处理器S3C2410A、心电放大及采集电路、外部扩展的Nand FLash存储器、电源、LCD显示、键盘和nRF401尤线数传模块等。

3.1心电采集电路

    心电采集电路包括放大器、低通滤波器、50Hz陷波器等。该电路的放大器由差动放大电路和放大级电路两级放大电路组成。导联系统采用通用的二电极方式,右胸上电极及左腹下电极为心电采样电极.右腹下电极为右腿驱动电极。由于采集的心电信号是筹模信号,采用三运放筹动放大电路作为第一级放大电路,增益约为22,再经第二级放大电路,总增益接近1000。由于心电信号属于低频信号,因此,为消除高频信号,本设计了采用了一阶滤波电路的低通滤波器,截止频率为100Hz。为抑制50Hz的工频干扰,还设计了二阶压控电压源带阻滤波器,即50Hz陷波器。

图2 监护1个床位的硬件电路结构框图

3.2 ARM微处理器模块

        S3C2410A是二星公司推出的一款基于ARM920T处理器构架的嵌入式CPUS3C2410,它提供8通道的10位模数转换器,转换器以2.5MHz MD转换时钟将模拟输入信号以最大500ksps转换率转换为lO位二进制数字编码。根据美困心脏学会AHA标准[3]和Nyquist采样定律,当信号采样频率等于或大干信号最高频率的2倍时,就可以从抽样后的信号中不失真的还原出原信号。ECG频率范围为0.05~100Hz,中心频率在17Hz左右,故取采样频率取200Hz,即采样周期为5ms即可满足要求。采集到的信号经通道1送入S3C2410A微处理器。经分析处理后在液晶屏上显示心电波形和分析结果。

3.3无线收发模块

         无线收发模块采用Nordic公司研制的单片UHF无线收发芯片nRF401,该芯片工作在433MHzISM(Industrial,scientific and Medical)濒段。该频段无需申请许可证。并采用FSK调制解调技术,抗干扰能力强,并采用PLL频率合成技术,频牢稳定性好,数据传输速率可达20kbDs,传输距离可达1000m,完全满足本设计所需要的通信距离要求。不同于其他的RF单片芯片,nRF401通过单片机串口直接于MCU通信,而无需对数据进行曼彻斯特编码,这使的nRF401的外围元件很少,只包括一个基准晶振和几个无源器件,具有成本低、一致性好等特点。本设计中,nRF401直接与S3C2410A的串口1连接。

3.4存储、显示和键盘模块

      为了实现大容量的数据存储,利用S3C2410A自带的Nand Flash控制器扩展了一片16Mx8位的Nand Flash存储器,可存储12小时的心电数据。为了使用户能够对采集到的心电信号有一个直观的印象和进行常识性的观察,利用S3C2410A自带的LCD控制器,设计了LCD显示屏的接口,并选用了一块240x128的LCD显示屏,用于显示所采集的心电信号及一些基本参数。系统还设计了一个4x4的键盘模块,用户可通过键盘实现一些基本功能的切换。

4 系统软件设计

       本系统的软件设计是基于Windows CE操作系统的。Windows CE是为各种嵌入式系统和产品设计的一种压缩的、具有高效的、可升级的操作系统,具有多线性、多仟务、全优先的操作系统环境。由于Window CE操作系统本身没有自带独立的开发环境,因此,需要在PC机(宿主机)上完成应用程序的开发,实现仿真.并针对ARM嵌入式设备(目标机)进行交叉编译,使其与目标机的CPU体系结构相匹配,使操作系统和应用软件在目标机上也能正常运行。然后再移植到各目标机上。在Windows CE操作系统构建起来之后,就是上层应用程序的实现问题。

4.1中心监护端程序设计

      Windows CE是一个多任务、多线程的操作系统[6]。图为中心监护端的功能不只是单一的网络通信,还要进行数据分析和处理,所以不在主线程中直接进行通信。而是在主线程中创建一个单独的子线程负责等待PC机的命令,收到命令后,为其创建一个单独的通信子线程与相应的终端节点进行通信.等待子线程继续等待PC机的命令。通信子线程接收数据并进行校验,并通过USB口传递到PC机。

      由于多个通信子线程可能会同时对共享资源nRF401进行访问,形成线程冲突,因此需要协调好各个线程之间的同步问题。互斥对象(Mutex)是Windows CE操作系统所提供的实现线程同步的方法之一,主要用于协调多个线程对共享资源的访问,其原理是只有拥有互斥对象的线程才具有访问共享资源的权限。由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。首先,利用API所提供的函数CreateMutex()创建一个互斥对象,初始化为FALSE状态以标识该互斥对象处于未被任何线程占有状态。通信子线程通过waitForSingleobiect()来请求占用该互斥对象,若此时该互斥对象被占用,则该线程需等待直到前一线程释放后才能成功占用;若此时该互斥对象未被占用,则可以实现对共享资源nRF401的访问。例如负责与床位号为n的监护终端通信的子线程获得对nRF401的访问权后,该子线程会发送一个1字节的同步信号“n”,床位号为n的监护终端接收到命令后,返回“n”作为应答,该通信子线程收到应答,核对正确后,双方开始数据传输,监护终端将数据及其校验和以数据包的形式传送给中心监护端。该子线程接收完毕后,结束通信,用ReleaseMutex()来释放对互斥对象的拥有权,完成对于共享资源nRF401的访问,从而其它线程可有机会获取对nRF401的访问权。然后对所接收的数据进行校验,再次提出占用互斥对象请求。这样,每个通信子线程访问nRF401的机会均等,子线程问相互独立,避免了程序死锁在一个连接上,提高了系统的整体响应速度。

4.2监护终端程序设计

     监护一个床位的各监护终端的程序设计同样采用多线程的结构,在主线程中对心电信号进行A/D转换、必要的处理和存储、显示等。另创建一个子线程,置nRF401为接收状态,等待接收中心监护端的命令,收到命令并检验合法后,置nRF401为发送状态发送回应,并从存储器巾读取数据打包发送,若收到中心监护端校验错误信息,则重发数据包。

4.3 QRS波的检测

    在心电分析中,要进行参数测量和波形分析,计算R-R间隔和心率,首先要进行QRS波的检测。本文采用四点平均滤波器法首先对心电信号进行滤波,滤除电源工频干扰、基线漂移,肌电噪声、运动伪迹等所带来的干扰。其解析式为:

      其对心电信号的中心频率(17Hz)影响较小,同时可抑制高频噪声和50Hz的工频干扰。再对经过滤波后的心电信号的一、二阶差分值进行平滑处理,利用心电信号的二阶差分值极小值和一阶差分过零点在较短的时间窗内实现QRS波精确定位。即对四点滤波后的心电信号y(n)进行一阶和二阶差分,通过不应期判别、幅值判别等方法找到R波对应的二阶差分的极小值的位置。再根据啊二阶差分与x(n)、y(n)的时延关系,求出滤波信号和原心电信号中R波的位置。在心电信号的一阶差分信号中,R波和与其对应的Q,S波的位置关系为:如果R波在一阶差分信号中为QRS波群所对应的向下过零点(其值为负),则Q波应为R波所在位置前面的第1个向上过零点(其值为正);S波为R波所在位置后面的第1个向上过零点(其值为正)。这样,由已知的R波的位置即可检测出 Q,S在一阶差分中的位置,再根据时延关系就而可以求出R-R问期、心率等参数。由于筹分会增加部分高频噪音,上述计算是在一阶和二阶差分经平滑移动处理后进行的。该算法能抑止多种噪声对心电信号的影响,经过临床测试,在静息和慢走情况下.算法对动态心电的检测准确率非常高;即使在做体操和慢跑的情况下,其正确率还是在99.8%以上。

5 实验结果

    使用此监护仪分别对12名志愿者进行了心电数据采集。实验表明,该监护仪能同时监护12个病人,也能独立监护1个病人,实时性良好.心电波形显示清晰,对心电数据分析准确,心律失常时,会自动报警,并对其进行存储和回放。佩戴者可在半径100米范围内活动得到较好的监护,采用2节5号电池供电,可连续监测20小时。

6 结论

    本文设计了一种基于ARM9微处理器的新型便携式多床位无线遥测心电监护仪,该监护仪硬件集成度高,体积小,功耗低,便于患者随身携带,在不影响患者日常活动的同时使患者得纠较好的监护。本文的创新之处是采用Windows CE嵌入式操作系统作为软件平台,具有易定制、可扩展、高稳定性等优点。采用多线程编程,可同时监护多个床位,各线程之间相对独立,避免了波形显示停滞,或死锁在一个连接上,提高了系统的整体响应速度,使系统实时性更好。在Windows CE环境下,还可以通过中间驱动程序为S3C2410A扩展串口通信,实现更多床位的实时集中监护。

关键字:ARM9  无线多床位  心电监护仪 引用地址:基于ARM9的无线多床位心电监护仪的设计

上一篇:基于ARM7无线传输的热电偶远程监控系统
下一篇:基于DSP+ARM的便携式电能质量分析仪设计

推荐阅读最新更新时间:2024-03-16 12:37

基于ARM9的中央空调网络集中控制器研究
以往我国的中央空调控制系统主要采用以单片机为控制核心的单机组控制器,即一个控制器只能控制一台中央空调机组,这种控制方法控制简单,但是在多层或者较大型的建筑中控制能力就显得力不从心了。近年来也出现了采用ARM7 处理器作为控制芯片的集中控制器,但是在此所采用的ARM9 处理器比ARM7 处理器又有了许多优点,如ARM9 处理器采用5 级流水线,在每一个时钟周期内可以同时执行5 条指令,这样就大大提高了处理性能,在同样的加工工艺下,ARM9处理器的时钟频率是ARM7 的1. 8 ~ 2. 2 倍; 又如ARM9 采用哈佛结构,具有分离的数据和程序空间及分离的访问总线,所以在指令执行时哈佛结构的取址和取数可以并行,因此具有更高的执行
[工业控制]
基于<font color='red'>ARM9</font>的中央空调网络集中控制器研究
基于ARM9和CPLD的输入输出系统设计
简介:嵌人式丁业控制系统的突出特点是在高低温、高电磁辐射环境下的抗干扰性和可靠稳定性。和PLC系统相比。其明显的优点是处理速度快、方便进行工业以太网的组建、编程方便、通用性好,而且价格仅仅是PLC的几分之一,具有很好的发展前景。本论文主要论述了以EP9315和MAX2_EPM240为核心的嵌入式输入输出系统的设计。 1 系统构成 整个嵌入式输入输出系统分为嵌入式系统、应用模块(即输入输出模块)和转换模块三部分,总体结构如图1所示。 图1系统结构框图 1.1 嵌入式系统 本设计选择CirrusLogic公司高性能的ARM9嵌入式微处理器EP9315.该微处理器具有ARM920T内核所有的优异性能。丰富的集成外设
[单片机]
基于<font color='red'>ARM9</font>和CPLD的输入输出系统设计
爱特梅尔推出全新ARM9 微控制器 大幅增加内部数据带宽
·基于ARM926EJ-S技术   ·内部数据带宽达41.6 Gbps  ·结合人机接口和联网功能 爱特梅尔公司 (Atmel Corporation) (美国纳斯达克交易代号:ATML) 现已为SAM9 系列产品增添最新型号。AT91SAM9263 内嵌了一个性能达200 MIPS的 ARM926EJ-STM 微控制器,解决了传统ARM9TM 微控制器在数据密集的图形界面应用 (如联网式医疗监控设备和GPS导航系统)中所遇到的瓶颈问题。AT91SAM9263具有27个DMA通道,包括爱特梅尔的18 通道外设DMA控制器 (PDC);一个9层的总线阵列;以及两个用于数据和指令紧密耦合存储器 (TCM) 的附加总线,以提升CPU
[新品]
基于ARM9 AT91RM9200T的嵌入式网络接口
   1 引言   当今时代设备网络化是当今科技发展的趋势。如何使用嵌入式系统将设备的远程控制、数据的远程传输数据转发到网络上呢?嵌入式网关使用嵌入式Linux操作系统,数据存储芯片SDRAM、FLASH,网络控制芯片DM9161等,实现网络通讯的传输方案便是基于这种思想而设计的。    2 硬件设计   本系统采用ATMEL公司生产的微处理器AT91RM9200T 。其处理速度可达200MIPS,同时它也具有USB、Earthnet、支持RS485的红外串口、IIC、SPI、SSC等丰富的片内资源。网口控制芯片DM9161, SDRAM和Flash接口。系统的硬件结构框架如图1所示。    2.1 AT91R
[嵌入式]
ARM9处理器与ARM7处理器比较
摘要:ARM处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。ARM7处理器虽然功能强大,但是目前已经开始退出主流应用领域,代替它的是性能更加强大的ARM9系列处理器。介绍了ARM9处理器与ARM7处理器的不同之处,并且给出了ARM9的应用实例。 关键词:ARM9 ARM7 流水线 指令周期 ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。本文主要介绍它们与ARM7TDMI的结构以及性能比较。 以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而目前的2.5G和未来的3G手机除了提供这两项功能外,还必须提供各种其他的应用功能。主要包括:(1
[嵌入式]
基于ARM9的媒体播放器设计
1 引言 计算机多媒体技术和网络技术飞速发展使得基于流媒体的多媒体应用也被运用在多种领域,特别是网络可视电话、远程监控、视频点播领域。伴随着计算机多媒体压缩技术的成熟和网络传输技术的发展,开发实时可靠、多功能、数字化、操作简单的基于计算机网络通讯技术和多媒体应用的网络化流媒体播放器已成为计算机、通信、消费电子产品领域(3C 产业-Computer、Communication、Consumer Electronics)技术发展的主要方向之一。 2 系统硬件设计 本文使用TQ2440 开发板作为硬件平台。 S3C2440AL 是控制核心,负责控制所有辅助设备。存储器采用SDRAM 和Flash 两种类型,能满足系统运行和调试的
[单片机]
基于<font color='red'>ARM9</font>的媒体播放器设计
OpenCV2.0.0移植到ARM9(二)(JZ2440----S3c2440)
1、交叉编译libjpeg 为了使OpenCV能处理jpeg图像,我们必须事先交叉编译好libjpeg这里使用的版本是jpegsrc.v6b。 下载地址:https://sourceforge.net/projects/libjpeg/files/libjpeg/6b/ 这里使用的安装包:jpegsrc.v6b.tar.gz。 (1)解压、配置 jpegsrc.v6b.tar.gz放在/work/system/目录下. 解压:$tar –zvxf jpegsrc.v6b.tar.gz 进入目录:$cd jpeg-6b 在/work/system/目录下新建一个libjpeg-arm目录,命令为:$sudo mkdir
[单片机]
OpenCV2.0.0移植到<font color='red'>ARM9</font>(二)(JZ2440----S3c2440)
arm9为何上电时候要改变系统时钟
因为在没有上电时候,开发板是工作在12Mhz,那么用到时钟的硬件资源比如cpu 内存 uart等也工作在12Mhz,那么我知道正常情况下也即上电的话,开发板是工作在500Mhz,这样的话,需要一个切换的过程,这个过程如下: 1 系统工作时钟频率 在对系统时钟进行提速之前,让我们先来了解下 S3C2440 上的工作时钟频率, FCLK , HCLK , PCLK ,其中 FCLK 主要为 ARM920T 内核提供工作频率,如图 2-44 所示: 图 2-44 ARM920T 内核结构 HCLK 主要为 S3C2440 AHB 总线( Advanc
[单片机]
<font color='red'>arm9</font>为何上电时候要改变系统时钟
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved