FFT在单片机上的实现(2)

2019-05-24 11:56

河南科技大学毕业设计(论文)

智能化的方向发展,这些仪器集成了复杂音频信号发生装置、功率放大装置等,具备了一些初步的图形化分析功能,使用户很容易组建音频测量系统。

基于快速傅里叶变换(FFT)的现代频谱分析仪,通过傅里叶运算将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果,。这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。

在这种频谱分析仪中,为获得良好的仪器线性度和高分辨率,对信号进行数据采集时ADC的取样率最少等于输入信号最高频率的两倍,亦即频率上限是100MHz的实时频谱分析仪需要ADC有200MS/S的取样率。

目前半导体工艺水平可制成分辨率8位和取样率4GS/S的ADC或者分辨率12位和取样率800MS/S的ADC,亦即,原理上仪器可达到2GHz的带宽,为了扩展频率上限,可在ADC前端增加下变频器,本振采用数字调谐振荡器。这种混合式的频谱分析仪可扩展到几GHz以下的频段使用。

§1.3 设计任务

1、 完成信号电压调理电路和硬件的连接电路的设计。制作出硬件实物。 2、 ADC模块能正确采集到音频的完整波形,并保证一定的精度。

3、 学习频谱分析和傅里叶变换有关原理,使用FFT算法分析出当前音频的频谱。 4、 设计显示程序,使显示屏能实时地、以柱状图的形式将音频频谱显示出来,并有一定的美观效果。

2

河南科技大学毕业设计(论文)

第2章 系统方案设计

§2.1 系统方案设计

图2-1 系统总体方案

系统由信号调理电路、数模转换模块、主控制器、显示部件组成。信号调理电路主要负责对音频信号的电压进行变换,使其电压变化能正确地被数模转换模块采集。对信号的滤波处理也在这里进行。ADC模块将连续变化的电压值转化为单片机可识别的离散数字量。主控制器对采集的数据处理得到信号频谱,并控制显示屏将频谱实时显示出来。由于是对模拟信号的实时采集分析,本系统除了可应用于数码音乐播放器的音频谱显示,还可连接麦克风显示分析环境或人声音频谱。

§2.2 系统硬件的选择

§2.2.1 处理器的比较与选择

鉴于本次设计的学习目的,处理器选择最易操作的51内核的单片机。传统8051单片机以12个晶振周期作为一个机器周期,处理速度慢,内存较小,且在用到ADC时需要与ADC芯片通讯花费时间,因此舍弃传统8051单片机。

3

河南科技大学毕业设计(论文)

升级版的51内核单片机有STC12系列和Cygnal的C8051F系列待选。其中后者被誉为51系列最快单片机,内部有最高12位高速ADC和最高4K的RAM。但这款单片机价格较贵且仅有贴片形式的封装,调试困难。

STC的12系列单片机同样有较快的处理速度,内部有最高10位高速ADC和1280字节RAM。考虑到本次设计目的为普通的频谱分析器,且液晶显示屏整体刷新速度有100ms的瓶颈限制,这里采用双排插针封装的STC12C560S2单片机作为处理器。晶振使用单片机最高允许的32.768MHz晶振。 §2.2.2 采样模块的确定

由于单片机自带ADC转换模块,可以直接使用。内部ADC模块的采样速度高达250K/S,远高于音频最高频率20KHz的二倍。使用内部ADC模块还可以省去通信、存储等使用外部ADC芯片时的繁琐操作。因此确定使用单片机内部ADC模块作为采样模块。

§2.2.3 显示器件的比较和选择

常见的单片机操作的8位显示屏有1602和12864两种,均为单色显示屏。前者是分块显示的显示屏。每格块的像素点为8×5,共2行16列。后者12864为128×64个像素点的整块点阵显示屏,用于显示图形十分方便,但每次更新图形都需要整屏刷新,需要传输的数据量较大。综合考虑,采用1602作为显示设备。利用同列的两个显示块显示一个变化高度的亮柱来表示一个频率分量的幅值大小。

4

河南科技大学毕业设计(论文)

第3章 系统硬件设计

§3.1 单片机STC12C5A60S2

§3.1.1 单片机STC12C5A60S2功能简介

1. 增强型8051CPU,单时钟/机器周期,指令代码完全兼容传统8051 2. 工作电压:STC12C5A60S2系列工作电压: 5.5V - 3.5V(5V单片机) 3. 工作频率范围:0~35MHz,相当于普通8051的

0~420MHz

4. 用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 5. 片上集成1280字节RAM

6. 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA

7. ISP (在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1 )直接下载用户程序。

8. 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM) 9. 看门狗

10. 内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)

11. 外部掉电检测电路:在P4.6口有一个低压门槛比较器 5V单片机为1.33V,误差为±5%,3.3V 单片机为1.31V,误差为±3%

12. 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5% 到±10%以内)用户在下载用户程序时,可选择是使用内部R/C

振荡器还是外部晶体/时

钟常温下内部R/C振荡器频率为:5.0V单片机为: 11MHz ~ 17MHz单片机为: 8MHz~12MHz。精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准 。

13. 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器

5

河南科技大学毕业设计(论文)

T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器

14. 3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟

15. 外部中断I/O 口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块。16. PWM (2路)/ PCA (可编程计数器阵列,2路)也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)

17. A/D转换, 10位精度ADC,共8路,转换速度可达250K/S

18. 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件

19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2 (可通过寄存器设置到P4.2),TxD2/P1.3 (可通过寄存器设置到P4.3)

20. 工作温度范围:-40 ~ +85℃(工业级) /0 ~ 75℃(商业级) 21. 封装: PDIP-40

§3.1.2 单片机STC12C5A60S2引脚图

图3-1 STC12C5A60S2引脚图

§3.1.2 单片机的最小系统

STC12C60S2最高支持33MHz的晶振,为使单片机处理数据的速度尽量快,

6


FFT在单片机上的实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:伊滨区掘丁路改建工程BT项目一期工程施工组织设计 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: