摘要:设计了一种实时信号频谱分析系统,该系统以TMS320VC5402 DSP作为系统数据处理核心,以AT89C51单片机作为系统事务处理核心,实现对信号的实时频谱分析并显示。实验结果表明:该系统能对频率在0~32kHz的范围内的信号很好地完成频谱分析。 关键词:频谱分析 DSP 单片机 FFT
引 言
频谱分析实质是对信号功率谱的估计,功率谱估计技术渊源很长,广泛应用于雷达、声纳、通信、地质探测、天文、生物医学工程等众多领域[1]。在DSP芯片出现之前,频谱分析的实现是依靠模拟滤波的方法来完成的,数字信号处理技术的发展为频谱分析提供了新的解决方法[2]。
本文设计了一种基于DSP的频谱分析系统。该系统以TI公司的DSP芯片TMS320VC5402作为数据处理核心,以AT89C51为事务处理核心,组成了具有数据采集、实时数据处理和频谱显示功能的硬件平台,在此基础上应用FFT技术,形成数字化的频谱分析系统。
1. 频谱分析系统硬件设计
1.1双CPU方案
本系统是基于TI公司16位定点数字信号处理芯片TMS320VC5402的频谱分析系统,其硬件系统结构图如图1所示,它包含DSP和单片机两个子系统,右侧虚框为DSP子系统,用来做数据处理,左侧虚框为单片机子系统,用来做事务处理。采取这种双CPU方案原因有二:一、TMS320VC5402是具有特殊结构的微处理器,具有一系列和数字信号处理相适应的特点,比如:具有数据总线和程序总线分离的改进型哈佛结构;采用6重流水线结构,可并行处理多条指令;并具有单周期完成乘法的硬件乘法器以及一套适合数字信号处理的指令集等等;如此这些特点都说明TMS320VC5402具有高速的数据运算能力,是运算密集型的器件[3];二、单片机强调控制和事务处理功能,是事务密集型的器件。我们正是利用这两种芯片的不同特点,使其扬长避短,各司其职,高效地完成频谱分析的任务。TMS320VC5402子系统作为从设备,完成采样、计算等功能;单片机子系统作为主设备,完成控制和显示。单片机选择的是MCS-51系列的AT89C51。

图1 硬件系统结构图
1.2主从设备接口
主从设备之间要以一定的方式接口,来进行数据通信。本系统采用的是DSP芯片中为了满足DSP与其它的微处理器接口而专门设计的HPI接口[4](HOST PORT INTERFACE,主机接口)。TMS320VC5402的HPI是一个8位(HD0~HD7)的连接DSP与主机设备或主处理器的并行接口,信息在TMS320VC5402与主机间通过TMS320VC5402的片内存储器进行交换,整个片内RAM都可以作为HPI的存储器。HPIA地址寄存器只能由主机直接访问,存放当前寻址的存储器的地址;HPID数据锁存器只能由主机直接访问,存放当前要写入或读出的数据;HPIC控制寄存器可以被主机和C5402共同访问。HPI本身的硬件中断逻辑可以完成主从设备之间的握手,主机通过置HPIC中的特定位产生DSP中断,同样DSP通过HINT引脚对主机产生中断。HRDY引脚用于自动调节主机访问HPI的速度,使慢速外部主机与DSP能很好地匹配。
由于DSP和单片机之间的电平不匹配,故需要进行接口电路的电平转换,如果引脚数量少,可以直接用三极管电阻来转换,本系统中由于涉及到的引脚较多,所以选用PHILIP公司出品的74LVC16245A芯片来进行电平转换。74LVC16245A是一个工作电压在2.7伏到3.6伏的双向收发器,可以用做两个八位的或是一个十六位的收发器,它可以接收高达5.5V的高电平,而输出的高电平可以达到3.3V左右,正适合TMS320VC5402与AT89C51之间的电平转换。
图2、3是本系统TMS320VC5402与AT89C51之间通过74LVC16245A的接口电路。

图2 16245与HPI口连接部分

图3 16245与AT89CC51单片机连接部分
1.3 A/D转换
因为TMS320VC5402内部没有集成A/D,因此在数据采集时需要使用A/D转换芯片。为了充分利用C5402所提供的多通道缓冲串口资源,简化系统设计,本系统使用了TI公司的高速串行模数转换芯片TLC320AD50C,该芯片是一种∑-△型、具有许多优良特性的模拟接口电路芯片,该芯片广泛适用于各种电路,尤其是应用在DSP领域中。TLC320AD50C与TMS320VC5402是以串行外围设备接口SPI(serial peripheral interface)即同步串行接口方式连接的。TLC320AD50C工作在主机模式(M/S=1),提供SCLK(数据移位时钟)和FS(帧同步脉冲)。TMS320VC5402工作于SPI方式的从机模式。通过寄存器设置,将TMS320C5402的FSX、FSR、CLKR、CLKX配置为外部输人,TLC320AD50C的SCLK配置为内部产生。这样数据接收/发送帧同步信号、移位时钟信号均由TLC320AD50C产生。串行口的接收/发送过程受TLC320AD50C的控制。TLC320AD50C芯片的采样频率可以通过串口编程来得到,采样率fs=MCLK/(128*N)或MCLK/(512*N)(其中N为控制寄存器4中的4~6位所设,MCLK为输入主时钟),这就使得采样频率方便可调。在电源方面TLC320AD50C可以根据DSP的电源特性选择3.3V或5V的数字电压,以实现管脚的直接连接。本系统中,TLC320AD50C与TMS320VC5402的McBSP多通道缓冲串口相连,连接图如图4所示。

图4 TLC320AD50C 与C5402的串口连接图
硬件设计部分还包括最小系统的设计以及存储器扩展,这些部分都有经典电路,在此不再赘述。
2. 频谱分析系统软件设计
软件设计部分也分成两大部分,数据处理部分和控制显示部分。
2.1数据处理软件
此部分软件作用于TMS320VC5402子系统,共包括4个子模块,分别为初始化模块、串口打开模块、串口接收数据模块和数据处理模块。
初始化模块包括TMS320C5402芯片的初始化和多通道缓冲串口McBSP的复位。TMS320C5402芯片的初始化主要是对时钟模式寄存器、系统寄存器和系统定时寄存器的设置;多通道缓冲串口(McBSP)的复位主要是对串口接收控制寄存器SPCR1、串口发送控制寄存器SPCR2、接收寄存器RCR[1,2]、发送寄存器XCR[1,2]、引脚控制寄存器PCR的设置。
串口打开模块主要是对多通道缓冲串口寄存器的初始化。先调用等待wait延时,再初始化串口接收控制寄存器SPCR1、串口发送控制寄存器SPCR2,使接收器和发送器使能。
串口接收数据模块主要包括以下几部分:调用接收器是否准备好的检测程序,判断接收器是否准备好,未准备好就一直检测,直到准备好就从DRR1中读数据到累加器B,再将读入的数据依次存放到指定的单元内。
数据处理模块的功能是将读入的数据(d_input单元内)位码倒序后放到fft_data单元内作为FFT处理的输入数据,数据进行快速傅立叶变换(原位FFT)后仍然依次存放到fft_data单元内。将FFT处理后的数据进行功率谱计算,得到的数据依次存放到fft_out单元内,然后对主机产生中断,并等待下一组数据的到来。软件数据处理流程如图5所示。
 图5 软件数据处理流程
2.2控制显示软件
控制显示软件作用于AT89C51子系统,主要用于接收由TMS320VC5402子系统处理得到的数据,并将其显示。
3. 结论
本频谱分析系统已经借助仿真器及DSP的集成开发环境调试通过,对信号进行实际采集表明:对于频率在0~32kHz范围内的信号,能够完成其频谱分析,且满足实时性的要求。但是,本系统还存在一些缺陷,比如:由于AD的采样速率决定了处理信号的频率为32kHz以下,在做频谱分析之前需要对信号进行频率范围估计;再有,在算法上可以对FFT进一步优化。这些都是我们今后研究中要改进的方面。
本文作者创新点: 把TMS320VC5402 DSP作为系统数据处理核心,以AT89C51单片机作为系统事务处理核心,设计了一种实时信号频谱分析系统。实验表明:本系统能对频率在0~32kHz的范围内的信号很好地完成频谱分析。
参考文献:
[1] 胡广书. 数字信号处理——理论、算法与实现(第二版).北京:清华大学出版社,2003.
[2] 杨宇,叶宇风,王洪.基于DSP的实时信号频谱分析模块设计.电子测量技术,2006,29(2):124-125,128.
[3] 肖洪兵,李冬梅,李朝晖. TMS320C5402 DSP在嵌入式测控系统中的应用 [J]. 微计算机信息,2006,3-2:67-69。
[4] 邹彦.DSP原理及应用.北京:电子工业出版社,2005.
|