基于ARM的心电信号处理系统设计与实现
扫描二维码
随时随地手机看文章
本文设计了一个具有数字化、信息化特征的心电信号处理系统。该系统以 32 位高速 ARM 处理器为硬件平台,以实时操作系统作为软件平台,对硬件系统的资源进行了调度和分配,达到了对心电信号进行实时处理的效果,并且实现了对心电信号的实时显示、实时存储等功能。
据统计,我国目前有县及县级以上医院1.3万家,医疗机械总数达17.5万台,加上一些专业心脏疾病治疗机构,我国目前每年心脏疾病的门诊量约在一千万人次以上。根据国家卫生部《全国卫生信息化发展规划纲要》的目标,在2010年要基本实现医院的数字化和信息化。所以未来医疗器械市场对新型医疗设备的市场空间巨大,特别是拥有数字化和信息化特征的心电信号处理系统具有广阔的应用前景和实用价值。本文就是介绍的一种基于ARM的心电信号处理系统设计。
系统总体设计
本文所介绍的系统的主要功能是对心电信号进行实时的处理和传输,系统原理框图如图1所示。
图1 系统原理框图
心电信号通过电极提取进入模拟处理模块,在模拟处理部分经过放大和滤波处理后,提高了信号的强度和信噪比。信号经过量化后转换成数字信号,进入数字处理模块,在以ARM处理器为核心的数字处理模块中,心电信号被保存在一个缓冲区中,经过实时操作系统的调度后,通过USB通道传递到PC上,PC的软件模块包含了对USB通道数据的接收和对心电信号的处理,经过处理后的心电信号进一步提高了信噪比,并显示在屏幕上,从而达到协助医生诊断心脏疾病的目的。
1 S3C44B0X处理器
S3 C44B0X微处理器是Samsung公司专为便携式设备提供的高性能和高性价比的微控制器解决方案,使用32位的低功耗RISC内核ARM7TDMI,采用0.25μm CMOS工艺制造,支持新型总线结构SAMBAII(Samsung ARM CPU embedded Microcontroller Bus Architecture)。同时,S3C44B0X在ARM7TDMI核的基础上,扩展了一系列通用外围器件,使系统成本及外围器件数口降至最低,这些功能部件可以分为CPU单元、系统时钟管理单元、存储单元和系统功能接口单元。
片上集成的主要功能有:在ARM7TDMl基础上增加8KB的Cache;外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器最大支持256色的DSTN,并带有1个LCD专用DMA通道;2个通用DMA通道、2个带外部请求引脚的DMA通道;2个带有握手协议的DART: 1个SIO;1个I2C总线控制器;5个PWM定时器及1个内部定时器;看门狗定时器;71个通用可编程I/O口,8个外部中断源;功耗控制模式有正常、低、休眠和停止;8路10位ADC;具有日历功能的RTC(实时时钟);PLL时钟发生器。
2 实时操作系统μC/OS-II
μC/OS-II是一个完整的、多移植、可固化、可裁剪的占先式实时多任务内核。μC/OS-II是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可供不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已在超过40种不同架构的微处理器上运行。世界上已经有很多领域都使用了μC/OS-II。
μC/OS-II是一个“实时内核”,使用这个内核可以使得应用程序的设计和扩展变得容易,而且不需要大的改动就可以增加新的功能。通过将应用程序分割成若干个独立的任务,RTOS使得应用程序的设计过程大大简化。
硬件系统设计
1 UART异步串行接口设计
在本文中,心电数据都是通过USB通道传送到PC的,但是由于USB接口的复杂度,在调试USB器件时需要使用到异步串行接口。而且在某些老式的PC上不能使用或安装USB驱动程序时,异步串行接口可以作为一种备用的低速传输方式,这样也增加了系统的可扩展性。
图2是在心电信号处理系统中带有RS232电平转换的S3C44B0X的串行接口电路连接图。在图中,RS232电平转换芯片为MAX3232,其RxD0、TxD0和RxD1、TxD1分别连接S3C44B0X的第99、100和103、104引脚。
图2 串口部分连接图
2 USB设备接口电路设计
由于USB协议的复杂性,USB设备控制器必须能够检测、反应USB端口事件,提供数据存储方式的功能。考虑到性价比和技术资料等因素,在本系统中选择了支持USB1.1协议的PHILIPS公司生产的PDIUSBD12芯片。
图3是PDIUSBD 12与S3C44B0X的硬件连接图。在图中,USBD 12的D0~D7脚分别连接S3C44B0X的数据总线D0~D7,A0连接S3C44B0X的地址总线ADR0 ,A0是地址位,当A0=1时,选择命令指令;A0=0,选择数据。J8是USB从接口(slave),可以通过USB电缆连接到PC的USB口。
图3 USB接口电路
3 FLASH ROM电路设计
在心电信号处理系统中,S3C44B0X是硬件部分的中央处理器,而实时操作系统μC/OS-II是硬件资源的调度中心,它就存放在FLASH ROM中,在每次系统初始化之后,由S3C44B0X将其复制到SDRAM中后,再进行应用程序的执行。
在本系统中使用的是SST公司生产的容量为1M×16bit的多用途FLASH存储器SST39VF160。ARM与FLASH接口电路如图4所示。
图4 ARM与FLASH接口电路
当S3C44B0X复位时,它立即从0x00000000地址处开始取指令执行。因此,系统启动代码放在了地址0x00000000处,并把定位在0x00000000处的存储器称为BOOT ROM,在ARM系统中,通常都采用能够快速读取并方便重新写入的Flash ROM作为BOOT ROM。处理器对Flash ROM的接口不需要任何软件上的设置,在系统第一次上电时,CPU就可对Flash ROM进行读取了。
4 片外主存SDRAM的接口电路设计
在实时操作系统 μC/OS-II中,每个任务都有独立的堆栈,并且是由连续的内存空间组成。在心电信号的传输过程中,还需要一个缓冲区进行数据的存储,包括系统软件运行所需要的堆栈等。这些都需要系统的主存来分配空间。
S3C44B0X内部只有8KB的缓存,没有能用来运行程序和存放临时数据的RAM,所以必须外接SDRAM作为片外主存。在本文中,采用的是ICS公司生产的容量为1Mb×16×4Bank的IS42S16400。
S3C44B0X与SDRAM的连接图如图5所示。
图5 S3C44B0X与SDRAM的连接图
软件系统设计
为了实现了对心电信号的量化和对数据的处理和传输,充分的利用μC/OS-II的实时性,并使软件系统具有良好的可重用性,为以后对系统功能的扩展提供条件,本系统软件设计如图6所示。
图6 软件系统设计流程图
抗干扰设计
心电信号传输到PC机端后,需要显示到屏幕上,形成心电图。在心电信号处理系统中采用的12导联在屏幕上表现为12个心电波形,每一个波形都包含着特定的信息,但是要得到接近于理想的心电波形,就必须对信号进行预处理。
从测量技术上来说,心电信号属于强噪声背景下的低频微弱信号,幅度为10μV~5mV,主要的频率范围为0.05~100Hz,因此,在心电信号的检测、提取、放大及记录过程中,有来自人体自身的干扰,如肌电干扰,也有来自外界的干扰如工频干扰等。这些干扰使系统的信噪比下降,甚至会淹没微弱的有效心电信号。因此,需要进行信号预处理以消除各种干扰。本文使用自适应噪声抵消器来进行预处理,如图7所示。
图7 自适应噪声抵消器消除噪声的结构图
结束语
实验表明,本文设计的基于ARM的心电信号处理系统,对信号的采集和处理部分采用的软硬件模块化设计,提高了心电信号检测的精度。设计的以ARM处理器为核心的软硬件系统和USB通信接口,提高了系统的稳定性和可靠性,达到了预期的技术指标,为设计新型的心电信号处理设备提供了理论基础和依据,此系统也将为心脏病变的诊断发挥重要作用。