基于ARM9的心电模拟波形发生系统的设计

发布者:悠然自在最新更新时间:2014-10-16 来源: eefocus关键字:ARM9  心电模拟  波形发生系统 手机看文章 扫描二维码
随时随地手机看文章

0 引言

  随着现在社会的发展,人们也日益开始关注健康事业的发展,对医学技术的要求也越来越高。现实中很多病例无法通过现实病例学习,更多的医生培养只能通过模拟设备进行,心电波形模拟波形发生系统的设计就是其中一个例子。

  心电模拟发生系统使用4种不同频率的标准心电波形及用于测试的方波、锯齿波、三角波和正弦波,通过算法拟合出病人的34种异常心电波形(包括成人和儿童的),各周期波形可采用插入不同的延时子程序来实现。提取医院病人的异常心电波形,通过拟合的方法可以模拟和转换除颤后的正常波形,依据此方法设计出一个心电信号发生系统,系统可以采集、模拟任意导联心电信号,并将结果存储到心电数据库供研究分析使用。最后设计出一种用微控制器和波形输出以及键盘转换电路构成的心电模拟波形发生器。

1 系统设计

  心电模拟波形系统主要以ARM9处理单元为核心,另外还有高压除颤采集电路、D/A转换模块、波形输出电路、键盘接口电路与监护仪信号匹配以及应用程序的设计等几个部分。

  ARM微处理器是一种高性能、低功耗的32位微处器,它被广泛应用于嵌入式系统中。ARM9代表了ARM公司主流的处理器,已经在手持电话、机顶盒、数码像机、GPS、个人数字助理以及因特网设备等方面有了广泛的应用。

  本系统采用的ARM9嵌入式开发平台,主要利用ARM9丰富的I/O资源和快速处理的强大功能。ARM9处理器的主要结构及其特点如下:

  (1)32 b定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-TIme)调试。

  (2)片内指令和数据SRAM,而且指令和数据的存储器容量可调。

  (3)片内指令和数据高速缓冲器(cache)容量从4 KB~1 MB。

  (4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护。

  (5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线。

  (6)支持外部协处理器,指令和数据总线有简单的握手信令支持。

  (7)支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test)。

  (8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。

  新一代的ARM9处理器通过全新的设计,采用更多的晶体管,能够达到高于ARM7处理器两倍以上的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。

2 硬件电路和原理

  该部分主要分为ARM9硬件平台、D/A转换、波形输出电路、信号的采集以及右脚驱动电路的共模负反馈电路。系统在ARM9处理单元的控制下,D/A转换电路把波形数据转换为模拟量进行输出。当接收到高压除颤信号后,处理器就会把异常心电波形采集转换成为正常的心电波形图。

  系统硬件连接图如图1所示。

  2.1 D/A转换原理

  心电模拟信号就必须通过采样量化为数字量并将其存储在数据存储器内,供软件进行分析使用。这个过程必须通过AD转换器来实现。有数字量转化为模拟量的D/A转换模式:

  (1)采用D/A转换芯片;

  (2)采用PWM方式,即脉宽调制;

  (3)采用f-v方式,即频率电压转换。

  通过对心电图信号波形的分析可知,波形变化周期大约是1 s,因此采用频率电压转换方式已经具备足够的数模转换精度,频率转换指标也满足要求,而且该方式所用硬件少,一般都是用软件来实现的。

  该部分是系统的核心,为了实现数字系统对这些电模拟量进行检测、运算和控制,需要一个模拟量与数字量之间的相互转换的过程,即常常需要将数字量转换成模拟量,简称D/A转换,完成这种转换的电路为数模转换器(Digital to Analog Converter,DAC)。

  为了保证系统的稳定和信号的要求,D/A转换芯片采用8位并行的DAC0832芯片,由12 V单电源供电,每个DAC有各自独立的基准输入。  DAC0832芯片结构框图如图2所示。

2 系统硬件部分设计
 
该部分主要分为ARM9硬件平台、D/A转换、滤波电路、高压除颤信号的采集,其系统硬件连接图如图2所示。系统在ARM9的控制下,由D/A转换把波形数据转换为模拟量进行输出。当接收到高压采集信号后,处理器就会转换输出另一种心电波形图。[page]
 
 
2.1 D/A转换和电阻衰减网络
 
该 部分是系统的核心,为了保证系统的稳定和ECG信号的要求,D/A转换芯片采用8位并行的DAC0832芯片,由12 V单电源供电,每个DAC有各自独立的基准输入,对ARM9提供的数据进行变换,输出部分采用4阶巴特沃斯滤波,输出的波形经衰减后得到所要求的心电信 号,经有源滤波后输出波形的峰值可达到10 V,通过电阻分压网络得到0~5 mV的电压输出范围。考虑到要采用三路D/A,如果每一路独占8个I/O端口,再加上若干控制端口,处理器提供的I/O端口数远不能满足要求,所以计划采 用共用数据端口,外接I/O口片选的方式来实现,这样可以节约16个I/O口,也满足了信号输出同步性的要求。
 
2.2 高压信号采集电路设计
 
该部分采集除颤器上的高压放电信号,由于高压除颤信号具有的放电电流具有双向性,且放电时间只有4 ms,瞬态电压可达到3 000 V,所以在安全性能上要充分考虑。该部分电路图如图3所示。
 
电路中采用大功率电阻和瞬态抑制二极管对高压放电信号进行预处理,将高压信号降低到比较小的范围,通过整流电路把电流变为单向流动,然后通过光耦隔离输入到ARM9的I/O口中,起到保护处理器的作用。
 
3 软件设计
 
系统的硬件为基本功能和扩展功能的实现奠定了牢固的基础,软件系统的设计就是要充分利用硬件平台的资源,实现软件操作的有序运行。
 
软件开发工作涉及到以下两个方面:接口驱动程序的修改和完善;应用层软件的开发。应用层的程序全部用C++开发完成的。
 
图4是整个系统的软件模块结构图。
 
3.1 D/A驱动程序和高压信号采集驱动部分
 
设 备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程 序可以像操作普通文件一样对硬件设备进行操作,以往在开发应用程序时都有一个main函数作为程序的入口点,而在驱动开发时却没有main函数,模块在调 用insmod命令时被加载,此时的入口点是init module函数,通常在该函数中完成没备的注册。同样,模块在调用rmmod函数时被卸载,此时的入口点是cleanup module函数,在该函数中完成设备的卸载。在设备完成注册加载之后,用户的应用程序就可以对该设备进行一定的操作,如read,write等,而驱动 程序就是用于实现这些操作,在用户应用程序调用相应入口函数时执行相关的操作,init roodule入口点函数则不需要完成其他如read,write之类功能。
 
驱动程序主要函数如下:
 
 
3.2 系统应用程序设计与实现
 
该 系统的应用程序是基于Qt/Embedded设计的,目前使用的嵌入式GUI系统存在 Microwindows,MiniGUI,Qt/Embedded,Qt/Embedded延续了Qt的强大功能,可以运行在多种不同的处理器上部署的 嵌入式Linux操作系统。Qt/Embedded提供了信号和插槽的编程机制,该部分采用的Qt是一个创建GUI程序的C++类库,编写Qt应用程序的 主要工作是基于已有的Qt类编写用户类。该部分主要分为波形界面的实现和用户按键控制的实现,波形显示采用Qt的函数类库Qpainter,由于波形界面 显示两路心电波形,会产生延迟效果,所以引入了多线程机制协调,Qt支持多线程,有独立于平台的线程类,线程安全方式的时间传递和一个全局Qt库互斥量允 许不同的线程调用Qt方法。
 
4 结语
本系统设计采用三星2440嵌入式处理器作为核心搭建了硬件平台,并采用嵌入式Linux操作系统并结合外围的D/A转换部分、与监护仪匹配网络、高 压信号采集部分、应用程序控制部分等实现了心电除颤模拟发生系统的设计。该系统可以很好地模拟医学除颤的过程,并可以与医用监护仪相连接,输出符合医学标 准的34种常见异常心率波形,由于系统使用嵌入式实时多任务操作系统,因此该设计具有很高的实时性、稳定性和可靠性。 
关键字:ARM9  心电模拟  波形发生系统 引用地址:基于ARM9的心电模拟波形发生系统的设计

上一篇:激光雕刻系统步进电机驱动程序的设计
下一篇:基于嵌入式S3C2410芯片的智能手机电话短信模块设计

推荐阅读最新更新时间:2024-03-16 13:43

ARM9(S3C2440)时钟与定时器
时钟概念 一、时钟脉冲:一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。 二、时钟频率:单位时间(如一秒)内产生的时钟脉冲个数。 时钟作用 时钟信号时时序逻辑(如一些芯片要一定的延时时间才能工作)的基础,它用于决定逻辑单元中的状态何时更新。数字芯片中众多的晶体管都工作在开关状态,他们的导通和关断动作无不是按照时钟信号的节奏进行的。 (1)时钟产生-----晶振 优点:性能稳定,频率稳定,准确。 缺点:频率仅由晶体决定,通常是特定晶体被制成客户所需要的振荡器,导致成本,周期较长,不利于快速上市,而且难以获得非标准的频率。 (2)时钟产生-----PLL PLL(锁相环)合成器是一种更为复杂的系
[单片机]
<font color='red'>ARM9</font>(S3C2440)时钟与定时器
基于ARM9的视频采集传输系统
引言   随着多媒体技术及宽带网络传输技术的发展,视频采集及传输系统作为远程视频监控、可视电话会议和工业自动控制领域的一项核心关键技术,近年来也得到了飞速的发展。本文所提出的系统是在新一代基于ARM926EJ-S微处理核的嵌入式开发平台上进行的,并将国际上流行的MPEG-4压缩编解码技术和流媒体传输技术相结合。该系统具有较强的实时性、可交互性及便携性。 1 系统开发硬件平台   本设计采用的开发平台是Freescale i.MX家族的MC9328MX21,作为整个系统的核心微处理器,其ARM926EJ-S核提供了加速的Java支持和高度整合的系统功能模块,如片上模块包括图像加速模块、LCD控制器、USB控制模块、CMOS传
[单片机]
基于<font color='red'>ARM9</font>的视频采集传输<font color='red'>系统</font>
ARM9系列处理器—嵌入式处理器
  ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。   新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。   1 时钟频率的提高   ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。   2 指令周期的改进   指令周
[单片机]
基于ARM9:Thumb指令系统和ARM指令系统
1.首先说说是什么? 是指令集。 是ARM体系结构为了兼容数据总线宽度为16位的应用系统而产生的; 是ARM指令集的自指令集,每个Thumb指令在ARM指令集中都有对应的指令; 2.分析Thumb指令和ARM指令时间效率和空间效率关系如下: –Thumd代码所需的存储空间约为ARM代码的60%~70% –Thumb代码使用的指令数要比ARM代码多约30%~40%; 使用32位存储器,ARM代码比Thumb代码快约40% 使用16位存储器,Thumb代码比ARM指令快约40%~50% 与ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30% 在程序程序设计时,若对系统性能要求比较高,则要使用ARM代码;若多成本和功耗要求较
[单片机]
ARM7和ARM9流水对PC的影响
“PC=PC+1”,这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的。 而在有流水的情况下就比较复杂了这里用arm7和arm9为例。 arm7是3级流水。arm9是5级流水。PC在执行过程中是每次加8的。原因如下: 为便于说明问题,我们假设当前正在执行0地址处的指令,从下面的两幅图中可以清楚地得到结论。 ARM7是三级流水线,AMR7的三级流水线如下: ARM9是五级流水线,ARM9的五级流水线如下: 可见,ARM9和ARM7中都是PC=当前执行指令地址+8的根本的原因是,两者的流水线设计中,指令的执行阶段都是处于流水线的第
[单片机]
详解ARM9的CPSR寄存器
最近在学习嵌入式底层系统开发,在写启动代码时要设置各个模式的SP,需要调整CPU的工作模式,部分代码如下: view plain copy print ? pre name= code class= plain .equ DISABLE_IRQ, 0x80 .equ DISABLE_FIQ, 0x40 .equ SYS_MOD, 0x1f .equ IRQ_MOD, 0x12 .equ FIQ_MOD, 0x11 .equ SVC_MOD, 0x13 .equ ABT_MOD, 0x17 .equ UND_MOD, 0x1b /pre pre name= code clas
[单片机]
详解<font color='red'>ARM9</font>的CPSR寄存器
基于ARM9嵌入式的RS485总线接口设计
随着ARM处理器应用的范围的不断深入,根据需求的不同ARM提供的外设也越来越丰富,常用的通信接口有RS232、RS485、CAN、以太网等。RS485总线凭其传输距离远、抗干扰能力强、价格低廉等优点在各种工业场合得到广泛的应用。设计使用ARM9处理器S3C2440内部集成的UART外设和RSM485模块构建具有电源隔离、电气隔离、总线保护的RS485总线接口,通过对嵌入式Linux系统RS232驱动程序的修改,使的在通过该修改后的串口驱动程序发送数据时,自动控制IO来实现RS485通信的方向控制,从而简化了RS485通信的控制流程,Linux下RS485通信程序通过对该串口的读写,实现与RS485总线上的其他设备通信。 1.通
[单片机]
基于<font color='red'>ARM9</font>嵌入式的RS485总线接口设计
基于ARM9的多功能硬盘MP3播放器的设计
很难给这个设计方案定义一个确切的名称,是硬盘MP3播放器,还是数码相机伴侣,还是是电子相框,甚至叫做移动硬盘?其实这几项功能这款设计方案都具备了。不过通常来说,作为MP3使用的频率更高一些,因此我们姑且还是将它称作多功能硬盘MP3播放器。 这款多功能MP3播放器的核心是三星公司的S3C2410芯片。该芯片是基于ARM920T而开发的一款面向消费类电子产品的多功能SOC。除具备一般嵌入式芯片所具有的总线,SDRAM控制器,3个串口等外设之外,S3C2410还具有TFT LCD控制器、USB Slave、USB Host、I2C总线控制器、SPI控制器、IIS音频接口、SD %26;amp; MMC存储卡接口等丰富的扩展功能。芯片工
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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