我使用贵公司的产品,使用ADS1278与STM32F407相连,采用SPI TDM Fixed传输方式,高分辨率模式,由stm32F407通过pwm产生时钟CLK为5.12MHZ,由此产生10.25kHz的DRDY信号(已用示波器检测),SCLK设置为1.312MHz,Vref=2.5V,AVDD=5V,DVDD=1.8V,IOVDD=3.3V,但是当我采集1khz正弦信号(VPP=3V,offset=1.5V)的时候显示图像经过FFT运算为1700HZ,若采集800HZ信号经过FFT后为3500HZ,请问原因是什么,(信号在进入AD前有差分电路以及又运放构成的低通电路,导致输入电路的总体输入电压范围为0~3V)
此图为输入1.8V直流信号采集到的数据
此图为用10.25kHZ的采样频率测800HZ信号的图(纵轴为电压值,横轴为每个采样点代表的时间s)
Amy Luo:
您好, ADS1278差分输入要求 (AINP–AINN)的范围为±Vref=2.5V,正弦信号(VPP=3V,offset=1.5V)您是单端输入还是差分输入的呢?FFT 之后的频率您是指的频谱宽度吗,FFT 之后频谱宽度与采样率和样本数有关。
user5986314:
回复 Amy Luo:
正弦信号(VPP=3V,offset=1.5V)使用单端输入,信号在进入AD前有有运放构成的低通电路以及差分电路,这样实现AINP–AINN)的范围为±Vref=2.5V的差分输入。
我说的FFT后的采样频率不对指的是频域图中模值最大的点对应的频率不是输入信号的频率,其实就是我实际采样频率与我drdy测到的频率不同,但是已经确认SPI在传输过程中没有丢失,且我整个系统在输入直流信号的时候采集到的数据是正确的,但是测量正弦信号就不对,此外在输入信号为0.1Hz的正弦信号(VPP=3V,offset=1.5V)时,用1hz的采样频率,检测到的数据显示一直为0V
Amy Luo:
回复 user5986314:
您输入的信号只有一种频率信息,那么FFT后应该只有一个幅值比较大的点。FFT第K个样本的实际频率为f(k)=k*(fs/n),fs是对原始信号的采样频率,n是做FFT的样本数。
user4413343:
CLK和SCLK的倍率最好是2的整数倍,是不是与这个有关?