问题描述:
CCS 6.0,RFFT_f32_mag.asm为controlSUITE 库中controlSUITE\libs\dsp\FPU 131版本
FFT 为256个点,CMD文件配置为512对齐
RAML7 : origin = 0x00F600, length = 0x000A00
FFTipcb_inbuf : { } > RAML7 PAGE 1,ALIGN(512)
FFTipcb_outbuf : { } > RAML7 PAGE 1
FFTipcb_coef : { } > RAML7 PAGE 1
FFTipcb_magbuf : { } > RAML7 PAGE 1
FFTipcb_phase : { } > RAML7 PAGE 1
- 由于需要计算4路模拟通道的FFT,为节省资源FFT计算复用,即先算AD1通道的值,然后更新 FFTipcb_inbuf在计算AD2的FFT。
- FFT在主循环中运行。
- AD中断为20Khz。
- 定时器中断为1ms。
- UARTA 为485通信。
现在的现象是:正常情况FFT运算正常,但偶尔(10分钟到几个小时,时间间隔不等),FFT输出的结果会出现错误,可以确定输入的信号只包含250hz和350hz信号,但是FFT输出的结果却出现了1300hz的数据,设置断点捕获,确实是FFT输出的,但是观察输入波形是正常的。
请问什么情况会干扰FFT的运行呢?
祝好