APP下载

基于stm32的频谱分析仪的设计

2016-03-12河北科技大学陈国通马忠强

电子世界 2016年23期
关键词:原理图信号处理分析仪

河北科技大学 赵 雪 陈国通 马忠强

基于stm32的频谱分析仪的设计

河北科技大学 赵 雪 陈国通 马忠强

提出一种以STM32F407为核心,主要采用FIFO来做高速缓存的方案。高速信号先通过AD采样,然后先将采样后的数据给FIFO先缓存处理,然后再通过STM32F407进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互。该设计可实现任意波形信号的频谱显示,可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。由于成本较低,具有一定的应用价值。

stm32F407;FFT;频谱分析;AD采样

1 引言

近年来,频谱分析仪在汽车,通信信号处理,工业制造等各行各业已成为一种非常有用的工具。一般用示波器观察一个信号的波形。幅度、频率等,但对于复杂信号的一些信息无法仅通过波形,幅度,频率获取。如果由时域转至频域,就能观察到各个频率点上的功率幅度大小分布情况。

频谱分析仪按照原理分为模拟和数字频谱分析仪。随着时代的发展,工程应用复杂化,产品更新更快,对于频谱分析仪的精度要求更高,处理速度要求更快,传统的模拟频谱分析仪由于体积庞大,功能单一,价格昂贵已不适应时代需求,正逐步向数字频谱分析仪发展[1]。目前实现信号的频谱分析仪的主要方法有:采用通用数字信号处理芯片实现、采用专用DFT/FFT芯片与DSP芯片实现和采用FPGA实现[3]。

本文提出一种利用ARM Cortex M4内核的STM32作为数据处理核心,控制整个频谱分析系统的设计方案。本系统由前置匹配放大电路,AD采样电路,高速FIFO缓存电路,以及液晶显示电路组成。

2 系统方案

2.1 MCU处理器的选择

本设计以ST公司生产的32位的STM32F407为核心DSP处理器件,该芯片具有1MB的Flash闪存空间,196KB的SRAM空间,并且时钟频率达到了168MHz。程序运行于168MHz主频时,通过Flash取指令(不是内部SRAM),通过Dhrysone测试得到210DMIPS,主要采用ART加速器,可以最大限度的消除Flash存储器较慢从而限制MCU性能的发挥,这可以使CPU可以在所有工作频率下近乎零等待的方式,从Flash中运行程序。再就是STM32F407带有硬件FPU处理单元,这样可以不用软件算法实现浮点运算,而直接采用硬件来实现浮点运算,这样就减小了编译器生成的代码量,并且使用更方便,浮点数只占用四个字节就可以表示的数据范围很大,因此不用担心计算后的数据溢出问题,从而进一步提高运算速度。

2.2 采样方法的选择

本设计的采样时钟信号选用Linear公司生产的LTC1799提供。LTC1799是一款精准型振荡器,使用方便。它以单电源的方式工作在2.7V到5.5V,并提供了轨至轨、占空比为50%的方波输出。CMOS输出驱动器确保了快速上升/下降时间和轨至轨开关操作。通过电阻器调节设定频率,电阻阻值在3kΩ~1MΩ的范围内变化,用以选择100KHz到33MHz之间的任何一个频率。三态DIV输入负责决定驱动输出之前对主时钟进行1、10或100分频。

2.3 高速数据缓存芯片的选择

高速数据缓存芯片采用FIFO芯片,由IDT公司生产的IDT7205是典型的单向异步FIFO芯片,是一种高速、低功耗的先进先出双端口存储缓冲器。这种FIFO芯片内部的双端口RAM具有2套数据线,分别执行输入和输出功能,各自独立的写读指针分别在写、读时钟的控制下顺序地从RAM中写、读数据。

3 理论分析与计算

离散傅里叶变换(DFT):

DFT(离散傅里叶变换)是数字信号分析与处理中的一种重要变换,它可以使数字信号处理在频域内采用数值运算的方法进行,大大增加了数字信号处理的灵活性,但直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以在快速傅里叶变换(FFT)出现以前,直接用DFT算法进行谱分析和信号的实时处理是不切实际的[4]。

DFT定义:设x(n)是一个长度为N的有限长数列,定义N点离散傅里叶变换为:

(1)周期性

(2)对称性

利用DFT的周期性和对称性可把DFT的计算次数大大减小。

根据以上的结果,就可以计算出:

所对应信号的表达式为:

但是由于所做的点数有限,造成频谱泄露是必然的。因此并非要计算所有点的幅值,相位以及频率信息,而只需要计算出各个峰值点的幅值,相位以及频率即可表示采样信号各谐波分量的全部信息。

因此算法模块要实现的功能:保存FFT之后峰值点的实部和虚部,以及峰值点所处的位置这几组点即可。

4 电路设计

4.1 A/D转换模块原理图

A/D转换使用的是TI公司生产的8位精度的并行AD转换器TLC5510A。其电路原理图如图4.1所示:

图4.1 A/D转换模块原理图

4.2 高速缓存模块原理图

本设计的高速缓存芯片选用IDT司生产的IDT7205,其存储深度可以达到8KB。其电路原理图如图4.3所示:

图4.2 高速缓存电路

4.3 液晶显示模块原理图

本设计的液晶模块采用无字库LCD12864来显示,其电路原理图如图4.4所示:

图4.3 LCD12864液晶显示

5 总结

STM32F407芯片端口虽然可以忍受+5V的电压,但这不代表其可以识别+5V的高电平,因此在读+5V的输入端口电平,需要用电平转换芯片将+5V转换成+3.3V的,否则读出的数据是错的。但是3.3V属于高电平,因此其可以驱动+5V工作的数字芯片。

在数字信号处理最重要的就是要验证数据的准确性和有效性,因此就要使用MATLAB软件仿真来做数据对比,以判断STM32F4的计算结果是否准确。

在测试过程中,我们使用被白噪声污染过的信号经过离散化后的数组,如图5.1所示,为同一信号256点与1024点FFT之后数据的对比:

图5.1 同一信号256点与1024点FFT之后数据的对比

由此可知本设计合理,另外,若再设计滤波电路滤除噪声,实验结果会更理想。

[1]GANDERTON R.Spectrum analysers today[J].Electronics &power,1978.

[2]LIM H,LEE S.A study on the low-cost digital spectrum analyzer design[C]//Proceedings of 2014 6th International Conference on Electronics,Computer and Artificial Intelligence.Bucharest:IEEE,2014:31-34.

[3]韦炯全.基于FFT的高速电力谐波检测仪的研制、检测技术与自动化装置[D].广西大学,2011.

[4]万永革编著.数字信号处理的MATLAB实现(第2版)[M].北京:科学出版社,2012,5.

图2 纹波及实物图

5 总结

使用降压控制器LM5117芯片和CSD18532KCS MOS场效应管作为DC-DC变换的核心器件。在汽车电源12V直流电压时,输出直流电压5V,输出电压偏差在100mV之内,输出电流最大值为3A,具有过流保护功能,整体电路在输入12V直流电压时,稳定降压输出5V,负载调整率低至0.2%,电压调整率低至0.199%,效率高达91.57%,纹波低至30mv。此设计能够将汽车电源进行高效率的转换,解决智能手机以及车载电子设备供电不足的困惑。

参考文献

[1]王兆安,刘进军主编.电力电子技术[M].机械工业出版社,2012,7.

[2]陈永真,孟丽囡.高效开关电源设计与制作[M].中国电力出版社,2008,3.

[3]宁武,曹洪奎,孟丽囡主编.反激式开关电源原理与设计[M].电子工业出版社,2014,7.

[4]采用模拟电流监视器的宽输入范围同步降压控制器[S]. LM5117数据手册,2015.

陈国通,男,河北科技大学教授,研究方向:数据交换与传输。

猜你喜欢

原理图信号处理分析仪
Sievers分析仪(苏伊士)
一种用于深空探测的Chirp变换频谱分析仪设计与实现
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
维修电工线路板的接线技巧分析