MP3播放器实验报告Word文件下载.docx
《MP3播放器实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《MP3播放器实验报告Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
1.系统方案3
1.1系统结构3
1.2组成模块3
1.2.1STM32F103VET63
1.2.2ATK-VS1053MP3MODULE3
1.2.3SD卡5
1.2.4TFT屏5
2.电路设计6
2.1工作原理6
2.2电路连接8
3.程序设计9
3.1程序的组成9
4.测试结果9
5.结论9
6.附录9
1.系统方案
1.1系统结构
本MP3播放器系统主要由STM32F103VET6开发板和高性能音频解码模块ATK-VS1053MP3MODULE,显示的TFT屏,以及SD卡组成。
1.2组成模块
1.2.1STM32F103VET6
STM32F103VET6-32位微控制器
架构:
ARMCortex-M3
程序内存大小:
512KB
存储器容量RAM:
64KB
CPU速度:
72MHz
输入/输出数:
80
数字芯片封装形式:
LQFP
针脚数:
100
嵌入式接口类型:
CAN,I2C,SPI,USART,USB
电源电压最小值:
2V
电源电压最大值:
3.6V
PWM通道数:
16
周边器件:
ADC,DAC,DMA,PWM,定时器
振荡器类型:
外部、内部
时钟频率:
模数转换器ADC输入数:
3
1.2.2ATK-VS1053MP3MODULE
VS1053是继VS1003后荷兰VLSI公司推出的又一款高性能编解码芯片。
该芯片可以实现对MP3/OGG/WMA/FLAC/WAV/AAC/MIDI等音频格式的解码,同时还可以支持ADPCM/OGG等格式的编码,性能相对以往的VS1003提升不少。
VS1053拥有一个高性能的DSP处理器核VS_DSP,16K的指令RAM,0.5K的数据RAM,通过SPI控制,具有8个可用的通用IO口和一个串口,芯片内部还带了一个可变采样率的立体声ADC(支持咪头或线路输入)、一个高性能立体声DAC及音频耳机放大器。
●支持OGG/MP3/WMA/WAV/FLAC(需加载patch)/MIDI/AAC等格式解码。
●支持OGG(需加载patch)/IMAADPCM编码。
●支持音量调节、高低音控制和EarSpeaker空间效果。
●自带高性能立体声ADC和DAC,音质比VS1003好很多。
●自带耳机驱动器,可驱动30欧负载的耳机。
●自带8个GPIO,可用于控制外设/作为I2S接口(外接DAC)。
●通过SPI接口控制/传输数据,接口简单。
●可通过加载patch,实现新功能添加。
●低功耗。
VS1053通过SPI接口来接受输入的音频数据流,它可以是一个系统的从机,也可以作为独立的主机。
本课程设计中,我们把它当成从机使用。
我们通过SPI口向VS1053不停的输入音频数据,它就会自动帮我们解码了,然后从输出通道输出音乐,这时我们接上耳机就能听到所播放的歌曲了。
VS1053通过7根线同MCU连接,如下:
VS_RST:
VS1053的复位信号线,低电平有效。
VS_DREQ:
数据请求信号(高电平有效),用来通知主机,VS1053是否
可以接收数据。
VS_XCS:
命令片选(低电平有效)。
VS_XDCS:
数据片选(低电平有效)。
VS_MISO、VS_MOSI和VS_SCK:
SPI信号线。
ALIENTEKATK-VS1053MP3模块板载资源如下:
◆高性能编解码芯片:
VS1053B
◆1个LINEIN/MIC选择接口
◆1个咪头
◆1个电源指示灯(蓝色)
◆1个1.8V稳压芯片
◆1个3.3V稳压芯片
◆1路IIS输出接口
◆1路电源及SPI控制接口
◆1路3.5mmLINEIN接口,支持双声道输入录音
◆1路3.5mm音频输出接口,可直接插耳机
ATK-VS1053模块采用高准设计,特点包括:
◆板载VS1053B高性能编解码芯片,支持众多音频格式解码,支持OGG/WAV编码。
◆板载稳压电路,仅需外部提供一路3.3V或5V供电即可正常工作;
◆板载3.5mm耳机插口,可直接插入耳机欣赏高品质音乐;
◆板载咪头(MIC),无需外部麦克风,即可实现录音;
◆板载IIS输出,可以接外部DAC,获得更高音质;
◆板载电源指示灯,上电状态一目了然;
◆采用国际A级PCB料,沉金工艺加工,稳定可靠;
◆采用全新元器件加工,纯铜镀金排针,坚固耐用;
◆人性化设计,各个接口都有丝印标注,使用起来一目了然;
接口位置设计安排合理,
方便顺手。
◆PCB尺寸为34mm*52.6mm,并带有安装孔位,小巧精致;
1.2.3SD卡
SD卡(SecureDigitalMemoryCard)安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩写PDA)和多媒体播放器等。
SD卡(SecureDigitalMemoryCard)是一种基于半导体闪存工艺的存储卡,1999年由日本松下主导概念,参与者东芝和美国SanDisk公司进行实质研发而完成。
2000年这几家公司发起成立了SD协会(SecureDigitalAssociation简称SDA),阵容强大,吸引了大量厂商参加。
其中包括IBM,Microsoft,Motorola,NEC、Samsung等。
在这些领导厂商的推动下,SD卡已成为目前消费数码设备中应用最广泛的一种存储卡。
SD卡是具有大容量、高性能、安全等多种特点的多功能存储卡,它比MMC卡多了一个进行数据著作权保护的暗号认证功能(SDMI规格),读写速度比MMC卡要快4倍,达2M/秒。
SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。
1.2.4TFT屏
TFTLCD即薄膜晶体管液晶显示器。
它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
TFTLCD具有:
亮度好、对比度高、层次感强、颜色鲜艳等特点。
是目前最主流的LCD显示器。
广泛应用于电视、手机、电脑、平板等各种电子产品。
TFT屏与stm32连线图:
本课程设计所使用的单片机通过FSMC驱动TFT屏
FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡连接,STM32的FSMC接口支持包括SRAM、NANDFLASH、NORFLASH和PSRAM等存储器。
FSMC的框图如下图所示:
FSMC驱动外部SRAM时,外部SRAM的控制一般有:
地址线(如A0~A25)、数据线(如D0~D15)、写信号(WE,即WR)、读信号(OE,即RD)、片选信号(CS),如果SRAM支持字节控制,那么还有UB/LB信号。
而TFTLCD的信号包括:
RS、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的时候需要用到的就只有:
RS、D0~D15、WR、RD和CS。
其操作时序和SRAM的控制完全类似,唯一不同就是TFTLCD有RS信号,但是没有地址信号。
TFTLCD通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把RS接在A0上面,那么当FSMC控制器写地址0的时候,会使得A0变为0,对TFTLCD来说,就是写命令。
而FSMC写地址1的时候,A0将会变为1,对TFTLCD来说,就是写数据了。
这样,就把数据和命令区分开了,他们其实就是对应SRAM操作的两个连续地址。
当然RS也可以接在其他地址线上。
因此,可以把TFTLCD当成一个SRAM来用,只不过这个SRAM有2个地址,这就是FSMC可以驱动LCD的原理。
本课设中,TFT屏不仅仅只是起到显示作用,更是起到了触摸屏调音量和切歌的功能。
电阻触摸屏的工作原理:
电阻屏的主要部分是一块与显示器表面配合非常好的电阻薄膜屏,这是一种多层的复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层秀明的导电层,上面再盖有一层外表硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。
当手指触摸屏幕时,平常绝缘的两层导电层在触摸点位置就有了一个接触,控制器侦测到这个接通
后,其一面导电接通y轴方向的5V均匀电压场,另一导电层将接触点的电压引至控制卡进行A/D转换,得到电压值后与5Ⅴ相比即可得触摸点的у轴坐标,同理得出Χ轴的坐标,这就是所有电阻技术触摸屏共同的最基本原理。
2.电路设计
2.1工作原理
STM32F103VET6是播放器的“大脑”,用来接受播放控制,并将当前播放的歌曲信息显示在液晶显示屏上,然后向数据信号处理芯片发出指令,使其准确地处理音频信号。
数码信号处理器先用解压算法将MP3文件解压,接着用数模转换器将数码信息转换成波形信息,然后由放大器将信号放大并送到音频端口,最后我们就可以通过接在音频端口的耳机听到音乐了。
模块通过SPI接口来接受输入的音频数据流,它可以是一个系统的从机,也可以作为独立的主机。
这里我们只把它当成从机使用。
我们通过SPI口向VS1053不停的输入音频数据,它就会自动帮助解码了,然后从输出通道输出音乐,这时我们接上耳机就能听到所播放的歌曲了。
模块(VS1053)通过7根信号线同主控芯片连接,分别是:
XCS、XDCS、SCK、SI、SO、DREQ、和RST。
其中RST是VS1053的复位信号线,低电平有效。
DREQ是一个数据请求信号,用来通知主机,VS1053可以接收数据与否。
SCK、SI(MOSI)和SO(MISO)则是VS1053的SPI接口,他们在XCS和XDCS的控制下面来执行不同的数据通信。
另外,模块需要外部提供5V/3.3V供电,推荐采用5V供电,这样,总共需要9根线来连接。
用模块播放音频文件非常的简单,一般的音频文件(MP3/WMA/OGG/WAV/MIDI/AAC等),只需要简单的3步操作即可实现音频播放。
1)复位VS1053
这里包括了硬复位和软复位,是为了让VS1053的状态回到原始状态,准备解码下一首
歌曲。
这里建议大家在每首歌曲播放之前都执行一次硬件复位和软件复位,以便更好的播放音乐。
2)配置VS1053的相关寄存器
这里我们配置的寄存器包括VS1053的模式寄存器(MODE)、时钟寄存器(CLOCKF)、
音调寄存器(BASS)、音量寄存器(VOL)等。
3)发送音频数据
当经过以上两步配置以后,我们剩下来要做的事情,就是往VS1053里面扔音频数据了,
只要是VS1053支持的音频格式,直接往里面丢就可以了,VS1053会自动识别,并进行播
放。
不过发送数据要在DREQ信号的控制下有序的进行,不能乱发。
这个规则很简单:
只
要DREQ变高,就向VS1053发送32个字节。
然后继续等待DREQ变高,直到音频数据
发送完。
经过以上三步,我们就可以利用模块来播放音乐了。
2.2电路连接
VS1053与stm32单片机连接管脚:
3.程序设计
3.1程序的组成
该MP3程序包括以下几个部分:
(1)主程序
(2)TFT屏显示程序
(3)SD卡程序
(4)TFT屏触摸程序
4.测试结果
我们可以在开发板上播放歌曲,可以使用TFT触摸屏进行歌曲的切换,音量控制,并且能在板子上的TFT屏上显示歌曲信息,初步达到了设计目的,并用录像纪录。
5.结论
本次课程设计使我们对于stm32的了解更加深入,使用更加熟练,也锻炼了我们的实际动手操作能力和团队协作能力,当然在课程设计中,我们也发现了自身的不足,也遇到了一些困难,但是最后我们还是有效的解决了,也算是交上了一份比较满意的答卷,在今后还要更加努力的充实自己。
6.附录