基于32位ARM和μC/OS-II的心电信号处理系统
系统总体设计
本文所介绍的系统的主要功能是对心电信号进行实时的处理和传输,系统原理框图如图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 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口。
评论