摘 要: 美国德州仪器公司(TI)的TMS320C2XX系列定点数字信号处理器 DSP 具有强大的实时处理能力和高度集成的片上硬件资源,使用灵活方便,在数字信号处理领域得到了广泛的应用。讨论了该DSP系列中的TMS320F206在心电监护模块中的应用,包括硬件接口和软件编程。
|
心脏在机械收缩之前,心肌预先发生电的激动,并向全身各部位放散,从而在体表的不同部位产生电位差。通过体表把这种变动着的电位差按时间顺序描记出来的连续曲线就是心电图ECG。 心电图是诊断心律失常的可靠的途径,其它临床检查虽然也可以诊断某些心律失常,但是准确率不高。通过观察患者的心电图,其诊断准确率几乎可以达到100%。心电监护模块的功能就是实时地记录下病人的心电波形,并进行自动分析和处理,同时给出相应的结论。 随着数字信号处理技术和大规模集成电路工艺的发展,单片数字信号处理器的功能越来越强大,价格越来越低,越来越多地被应用到人们生产生活的各个领域。本文介绍一种基于DSP芯片的心电监护模块的解决方案,讨论了它的硬件结构和软件组成。 该心电监护模块是一个以美国德州仪器公司(TI)的TMS320F206为的DSP数据采集和处理模块。整个系统安装在一块4层的PCB板上,通过9针RS-232电缆和PC机进行通讯,其原理框图如图1所示。其中所有的输入信号包括ECG1、ECG2(两路心电信号)、TEMPI(体温信号)、RESP(呼吸信号)、LEADOFF(导联脱落检测)、PACE(起博器检测)等均来自心电信号前期模拟处理模块。 |
1 TMS320F206简介
|
2 硬件组成 该心电监护模块共有4路输入:两路心电信号ECG1和ECG2、一路体温信号TEMPI、一路呼吸信号RESP,采用分时采样的工作方式。由于呼吸信号和体温信号的频率远小于心电信号的频率,在确定采样率时就以心电信号为基准。经验表明,在做常规心电图时,要求系统的带宽为100Hz左右,根据Nyquist采样定理,采样频率必须不低于200Hz。考虑到一定的工作裕量,每个工作通道的采样率取250Hz,这样对4个通道而言,总的工作频率为1kHz。通道切换的工作由一片双向模拟开关CD4051来实现,将C、B、A控制端连接到TMS320F206的三根地址线上,通过I/O指令打开相应的模拟通道,进行信号的采样。 信号的采样和量化工作由一片ADS774完成。ADS774是美国Burr-Brown公司生产的12位逐次逼近型并行A/D转换器,典型转换时间为8.5μs,并且有多种工作方式可供用户选择。在本心电模块中我们选用了直通 throughout 模式,仅用两根控制线R/C和STATUS与TSM320F206接口,其工作原理和时序如图2所示。 |
TMS320F206通过指令在XF引脚上产生一个宽度大于25ns的低电平脉冲,启动ADS774进行转换。启动后ADS774的STATUS引脚变为高电平,转换结束后ADS774数据线上的数据有效,此时其STATUS引脚跳变回低电平,通过这个电平跳变触发TMS320F206的INT1外部中断,将12位转换数据读入数据存储器。 由于TMS320F206片内的数据存储空间有限,为保存大量的采样数据和运算的中间结果,需增加外部数据存储器;同时为了在调试程序时能够设置断点和进行单步操作,也需要增加外部程序存储器。我们采用了4片日立公司的8位SRAM HM62256-10,两两组成16位的程序存储器和数据存储器,分别用F206的PS和DS信号进行片选。HM62256-10的典型存取时间为100ns,而TMS320F206的指令周期为50ns。为节省硬件等待电路的开支,利用了TMS320F206片内的可编程软件等待状态发生器产生两个等待状态,从而满足存储器的操作时间要求。利用TMS320F206片上集成的全双工异步串口,可以实现心电模块和PC机的通信。但是RS232电平和TTL电平不兼容,我们使用了一片电平转换芯片MAX202,它采用+5V单电源供电,使用时只需加几个电容,便能完成两种电平的转换。为防止数据在传输过程中受到干扰,在输入输出端都加上光电耦合器。 R波的定位是心电监护模块的一个重要功能,它关系到后面进行心率计算及心律失常分析结果的正确性。一个正常人完整的的心电波形由P、Q、R、S、T五个部分组成,其中R波和T波的幅值相对较高。心率计算通常是根据心电波形中R波的间距来推算得到。但在少数异常波形中,T波的幅值会超过R波,如果把T波误判为R波来进行心率计算,则会产生很大的误差。通过对大量的心电信号进行频谱分析,发现R波通常位于0~33Hz的频率范围内,而T波位于0~9Hz的频率范围内。为了在心率计算时消除T波可能引起的干扰,我们设计了一个有源带通滤波器,其中心频率f0=12.867Hz,带宽B=f0/Q=5.629Hz,下限截止频率f1=10.3565Hz;上限截止频率f2=15.9855Hz。标准心电信号通过该带通滤波器前后的波形如图3所示。可以看出,频率相对较低的T波有很大的衰减而R波基本保持不变。 |
3 软件设计 该心电监护模块的软件由两部分组成。一是运行在TMS320F206片内FLASH MEMORY中的系统监控程序,二是运行于PC机端的图形界面用户程序。前者对实时性的要求较高,为提高运行效率,采用TMS320C2XX汇编语言编写,经汇编、链接后在外部程序RAM中调试,调试成功后烧写到TMS320F206的FLASH中。它主要由如下几个功能模块组成:①系统初始化模块。完成RAM、ADS774、中断以及定时器等外设的初始化设置;②定时采样模块,进行四路信号的分时采集,经预处理后存入数据RAM;③心率、呼吸率计算和体温插值运算模块;④512点心电信号的基2 FFT运算模块;⑤异步串行通信模块,实现与PC机之间的通信协议。 下面简要介绍一下心率计算模块的算法。设dR-R是相邻两个R波的间距(即两个R波之间有dR-R个采样点),由于心电通道的采样率为250Hz,所以250÷dR-R即为一秒钟内R波的个数,60×250÷dR-R即为一分钟内的心跳次数。因此关键在于对R波进行准确定位。算法流程如图4所示。其中F I 为数据RAM中的1024个心电信号值,运算后, FIFO即被刷新,准备进行下次运算。 图5显示了R波的定位结果,"X"标识出查找到的R波点。 |
为了验证这个算法的正确性,我们以BIO-TECH心电信号仿真器产生的标准心电信号作为测试信号,发现它对正常信号和大部分异常信号均能准确地测出心率。
|
4 模块调试过程
|
参考文献 [1]. TMS320F206 datasheet https://www.dzsc.com/datasheet/TMS320F206_17297.html. [2]. PCB datasheet https://www.dzsc.com/datasheet/PCB_1201640.html. [3]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html. [4]. CD4051 datasheet https://www.dzsc.com/datasheet/CD4051_1865305.html. [5]. ADS774 datasheet https://www.dzsc.com/datasheet/ADS774_592605.html. [6]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html. [7]. TTL datasheet https://www.dzsc.com/datasheet/TTL_1174409.html. [8]. MAX202 datasheet https://www.dzsc.com/datasheet/MAX202_1089634.html. [9] TMS320C2XX Assembly Language Tools Texas Instruments, 1997 [10]TMS320C2XX User's Guide.Texas Instruments,1997 [11] TMS320F206 DIGITAL SIGNAL PROCESSOR. Texas Instruments 1997 [12] 陈西文.I/O接口程序设计入门与应用.北京:机械工业出版社1995 [13] 黄 宛.临床心电图学.北京:人民卫生出版社.1993 [14] 胡广书.数字信号处理--理论、算法与实现. 北京:清华大学出版社1997 |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。