《基于STM32的录音机的仿真设计(共13页).doc》由会员分享,可在线阅读,更多相关《基于STM32的录音机的仿真设计(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 成绩课程论文 题 目: 基于STM32的录音机的仿真设计 课程名称: ARM嵌入式系统 学生姓名: 马珂 学生学号: 系 别: 电子工程学院 专 业: 通信工程 年 级: 13级2班 任课教师: 权循忠 电子工程学院制目 录1、摘要32、关键字33、引言34、录音机设计方案制定34.1系统总体设计方案34.2硬件设计44.3软件设计105、系统调试与测试结果分析135.1程序编译135.2波形仿真136、总结及心得体会137、参考文献138、附录13基于STM32的录音机的仿真设计学生:马珂指导教师:权循忠电子工程学院:通信工程1、 摘要 此次仿真设计是设计一个简单
2、的录音机,可以实现录音功能。通过proteus设计硬件和Keil5设计软件最后完成基于STM32的录音机仿真设计。本次录音机的仿真设计难点主要是波形仿真,通过Keil5软件的多理解和程序的正确编译最后进行仿真。结果可以看到波形仿真图。2、关键字 STM32/录音机/仿真设计3、引言 随着生活水平的提高,人们对消费电子的需求也越来越高,录音机作为一种可以记录声音的电子产品,在生活中应用广泛,也广泛应用于其他电子设备中。录音机即是把声音记录下来以便重放的机器,他以硬磁性材料为载体,利用磁性材料的剩磁特性将声音信号记录在载体,一般都具有重放功能。STM32开发板具有一颗非常强劲的MP3解码芯片:VS
3、1053,该芯片可以实现MP3/WAV等各种音频文件的播放,VS1053拥有一个高性能的DSP处理器核VS_DSP,通过SPI控制,芯片内部还带有一个可变采样率的立体声ADC,一个高性能立体声DAC和音频耳机放大器,因此用STM32来仿真设计录音机有大的方便。4、录音机设计方案制定 4.1系统总体设计方案 此次设计是通过STM32设计一个简单的录音机,可以实现录音,通过Proteus实现硬件电路和Keil5实现程序编译和仿真。首先设计硬件电路,实现外部硬件连接,然后设计软件部分,画出流程图,设计程序,最后进行编译和仿真。总体构图如下。仿真编译软件设计硬件设计设计思路算法流程程序设计图1 总体设
4、计框图Proteus 软件介绍:Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持80
5、51、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Keil软件介绍:RVMDK 源自德国的 KEIL 公司,是 RealView MDK 的简称。在全球 RVMDK 被超过 10 万 的嵌入式开发工程师使用,RealView MDK 集成了业内最领先的技术,包括 Vision3 集成开发 环境与 RealView 编译器。支持 ARM7、ARM9 和最新的 Cortex-M3 核处理器,自
6、动配置启动 代码,集成 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.电路设计思路 此次设计为录音机实验设计,所以实验所需要的
7、硬件有指示灯LED(DS0和DS1)、按键(WK_UP/KEY0/KEY1/KEY2/TPAD)、串口、TFTLCD模块、SD卡、SPI FLASH、音频选择74HC4052、音频输出TDA1308T、音频编解码VS1053等硬件,其中TPAD是电容触摸按键,用于播放最近一次录音。因此需要示灯DS0和DS1、按键、串口、TFTLCD模块、SD卡、SPI FLASH、74HC4052、TDA1308、VS1053和STM32的连接图。 外部硬件电路设计过程如下。电源部分SD卡STM32F103ZET6指示灯音频切换串口音频编码SPI FLASH音频输出触摸显示耳机插口图2 硬件电路设计框图 2.
8、电路连接和部分芯片简介 所有的连接图都通过proteus软件画出,因为proteus并没有直接的STM32等元件,所以通过元件制作画出,首先绘制元件图形模型,然后放置元件引脚,最后编辑制作元器件。把制作出的STM32、LCD、SD卡、SPI FLASH、TDA1308、74HC4052、VS1053和按键、LED连接在一起,形成外围硬件连接图。 (1)按键,LED,串口简介以及和STM32的连接图如下。KEY0.KEY1.KEY2用作普通按键输入,分别连接在PE4、PE3、PE2上,这三个按键都是低电平触发的,这里并没有使用外部上拉电阻,但是STM32的I/O作为输入的时候,可以设置上拉电阻,
9、所以使用STM32的内部上拉电阻来为按键提供上拉。WK_UP按键连接在PA0上,除了可以作普通按键外,还可以用作STM32的唤醒输入,这个按键时高电平触发的。这些按键用来控制LED和录音的开始暂停等其他按键操作。LED0、LED1连接在PB5和PE5上,PWR为电源指示灯。按键TPAD是电容触摸按键,并没有直接连接在MCU上,而是接在多功能端口上。串口通过USART1_RX和USART1_TX连接在MCU上,具有单线通信等功能。图3 STM32、LED、按键、串口硬件连接 (2)TFT_LCD简介以及和STM32的连接图如下。TFT_LCD是薄膜晶体管液晶显示器,可有效的克服非选通时的串扰,使
10、液晶显示屏的静态图像与扫描数无关,大大提高图像质量。硬件连接的TFT_LCD是一个通用的液晶模块接口,OLED是一个给OLED显示模块供电的接口,拼接在一起组和成一个组合接口,接在TFT_LCD上就可以了。而TFT_LCD模块通过STM32的I/O接口接在MCU上,显示模块的T_MISO/T_PEN/T_CS/T_SCK用来实现对液晶触摸屏的控制,LCD_BL控制背光,液晶复位信号RESET直接连接在复位按钮上,和MCU共用一个复位电路。图4 STM32、LCD硬件连接 (3)SD卡简介以及和STM32的连接图如下。 SD卡中文翻译是安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,广泛
11、应用于照相机等多媒体设备上。硬件连接的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的硬件连接。图5 STM32、SD卡硬件连接 (4)SPI FLASH简介以及和STM32的连接图。SPI是串行外围设备接口,是一种高速的,全双攻,同步的通信总线。SPI FLASH芯片型号是W25Q64,该芯片的容量是64Mbit,也
12、就是8MB。硬件连接中的SPI FLASH模块,也就是W25Q64通过SPI2和STM32连接在一起,F_CS连接在MCU的PB12上,SPI2_SCK/SPI2_MOSI/SOI2_MISO分别连接在MCU的PB13/PB14/PB15上。图6 STM32、SPI FLASH模块硬件连接 (5)74HC4052,TDA1308简介以及和STM32的连接图。74HC4052是一个模拟开关,实现对音频的切换,它是一个双4路模拟开关。TDA1308是AB类的数字音频专用耳机功放IC,具有低电压,低失真,高效率等优秀功能。硬件连接中的74HC4052模块,MP3_LEFT/MP3_RIGHT是连接在
13、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的音频输出信号。图7 STM32、74HC4052、TDA1308硬件连接 (6)VS1053简介以及和STM32的连接图。 VS1053是一颗非常强劲的MP3解码芯片,该芯片可以实现MP3/WAV等各种音频文件的播放,VS1053拥有一个
14、高性能的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上。图8 STM32、VS
15、1053硬件连接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 #includ
16、e MMC_SD.h #include ff.h #include exfuns.h#include fontupd.h#include text.h#include vs10XX.h#include mp3player.h#include recorder.h int main(void) u8 key,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(); ex
17、funs_init(); f_mount(fs0,0:,1); f_mount(fs1,1:,1); RST: POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,RECORDER TEST);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
18、/11);while(SD_Initialize()LCD_ShowString(60,170,200,16,16,SD Card Error);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,SD Card OK);LCD_ShowString(60,90,200,16,16,Font Updating.);key=up
19、date_font(20,110,16);while(key) LCD_ShowString(60,110,200,16,16,Font Update Failed!);delay_ms(200);LCD_Fill(20,110,200+20,110+16,WHITE);delay_ms(200); LCD_ShowString(60,110,200,16,16,Font Update Success!);delay_ms(1500);LCD_Clear(WHITE); goto RST; while(1)Show_Str(60,170,200,16,存储器测试.,16,0);printf(R
20、am Test:0X%04Xrn,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.
21、2波形仿真6、总结及心得体会 通过本次录音机的仿真和设计,学会了如何实现录音机的录音功能,对基于ARM的仿真设计有了更深的认识,并且对按键、LED、串口、TFTLCD模块、SD卡、SPI FLASH、音频选择74HC4052、音频输出TDA1308T、音频编解码VS1053等硬件有一定的了解,学会了通过软件设计程序并对程序进行编译和波形仿真。尽管设计过程有许多困难,但通过查阅资料都有了很好的方法去克服,总之学习到了很多的知识,在以后的学习上会有很好的基础和进步。7、参考文献1张洋,刘军,严汉宇.原子教你玩STM32(库函数版)M.北京:北京航空航天大学出版社,2013.2刘军.例说STM32M.北京:北京航空航天大学出版社,2011.3杜春雷.ARM体系结构与编程M.北京:清华大学出版社,2003.4意法半导体.STM32固件库V3.5中文参考手册.意法半导体(中国)投资公司,2010.5余建新.嵌入式系统基础教程M.北京:机械工业出版社,20086陈忠平.基于Protues的51系列单片机设计与仿真M.北京:电子工业出版社,2012.8、附录专心-专注-专业
限制150内