1、 毕 业 论 文 ( 设 计 )中文题目: 基于 STM32单片机的 MP3播放器设计 英文题目:Design of MP3 player based on STM32 micro-controller 姓 名_ 陈腾奎 _学 号_ 110701203 _专业班级_ 11 电气 2 班 _指导教师_ 陈治明 _提交日期 2015 年 5 月 25 日_教务处制惠州学院HUIZHOU UNIVERSITY摘要随着数字编解码技术及压缩技术的发展,语音文件也向着高压缩比、高保真的方向发展,从 MP1、MP2 到目前的 MP3 格式。因此高压缩比、高保真 MP3 播放器设计及研究有很好的发展前景。本论
2、文介绍了基于 STM32 微处理器的 MP3 播放器的设计方法,实现了从 SD 卡中读取音乐文件数据,再将读取的数据流进行软件解码,最后通过音频信号输出驱动耳机实现音乐播放功能。并在液晶屏上显示音乐的实时播放状态,通过 TFT 触摸屏上的人机交换界面,实现了音乐的播放,停止,声音增大,减小等功能模式。基本上实现了一个带有触摸功能的 MP3 播放器。关 键 词 MP3播放器 STM32F103ZET SD 卡 触摸屏 FATFS 文件系统ABSTRACTWith the development of digital codec technology and compression technol
3、ogy ,Voice files are also in the direction of high compression ratio, high-fidelity development, from MP1, MP2 to MP3 format now. Therefore, high compression ratio, high-fidelity MP3 player design and research have good prospects for development.This paper describes the design of microprocessor-base
4、d STM32 MP3 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 real-time playback status of the song on the LCD screen, through a graphical user interaction di
5、agram circles 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 system目录1 绪论 .11.1 本课题的提出及意义 .11.2 研究现状 .12 硬件设计 .22.1 整体方案 .22.2 系统架构图 .22.3
6、硬件模块 .32.3.1 处理器 .32.3.3 SD 卡模块 .42.3.3 LCD 显示模块 .52.3.4 触摸屏模块 .63 软件设计 .83.1 软件开发架构 .83.2 软程序设计流程图 .93.3 软件代码结构 .103.3 驱动程序 .143.3.1 液晶屏驱动程序 .143.3.3 文件系统驱动程序 .153.3.3 触摸屏卡驱动程序 .163.3.4 MP3 驱动程序 .174 系统调试 .204.1 开发环境 .204.1.1 软件开发环境 .204.1.2 硬件开发环境 .214.2 设计调试 .224.2.1 UI 界面设计 .224.2.2 SD 卡模块测试 .22
7、4.2.3 触摸屏校验 .234.2.4 显示屏测试 .234.3 成品展示 .25致 谢 .26参考文献 .27附录 .2811 绪论1.1 本课题的提出及意义MP3 音频播放器的最合理工作速度为 30Mips,而一个典型的视频媒体播放器的理想速度则为 175Mips,所以提高 MP3 的工作速度,以及改善 MP3 的音质是最关键的,也是亟待解决的问题。 MP3 是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式 MP3。由于闪存式 MP3 的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化 1。而硬盘式 MP3 的多功能及大容量,也必将受到不少消费者的喜爱。 MP3 播放器一般
8、分成 3 个部分:CPU、MP3 硬件解码器存储器。其中可以将前两部分集成在一起,即带 MP3 硬件解码器的 CPU;或将后两部分集成在一起,即集成硬件解码、DA 转换及音频输入。存储器可以是 Flash 存储器或硬盘 2。通过用 MP3 编码技术,可以得到大约 12:1 压缩的有损音乐信号。1.2 研究现状MP3 全称是 MPEG Layer 3,狭义的讲就是以 MPEG Layer 3 标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司 1998 年推出世界上第一台 MP3 随身听以来, MP3播放器以其小巧的外形,不错的近乎于 CD 的音质,前卫的功能,越来越受到消费者的青睐
9、,也就成为业界甚至大众媒体关注的一个热门话题 3。在市场消费刺激下,各大公司纷纷推出了自己的 mp3 播放器产品,IC 供应商提供了众多的 MP3 解码芯片及其解决方案。除了 Micronas 方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国 SigmaTel 方案(STMP3400)和 TI 的 DA-250 解决方案。这使 mp3 播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔 4。22 硬件设计2.1 整体方案综述本设计由 STM32 最小系统,SD 卡的读取模块,TFT 控制模块,外扩 FLASH 模块,触摸屏模块,串口通信模块
10、组成。将解决 SD 卡的读取以及使用 FATFS 文件系统来对 SD卡操作,TFT 液晶屏的控制及触摸屏原理、还有人机界面 UI 的实现等问题 5。系统架构如图 2-1 所示。基本设计流程是使用 STM32 系列微控制器,采用 FATFS 文件系统方式读取 SD 卡中音乐文件数据,将所读取的数据流传输给 CPU 软件解码(helix 解码库)解码编程 PCM音频,通过 I2S 送到 ADC 芯片 PCM1770 音频输出驱动耳机实现音乐播放功能。液晶屏显示歌曲的实时播放状态,功能按扭 和控制歌曲的播放、停止、声音增大、减小等。同时,TFT 触摸屏则用于功能按扭 和人机交换界面的输入。2.2 系
11、统架构图图 2-1 系统架构图32.3 硬件模块2.3.1 处理器一、芯片介绍。CortexM3 是 ARM 公司最新推出的基于 ARMv7 体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。ARMv7 架构采用了 Thumb2 技术,它是在 ARM 的 Thumb 代码压缩技术的基础上发展起来的,并且保持了对现存 ARM 解决方案完整的代码兼容性。 Thumb2 技术比纯 ARM 代码少使用 31%的内存,减小了系统开销,同时能够提供比 Thumb 技术高出 38%的性能 7。在中断处理方面,CortexM3 集成了嵌套向量中断控制器 NVIC(Nested V
12、ectored Interrupt Controller)。NVIC 是 CortexM3 处理器的一个紧耦合部分,可以配置1240 个带有 256 个优先级、8 级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(Pre emption)、尾链(Tail chaining)、迟到技术(Late arriving)的使用,大大缩短了异常事件的响应时间。CortexM3 异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。DP)或串行 JTAG 调试端口(SWJDP,允许 JTAG 或 SW 协议)使用。二、引脚图。图 2-2 STM3
13、2F103ZET6 微控制器引脚分布图42.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卡上电识别流程图52.3.3 LCD 显示模块一、LCD 控制器。LCD,即液晶显示器,因为其功耗低、体积小,承载的信
14、息量大,因而被广泛用于信息输出、与用户进行交互,目前仍是各种电子显示设备的主流。因为 STM32 内部没有集成专用的液晶屏和触摸屏的控制接口,所以在显示面板中应自带含有这些驱动芯片的驱动电路(液晶屏和触摸屏的驱动电路是独立的),STM32 芯片通过驱动芯片来控制液晶屏和触摸屏。2、FSMC 框图结构。FSMC(flexible static memory controller),译为静态存储控制器。可用于STM32 芯片控制 NOR FLASH、PSRAM、和 NAND FLASH 存储芯片。我们是使用 FSMC 的NORPSRAM 模式控制 LCD。其结构如图 2-5 所示。.图 2-5 F
15、SMC框图结构框图62.3.4 触摸屏模块一、触摸屏感应原理。触摸屏常与液晶屏配套使用,组合成为一个可交互的输入输出系统。除了熟悉的电阻、电容屏外,触摸屏的种类还有超声波屏、红外屏。触摸屏的基本原理为分压,它由一层或两层阻性材料组成,在检测坐标时,在阻性材料的一端接参考电压 Vref,另一端接地,形成一个沿坐标方向的均匀电场。当触摸屏受到挤压时,阻性材料与下层电极接触,阻性材料被分为两部分,因而在触摸点的电压,反映了触摸点与阻性材料的 Vref 端的距离,而且为线性关系,而该触点的电压可由 ADC 测得。更改电场方向,以同样的方法,可测得另一方向的坐标。二、TSC2046 触摸屏控制器。TSC2046 是专用在四线电阻屏的触摸屏控制器,MCU 可通过 SPI 接口向它写入控制字,由它测得 X、Y 方向的触点电压返回给 MCU。如图 2-6 所示图 2-6 TSC2046 与电阻屏的连接图