《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于ARM9的心电模拟波形发生系统的设计
基于ARM9的心电模拟波形发生系统的设计
现代电子技术
摘要: 本系统设计采用三星2440嵌入式处理器作为核心搭建了硬件平台,并采用嵌入式Linux操作系统并结合外围的D/A转换部分、与监护仪匹配网络、高 压信号采集部分、应用程序控制部分等实现了心电除颤模拟发生系统的设计。该系统可以很好地模拟医学除颤的过程,并可以与医用监护仪相连接,输出符合医学标 准的34种常见异常心率波形,由于系统使用嵌入式实时多任务操作系统,因此该设计具有很高的实时性、稳定性和可靠性。
Abstract:
Key words :

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转换把波形数据转换为模拟量进行输出。当接收到高压采集信号后,处理器就会转换输出另一种心电波形图。
 
 
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种常见异常心率波形,由于系统使用嵌入式实时多任务操作系统,因此该设计具有很高的实时性、稳定性和可靠性。  
此内容为AET网站原创,未经授权禁止转载。