【STM32本科毕业设计】基于STM32的多功能MP3播放器设计

目录

一. 概述

本设计课题是一个软硬件相结合的设计类题目。要求设计一个基于STM32F103的多功能MP3。可以实现MP3播放的基本功能,同时拥有丰富并实用的外扩功能,整个系统的功能包括:\

  • MP3播放功能
  • 收音机功能
  • 图片播放功能
  • 温度计功能
  • 彩色台灯功能
  • 功率放大功能
  • 万历年功能
  • 闹钟功能
  • 游戏功能
  • 电子书功能

整个系统主要由音频解码部分、收音机部分、音效处理部分、SD卡部分、功率放大、电源部分、人机交互等几个部分组成,整个系统由一块MCU(STM32F103RBT6)控制运行,各个部分协调运作,人机交互部分采用LCD和触摸屏实现,输出部分采用2.4寸的240*320的彩色液晶实现,输入部分主要采用触摸屏实现。

整个系统涉及方面很多,颇具挑战性,主要难点在与FAT文件系统解析,JPEG/BMP数据格式解析,触摸屏控制等。针对本系统的特点,采用各个击破的方法,来一步步实现以上功能。最终实现整个系统的功能。

二. 系统硬件设计

2.1 整体设计思路

由于该多功能MP3要实现图片浏览和mp3播放这两大功能,对ram和处理速度的要求比较高,首先对图片的解压缩要用到的ram比较多,其次,对MP3的播放,处理起来速度是有要求的,尤其对320Kbps的MP3格式数据流的处理,必须非常快,才能实现MP3的流畅播放。可供选择的八位机有AVR,PIC等,可供选择的32位处理器有SAMSUNG,NXP,STM32,ATMEL等。

首先要有丰富的RAM,八位机主要靠扩展,内部RAM一般在4Kbyte以内,更多的RAM得靠外扩,32位机里面,SAMSUNG一般不内带RAM,也要外扩,对于这个设计,当然成本越低越好,外扩RAM,FLASH芯片必然加大成本。所以控制芯片最好拥有自带的FLASH和RAM。

其次,由于本系统要播放MP3音乐和JPEG图片等,而两种格式的文件往往比较大,所以存储媒介也就有要求了,可供选择的有FLASH芯片,如SAMSUNG公司的K9F系列,还有SD卡,U盘等。如果选择FLASH,则整个系统要求较多的IO口来读取,更重要的一点是,这样做的后果就是整个系统的容量就被固定了,扩容存在困难。而U盘和SD卡都是不错的选择,但是SD卡相对于U盘,读取容易,而且相同容量的U盘和SD卡,SD卡的价格较低。所以系统选择SD卡作为存储媒介。

第三,系统播放MP3要同时读取SD卡和VS1003,都要用到SPI口,所以控制芯片最好有两个SPI,这样不用复用,可以提高速度。

第四,彩色台灯的控制需要通过PWM调制,来实现调光,所以,控制芯片还要有至少3路的PWM输出。

通过以上分析,本系统选择STM32作为控制芯片,STM32是ST公司最新推出的基于Cortex-M3构架的STM32F103RBT6芯片。

采用STM32F103RBT6作为控制核心,该芯片具有6通道的16位PWM输出,RTC时钟,两个高速SPI,两个IIC,三个串口,自带USB和CAN接口。具有128K flash和20K 的SRAM,对本系统来说足够了,同时以后还有很大的升级空间。

2.2 硬件器件的选择

在系统实现的时候,硬件选择是很重要的一部分,上面已经选取了控制芯片,剩下的就是选择其他芯片,来实现相应的功能了。下面我们重点分析系统相关其他芯片的选型。

2.2.1 MP3解码芯片选择

由于使用了ARM处理器,MP3的解码可以有两种方法,一是通过ARM处理器软解码,通过对MP3数据格式的解析实现MP3播放,二是通过外部解码芯片直接解码。

第一种方法对处理器运算要求高,在解码高码率的MP3时,ARM7的处理能力吃紧,也就是说得不到好的解码效果,更重要的是STM32解码之后还需要外部的DAC来做音频输出。所以采用后者。

MP3解码芯片常见的有VS100X系列,和STA01X系列,VS系列自带DAC输出,而且能解码的格式也比较多,而STA系列要外加DAC,比较麻烦。

经过对比,本系统MP3解码选择VS1003,该芯片支持MP3、WMA、WAV、MIDI等格式的解码,自带DAC输出。同时还可以调节音量高低音等,更重要的是它还具有MIC功能,有需要的话,可以实现录音功能。这点可以作为以后扩展功能的一部分。

2.2.2 收音机芯片选择

本系统的收音机功能只针对FM收音,采用TEA5767芯片实现,TEA5767是飞利浦公司生产的一款低功耗电调谐调频立体声收音机芯片,其内部集成了中频选频和解调网络,可以做到完全免调,因此只需要很少量的小体积外围元件。TEA5767可以应用在欧洲、美国和日本不同的FM 波段环境。该芯片通过IIC总线控制该模块,就可以实现调频接收,频率覆盖范围从76~108MHz,而且是立体声接收,带信号强度指示。TEA5767在市场上占有率很高,一般的MP3机/手机的收音机功能都是用的这块芯片实现的。

但是由于芯片体积很小,焊接难度比较大,故直接采用模块,TEA5767模块的体积小,价格低,而且使用方便。这样不但可以节省时间和成本,而且效果也是相当好的。

2.2.3 温度传感器选择

该系统具有温度指示功能,用来指示当前温度,因为日常温度的范围一般是-20~50℃以内,所以,温度传感器要能在这个范围内给出正确的温度。

经过分析,选用美信公司的单总线数字温度传感器DS18B20,该数字温度传感器将检测的温度信息转化为相应的数字量,独特的一线接口,只需要一个IO口线就可以读写该器件了。简化了分布式温度传感应用,并且无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V,无需备用电源。该芯片的测量温度范围为-55℃至+125 ℃ 。在 -10 ℃至+85 ℃范围内精度为±0.5℃。

2.2.4 彩灯驱动芯片选择

本系统采用3W的共阳RGB三基色LED来作为彩色台灯的光源,红绿蓝每个灯芯功率为1W,因为这种LED的驱动电压一般为3.3V左右,然后以每个通道1W计算,则每个通道电流为300ma左右。同时由于系统采用STM32控制,其IO口的电压为3.3V,还要使用PWM调光,开关频率较高,对驱动芯片的选取比较严格。

经过分析采用AP2306来驱动,3.3V电压采用LM2576来获得。LM2576为美国国家半导体公司生产的3A电流输出降压开关型集成稳压电路,它内含固定频率振荡器(52kHz)和基准稳压器(1.23V),并具有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的外围器件便可构成高效稳压电路。

得到3.3V驱动电压之后,通过控制AP2306来调节LED亮度,AP2306为低压驱动的N型MOSFET,它具有极低的导通电阻和栅极电压,在Vgs=2.5V时,可以提供2.6A的输出电流,此时的导通电阻为50 mΩ。满足上面的要求,并且在AP2306上消耗的功耗非常低。

2.2.5 音效处理芯片选择

VS1003已经自带了音效处理,但是其效果不是很好,而且无法对外部音源经行音效处理,这样外部音源和收音机的音源就得不到处理,所以,本系统通过一块外部数字音效处理芯片来进行音效处理。

本系统总共有3个音源:MP3音源、收音机音源、外部输入音源。所以音效处理芯片最好有多个音源选择功能,否则又需要外扩音源选择芯片,通过选择,这里选择PT2314作为音效处理芯片。

PT2314是一个具有四组立体声输入的双声道数字音质处理器,PT2314将音量、音调(bass and treble)、声道平衡(left/right)、响度等处理及输入增益选择内建于单一芯片中。这些功能令PT2314仅需要少数外部组件即可实现高效能的音质处理系统。所有功能均由I2C总线来达成控制。当启动时的设定状态,音量为-78.75dB,输入声道为四通道立体声,所有扬声器输出皆为静音,输入增益、Bass、Treble皆为0dB。

2.2.6 EEPROM芯片选择

本系统需要保存部分用户数据,而STM32内部没有EEPROM,所以一旦掉电,系统数据会全部丢失,这就需要通过外扩EEPROM芯片来实现用户数据的保存了,EEPROM芯片有很多可供选择,比如ATMEL的24CXX系列,本系统选择美国Ramtron公司的新一代FRAM铁电存储器FM24C16,这个芯片为用户提供2Kbyte的用户数据存储空间。

美国Ramtron公司铁电存储器(FRAM)的核心技术是铁电晶体材料。这一特殊材料使铁电存储器同时拥有随机存取记忆体(RAM)和非易失性存储器的特性。铁电晶体的工作原理是:当在铁电晶体材料上加入电场,晶体中的中心原子会沿着电场方向运动,达到稳定状态。晶体中的每个自由浮动的中心原子只有2个稳定状态,一个记为逻辑中的0,另一个记为1。中心原子能在常温、没有电场的情况下,停留在此状态达100年以上。铁电存储器不需要定时刷新,能在断电情况下保存数据。由于整个物理过程中没有任何原子碰撞,铁电存储器有高速读写、超低功耗和几乎无限次写入等特性。铁电存储器和EEPROM比较起来,主要有以下优点:
(1)FRAM可以以总线速度写入数据,而且在写入后不需要任何延时等待,而EEPROM在写入后一般要5~10ms的等待数据写入时间;
(2)FRAM有近乎无限次写入寿命。一般EEPROM的寿命在十万到一百万次写入时,而新一代的铁电存储器已经达到一亿个亿次的写入寿命。
(3) EEPROM的慢速和大电流写入使其需要高出FRAM 2500倍的能量去写入每个字节。

2.2.7 功率放大芯片选择

本系统包括两块放大芯片,第一块用来放大从PT2314输出的音频信号,以驱动耳机,而另一块是功率放大,用来驱动喇叭。

第一级放大的选择有很多,比如TPA152,TDA2822等,但是前者对比后者有很多优势,TDA2822的音质失真较大,THD为10%左右,而TPA152在32Ω负载的情况下THD只有2%,在10KΩ负载的时候就只有不到0.01%了。而且TPA152的输出功率较TDA2822也较大,达到了1.5W的总输出。因此,这里选择音质较好的TPA152芯片,作为耳机驱动。

由于考虑到家用,又具有这么多功能,功率放大不宜做的很大,尤其作为台灯使用时候,摆设在床头比较合适,所以功率放大采用体积小巧,不需要散热的D类功放,TPA3100D2。

TPA3100D2是德州仪器生产的一款高效率的20W立体声D类音频功率放大器,工作电压10V-26V,每路能从18V电源向8欧姆负载提供20W,从12V电源向8欧姆负载提供10W, 从12V电源向4欧姆负载提供15W,效率高达92%,不需要散热器,有四个可选择固定的增益设定,增益可选择为20/26/32/36dB,差分输入,具有自动恢复生产功能的热关断和短路保护,时钟输出可用于对其它D类器件的同步,48引脚7x7mm HTQFP封装。输出功率大,体积小巧,因此,满足本系统要求。

2.2.8 电源芯片选择

本系统要求多个电压输入:2.5V,3.3V,5V,12V,所以对电源的处理需要多个芯片,对以上几个电源可以分为两组:功率电源和系统电源。

功率电源主要包括给彩色台灯供电的电源和给TPA3100D2供电的电源。TPA3100D02的功率电源采用外部电源(DC12V)直接输入,并不经过稳压芯片,而彩色台灯的电源必须是3.3V,所以要经过稳压芯片,这里选择LM2576-3.3V。对于LM2576上面已经有分析,这里不再介绍。

系统电源主要包括给数字芯片供电的电源包括2.5V,3.3V和5V,这些电源功率不大,采用REG1117-2.5和REG1117-3.3V稳压芯片提供2.5V和3.3V的电压。REG1117可以输出800ma的电流,足以满足要求。

对于5V输入,仍然采用LM2576,第一是因为整个系统的数字部分电源都是来自5V的,其上的电流比较大。更重要的是,直接从12V降为5V,如果采用一般的线性稳压芯片,则功耗会很大,采用LM2576开关型集成稳压电路,则可以显著降低功耗。

2.2.9 人机交互设备选择

人机交互设备包括输入设备和输出设备,对于输出设备,因为系统具有电子相册的功能,这就决定了,必须采用彩色液晶屏幕,这里选择一款2.4寸的TFT液晶屏,其分辨率为240*320,65K色,工作模式为8位数据模式,与MCU的通讯所需IO口较少,速度也较快。

输入设备为了使控制方便,人性化,采用触摸屏控制,触摸屏采用电阻式的4线模拟屏。控制简单,效果好。触摸屏的控制芯片选择ADS7846,ADS7846是TI(BB)公司生产的12位四线触摸屏控制芯片,因为该芯片是12Bit精度,所以可以提供的水平和垂直分辨率均为4096,而屏幕大小为240*320,所以,有很高的分辨率,有利于屏幕控制精度的提高。

2.3 硬件系统框图

经过上两节的分析可知,整个硬件系统由一个STM32F103RBT6控制器控制。各个模块电路在下面将有详细介绍,这里给出整个硬件系统框图,如图所示。

硬件系统框图:
图2.1  硬件系统框图
方框图给出了各个模块与MCU的连接关系,由

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值