基于STM32-MP3播放器设计说明

合集下载

基于STM32单片机的MP3播放器毕业设计 精品

基于STM32单片机的MP3播放器毕业设计 精品
在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)。NVIC是CortexM3处理器的一个紧耦合部分,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(Pre emption)、尾链(Tail chaining)、迟到技术(Late arriving)的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。CortexM3体系架构提出了新的单线调试技术,CortexM3处理器的跟踪调试是通过调试访问端口(Debug Access Port,DAP)来实现的。DAP端口可以作为串行线调试端口(SWDP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。其中SWDP只需要时钟和数据2个引脚,实现低成本跟踪调试,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和 RealView调试产品。此外CortexM3还具备高度集成化的特点,大大减小了芯片面积,内部集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。其引脚分布如图2-2所示:
关键词:MP3播放器;STM32F103VCT6;VS1003;SD卡
ABSTRACT
At the development of the digital coding and decoding and compression technology,Voice files are also moving in a high compression ratio, high-fidelity direction, from MP1, MP2 to MP3 format now. Therefore, high compression ratio, high-fidelity design of MP3 players have a good prospect.

基于STM32的MP3播放器设计与实现

基于STM32的MP3播放器设计与实现

基于STM32的MP3播放器设计与实现作者:周双飞黄海波简炜高云王志虎来源:《电脑知识与技术》2016年第01期摘要:基于STM32F103VET6增强型微控制器设计了一款MP3播放器,基于硬件解码实现了多页显示歌曲播放列表、换页、触摸换歌以及支持MP3、WAV等格式歌曲的播放等功能的操作。

硬件系统包括VS1003音频解码器、TDA1308功放模块、MicroSD卡以及液晶触摸屏;软件系统基于VS1003驱动、液晶触摸屏的驱动、μC/OS- 实时操作系统和FATFS文件系统等进行实现,系统实现表明具有很好的播放和界面操作效果。

关键词:STM32;MP3播放器;μC/OS-中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)01-0260-03Design and Implementation of MP3 Player Based on STM32ZHOU Shuang-fei1, HUANG Hai-bo1, JIAN Wei1, GAO Yun2, WANG Zhi-hu2(School of Electrical & Information Engineering, Hubei University of Automotive Technology, Shiyan 442002, China; 2. Power Equipment Plant of Dongfeng Motor Group Co.,Ltd., Shiyan 442000, China)Abstract: A MP3 player was designed based on STM32F103VET6, which is an enhanced micro controller. Based on hardware decode, main functions are achieved, such as multiple pages show the songs list, paging, touch to change songs and support MP3,WAV format songs play,and so on. The hardware system included VS1003 audio decoder, TDA1308 power amplifier module, MicroSD card and LCD touch screen. The software was implemented based on VS1003 driver, LCD touch screen driver,μC/OS-II real-time operating system and FATFS file system. The implementation shows that the MP3 player has the very good play and interface operation effect.Key words: STM32;MP3 player;μC/OS-MP3播放器被广泛应用于各种消费类电子领域,如新型的车载音频设备、移动手机、网络MP3等,所以对MP3的研究还具有很高的市场价值。

基于STM32单片机的MP3音乐播放器设计

基于STM32单片机的MP3音乐播放器设计

基于STM32单片机的MP3播放器设计基于STM32单片机的MP3播放器设计摘要众所周知,越来越多的人对MP3的追求逐渐下降,MP3的功能并没有像酷狗一样显示歌词等那么方便。

通过对STM32F103C8T6单片机MP3播放器的研究设计,来提升整个系统的功能。

系统运行的原理是利用数据卡存储歌曲歌词在,然后通过LCD1602显示屏根据个人的选择进行播放和显示。

整个屏幕类似酷狗界面,可以进行歌曲的各种模式的设置,具有很强的画面感,为了贴近生活需求,采用触屏的模式来操作。

系统的编程主要是利用上C语言,根据自身的需求可以进行不同功能款式的设计,整个电路的设计是相对比较简单的,MP3体积小容易携带,加上能够进行触屏影像,会更受到广大消费者的喜爱。

关键词:MP3播放器;STM32F103C8T6;VS1003;SD卡MP3 player design based on STM32 micro-controllerABSTRSCTThis paper introduces the design method of MP3 player based on stm32f103c8t6 in detail. The system realizes the decoding and playing of MP3 files stored in SD card, and displays the name of playing songs, the remaining time of playing songs and the corresponding words of songs on LCD1602 display screen. Through the graphic interactive user chart on LCD1602 display screen, it can also realize the fast forward of songs Fast rewind, pause and change cycle mode can basically realize an MP3 player with touch screen function. The software is programmed with C language and modular design idea is adopted. The hardware circuit of the system is simple, and the subprogram is universal, which fully meets the design requirements.Key words: MP3 player; stm32f103c8t6; VS1003; SD card目录摘要 (3)abstract (4)目录 (5)1 绪论 (6)1.1 课题研究背景 (6)1.2 国内外研究现状 (6)1.3 课题设计内容 (6)2 系统的总体设计 (8)2.1 系统核心硬件的选择 (8)2.1.1 主控芯片的选择 (8)2.1.2 显示模块的选择 (8)2.1.3 数据存储芯片的选择 (9)2.1.4 按键模块的选择 (9)2.1.5 MP3解码方案 (9)2.1.6 MP3储存介质方案 (9)2.2 系统总体方案 (10)3 硬件介绍和设计 (11)3.1 单片机及最小系统 (11)3.2 LCD1602液晶显示模块 (14)3.3 按键电路设计 (16)3.4 MP3串口控语音模块 (17)3.5 LM386功放模块 (19)3.6 VS1003解码电路设计 (20)3.7 电源模块 (21)4 系统软件的设计 (23)4.1 系统程序工作分析 (23)4.2 主流程图设计 (24)4.3 显示子流程图设计 (25)4.4 音乐播放功能的设计 (25)4.5 详细代码结构 (27)5 系统调试 (31)5.1 硬件的焊接 (31)5.2 系统硬件调试 (32)5.3 系统软件调试 (32)5.4 附录 (33)结论 (33)参考文献 (35)致谢 (36)1 绪论1.1 课题研究背景随着科技的进步,每个家庭都拥有者许多家电产品和电子产品。

基于STM32的MP3设计

基于STM32的MP3设计

摘要摘要本篇论文主要介绍的一款基于Crotex3内核设计的的MP3播放器。

采用STM32F103A系列微处理器作为播放器的CPU,采用由凌通公司生产的DS250-10芯片作为音乐解码芯片。

利用MPU6050运动处理模块收集MP3播放器的加速度、空间位置等运动信息,用以控制MP3播放器的播放/暂停、上一首/下一首等功能的实现。

通过BQ2057电源管理芯片对锂电池进行充电管理。

音量是由光敏电阻收集到的环境光强信息控制。

无需按键,用户只需要通过改变播放器的空间位置,就可以控制播放器的功能实现。

增加了操作的趣味性,提高了用户的操作体验。

使得在如今新鲜招数层出不穷的MP3市场更有竞争力。

关键词:MP3播放器,加速度,环境光感应,STM32,DS205-A103AbstractAbstractThis paper describes the design of a kernel-based Crotex3of the MP3player. Using STM32F103A Series microprocessor as the player of the CPU, using the Ling Tong produced DS250-10chip as the music decoding chip. Use MPU6050motion processing module collects acceleration MP3player, sports such as spatial location information, to control the MP3player, play / pause, previous / next track functions such implementation. By BQ2057power management chip for lithium battery charge management. V olume is a photoresistor light collected information control environment. No buttons, the user only needs by changing the spatial position of the player, the player can control the realization of the function. Increases operational interest, improving the user's operating experience. Making fresh tricks emerging in today's MP3market more competitive.Keywords:MP3player, accelerometer, ambient light sensor, STM32, DS205-A103目录目录摘要 (I)Abstract .............................................................................................................................. I I 第一章概述 . (1)1.1 MP3(Moving Picture Experts Group Audio Layer III) (1)1.2 MP3以及MP3播放器的发展趋势 (3)1.3 课题研究内容 (4)1.4 章节安排 (4)第二章主控CPU芯片 (6)2.1 STM32F103A芯片的基本构成 (6)2.1.1 芯片特点 (7)2.1.2 芯片应用 (7)2.2 主控CPU电路 (9)第三章音频解码芯片 (10)3.1 GPDS25芯片的基本构成 (10)3.1.1产品特点 (10)3.1.2规格参数 (10)3.2 DS250-10芯片电路 (11)第四章控制模块 (12)4.1 三轴陀螺仪 (12)4.1.1 MPU6050芯片简介 (12)4.1.2 MPU6050芯片原理图 (13)4.2 红外控制 (16)4.2.1 红外遥控器面板代码对应图 (16)4.2.2 有关红外波形的测试 (17)4.3 光敏电阻 (22)4.3.1 光敏电阻简介 (22)4.3.2 光敏电阻原理图 (24)第五章电源管理 (25)5.1 锂电池 (25)5.1.1 锂电池简介 (25)5.1.2 锂电池发展前景 (25)5.2 锂电池原理图 (26)5.2.1 BQ2057 (26)5.2.2理电池充电电路 (26)第六章其它模块 (27)6.1 TF卡 (27)6.1.1 TF卡简介 (27)6.1.2 TF与SD卡对应关系 (28)6.1.3 TF卡电路原理图 (28)6.2 USB模块 (29)6.2.1 USB简介 (29)6.2.2 USB模块原理图电路及外围电路 (29)目录6.3功放模块 (30)6.3.1 HXJ8002芯片简介 (30)6.3.2 功放模块电路原理图 (31)总结 (32)参考文献 (34)基于体感控制的MP3播放器的设计第一章概述1.1MP3(Moving Picture Experts Group Audio Layer III)1、MP3音频编码方式MP3是一种近十年来新兴的音频压缩技术,其全称为动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),取其首字母缩写命名为MP3。

基于STM32 MP3播放器设计分析

基于STM32 MP3播放器设计分析
GPIO_Init(SPI_MOSI_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = SPI_MISO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz ;
MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。
MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘[2]。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。
1.2
MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。
图2-5FSMC框图结构框图

基于STM32MP3播放器设计

基于STM32MP3播放器设计

基于STM32MP3播放器设计STM32MP3播放器是一种基于STM32单片机搭建的MP3音频播放设备,具有播放音频文件、调节音量、选择曲目等功能。

其基本原理是通过STM32单片机的内部ADC/DAC模块与外部音频解码器进行数据传输和处理,实现音频播放的功能。

首先,STM32MP3播放器的硬件设计主要包括以下几个部分:STM32单片机、音频解码芯片、外部存储器、显示屏、按键和音频输出设备。

STM32单片机作为控制中心,负责控制整个播放器的各个元件以及与用户的交互。

音频解码芯片负责解码音频文件,将数字信号转换为模拟声音输出。

外部存储器用于存储音频文件,通常是SD卡或者闪存。

显示屏用于显示播放器的状态和当前播放的曲目信息。

按键用于控制播放器的各项功能,如暂停/播放、切换上一首/下一首等。

音频输出设备可以是耳机、扬声器等。

其次,STM32MP3播放器的软件设计主要包括存储设备读写控制、音频解码控制、用户交互控制等功能。

首先,存储设备读写控制部分负责从外部存储器读取音频文件,并将音频数据传输给音频解码芯片进行解码。

其次,音频解码控制部分负责控制音频解码芯片的工作,包括选择解码算法、设置音频参数、调节音量等。

最后,用户交互控制部分负责响应用户的操作,如按键事件处理、显示屏信息更新等。

对于STM32MP3播放器的设计流程,可以分为硬件设计和软件设计两个阶段。

首先,根据实际需求确定硬件设计方案,包括选择STM32单片机型号、音频解码芯片、外部存储器、显示屏、按键和音频输出设备等,并进行硬件电路的设计与布局。

随后,进行软件设计,包括编写驱动程序、实现音频解码算法、处理用户交互操作等。

在实际的设计过程中,需要根据硬件平台和技术条件进行优化,以保证播放器的音质和性能。

例如,可以通过选择合适的音频解码算法,优化解码性能,提高音频质量。

同时,还可以通过采用高性能的存储设备和使用缓存技术来提高音频文件的读取速度,减少卡顿现象。

(完整版)基于STM32MP3播放器设计分析

(完整版)基于STM32MP3播放器设计分析

(完整版)基于STM32MP3播放器设计分析基于STM32 MP3播放器设计学院:XXXXXXXXXXX专业班机:XXXXXXXX姓名XXXXX学号:XXXXXXXX1.1 本课题的提出及意义MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。

MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。

由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。

而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。

MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。

其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。

存储器可以是Flash存储器或硬盘[2]。

通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。

1.2 研究现状MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。

自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来,MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。

在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。

除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。

这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。

2 硬件设计2.1整体方案综述本设计由STM32最小系统,SD卡的读取模块,TFT控制模块,外扩FLASH模块,触摸屏模块,串口通信模块组成。

基于STM32的MP3播放器设计

基于STM32的MP3播放器设计

www�ele169�com | 3电子电路设计与方案随着时代的进步,数字压缩技术与日俱增,编解码技术也在飞速发展,而人们对语音效果的要求也越来越高。

从而导致语音文件在要求体积小的同时有尽可能高的保真度。

而在目前的音频标准中,MP3凭借其算法复杂,高压缩比,高音质的特点在众多音频标准中脱颖而出[1]。

为了进一步改善MP3播放器存储容量小、价格昂贵、播放歌曲单一的不足,设计了一种具有实用意义的MP3播放器。

1 硬件电路设计MP3音乐播放器控制器应用STM32F103ZET6单片机,利用集成了外部存储设备SD 卡,显示设备利用TFT-LCD液晶显示屏,用于人机交互的按键,解码音乐的VS1003和用于播放音乐的耳机接口。

基本设计是主控制器通过FATFS 文件系统方式从存储卡中读取音乐文件,根据解码芯片的状态,循环发送数据,经过硬件解码,输出模拟音乐流,但是这里必须要通过音响才能听到声音。

在按键输入这一块,能够用按键来进行人机交互,达到切歌等功能。

整体系统的设计框图如图1所示。

图1 系统总体框图■1.1 显示模块设计TFT-LCD 和别的显示模块得矩阵是不一样。

在TFT-LCD 上,屏幕上的每一个都和一个光源相对应。

这里的亮点就是像素点,光源就是晶体管。

设计的优点就是为了让每一个像素之间是相互独立的,可以避免晶体管之间的相互干扰。

在显示时,屏幕是要逐行或逐列的进行扫描,由于像素之间是相互独立的,所以在扫描的时候不会出现像素之间的干扰,这样在显示的时候,整体画面就具有了较高的质量。

显示模块的电路如图2所示。

图2 显示模块的设计电路■1.2 VS1003音频模块设计VS1003是芬兰VLSI 公司的研发生产的一款音频编解码芯片,可以对多种音频格式进行解码,音质较好,同时还具有录音功能,十分好用。

VS1003内部有5KB 的ROM,500B 的DRAM,四个通用输入输出接口,一个异步收发接口等其它丰富实用的资源。

基于STM32的多功能音乐播放器设计

基于STM32的多功能音乐播放器设计

• 123•基于STM32的多功能音乐播放器设计绵阳职业技术学院 罗金生 王荣海 李 岷 刘 成以音乐播放器为研究对象,提出一种基于STM32的音乐播放器的硬件和软件的设计方法,系统以STM32F103ZET6为控制核心,音频解码芯片VS1053B实现音频数据解码,挂载FATFS文件系统实现对SD卡中的音频文件进行读取,利用FFT快速傅里叶变换将音频信号转为频谱,加入了一个小型GUI显示界面配合OLED显示屏,实时的将界面、播放状态以及频谱生动的展示出来,此外还加入了蓝牙音频功能,通过手机蓝牙即可连接播放器播放音乐。

实验表明,该音乐播放器连接耳机能流畅播放多种格式的音乐文件,具有多功能、高性能、低功耗、操作方便、稳定可靠等特点。

引言:音乐可能是人类史上最古老、最具普遍性以及感染力的艺术形式之一。

音乐能提高人的审美能力,净化人们的心灵,树立崇高的理想。

不论时代怎么发展,人们的生活娱乐都离不开音乐。

因此,设计一款简单实用,多功能化的音乐播放器完全可以符合人们的爱好及需求。

本文介绍一种基于STM32F103处理器的SDIO接口模块及外围音频解码芯片实现一个SD卡的音乐播放器,它读取存储在SD卡里的音频格式文件,并通过立体声音解码芯片输出,能进行频谱显示,还可以通过手机蓝牙与其连接播放音乐等功能。

1.系统硬件电路设计基于STM32F103VET6微控制器所设计的MP3播放器,主要包括:存储模块、蓝牙音频模块、音频解码模块、显示模块。

系统方案设计的系统框图如图1所示。

主控制器芯片,利用其SDIO接口不断读取SD卡音频文件送入缓存区;使用了三组SPI接口,第一组SPI接口将读取的音频数据流送至音频解码芯片VS1053进行解码,第二组SPI接口连接了字库存储芯片,用于显示歌曲名等,第三组SPI接口连接OLED显示屏幕实现人机交互以及显示歌曲信息和频谱等;使用了一个定时器、一个DMA以及一个ADC通道实时快速采集音频输出,并利用FFT将其从时域转换为频域;使用通用IO控制蓝牙以及音频切换芯片和键盘。

基于STM32的MP3播放器设计与实现_毕业设计论文

基于STM32的MP3播放器设计与实现_毕业设计论文

《嵌入式系统原理》课程设计说明书题目:利用STM32实现MP3播放器院(系):信息与电气工程学院STM32芯片应用实验设计任务书第一种方案是简易声波播放器,仅使用STM103V100评估板,令计时器TIM4工作在PWM模式下,将wav格式的声波文件从SD卡中读出,由TIM4产生不同频率的方波通过低通滤波器和放大器送喇叭,如图1所示;第二种方案则是简易MP3播放器,还需要使用额外的解码芯片,将MP3格式的文件从SD卡读出,然后送解码芯片解码播放,如图2所示。

本节将先介绍SD卡、FAT16文件格式、VS1003编解码器等关键部分,然后再分别给出两种设计方案的软件设计。

图1 简易声波播放器方案图2 简易MP3 Player方案1 SD卡的结构及读写方法STM103V100评估板有SD连接器,其使用SPI总线与STM32处理器连接,如图3所示。

图3 SD连接器与STM32处理器SPI连接图SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。

本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解SD 卡,可以参考相关资料。

SD卡内部结构及引脚如图4所示。

图4 SD卡内部结构及引脚SD卡主要引脚和功能为:CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在0~25MHz 之间变化,SD卡的总线管理器可以不受任何限制的自由产生0~25MHz的频率;CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡;DAT0~3:数据线,数据可以从卡传向主机也可以从主机传向卡。

SD卡以命令形式来控制SD卡的读写等操作。

可根据命令对多块或单块进行读写操作。

基于stm32的mp3播放器设计 毕业论文

基于stm32的mp3播放器设计 毕业论文

郑州大学西亚斯国际学院本科毕业论文(设计)题目基于STM32的MP3播放器设计指导教师职称学生姓名王帅学号专业电子信息工程班级电信2班院(系)完成时间电子信息工程学院2012年4月 9日基于STM32的MP3播放器设计摘要Cortex-M3基于最新最好的32位ARMV7架构,是ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的内核。

ARMV7架构支持高度成功的Thumb-2指令集,那么这就同时赋予了Cortex-M3很多时尚、前卫甚至崭新的特性,让它在很好、很强大的同时,编程模型却变得更加清新爽洁了。

而STM32正是基于Cortex-M3这种优秀内核的32位微控制器,在 Cortex-M3 的基础上又加入了自己先进的技术,让该CPU在低成本、低功耗下充分发挥它具有的高性能特性。

说到MP3,它是一种高质量音乐压缩标准,采用MP3压缩的数据量可以缩小到1/12,音质却没有多少损失。

由于它的这些特性,使它很快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。

本系统采用的CPU是基于Cortex-M3内核的STM32F103VET6微控制器,MP3 解码使用VS1003硬件解码芯片,结合SD卡、LCD等外围设备设计的MP3播放器。

整个系统的设计包括电路设计、PCB制作以及硬件测试、软件设计三个部分。

实现的主要功能有:通过彩屏LCD显示歌曲的相关信息,并通过触屏功能实现MP3的播放,换歌等操作。

软件系统需要移植的软件模块有:FAT系统模块,GUI系统模块,uC/OS操作系统模块。

本系统在实现以上功能的基础上还计划实现歌词的同步显示,电子书,图片显示等功能,以使本系统更加优秀。

关键词:MP3播放器/Cortex-M3/STM32F103VET6/uCGUI/uC/OSBASED ON STM32 MP3 PLAYER DESIGNA BS T R A C TCortex-M3 based on the latest best 32-bit ARMV7 architecture is ARM company requirements for high performance, low cost, low power consumption embedded application special design of the kernel. ARMV7 framework support highly successful Thumb-2 instruction set, so it is also give the Cortex-M3 many fashion, halfback and even new characteristics, let it in is very good and very powerful at the same time, programming model is getting more pure and fresh and bright.And it is based on the STM32 Cortex-M3 this excellent kernel 32 bit micro-controller, in the Cortex-M3 again on the foundation of joined their advanced technology, let the CPUin the low cost, low power consumption into full play under the high performance characteristics with it.Said to MP3, it is a kind of high quality music compression standard, the MP3 compressed data can be narrowed to 1/12, but not much loss sound quality. Because of its these features to make it soon became a collection of audio playback, data storage to a digital products, and very popular.The system USES the CPU is based on the core Cortex-M3 STM32 micro controller, MP3 decoding use VS1003 hardware decoding chips, combined with the SD card, LCDand peripheral design MP3 player. The whole system design including circuit design, PCB production and hardware testing, software design three parts. Of the realization of the main functions are: through the color LCD display songs of relevant information, and at the screen functions of MP3 playback, change song operation. Software system needs to be transplanted software module: FAT system module, GUI system module, uC/OS operating system module. This system realizes the above functions based on the lyrics also plans to realize displayed, ebooks, images show, and other functions, in order to make the system more outstanding.K E Y W O R D S: MP3 Players,Cortex-M3, STM32F103VET6,uC/GUI,uC/OS目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 选题背景 (1)1.2 国内外研究现状及意义 (1)1.3 设计和研究方向 (2)2 系统设计理论基础 (2)2.1 ARM嵌入式系统 (2)2.2 STM32F103VET6微控制器 (2)2.3 SD卡 (3)2.4 FAT16文件系统 (5)2.4.1 DBR区 (5)2.4.2 FAT区 (5)2.4.3 FDT区 (6)2.4.4 DATA区 (6)2.5 uCGUI图形系统 (6)2.6 uC/OS-II实时操作系统 (6)2.7 音频编解码器 (8)2.8 液晶显示器 (9)2.9 电路设计与制作 (9)3 系统方案设计 (10)3.1 系统设计方框图 (10)3.2 方案设计及选择 (10)3.2.1电源部分 (10)3.2.2微控制器(CPU)部分 (10)3.2.3 LCD液晶及输入设备 (11)3.2.4字库Flash部分 (11)3.2.5 MP3外设部分 (11)3.2.6 MP3存储部分 (12)3.3 最终设计方案 (12)4 硬件电路设计 (13)4.1模块整体说明 (13)4.2模块分别介绍 (13)4.2.1 LM1117-3.3电源模块 (13)4.2.2 STM32F103VET6微控制器模块 (14)4.2.3 SSD1289TFT液晶模块 (15)4.2.4华邦W25X16 Flash模块 (16)4.2.5 VS1003 MP3解码模块 (17)4.2.6 SD卡MP3存储器模块 (19)5 软件程序设计 (20)5.1软件驱动部分 (21)5.1.1 TFT真彩液晶驱动 (21)5.1.2 ADS7843触摸屏芯片驱动 (21)5.1.3 W25X16驱动 (23)5.1.4 SD卡驱动 (24)5.1.5 VS1003驱动 (24)5.2 软件系统移植 (25)5.2.1 uC/GUI的移植 (25)5.2.2 uC/OS-II的移植 (28)5.2.3 FATFS文件系统的移植 (29)5.3 软件设计部分 (31)5.3.1字库和unicode转换表向W25X16写入 (32)5.3.2 uC/GUI中文支持 (33)5.3.3 FATFS文件系统长文件名和中文支持 (37)5.3.4 uC/GUI与uC/OS-II联合使用 (40)5.4 本设计软件系统部分 (41)5.4.1软件系统结构图 (41)5.4.2 触屏检测任务 (41)5.4.3 触屏信息处理 (42)5.4.4 GUI界面控制任务 (42)5.4.5 MP3进度条控制任务 (43)5.4.6 MP3播放控制任务 (44)6 设计总结 (44)致谢 (45)参考文献 (46)附录 (47)1绪论1.1选题背景随着信息技术的飞速发展,形式多样的数字化产品已经开始成为继 PC机后的信息处理工具,在这种数字化潮流下,嵌入式系统已成为当前研究和应用的热点之一,嵌入式手持设备的视音频多媒体应用也越来越广泛。

基于STM32的MP3播放器设计

基于STM32的MP3播放器设计
2.2电源模块
电源是电子设备中必不可少的一部分,它为设备提供了能量。电源模块电路如图2-2所示。本系统有以下几种电源:CPU的内核数字和模拟电源电压+1.8 V,CPU的I/O口数字和模拟电源电压+3.3 V、总线的隔离电源、LCD的驱动电源、LCD的背光逆变电源、其他外围设备电源电压+5 V等电源。5V电源适配器经过AMS1117-3.3和AMS1117-2.5产生3.3V和2.5V的直流电源供系统使用。
VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18位过采样多位DAC。通过串行总线控制解码器。除了基本的解码,在用户RAM中它还可以作其他特殊应用,例如DSP音效处理。
VS1003的内部结构及引脚如图2.4所示。
图2.4VS1003内部结构及引脚图
第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。
在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)。NVIC是CortexM3处理器的一个紧耦合部分,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(Pre emption)、尾链(Tail chaining)、迟到技术(Late arriving)的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。CortexM3体系架构提出了新的单线调试技术,CortexM3处理器的跟踪调试是通过调试访问端口(Debug Access Port,DAP)来实现的。DAP端口可以作为串行线调试端口(SWDP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。其中SWDP只需要时钟和数据2个引脚,实现低成本跟踪调试,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和RealView调试产品。此外CortexM3还具备高度集成化的特点,大大减小了芯片面积,内部集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。

基于STM32的MP3播放器的设计

基于STM32的MP3播放器的设计
技 术 创 新
煞 _ 射瑚 1 晦
基 于S 2 M3 的MP 播 放器 的设 计 T 3
程 磊
( 州工业职业技 术学院 ) 苏
摘 要 本文采 用s M3 系列微控制 器,结合解 码芯 片V 15 、S 卡 、L D 外围设备设计 并实现 了MI 播放器 ,其主要 功能有 T 2 S0 3 D C 等 ) 3 播 :V l 5 支持 的所有音频文件- 3  ̄ SO 3 .  ̄MP 、W MA、 A  ̄件 ;通过 电位计 来控制音量增减 ;通过L D显示音量 图标和播放状态等 t W V _ c
器上 ,所 以采片U B j S 为系统供 电,如此一来使系统的实现 变得更J简 J u 便、 迅速 电源 电路示意幽如I3 生 所示 . I .
性 能更好 在 市场消赞刺激下,各大公 司纷纷推 出了 自己的MP播放 3 器 产品 ,I供应商也 提供了众 多的MP解码芯片及其解决方案 , c 3 这使 MP播放器的研制与生产变得更『容易 ,成本也大大降低 ,市场更 加 3 J u 广阔 。本文 采 用S M3 系列微控 制器 ,结合解 码芯 片V 1 5 、S T 2 S0 3 D 卡 、L D C 等外围 没备设计并实现 了M 3 P 播放器 。

圈 I 系统 站 构 圈
( 1 1 控制模块 。本 系统 采用S ' 2 l3 B 作 为MC 1 M3 F ( R T ^ U,它使用 高性能的A M ot — 位的RS R C rxM3 2 e 3 IC 内核 ,工作频率为7 MH ,内置高速 2 z 存储器( 高达1 8 字 节的闪 存和2 K 2K O 字 节的S A 。丰富的增强型1 端 u以 R M) / O 及包含2 l位的AD 个 2 C.3 " I6 4 通片 位 l 定时器和一个P WM定时器 ,使得处理 速度大大提高 ,机器功耗大大降低 ,

基于STM32的MP3播放器设计与实现

基于STM32的MP3播放器设计与实现

基于STM32的MP3播放器设计与实现设计和实现基于STM32的MP3播放器需要完成以下几个主要步骤:硬件设计、软件编程以及调试。

以下将详细描述每个步骤,并提供基于Keil MDK的完整源代码。

硬件设计:1.硬件平台选择:选择适合于MP3播放器的STM32系列单片机,如STM32F4系列。

2.音频芯片选择:选择具有I2S或SPI接口的音频解码芯片,如VS1053芯片。

3.外设选择:选择适当的外设来控制用户输入(如按键)、显示屏幕和存储介质(如SD卡)。

4.硬件连接:按照芯片和外设的接口要求,连接单片机、音频解码芯片、按键、显示屏幕和SD卡等。

软件编程:1.硬件初始化:初始化单片机和外设的引脚配置、时钟和中断等。

2.外设驱动编写:编写外设的驱动程序,包括音频解码芯片驱动、SD 卡驱动、按键驱动、显示屏幕驱动等。

3.MP3解码器:基于音频解码芯片的通信协议,编写MP3解码器的相关程序,实现文件的解码和音频数据的播放。

4.用户接口:编写用户界面程序,实现按键控制、显示屏幕显示、菜单操作等功能,以便用户操作音乐播放器。

5.文件系统:编写文件系统程序,实现对SD卡中音乐文件的读取和管理。

调试:1. 编译:使用Keil MDK进行编译,检查程序是否能够正确编译通过。

3.调试:通过串口或调试器连接STM32单片机,查看程序运行过程中的输出信息,检查是否存在问题并进行调试。

以下是一个基于STM32F4系列的MP3播放器的部分源代码,完成了初始化、外设驱动、MP3解码器和用户接口的编写。

```c#include "stm32f4xx.h"#include "vs1053.h"#include "sdcard.h"#include "lcd.h"#include "key.h"void Delay(uint32_t nCount)for(; nCount != 0; nCount--);int main(void)LCD_Init(;Key_Init(;VS1053_Init(;SD_Init(;while(1)if (Key_Scan( == KEY_PLAY)SD_Play(;}}void EXTI0_IRQHandler(void)if (EXTI_GetITStatus(EXTI_Line0) != RESET)VS1053_TriggerInterrupt(;EXTI_ClearITPendingBit(EXTI_Line0);}```以上代码只是一个简单的示例,具体实现需要根据所选择的硬件平台和外设来编写相应代码,例如音频解码芯片的驱动程序、SD卡的读写程序等。

基于STM32嵌入式MP3播放器开源项目初始设计方案说明书

基于STM32嵌入式MP3播放器开源项目初始设计方案说明书

基于S T M32嵌入式M P3播放器开源项目初始设计方案说明书目录1.前言与项目概述 (3)1.1项目目的及产品概述 (3)1.2方案分析及简介 (3)2.难点与风险 (4)2.1软解码 (4)2.2采购风险 (4)2.3协作风险 (4)3.硬件设计 (4)3.1S T M32F103V E TC P U介绍 (6)3.2晶振 (8)3.3复位电路 (8)3.4电源电路 (9)3.5内部存储器 (10)3.6S D卡接口 (11)3.7音频D A C接口 (12)3.8U S B设备接口 (13)3.9R S232串行口(I S P下载) (14)3.10指示灯接口 (16)3.11键盘接口 (16)3.12J T A G调试接口 (17)3.13处理器启动模式配置电路 (18)3.14A/D转换器 (19)4.软件设计 (19)4.1μC/O S-I I操作系统 (19)4.2F A T文件系统 (20)4.3M P3软解码 (20)5.系统调试 (20)6.固件下载与更新 (20)7.PCB设计规划 (21)8.基础知识 (21)9.搜集前辈的项目历程和经验总结 (21)9.1.硬件电路设计经验 (21)9.2.P C B设计经验 (22)1.前言与项目概述1.1项目目的及产品概述:本次的STM32嵌入式MP3播放器开源项目的目的是让大家通过这个项目大家一起进步,共同学习嵌入式相关知识,交流学习心得,体会项目过程中的困难与成功的喜悦。

学习是目的,过程是重点。

所以本次设计不采用MP3专业芯片,而采用独立的功能模块搭建的方式。

本次MP3播放器至少支持WAV和MP3两种音乐文件的播放,使用软解码来实现,还要求支持SD读写,支持通过ISP方式来实现STM32嵌入式MP3播放器固件的下载与更新,支持USB为系统供电。

本次设计不添加LCD显示屏。

1.2方案分析及简介:本次设计关于处理器的选型我们考虑目前市场上较为常见的ARM7,ARM9,和Cortex-M3内核的处理器,选择ARM9来做有点大材小用是种浪费,而Cortex-M3在性能上比ARM7有很多优势,而且Cortex-M3内核系列控制器逐渐占据微控制市场主流而且价格便宜,所以选择以Cortex-M3内核的处理器。

基于STM32的MP3播放器的设计

基于STM32的MP3播放器的设计

基于STM32的MP3播放器的设计【摘要】本文设计了一种能方便听取MP3文件的播放器。

使用STM32微控制器作为主控芯片,使用音频解码模块解码音频数据,使用SD卡模块存储歌曲,利用音频放大模块和扬声器实现音频外放,可通过TFTLCD液晶屏查看当前播放音乐的歌名,当前播放时间,音乐播放总时间,音量,SD卡内音乐总数,当前音乐在SD卡列表的编号等信息,通过按键实现音量大小调节和歌曲选择下一曲或者选择上一曲。

利用两个指示灯指示程序运行状态和指示VS1053正在初始化。

【关键词】STM32F103;TFTLCD液晶屏;音频解码模块;SD卡模块;音频放大模块;扬声器。

Design of MP3 player based on STM32[Abstract]This article has designed a kind of player which can listen to the MP3 file conveniently. Using STM32 microcontroller as the main control chip, using the audio decoding module decodes the audio data, using the SD card storage module using songs, audio amplifier module and speaker audio amplifier which can view the music of the song by TFTLCD screen, the current playback time, music playback time, volume, the total number of SD card music. The music in the information list of SD card number, through the keys to achieve the volume regulation and song selection the next song or choose a song. The two indicator lights are used to indicate the running state of the program and indicate that the VS1053 is initializing.[Key words] STM32F103; TFTLCD screen; audio decoding module; SD card module; audio amplifier module; loudspeaker.目录1 引言 (1)1.1设计背景及意义 (1)1.2设计要求 (1)1.3实施计划 (1)1.4系统开发准备 (1)2 设计方案 (2)2.1主控芯片 (2)2.2音频解码模块 (2)2.3显示模块 (2)2.4存储模块 (2)2.5音频放大模块 (3)2.6扬声器 (3)3 总体设计 (4)4 硬件设计 (5)4.1 STM32F103主控芯片 (5)4.2音频解码模块 (5)4.2.1 VS1053的介绍 (5)4.2.2 VS1053的特点 (6)4.2.3 VS1053模块资源 (6)4.2.4模块与STM32连接 (6)4.3音频放大模块 (7)4.4 SD卡模块 (7)4.4.1 SD卡简介 (7)4.4.2 SD卡引脚 (7)4.5 TFTLCD显示模块 (8)4.5.1 TFTLCD显示屏的介绍 (8)4.5.2 TFTLCD显示屏接口 (9)4.6 按键模块 (9)4.7 LED模块 (10)5软件设计 (11)5.1总体设计思想 (11)5.2系统功能软件设计 (11)5.2.1音频解码模块 (11)5.2.2 SD卡模块 (12)5.2.3按键设计模块 (13)5.2.4 TFTLCD显示模块 (13)6系统调试 (14)6.1按键模块测试 (14)6.2 TFTLCD显示模块测试 (14)6.3 SD卡模块测试 (14)6.4音频模块测试 (14)6.5扬声器测试 (14)7 设计总结 (15)致谢....................................................................................................................................... 错误!未定义书签。

基于STM32单片机的MP3播放器毕业设计

基于STM32单片机的MP3播放器毕业设计

基于STM32单片机的MP3播放器毕业设计摘要:随着人们生活水平的提高,人们对音乐的需求越来越高,尤其是便携式的音乐播放器,如MP3播放器。

本设计基于STM32单片机,设计了一款功能强大的MP3播放器,并实现了音乐播放、暂停、停止、上一曲、下一曲等基本功能。

1.引言MP3播放器是目前市场上非常流行的音乐播放设备,能够存储和播放数千首歌曲。

本设计采用了STM32单片机作为主控芯片,通过设计合适的电路和编写相应的程序,实现了一款功能强大的MP3播放器。

2.系统架构系统由主控单片机、存储模块、音频解码模块、音频放大模块和用户界面模块组成。

主控单片机采用STM32F系列,具有强大的计算和控制能力。

存储模块使用闪存芯片进行音乐文件的存储。

音频解码模块使用MP3解码芯片,能够将音乐文件解码为音频信号。

音频放大模块使用功放芯片,对音频信号进行放大。

用户界面模块使用LCD显示屏和按钮,用户可以通过按钮进行音乐播放器的控制。

3.硬件设计电路设计主要包括主控单片机的外设接口设计、存储模块的选型和接口设计、音频解码模块的选型和接口设计以及音频放大模块的选型和接口设计。

主控单片机的外设接口设计需要考虑与存储模块、音频解码模块和用户界面模块的接口适配。

存储模块的选型需要考虑存储容量和读写速度。

音频解码模块的选型需要考虑解码效果和功耗。

音频放大模块的选型需要考虑功放芯片的输出功率和音质。

4.软件设计软件设计主要包括主控单片机的程序设计、音频解码模块的驱动程序设计、用户界面模块的控制程序设计等。

主控单片机的程序设计需要实现音乐文件的读取、解码和播放控制等功能。

音频解码模块的驱动程序设计需要实现音频解码芯片与主控单片机的通信和数据传输。

用户界面模块的控制程序设计需要实现LCD显示屏的刷新和按钮的响应。

5.实验结果与分析经过实际测试,本设计的MP3播放器能够正常播放音乐文件,并且具有良好的音质和稳定的性能。

用户通过LCD显示屏可以实现对音乐的控制和操作。

基于STM32的mp3播放器的设计

基于STM32的mp3播放器的设计

摘要Cortex-M3是ARM公司为要求高性能(1.25 Dhrystone MIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。

STM32系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。

本系统是基于Cortex-M3内核的STM32微控制器的mp3播放器,在硬件方面主要有VS1053硬件音频解码器和12864点阵液晶屏,在软件方面主要有VS1053的驱动,SD卡工作在SPI模式下的读写驱动,FAT文件系统的移植,12864液晶的驱动,嵌入式操作系统ucOSii的移植以及嵌入式图形管理器ucGUI的移植。

整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,pcb板的绘制,制版,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

关键词:STM32,VS1053, FAT文件系统,12864液晶,ucOSii,ucGUIAbstractCortex-M3 are ARM companies that require high performance (1.25 Dhrystone MIPS / MHz), low-cost, low-power embedded applications specially designed core. STM32 family benefits from the Cortex-M3 architecture at on a number of improvements, including upgrading the performance and at the same time improve the code density of the Thumb-2 instruction set and interrupt response significantly improve the tightly coupled nested vector interrupt controller, All new features are at the same time the optimal power consumption level of the industry.The system is based on the Cortex-M3 core STM32 microcontroller mp3 player, mainly in hardware have VS1053 hardware audio decoder and 12864 dot matrix LCD screen, mainly in the software driver VS1053 has, SD card work in the SPI mode to read and write drive, FAT file system of the transplant, 12864 LCD drivers, embedded operating system and embedded ucOSii transplant graphics manager ucGUI transplant.The entire design process including the design of electronic systems technology and debugging techniques, including needs analysis, mapping principle, pcb drawing board, plate making, device procurement, installation, welding, hardware debugging, preparation of software modules, software module testing, overall system testing throughout the development process.KEY WORDSSTM32,VS1053, fat filesystem,12864 dot matrix LCD screen,ucOSii, ucGUI目录1. 系统描述 (5)1.1 综述 (5)1.2 系统框图 (5)1.3 功能实现 (5)2. 硬件设计 (6)2.1 总体框架 (6)2.2 STM32微控制器 (6)2.2.1 芯片介绍 (6)2.2.2 管脚图 (6)2.2.3 电路图 (7)2.3 VS1053音频解码器 (8)2.3.1 VS1053芯片介绍 (8)2.3.2 VS1053特性: (8)2.3.3 结构框图 (8)2.3.4 电路原理图 (9)2.4 SD卡模块 (9)2.4.1 SD卡介绍 (9)2.4.2 电路原理图 (9)2.5 液晶12864模块 (10)2.5.1 液晶12864介绍 (10)2.5.2 结构框图 (10)2.6 系统PCB (11)3. 软件设计 (13)3.1 总体框架 (13)3.2 主模块 (13)3.2.1 模块介绍 (13)3.2.2 目录结构 (13)3.3 STM32固件库 (14)3.3.1 模块介绍 (14)3.3.2 目录结构 (14)3.4 SD卡读写驱动与FAT文件系统 (14)3.4.1 模块介绍 (14)3.4.2 目录结构 (14)3.5 VS1053音频解码驱动 (15)3.5.1 模块介绍 (15)3.5.2 目录结构 (15)3.6 液晶显示接口 (15)3.6.1 函数介绍 (15)3.6.2 函数流程图 (15)3.7 嵌入式操作系统ucOSii (15)3.7.1 ucOSii介绍 (15)3.7.2 ucOSii移植结构图 (16)3.7.3 实际应用 (16)4. 系统开发与测试 (17)4.1 开发环境 (17)4.1.1 硬件设备 (17)4.1.2 软件环境 (17)4.2 开发步骤 (17)4.2.1 需求分析 (17)4.2.2 芯片选型和器件选择 (17)4.2.3 电路图设计与芯片采购 (17)4.2.4 硬件制作 (17)4.2.5 硬件连接 (18)4.2.6 固件库的使用 (18)4.2.7 读写SD卡 (18)4.2.8 操作FAT文件系统 (18)4.2.9 音频解码器的调试 (18)4.2.10 液晶驱动的测试 (18)4.2.11 字库以及gui的测试 (18)4.2.12 系统总体测试与调试 (18)4.2.13 成果展示 (19)5. 心得体会 (23)6. 参考文献 (24)7. 致谢 (25)1. 系统描述1.1 综述本系统是基于STM32微控制器所设计的MP3播放器,音频文件储存在SD 卡上,由微控制器读取数据并送到VS1053音频解码模块解码并输出,同时微控制器驱动液晶模块显示当前播放信息,提供同步歌词显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32 MP3播放器设计学院:XXXXXXXXXXX专业班机:XXXXXXXXXXXXX学号:XXXXXXXX1.1 本课题的提出及意义MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。

MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。

由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。

而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。

MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。

其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。

存储器可以是Flash存储器或硬盘[2]。

通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。

1.2 研究现状MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。

自国世(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。

在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。

除了Micronas方案(MAS3507+DAC3550),还有创品方案(T33510,T33520)、美国SigmaTel 方案(STMP3400)和TI的DA-250解决方案。

这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。

2 硬件设计2.1整体方案综述本设计由STM32最小系统,SD卡的读取模块,TFT控制模块,外扩FLASH模块,触摸屏模块,串口通信模块组成。

将解决SD卡的读取以及使用FATFS文件系统来对SD卡操作,TFT液晶屏的控制及触摸屏原理、还有人机界面UI的实现等问题[5]。

系统架构如图2-1所示。

基本设计流程是使用STM32系列微控制器,采用FATFS文件系统方式读取SD卡中音乐文件数据,将所读取的数据流传输给CPU软件解码(helix解码库)解码编程PCM 音频,通过I2S送到ADC芯片 PCM1770音频输出驱动耳机实现音乐播放功能。

液晶屏显示歌曲的实时播放状态,功能按扭和控制歌曲的播放、停止、声音增大、减小等。

同时,TFT触摸屏则用于功能按扭和人机交换界面的输入。

2.2系统架构图图 2-1 系统架构图2.3硬件模块2.3.1处理器一、芯片介绍。

CortexM3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。

ARMv7 架构采用了Thumb2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案完整的代码兼容性。

Thumb2技术比纯ARM代码少使用31%的存,减小了系统开销,同时能够提供比Thumb技术高出38%的性能[7]。

在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)。

NVIC是CortexM3处理器的一个紧耦合部分,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。

同时,抢占(Pre emption)、尾链(Tail chaining)、迟到技术(Late arriving)的使用,大大缩短了异常事件的响应时间。

CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。

DP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。

二、引脚图。

图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,即液晶显示器,因为其功耗低、体积小,承载的信息量大,因而被广泛用于信息输出、与用户进行交互,目前仍是各种电子显示设备的主流。

因为 STM32 部没有集成专用的液晶屏和触摸屏的控制接口,所以在显示面板中应自带含有这些驱动芯片的驱动电路(液晶屏和触摸屏的驱动电路是独立的),STM32 芯片通过驱动芯片来控制液晶屏和触摸屏。

二、FSMC框图结构。

FSMC(flexible static memory controller),译为静态存储控制器。

可用于STM32 芯片控制 NOR FLASH、PSRAM、和 NAND FLASH 存储芯片。

我们是使用FSMC的NOR\PSRAM 模式控制 LCD。

其结构如图2-5所示。

..图2-5 FSMC框图结构框图2.3.4触摸屏模块一、触摸屏感应原理。

触摸屏常与液晶屏配套使用,组合成为一个可交互的输入输出系统。

除了熟悉的电阻、电容屏外,触摸屏的种类还有超声波屏、红外屏。

触摸屏的基本原理为分压,它由一层或两层阻性材料组成,在检测坐标时,在阻性材料的一端接参考电压 Vref,另一端接地,形成一个沿坐标方向的均匀电场。

当触摸屏受到挤压时,阻性材料与下层电极接触,阻性材料被分为两部分,因而在触摸点的电压,反映了触摸点与阻性材料的 Vref端的距离,而且为线性关系,而该触点的电压可由 ADC 测得。

更改电场方向,以同样的方法,可测得另一方向的坐标。

二、TSC2046触摸屏控制器。

TSC2046 是专用在四线电阻屏的触摸屏控制器,MCU 可通过 SPI 接口向它写入控制字,由它测得 X、Y 方向的触点电压返回给 MCU。

如图2-6所示图2-6 TSC2046 与电阻屏的连接图2.3.5PCM音频模块PCM1770器件是CMOS,单片,集成电路包括立体声数字 - 模拟转换器,耳机电路。

数据转换器采用TI的增强型多级架构,它采用噪声整形和多值振幅量化,实现出色的动力性能和改进的耐时钟抖动。

该PCM1770器件接受多个行业标准音频数据格式,16至24位数据,左对齐,I2S等,提供轻松连接到音频DSP和解码器。

采样率高达50 kHz 的支持。

全套用户可编程功能是通过一个3线串行控制端口,支持寄存器写入功能访问。

原理接线图如图2-7所示图2-7 PCM1770连接图3 软件设计3.1 软件开发架构本设计由STM32最小系统,SD卡的读取模块,TFT控制模块,触摸屏模块,串口通信模块组成。

将要解决SD卡的读取及使用FATFS系统对SD卡的操作、TFT液晶的控制及触摸屏原理、还有图形用户界面GUI的实现等问题[10]。

架构如图3-1软件开发架构图图3-1软件开发架构图3.2 软件程序设计流程图图3-2 程序设计流程图本系统的程序设计流程图如图3-2所示,工作流程是:STM32从SD 卡中读取音乐文件数据,将所读取的数据流传输给CPU 软件解码(helix 解码库)解码编程PCM 音频,通过I2S 送到ADC 芯片 PCM1770音频输出驱动耳机实现音乐播放功能。

液晶屏显示歌曲的实时播放状态,功能按扭和控制歌曲的播放、停止、声音增大、减小等。

同时,TFT 触摸屏则用于功能按扭和人机交换界面的输入。

音乐播放链路:图3-3 音乐播放链路开始 系统初始化 显示屏初始化 触摸屏初始化 SD 卡初始化 PCM1770初始化 MP3播放程序 触摸屏按下?播放模式设置 读取触摸屏数据, 执行相应功能操作3.3 软件代码结构为了使代码结构清晰,方便以后的维护,代码结构设计如下:在根目录I2S-MP3下,划分为七个文件夹,分别为STARTUP、CMSIS、FWLB、USER、DOC、ff9和mp3。

下面分别就七个文件夹的作用和结构进行说明,其代码目录树状结构如图3-4 所示。

图3-4 整体工程代码结构对其进行分析:目录名称目录说明STARTUP 启动文件CMSIS M3系列通用的文件FWLB ST 片上资源外设的驱动文件USER 用户写的驱动文件DOC 工程说明文档ff9 FATFS文件系统文件mp3 音乐播放相关文件详细代码结构启动文件是任何处理器在上点复位之后最先运行的一段汇编程序。

在我们编写的 c 语言代码运行之前,需要由汇编为 c 语言的运行建立一个合适的环境,接下来才能运行我们的程序[9]。

液晶屏驱动程序/*** brief lcd 初始化* param 无* return 无*/void LCD_Init(void){LCD_GPIO_Config(); //配置IO端口LCD_FSMC_Config(); //LCD FSMC模式的配置LCD_Rst(); //LCD软件复位LCD_REG_Config(); //配置LCD初始化寄存器}文件系统驱动程序/*** brief fs 文件系统初始化* param 无* return 无*/void Sd_fs_init(void){/* SD卡中断初始化*/SDIO_NVIC_Configuration();/* SD 卡硬件初始化,初始化盘符为0*/f_mount(0,&myfs[0]); /./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_InitStructure.NVIC_IRQChannel = SDIO_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}触摸屏卡驱动程序/** brief 触摸模拟SPI IO 和中断IO初始化* param 无* return 无*/void Touch_Init(void){GPIO_SPI_Config();}/** brief 模拟SPI的GPIO配置,当SPI的4根信号线换为其他IO时,* 只需要修改该函数对应的宏定义即可。

相关文档
最新文档