基于STM32的录音机的仿真设计.docx
- 文档编号:1860553
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:14
- 大小:148.45KB
基于STM32的录音机的仿真设计.docx
《基于STM32的录音机的仿真设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的录音机的仿真设计.docx(14页珍藏版)》请在冰点文库上搜索。
基于STM32的录音机的仿真设计
基于STM32的录音机的仿真设计
课程论文
题目:
基于STM32的录音机的仿真设计
课程名称:
ARM嵌入式系统
学生姓名:
马珂
学生学号:
1305010323
系别:
电子工程学院
专业:
通信工程
年级:
13级2班
任课教师:
权循忠
电子工程学院制
1、摘要3
2、关键字3
3、引言3
4、录音机设计方案制定3
4.1系统总体设计方案3
4.2硬件设计4
4.3软件设计10
5、系统调试与测试结果分析13
5.1程序编译13
5.2波形仿真13
6、总结及心得体会13
7、参考文献13
8、附录13
基于STM32的录音机的仿真设计
学生:
马珂
指导教师:
权循忠
电子工程学院:
通信工程
1、摘要
此次仿真设计是设计一个简单的录音机,可以实现录音功能。
通过proteus设计硬件和Keil5设计软件最后完成基于STM32的录音机仿真设计。
本次录音机的仿真设计难点主要是波形仿真,通过Keil5软件的多理解和程序的正确编译最后进行仿真。
结果可以看到波形仿真图。
2、关键字
STM32/录音机/仿真设计
3、引言
随着生活水平的提高,人们对消费电子的需求也越来越高,录音机作为一种可以记录声音的电子产品,在生活中应用广泛,也广泛应用于其他电子设备中。
录音机即是把声音记录下来以便重放的机器,他以硬磁性材料为载体,利用磁性材料的剩磁特性将声音信号记录在载体,一般都具有重放功能。
STM32开发板具有一颗非常强劲的MP3解码芯片:
VS1053,该芯片可以实现MP3/WAV等各种音频文件的播放,VS1053拥有一个高性能的DSP处理器核VS_DSP,通过SPI控制,芯片内部还带有一个可变采样率的立体声ADC,一个高性能立体声DAC和音频耳机放大器,因此用STM32来仿真设计录音机有大的方便。
4、录音机设计方案制定
4.1系统总体设计方案
此次设计是通过STM32设计一个简单的录音机,可以实现录音,通过Proteus实现硬件电路和Keil5实现程序编译和仿真。
首先设计硬件电路,实现外部硬件连接,然后设计软件部分,画出流程图,设计程序,最后进行编译和仿真。
总体构图如下。
图1总体设计框图
Proteus软件介绍:
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Keil软件介绍:
RVMDK源自德国的KEIL公司,是RealViewMDK的简称。
在全球RVMDK被超过10万的嵌入式开发工程师使用,RealViewMDK集成了业内最领先的技术,包括μVision3集成开发环境与RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。
与ARM之前的工具包ADS1.2相比,RealView编译器具有代更小、性能更高的优点,RealView编译器与ADS.2的比较:
代码密度:
比ADS1.2编译的代码尺寸小10%;代码性能:
比ADS1.2编译的代码性能提高20%;目前RVMDK的最新版本是RVMDK4.6,4.0以上的版本的RVMDK对IDE界面进行了很大改变,并且支持Cortex-M0内核的处理器。
4.2硬件设计
1.电路设计思路
此次设计为录音机实验设计,所以实验所需要的硬件有指示灯LED(DS0和DS1)、按键(WK_UP/KEY0/KEY1/KEY2/TPAD)、串口、TFTLCD模块、SD卡、SPIFLASH、音频选择74HC4052、音频输出TDA1308T、音频编解码VS1053等硬件,其中TPAD是电容触摸按键,用于播放最近一次录音。
因此需要示灯DS0和DS1、按键、串口、TFTLCD模块、SD卡、SPIFLASH、74HC4052、TDA1308、VS1053和STM32的连接图。
外部硬件电路设计过程如下。
图2硬件电路设计框图
2.电路连接和部分芯片简介
所有的连接图都通过proteus软件画出,因为proteus并没有直接的STM32等元件,所以通过元件制作画出,首先绘制元件图形模型,然后放置元件引脚,最后编辑制作元器件。
把制作出的STM32、LCD、SD卡、SPIFLASH、TDA1308、74HC4052、VS1053和按键、LED连接在一起,形成外围硬件连接图。
(1)按键,LED,串口简介以及和STM32的连接图如下。
图3STM32、LED、按键、串口硬件连接
(2)TFT_LCD简介以及和STM32的连接图如下。
TFT_LCD是薄膜晶体管液晶显示器,可有效的克服非选通时的串扰,使液晶显示屏的静态图像与扫描数无关,大大提高图像质量。
硬件连接的TFT_LCD是一个通用的液晶模块接口,OLED是一个给OLED显示模块供电的接口,拼接在一起组和成一个组合接口,接在TFT_LCD上就可以了。
而TFT_LCD模块通过STM32的I/O接口接在MCU上,显示模块的T_MISO/T_PEN/T_CS/T_SCK用来实现对液晶触摸屏的控制,LCD_BL控制背光,液晶复位信号RESET直接连接在复位按钮上,和MCU共用一个复位电路。
图4STM32、LCD硬件连接
(3)SD卡简介以及和STM32的连接图如下。
SD卡中文翻译是安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,广泛应用于照相机等多媒体设备上。
硬件连接的SD卡,P10,P11,P12构成SD卡接口方式选择接口,可以用来设置SD卡是工作在SDIO模式还是工作在SPI模式。
这次的设计是用SPI模式,因此将P10的SD_DT3/SD_CMD/SD_SCK/SD_DT0分别同P12的SD_CS/SPI2_MOSI/SPI2_SCK/SPI2_MISO连接起来,实现SD卡和STM32的硬件连接。
图5STM32、SD卡硬件连接
(4)SPIFLASH简介以及和STM32的连接图。
SPI是串行外围设备接口,是一种高速的,全双攻,同步的通信总线。
SPIFLASH芯片型号是W25Q64,该芯片的容量是64Mbit,也就是8MB。
硬件连接中的SPIFLASH模块,也就是W25Q64通过SPI2和STM32连接在一起,F_CS连接在MCU的PB12上,SPI2_SCK/SPI2_MOSI/SOI2_MISO分别连接在MCU的PB13/PB14/PB15上。
图6STM32、SPIFLASH模块硬件连接
(5)74HC4052,TDA1308简介以及和STM32的连接图。
74HC4052是一个模拟开关,实现对音频的切换,它是一个双4路模拟开关。
TDA1308是AB类的数字音频专用耳机功放IC,具有低电压,低失真,高效率等优秀功能。
硬件连接中的74HC4052模块,MP3_LEFT/MP3_RIGHT是连接在VS1053上的音频输出端,PADIO_L/PADIO_R是RDA5820的音频输出端,A_OUTR/A_OUTL是连接在TDA1308上的输入端,PWM_AUDIO是来自外部音源输入,ASEL_A/ASEL_B则是直接连接在MCU上的PD7和PB7上,用来控制74HC4052的通道选择。
TDA1308的A_OUTR/A_OUTL则正好是来自74HC4052的音频输出信号。
图7STM32、74HC4052、TDA1308硬件连接
(6)VS1053简介以及和STM32的连接图。
VS1053是一颗非常强劲的MP3解码芯片,该芯片可以实现MP3/WAV等各种音频文件的播放,VS1053拥有一个高性能的DSP处理器核VS_DSP,通过SPI控制,芯片内部还带有一个可变采样率的立体声ADC,一个高性能立体声DAC和音频耳机放大器。
硬件连接中的VS1053模块,MP3_LEFT/MP3_RIGHT这两个信号是连接在74HC4052上的,通过模拟开关选择是否输出MP3音源,TP1/TP2/TP3是3个测试点,用于测试,VS1053通过7根线连接到MCU上,VS1053通过STM32的SPI1访问,VS_MISO/VS_MOSI/VS_SCK/VS_SDCS/VS_DREQ/VS_RST7根线分别连接到MCU的PA6/PA7/PA5/PF7/PF6/PC13/PE6上。
图8STM32、VS1053硬件连接
4.3软件设计
1、算法流程
图9算法流程图
算法流程图思想:
首先初始化VS1053及其他硬件,然后进行RAM测试和正弦测试,之后加载SD卡和FLASH,在显示屏上显示加载的信息,之后检测SD卡并更新字库,之后设置录音模式,录音开始后会在屏幕上看到录音文件和录音时间,完成录音后可以通过按键试听录音。
2.部分源代码
#include"sys.h"
#include"usart.h"
#include"delay.h"
#include"led.h"
#include"lcd.h"
#include"key.h"
#include"usmart.h"
#include"malloc.h"
#include"MMC_SD.h"
#include"ff.h"
#include"exfuns.h"
#include"fontupd.h"
#include"text.h"
#include"vs10XX.h"
#include"mp3player.h"
#include"recorder.h"
intmain(void)
{
u8key,fontok=0;
Stm32_Clock_Init(9);
delay_init(72);
uart_init(72,9600);
LCD_Init();
LED_Init();
KEY_Init();
VS_Init();
usmart_dev.init(72);
mem_init();
exfuns_init();
f_mount(fs[0],"0:
",1);
f_mount(fs[1],"1:
",1);
RST:
POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"RECORDERTEST");
LCD_ShowString(60,90,200,16,16,"KEY0:
STOP&SAVE");
LCD_ShowString(60,110,200,16,16,"KEY1:
REC/PAUSE");
LCD_ShowString(60,130,200,16,16,"WK_UP:
PLAY");
LCD_ShowString(60,150,200,16,16,"2015/12/11");
while(SD_Initialize())
{
LCD_ShowString(60,170,200,16,16,"SDCardError");
delay_ms(200);
LCD_Fill(20,170,200+20,170+16,WHITE);
delay_ms(200);
}
fontok=font_init();
if(fontok)
{
LCD_Clear(WHITE);
POINT_COLOR=RED;
LCD_ShowString(60,70,200,16,16,"SDCardOK");
LCD_ShowString(60,90,200,16,16,"FontUpdating...");
key=update_font(20,110,16);
while(key)
{
LCD_ShowString(60,110,200,16,16,"FontUpdateFailed!
");
delay_ms(200);
LCD_Fill(20,110,200+20,110+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,110,200,16,16,"FontUpdateSuccess!
");
delay_ms(1500);
LCD_Clear(WHITE);
gotoRST;
}
while
(1)
{
Show_Str(60,170,200,16,"存储器测试...",16,0);
printf("RamTest:
0X%04X\r\n",VS_Ram_Test());
Show_Str(60,170,200,16,"正弦波测试...",16,0);
VS_Sine_Test();
Show_Str(60,170,200,16,"录音机",16,0);
recoder_play();
}
}
程序设计思路:
首先,加入所需要的头文件,首先定义所需要的变量key,fontok=0,然后所有硬件初始化后开始加载SD卡和FLASH,进行复位,然后检查SD卡是否能正常使用,正常的话更新字库,更新成功根据录音机的功能进行设定,先进行存储器测试,在进行正弦波测试,最后可以使用录音机。
5、系统调试与测试结果分析
5.1程序编译
5.2波形仿真
6、总结及心得体会
通过本次录音机的仿真和设计,学会了如何实现录音机的录音功能,对基于ARM的仿真设计有了更深的认识,并且对按键、LED、串口、TFTLCD模块、SD卡、SPIFLASH、音频选择74HC4052、音频输出TDA1308T、音频编解码VS1053等硬件有一定的了解,学会了通过软件设计程序并对程序进行编译和波形仿真。
尽管设计过程有许多困难,但通过查阅资料都有了很好的方法去克服,总之学习到了很多的知识,在以后的学习上会有很好的基础和进步。
7、参考文献
[1]张洋,刘军,严汉宇.原子教你玩STM32(库函数版)[M].北京:
北京航空航天大学出版社,2013.
[2]刘军.例说STM32[M].北京:
北京航空航天大学出版社,2011.
[3]杜春雷.ARM体系结构与编程[M].北京:
清华大学出版社,2003.
[4]
[5]余建新.嵌入式系统基础教程[M].北京:
机械工业出版社,2008
[6]陈忠平.基于Protues的51系列单片机设计与仿真[M].北京:
电子工业出版社,2012.
8、附录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 录音机 仿真 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)