欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    毕业论文基于STM32单片机的MP3播放器设计.docx

    • 资源ID:14815824       资源大小:2.43MB        全文页数:34页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文基于STM32单片机的MP3播放器设计.docx

    1、毕业论文基于STM32单片机的MP3播放器设计惠州学院HUIZHOU UNIVERSITY 毕 业 论 文(设 计) 中文题目: 基于STM32单片机的MP3播放器设计 英文题目:Design of MP3 player based on STM32 micro-controller 姓 名_ 陈腾奎 _学 号_ 110701203 _专业班级_ 11电气2班 _指导教师_ 陈治明 _提交日期 2015年5月25日_教务处制摘要随着数字编解码技术及压缩技术的发展,语音文件也向着高压缩比、高保真的方向发展,从MP1、MP2到目前的MP3格式.因此高压缩比、高保真MP3播放器设计及研究有很好的发展

    2、前景。本论文介绍了基于STM32微处理器的MP3播放器的设计方法,实现了从SD卡中读取音乐文件数据,再将读取的数据流进行软件解码,最后通过音频信号输出驱动耳机实现音乐播放功能。并在液晶屏上显示音乐的实时播放状态,通过TFT触摸屏上的人机交换界面,实现了音乐的播放,停止,声音增大,减小等功能模式.基本上实现了一个带有触摸功能的MP3播放器。关 键 词 MP3播放器 STM32F103ZET SD卡 触摸屏 FATFS文件系统ABSTRACTWith the development of digital codec technology and compression technology ,Vo

    3、ice files are also in the direction of high compression ratio, highfidelity development, from MP1, MP2 to MP3 format now。 Therefore, high compression ratio, highfidelity MP3 player design and research have good prospects for development。This paper describes the design of microprocessor-based STM32 M

    4、P3 player, Realize from reading music files from SD card and then read the data stream decoding software,Finally, the audio signal output to drive headphones realize music playback ,and displays realtime playback status of the song on the LCD screen, through a graphical user interaction diagram circ

    5、les TFT touch screen, to achieve the songs play, stop, sound increase, decrease function mode. Basically realize MP3 player with a touch-enabled。 Key Words MP3 player STM32F103ZET SD Card Touch screen FATFS file system1 绪论1.1 本课题的提出及意义MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,

    6、以及改善MP3的音质是最关键的,也是亟待解决的问题。MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化1。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入。存储器可以是Flash存储器或硬盘2。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。1。2 研究现状MP3全称是MPEG Layer 3,狭义的

    7、讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题3。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案.这使mp3播放器的研制与生产变得更

    8、加容易,成本也大大降低,市场更加广阔 4。2 硬件设计2。1整体方案综述本设计由STM32最小系统,SD卡的读取模块,TFT控制模块,外扩FLASH模块,触摸屏模块,串口通信模块组成。将解决SD卡的读取以及使用FATFS文件系统来对SD卡操作,TFT液晶屏的控制及触摸屏原理、还有人机界面UI的实现等问题5。系统架构如图21所示。基本设计流程是使用STM32系列微控制器,采用FATFS文件系统方式读取SD卡中音乐文件数据,将所读取的数据流传输给CPU软件解码(helix解码库)解码编程PCM音频,通过I2S送到ADC芯片 PCM1770音频输出驱动耳机实现音乐播放功能。液晶屏显示歌曲的实时播放状

    9、态,功能按扭 和控制歌曲的播放、停止、声音增大、减小等.同时,TFT触摸屏则用于功能按扭 和人机交换界面的输入.2。2系统架构图图 2-1 系统架构图2.3硬件模块2.3。1处理器一、芯片介绍。CortexM3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计.ARMv7 架构采用了Thumb2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案完整的代码兼容性. Thumb2技术比纯ARM代码少使用31的内存,减小了系统开销,同时能够提供比Thumb技术高出38%的性能7.在中断处理方面,

    10、CortexM3集成了嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)。NVIC是CortexM3处理器的一个紧耦合部分,可以配置1240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(Pre emption)、尾链(Tail chaining)、迟到技术(Late arriving)的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。DP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)

    11、使用.二、引脚图。图2-2 STM32F103ZET6 微控制器引脚分布图2。3.3 SD卡模块一、SD卡介绍。STM32微处理器 CPU ( STM32F103ZET6 )具有一个 SDIO 接口。SD/SDIO/MMC 主机接口可以支持 MMC 卡系统规范 4.2 版中的 3 个不同的数据总线模式:1 位(默认)、4 位和 8 位.在 8 位模式下,该接口可以使数据传输速率达到 48MHz,该接口兼容 SD 存储卡规范 2.0 版12。二、SD卡原理图。图2-3 SD卡接口电路.图2-4 SD卡上电识别流程图2。3.3 LCD显示模块一、LCD控制器.LCD,即液晶显示器,因为其功耗低、体

    12、积小,承载的信息量大,因而被广泛用于信息输出、与用户进行交互,目前仍是各种电子显示设备的主流。因为 STM32 内部没有集成专用的液晶屏和触摸屏的控制接口,所以在显示面板中应自带含有这些驱动芯片的驱动电路(液晶屏和触摸屏的驱动电路是独立的),STM32 芯片通过驱动芯片来控制液晶屏和触摸屏。二、FSMC框图结构。FSMC(flexible static memory controller),译为静态存储控制器。可用于STM32 芯片控制 NOR FLASH、PSRAM、和 NAND FLASH 存储芯片.我们是使用FSMC的NORPSRAM 模式控制 LCD。其结构如图2-5所示.。图2-5

    13、FSMC框图结构框图2。3。4触摸屏模块一、触摸屏感应原理。触摸屏常与液晶屏配套使用,组合成为一个可交互的输入输出系统。除了熟悉的电阻、电容屏外,触摸屏的种类还有超声波屏、红外屏。触摸屏的基本原理为分压,它由一层或两层阻性材料组成,在检测坐标时,在阻性材料的一端接参考电压 Vref,另一端接地,形成一个沿坐标方向的均匀电场.当触摸屏受到挤压时,阻性材料与下层电极接触,阻性材料被分为两部分,因而在触摸点的电压,反映了触摸点与阻性材料的 Vref 端的距离,而且为线性关系,而该触点的电压可由 ADC 测得。更改电场方向,以同样的方法,可测得另一方向的坐标。二、TSC2046触摸屏控制器。TSC20

    14、46 是专用在四线电阻屏的触摸屏控制器,MCU 可通过 SPI 接口向它写入控制字,由它测得 X、Y 方向的触点电压返回给 MCU.如图2-6所示图2-6 TSC2046 与电阻屏的连接图2.3.5 PCM音频模块PCM1770器件是CMOS,单片,集成电路包括立体声数字 - 模拟转换器,耳机电路。数据转换器采用TI的增强型多级架构,它采用噪声整形和多值振幅量化,实现出色的动力性能和改进的耐时钟抖动。该PCM1770器件接受多个行业标准音频数据格式,16至24位数据,左对齐,I2S等,提供轻松连接到音频DSP和解码器.采样率高达50 kHz的支持。全套用户可编程功能是通过一个3线串行控制端口,

    15、支持寄存器写入功能访问。原理接线图如图27所示图2-7 PCM1770连接图3 软件设计3。1 软件开发架构本设计由STM32最小系统,SD卡的读取模块,TFT控制模块,触摸屏模块,串口通信模块组成。将要解决SD卡的读取及使用FATFS系统对SD卡的操作、TFT液晶的控制及触摸屏原理、还有图形用户界面GUI的实现等问题10。架构如图3-1软件开发架构图图3-1软件开发架构图3.2 软件程序设计流程图图32 程序设计流程图本系统的程序设计流程图如图3-2所示,工作流程是:STM32从SD卡中读取音乐文件数据,将所读取的数据流传输给CPU软件解码(helix解码库)解码编程PCM音频,通过I2S送

    16、到ADC芯片 PCM1770音频输出驱动耳机实现音乐播放功能。液晶屏显示歌曲的实时播放状态,功能按扭和控制歌曲的播放、停止、声音增大、减小等。同时,TFT触摸屏则用于功能按扭和人机交换界面的输入。音乐播放链路:图3-3 音乐播放链路3。3 软件代码结构为了使代码结构清晰,方便以后的维护,代码结构设计如下:在根目录I2SMP3下,划分为七个文件夹,分别为STARTUP、CMSIS、FWLB、USER、DOC、ff9和mp3。下面分别就七个文件夹的作用和结构进行说明,其代码目录树状结构如图34 所示。图3-4 整体工程代码结构对其进行分析:目录名称 目录说明 STARTUP 启动文件CMSIS M

    17、3系列通用的文件FWLB ST 片上资源外设的驱动文件USER 用户写的驱动文件DOC 工程说明文档 ff9 FATFS文件系统文件mp3 音乐播放相关文件详细代码结构一、STARTUP 目录如图35所示图35启动文件startup_stm32f10x_hd。s 为启动文件启动文件是任何处理器在上点复位之后最先运行的一段汇编程序。在我们编写的 c 语言代码运行之前,需要由汇编为 c 语言的运行建立一个合适的环境,接下来才能运行我们的程序9。二、CMSIS 目录如图36所示图36 M3系列通用的文件文件名称 文件说明 core_cm3。c M3 核通用的源文件core_cm3.h M3系列通用的

    18、文件stm32f10x。h 对内存的操作封装文件system_stm32f10x.c 实现系统时钟操作文件三、FWLB 目录如图37所示图3-7 ST 片上资源外设的驱动文件 FWLB:用来存放 STM32 库里面的芯片上的所有驱动即ST 片上资源外设的驱动文件四、USER目录如图38所示图38用户写的驱动文件文件名称 文件说明 bsp_iis.c iis驱动文件bsp_gpio_spi。c spi驱动文件bsp_touch.c 触摸屏驱动文件bsp_ili9341_lcd.c 液晶显示驱动文件bsp_pcm1770.c pcm驱动文件bsp_led。c led驱动文件bsp_bmp.c bm

    19、p图片显示文件bsp_sdfs_app.c sd卡文件系统文件bsp_sdio_sdcard.c sd卡驱动文件bsp_spi_flash。c spi_flash驱动文件bsp_SysTick.c 系统时钟驱动文件bsp_usart1.c 串口通讯驱动文件main。c 主函数入口文件mp3.c pm3驱动文件stm32f10x_it。c 中断处理函数,以相应各种中断 五、DOC目录如图3-9所示 图39工程说明文档readme 为工程说明文件六、ff9目录如图310所示 图310 FATFS文件系统文件七、mp3目录如图311所示图311音乐播放相关文件这是实现mp3 播放的功能实现函数,实际

    20、应用只需要移植过来即可。3。3 驱动程序3.3.1 液晶屏驱动程序/* * brief lcd 初始化 param 无 * return 无 /void LCD_Init(void) LCD_GPIO_Config(); /配置IO端口 LCD_FSMC_Config(); /LCD FSMC模式的配置 LCD_Rst(); /LCD软件复位 LCD_REG_Config(); /配置LCD初始化寄存器3.3。3 文件系统驱动程序/* brief fs 文件系统初始化 * param 无 * return 无 */void Sd_fs_init(void) /* SD卡中断初始化 / SDIO

    21、_NVIC_Configuration(); /* SD 卡硬件初始化,初始化盘符为0*/ f_mount(0,myfs0); /./ff9文件库/ brief SDIO优先级配置为最高优先级 * param 无 return 无*/void SDIO_NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure; /* Configure the NVIC Preemption Priority Bits / NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStruc

    22、ture。NVIC_IRQChannel = SDIO_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(NVIC_InitStructure);3。3。3 触摸屏卡驱动程序/* brief 触摸模拟SPI IO 和中断 IO初始化 param 无 * return 无/void Touch_Init(

    23、void) GPIO_SPI_Config();/ brief 模拟SPI的GPIO配置,当SPI的4根信号线换为其他IO时, 只需要修改该函数对应的宏定义即可。 * param 无 return 无/void GPIO_SPI_Config(void) GPIO_InitTypeDef GPIO_InitStructure; / 开启GPIO时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF RCC_APB2Periph_GPIOG, ENABLE); /* 模拟SPI的GPIO初始化*/ GPIO_InitStructure.GPIO_Pin=

    24、SPI_CLK_PIN; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz ; GPIO_InitStructure。GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(SPI_CLK_PORT, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = SPI_MOSI_PIN; GPIO_Init(SPI_MOSI_PORT, &GPIO_InitStructure); GPIO_InitStructure。GPIO_Pin = SPI_MISO_PIN; GPIO_InitSt

    25、ructure。GPIO_Speed = GPIO_Speed_10MHz ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(SPI_MISO_PORT, GPIO_InitStructure); GPIO_InitStructure。GPIO_Pin = SPI_CS_PIN; GPIO_InitStructure。GPIO_Speed = GPIO_Speed_10MHz ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(SPI_CS_PORT, &GP

    26、IO_InitStructure); /* 拉低片选,选择XPT2046 / GPIO_ResetBits(SPI_CS_PORT,SPI_CS_PIN); /GPIO_SetBits(SPI_CS_PORT,SPI_CS_PIN); / XPT2046 中断IO配置 */ TP_INT_GPIO_Config();3.3。4 MP3驱动程序/* brief player_run 运行MP3 播放器过程,内部死循环 param 无 * return 无 /void player_run(void) char music_nameFILE_NAME_LEN; f_mount(0, &fs); f

    27、ile_scan(path); /扫描文件 if(file_num = 0) printf(”rn no mp3 file ! ); return; /跳出本函数 player_state = S_READY; /初始化状态 touch_even = E_NULL; /初始化事件标志 all_page = (file_num+7)/8 ; / current_page = 1; printf(”rn file_num =%d,all_page=d”,file_num,all_page); / PCM1770_VolumeSet(0); /调节音量 PCM1770_VolumeSet(28);

    28、lcd_list(current_page); /显示歌曲列表,第一页 while(1) / 进入死循环,根据状态切换 if(play_index = file_num1) /检查play_index play_index = file_num1; /index指向最后一个文件 else if(play_index=0) play_index =0; even_process(); /事件处理 switch(player_state) case S_PLAY: /播放状态 /开始play 流程 /读取音频文件流程 /打开playlist,读取音频文件名 fres = f_open (file,

    29、 0:mp3player/playlist.txt, FA_READ); fres = f_lseek (&file, play_index*FILE_NAME_LEN); fres = f_read(&file, music_name, FILE_NAME_LEN, &rw_num); fres = f_close (file); /获取文件名,准备解码 printf(”准备播放:s ”,music_name); if(strstr(music_name,.mp3)|strstr(music_name,。MP3”) /MP3格式 /开始MP3解码 mp3_player(music_name); else /WAV文件格式 /开始WAV文件播放 wav_player(music_name); break;


    注意事项

    本文(毕业论文基于STM32单片机的MP3播放器设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开