TMS320F2812 DSP的FFT运算和DCT实现*
2012-02-28邓大伟
艾 红,邓大伟
(北京信息科技大学 自动化学院,北京 100192)
傅里叶变换是一种将信号从时域变换到频域的变换方式,而快速傅里叶变换 FFT(Fast Fourier Transform)是数字信号处理技术的基石。FFT和离散余弦变换DCT(Discrete Cosine Transform)都是数字信号处理技术中的基本算法,也是数字信号处理的基本工具。DSP芯片的出现使FFT和DCT的实现更为方便。本文利用TMS320F2812DSP内部的ADC模块与事件管理器(EVA)构建了数据采集与数据变换并行处理的信号处理系统,充分利用TMS320F2812强大的数据处理能力,实现了FFT运算,提高了运算速度[1-2]。
1 FFT算法的实现
TI公司的TMS320F2812 DSP是目前控制领域性能较高的处理器,它将各种高级数字控制功能集成于一块芯片上,整合了Flash存储器、快速的A/D转换器等外设,强大的数据处理和控制能力大幅度提高了应用效率。
1.1 数据采集ADC功能
DSP系统的模拟输入电压范围为0~3 V。通过使用事件管理器的定时器1下溢中断启动ADC。系统设计时晶振为30 MHz,经过锁相环倍频后CPU时钟频率SYSCLKOUT是150 MHz,事件管理器采用高速外设时钟HSPCLK,经过程序设计6分频得到高速外设时钟HSPCLK 为 25 MHz。
SysCtrlRegs.HISPCP.all=0x3;//HSPCLK=SYSCLKOUT/6
将事件管理器中通用定时器1的周期寄存器值设置为 0x07FF,每经过 2 048(0x07FF+1)个通用定时器的时钟周期启动一次ADC。事件管理器中的通用定时器1由于没有对高速外设时钟分频,因此通用定时器1的时钟频率为 25 MHz。


为了实现数据采集,设置ADC工作在级联排序器模式,最大转换通道数为1,并且采集数据来自通道ADCINA4,使能事件管理器EVA的触发信号启动ADC排序器SEQ1,允许ADC产生中断。相关程序设计如下。

当事件管理器的通用定时器1产生下溢中断时,启动ADC。……
