学生姓名 贺彦兴 学 号: 1106 4224
学 仪器与电子学院
院 :
专 业: 电子科学与技术
题 目: 基于STM的MP3播放器设计
指导教师: 李锦明 职称: 副教授
20 5 年1月30 日
摘要
MP3是一种高质量音乐压缩标准采用MP3压缩的数据量可以缩小到1/ 2,音质却没有多少损失。 由于MP3音乐的较小数据量和高质量的播放效果,使它很快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。本文采用STM3系列微控制器结合解码芯片VS1003、 卡、 LCD等外围设备设计并实现了P播放器。其主要功能有:播放VS 0 3支持的所有音频文件,如MP3、WMA、AV文件,且音质非常好;通过摇杆控制播放上一首下一首,通过电位计来控制音量增减,通过L显示音量图标和播放状态等;本系统还计划实现读卡器功能PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。
关键字MP3播放器、 Cr exM3、 ST32、VS 003
A BTRAT
Is a h quality MP3 music comp e sio standar thMP com r ssed d a can be red ce o 1 / 12, but the
e s l itt e los of soun qual t MPm sic s t e aller amo nt of d t and gh-quality pla backit w l soon be ome a set f udio aybac , he atai ored s di tal product d very popular Inthis paper, STM32 family o mic ocont ollers com in with deco er chip VS10 , SD ca d LC nd other eripherals esi n a d l men a o of MP3 pla ers Its main f nction ar : l VS1003 suppo ts all a o fi les such as MP3,WM, AV fi l s, d the so dqua ity is ver good; t rou h t e jo s c ntro playback n to the next, thr ugh pote oete t co trol vo ume chan e, ug the CD show t volue icon d la st t s, etc The s st malso plans to a hieve ea er unc ion, C machineinterfa es vi US directly to he d elopm nt b a dof the SDcard ead a rite perations o fac l ita ethe copyi g audio fi les.
K y w rds MP3 Playe s CortexM3; SM32; VS1003
目录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
A BT RAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
第一章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 . 选题背景与现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .2设计和研究方向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
第二章 系统概述与硬件电路设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1系统的总体构架. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2 2电源模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2 3微控制器模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.5VS 3音频模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
S卡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
DBR区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
FAT区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
FD区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
DA区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
.5液晶显示器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
第三章 系统软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.1软件设计总流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
2 底层驱动程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
1 . VS100 写命令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
2 S10 3初始化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
V10 3对音频文件的处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.3功能模块的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
第四章结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
结束语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
附件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
原理图:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
CB:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
代码:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
第一章 绪论
1. 选题背景与现状
二十一世纪的第一个十年过去了,随着电子技术的高速发展和嵌入式系统的应用越来越多的电子产品进入人们的视野。面对多形式、多渠道的信息,人们对信息的整合运用与随时调整的要求越来越高,消费电子无疑将潜移默化地改变人们的生活。 目前,消费电子产业每年都持续增长,所涉及的产品领域和行业也越来越多。丰富的电子产品正从各个角度向消费者展示着“数字生活”的新概念给人们带来了耳目一新的全面享受。
随着数字声音作为一种存储、处理和传输高保真声音的方法在消费电子等领域的广泛应用,与之相关的数字音频压缩技术也得到了充分的发展MP音
乐格式的出现和I te nt的日益普及更是将数字音乐推向了高潮。MP3压缩音乐的方式是通过一个运算法则,去掉声音中高频与低频的部分大幅删减不必要的容量浪费,同时保留了人类所能感受到的音频部分,因此其好处在于大幅降低了数字声音文件的容量,而不会破坏原来的音质。音质越低的声音在MP的运算法则下可以得到越高的压缩比。低数据量和高播放品质的优点使其成为音乐存储、数字广播、 网上音乐传输的主要方式。人们不仅可以使用计算机软件还可以通过数字随身听来欣赏音乐。
自从19 8年世界上第一台MP3播放器[1]推出以来。 P播放器市场以极快的速度发展,M3的功能也越来越多。国产品牌的M3播放器也进入市场当中,以纽曼、蓝魔、魅族等企业为代表的3播放器企业占据了国内MP3播放器市场主要份额。
1.2设计和研究方向
TM32系列微控制器采用RM公司最新的o texM内核。VS1003音频解码芯片为 V 0 系列的第三代产品是芬兰LSI olution 公司生产的单片MP3/MAMII解码和APCM编码芯片。
本文采用ST 2系列微控制器,结合解码芯片VS1003、 SD卡、 LCD等外围设备设计并实现了M3播放器。其主要功能有:播放VS1003支持的所有音
频文件如MP3、WMA、WAV文件且音质非常好;通过按键控制播放上一首/下一首、音量增减等;通过C显示音量图标和播放状态;本系统还计划实现读卡器功能,机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。
第二章 系统概述与硬件电路设计
1系统的总体构架
本系统采用STM32作为微控制器S1 0 作为解码芯片,采用卡存储MP/W文件, D作为显示器件最终完成MP的播放设计。同时
P机可以通过UB接口操作开发板上SD卡中的文件,也可以通过串口通信控制音乐播放。具体方案图如图 4所示
图2 1总体设计方案框图
MP3播放功能模块的工作分为两个部分:
第一部分是循环播放MP3歌曲该功能需要首先做一些初始化工作,P3解码器一旦开始工作,就会一直向U请求数据直至歌曲结束,只有通过键盘操作才会使该功能提前结束。 因为P文件的数据量较大,在 lash存储器内是以页为单位进行存储的,所以M3的播放程序初始化就是要把该文件的
首地址和页数先读出到PU中,然后PU可以根据如上数据进行取数据工作。
第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。 因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP播放器插入到SB接口时,系统执行U通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。
2 2电源模块
电源是电子设备中必不可少的一部分它为设备提供了能量。电源模块电路如图2-2所示。本系统有以下几种电源:CP的内核数字和模拟电源电压+1.8V,P的 /口数字和模拟电源电压+3.3 、总线的隔离电源、 LC的驱动电源、 L的背光逆变电源、其他外围设备电源电压+5 V等电源。 5电源适配器经过AM1 17- 3和MS 1117-2.5产生3.3V和2 5的直流电源供系统使用。
图2.2 电源电路
2 3微控制器模块
.. C r xM
CortexM3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。
Av7架构采用了Thub2技术它是在RM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存R解决方案完整的代码兼容性\[ \] 。 T umb2技术比纯R代码少使用31%的内存,减小了系统开销同时能够提供比Thum技术高出 8%的性能。
在中断处理方面Co t e xM3集成了嵌套向量中断控制器NVIC(Ne t e dVectore nt rru Controll r) 。NV C是Cortex3处理器的一个紧耦合部分,可以配置1~240个带有2 6个优先级、 8级抢占优先权的
ZJI原名维翔主机,是原来Wordpress圈知名主机商家,成立于2011年,2018年9月更名为ZJI,提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。ZJI今年全新上架了台湾CN2线路服务器,本月针对香港高主频服务器和台湾CN2服务器提供7折优惠码,其他机房及产品提供8折优惠码,优惠后台湾CN2线路E5服务器月付595元起。台湾一型CPU:Inte...
老鹰主机HawkHost是个人比较喜欢的海外主机商,如果没有记错的话,大约2012年左右的时候算是比较早提供支付宝付款的主机商。当然这个主机商成立时间更早一些的,由于早期提供支付宝付款后,所以受众用户比较青睐,要知道我们早期购买海外主机是比较麻烦的,信用卡和PAYPAL还没有普及,大家可能只有银联和支付宝,很多人选择海外主机还需要代购。虽然如今很多人建站少了,而且大部分人都用云服务器。但是老鹰主机...
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。C3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C3机房套餐处理器内存硬盘IP数带宽线路防御价格/月套...