如何将PC系统的大数据空间、高运算能力与单片机的小型化结合起来,DSP器件提供了良好的解决方案。DSP器件是为数字信号处理设计的高性能处理器件,已经在通讯、图像处理、医疗等诸多领域得到了广泛的应用,而且随着大规模集成电路技术的发展,其性价比比也有很大的提高。本文介绍一种以 DSPTMS320C32芯片为核心的心电信号实时采集系统。
目前,以心电信号自动测量、分析和诊断为主的心电工作站系统已经得到了广泛的应用,对于心脏疾病的早期预防、实时诊断发挥了较大的作用。分析传统的心电工作站系统,可以发现如下的特点:1)大多是基于PC机系统,心电信号经PC采样接口卡存储到PC上,然后由PC机进行分析处理,这在一些场合(如病人床边、家中)的数据采集时使用不方便;2)由单片机做成体积小、可以随身携带的仪器,但是,由于目前8/16位的单片机系统运算能力有限,而且数据空间有限,对于一些长时间的数据采集或要求较复杂算法的信号处理就无能为力了。
2 系统结构
2.1 TMS320C32特点
TMS320C32是美国TI公司浮点C3X系列DSP器件的新一代产品,它针对C30和C31进行了简化和改进,具有如下的特点:
1)外接40 MHz的晶振,具有40 MFLOPS,20MIPS的运算速度,32位运算精度,强大的指令系统,所有指令单周期执行;
2)丰富的硬件资源,包括1个串行口,两个时钟,两个DMA控制信道,优先级可以设置,4级优先中断,支持多种的寻址方式,提高了信号处理的运算能力;
3)较大的寻址空间,24根地址线有近16 Mb的空间,数据程序总线的宽度可变,STRB0、1可定义为8/16/32位的数据宽度和外部存储器宽度;
4)外部中断触发方式可选电平/边沿方式,内部中断矢量表地址可复位,程序引导可由芯片内部Boot Loader实现;
5)增加了两种节电运行方式,低功耗。
2.2 系统主要设计指标
下面是以DSP为核心的心电数据采集系统的设计框图,如图1所示,主要包括以下特点:
1)多通路信号采样,可控制模拟多路开关采集16路信号,包括12路常规心电信号ECG、3路正交信号CMP和1路心率变异信号HRV;
2)A/D采样频率为16 kHz,分辩率为12 bit,转换精度高,线性误差为1/2 LSB;
3)大存储容量。1 Mb的存储空间,能够存储多路长时心电数据及分析诊断结果;
4)有可编程逻辑芯片MACH实现逻辑控制;
5)其它部分,包括LCD图形点阵式液晶显示、输入按键。
2.3 信号采集系统
2.3.1 程序及数据存储器
多路心电信号实时采集的数据量比较大,10 s的常规12路ECG信号有240 k字节的数据量。系统选用大容量的快速闪存作为存储器。C32允许可变宽度的外部存储器接口,用作数据存储时,宽度可以是8/16/32位,用作程序存储时,宽度可以是16/32位,因此,设计16位的外部存储器接口,同时用于存放应用程序和数据,两片Atmel27F080构成1Mb×16的存储器,采用16位的存储器接口方式,减小了系统的体积。Atmel 27F080的数据存储时间是70 ns,符合快速接口的要求,允许任意位置数据的存储、擦除,与DSP的连接如图2所示。
DSPC32的内部RAM是512字,为增强其算法处理能力,外部扩展了32 kb的高速SRAM,由4片ISSI61C256-15构成,其存储速度是15 ns。
2.3.2 多路开关和A/D信号采集
经放大后的多路心电信号通过多路模拟开关后输入到A/D转换器,进行时分多路的信号采样。多路开关选用Max336 16路选1的开关。设计信道1~12用作12路常规心电信号输入,信道13~15用作3路正交信号的采集,信道16用作心率变异信号输入。具体采集时由DSP控制逻辑器件确定所要采集的通路。
A/D转换由Max196完成。Max196能实现12bit模数转换,单5 V供电,内部有参考电压Vref转换电路,支持±10 V、±5 V、0~10 V、0~5 V的电压转换范围,由控制字确定输入信号的范围,A/D转换的速率可达100 ksps,具有低功耗的工作方式,输入输出引脚全部三态,与微处理器的接口简便,如图3所示。
DSP往其写控制字启动A/D转换,A/D转换结束后,产生Int信号,连到DSP的Int1上,产生外部中断,DSP读取转换结果。系统的采样频率是16k,DSP的指令周期是50 ns,因此,在两次转换的间期,DSP有充足的时间进行数据处理,包括数据滤波、存储等。
2.3.3 MACH逻辑控制部分
系统的逻辑控制由MACH4 64/32(见图4)实现。MACH4 64/32是Vantis公司的第二代高密度、电可擦除、CMOS PLD器件,逻辑容量相当于1250个等效PLD门。在本系统中,MACH负责产生各外设的片选信号、模拟开关的计数控制信号、按键的编码等。
当A1A0给MACH内部的寄存器赋值00时,输出Q3Q2Q1Q0从0000~1011按12进制计数,模拟开关选择常规12导心电信号;当A1A0=01时,输出Q3Q2Q1Q0从1100~1110按3进制计数,模拟开关选择3导正交心电信号;当A1A0=10时,输出Q3Q2Q1Q0=1111,模拟开关选择心率变异信号。
系统设置了4个按键,用于功能选择。由MACH对按键实现编码,确定按键代码D1D0,同时,产生按键中断信号连到DSP的Int2引脚上。
3 心电工作站的心率变异性分析
心率变异性(HVR)分析目前在临床研究中受到了普遍的重视,已成为心血管疾病及心电生理研究的热点。一般处理方法是采集短时(520点)或长时(24 h)心电信号R波的间期,从多个信号处理的角度进行分析,给出关键参数。本系统对心率信号采集处理的流程如图5所示。
系统设置包括设置采样频率fs=1 kHz,模拟开关选择第16路。由于HRV分析的对象是心电波形的RR间期,在数据采样同时,就对波形的R波进行定位,找到R波位置,计算出相邻R波的间隔RR间期后存储。DSP的高速特点使得在数据采样的同时可以进行较为复杂的信号处理,比较准确地找到R波的位置。具体采用了如下措施:
1)数字滤波。采样的信号通过截止频率是150Hz的低通数字滤波器,实时滤除高频的干扰信号。
2)采用斜率跟踪的方法确定R波的位置。事先确定一个阈值,当采集波形的斜率变化超过阈值时,跟踪寻找斜率变化最大的位置,即R波所在的位置。
采样完毕后,对RR间期进行快速分析,分析方法包括了时域的统计分析、频域的谱分析,得到多个分析结果显示在液晶显示器上。
本文设计的以DSP320C32芯片为核心的心电工作站系统,使得多路心电信号的采集、分析能够实时实现,系统的体积小,便于携带,同时有较强的运算能力,将数字滤波、神经网络等方法增加到分析程序中,将大大提高处理能力与诊断的准确性。同时,适当改变程序(如输入信号信道的定义)和分析程序等,还可使本系统用于其它的生理信号实时处理。