欢迎来到天天文库
浏览记录
ID:55169113
大小:3.06 MB
页数:14页
时间:2020-04-30
《基于STM32-DSP库的音乐频谱设计.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于STM32DSP库的音乐频谱设计成员:游政园刘亚东彭誉黄文卓程剑张琼燕班级:电子信息科学与技术1211班指导老师:张静13目录一、设计任务和性能指标31.1设计任务31.2性能指标3二、设计方案32.1系统总体方案设计32.2硬件设计42.2.1主控MCU模块42.2.2电阻触摸液晶显示模块52.2.3音频采集模块72.2.3按键输入模块72.2.4整体电路布局8三、系统软件介绍83.1软件实现思路83.2各部分软件实现思路93.2.1硬件初始化93.2.2音频信号的采集10四、测试结果124.164分频
2、,即64点基4-FFT频谱与电脑对比测试124.2256分频,即256点基4-FFT频谱与电脑对比测试134.364分频,即64点基4-FFT频谱与电脑对比测试13五、结束语14参考文献1413基于STM32DSP库的音乐频谱设计报告摘要:本作品是基于STM32和DSP库的音乐频谱的设计,能够对采集的音频信号进行分频处理并显示在液晶屏上。本设计主控芯片采用的是大容量增强型ARMCortex-M3内核STM32F103ZET6芯片,其运行频率高,运算速度快,主频为72MHZ,可超频至128MHZ,在移植了ST官
3、方的DSP库后运算能力非常强,音频采样使用的是其内部12位逐次逼近型的模拟数字转换器,采样速度快,转换时间短,精度高,同时显示用的是用FSMC控制的TFT液晶屏,可以达到非常好的显示效果。关键字:STM32;DSP库,音乐频谱一、设计任务和性能指标1.1设计任务设计一个音乐频谱,带有FFT-64点和FFT-256点的音乐柱状显示。用AltiumDesigner画出原理图,绘出程序流程图,规范化程序设计。实现基本功能。1.2性能指标1、音乐频谱显示柱状更新速度快,能实时显示当前音乐频谱分布。2、整体抗干扰能力强
4、,功能稳定,精度高。二、设计方案2.1系统总体方案设计本系统有如下部分:STM32F103ZET6单片机核心控制模块、按键输入模块、电阻触摸屏输入模块、ADC音频采样输入模块,Ili9325主控TFT液晶屏显示输出模块。硬件原理模块框图如下图:13Ili9325主控TFT液晶屏显示输出(FSMC通讯)MCU大容量增强型ARMCortex-M3内核STM32F103ZET6芯片ADC采样输入(内部集成12位高精度ADC)触摸屏控制(SPI通讯)按键输入2.2硬件设计2.2.1主控MCU模块此模块为核心控制模块,
5、采用的芯片是ST公司大容量增强型ARMCortex-M3内核STM32F103ZET6芯片为主控,其供电可直接采用锂电池进行供电,其接口电路如下图所示;132.2.2电阻触摸液晶显示模块显示模块采用的是ili9325控制的256色TFT电阻触摸液晶屏,通过STM32的FSMC控制器接口控制。其接口电路如下图所示;13为了节省资源就把用XPT2046控制的电阻触摸屏和TFT液晶显示屏设计在一起,触摸屏是通过SPI和STM32进行通讯,触摸屏是可以当作按键来使用实现物理按键的功能,其内部结构如下图所示;132.2
6、.3音频采集模块音频采集模块是通过电脑音频输出口的音频传输线直接将音频信号接入STM32的PA2口,由其内部12位逐次逼近型的模拟数字转换器进行转换,基准电压源VREF+采用的是AMS1117-3.3输出的3.3V,VREF-采用的是接地的方式。2.2.3按键输入模块13按键输入可以实现多功能复用,既可以当普通按键使用实现功能切换,也可以作为STM32的待机唤醒键。2.2.4整体电路布局三、系统软件介绍3.1软件实现思路整个软件设计共有五个部分,分别是硬件初始化,ADC音频信号采集,读取ADC采样结果并进行转
7、换(数据采样处理),对采集的数据进行分频处理(用的是DSP库函数,快速傅立叶变换64点FFT或256点FFT)、将处理过的数据转换成在液晶屏上显示的点数进行显示。为了保证对音频信号采样的有效性必须使采样频率是信号频率的两倍以上。133.2各部分软件实现思路硬件初始化软件设计流程图如下图所示;ADC采样读取ADC采样结果并进行转换等待转换完成转换完成对采集的数据进行分频处理(64点FFT或256点FFT)将处理过的数据转换成在液晶屏上显示的点数进行显示3.2.1硬件初始化首先配置STM32的时钟,使能外部8MH
8、Z晶振9倍频作为时钟源,使其工作在最大频率72MHZ,并开启其内部RCC功能,即对STM32的RCC进行初始化,STM32在进行数据处理和运算时需要用到,初始化按键,初始化TFT触摸液晶屏并清屏,初始化ADC选择PA2作为ADC音频采样通道。硬件初始化函数如下;voidDSPDemoInit(void){SysTick->CTRL&=~(1<<2);//SYSTICK使用外部8MHZ晶振9倍72MH
此文档下载收益归作者所有