基于单片机MP3设计.docx
《基于单片机MP3设计.docx》由会员分享,可在线阅读,更多相关《基于单片机MP3设计.docx(18页珍藏版)》请在冰点文库上搜索。
基于单片机MP3设计
毕业论文
基于单片机的MP3的播放器设计
专业:
通信工程
学生姓名:
郭帅
考号:
指导教师:
完成日期:
摘要
Mp3作为常用音乐播放工具已经进入寻常百姓家,而单片机技术在工业控制领域发挥着重要作用。
采用以STC89C58RD+单片机为控制核心设计MP3播放器,该系统通过单片机控制USB接口芯片CH375外接的U盘,读取数据并进行缓冲,传输给专用MP3音频解码芯片VS1003,实现特定格式的音频数据解码,并通过耳机或有源音响输出。
经测试,该MP3播放器可实现音频播放功能,该播放器具有播放声音流畅,操作简单,功耗低等特点。
Abstract:
Mp3asamusicplaybacktoolhasenteredthehomesofordinarypeople,andtheSCMtechnologyinthefieldofindustrialcontrolplaysanimportantrolein.BySTC89C58RD+single-chipmicrocomputertocontrolthecoredesignofMP3player,thesystemcontrolledbythesinglechipcomputerUSBinterfacechipCH375externalUdisk,readdataandbuffering,transmissiontoadedicatedMP3audiodecodingchipVS1003,achievingaspecificformataudiodatadecoding,andthroughaheadsetoractiveaudiooutput.Afterthetest,theMP3playercapableofimplementingaudioplayback,theplayerhasaplaybacksoundsmooth,simpleoperation,lowpowerconsumption.
关键词:
mp3、单片机、硬件、CH375芯片、VS1003芯片
目录
第一章绪论1
第二章单片机技术1
2.1单片机简介1
2.2单片机的发展及应用1
2.3单片机型号的选择2
第三章CH375芯片2
3.1CH375芯片概述2
3.2CH375芯片特点3
3.3CH375芯片的封装4
3.5CH375芯片的功能说明5
第四章VS1003芯片9
4.1VS1003芯片概述9
4.2VS1003芯片特点9
4.3VS1003芯片的封装10
4.4VS1003芯片的连接10
第五章单片机MP3原理图11
5.1硬件系统设计11
5.2单片机读取MP3数据模块11
5.3音频解码模块12
5.4键盘及显示模块13
5.5电源模块14
5.6软件系统设计14
致谢16
参考文献17
第一章绪论
随着单片机技术的发展,单片机被应用在各种嵌入式设备中。
同时由于电子技术的发展,MP3播放器是目前市场上流行的消费类数码产品之一,具有大容量、高音质、小巧便携等特点而倍受广大消费者的青睐。
本文采用ETC公司的微控制器STC89C58RD+,结合解码芯片VS1003、USB接口芯片CH375、LCD等外围设备设计并实现了MP3播放器。
主要功能有:
播放VS1003支持的所有音频文件,包括MP3,WMA,WAV文件,且音质非常好,具有按键控制播放上一首/下一首、音量增减等,可通过LCD显示歌曲名字和播放状态信息等功能。
第二章单片机技术
2.1单片机简介
单片机亦称“单片微电脑”或“单片微型计算机”,国际上统称为微控制器,是一类内部集成了计算机核心技术的智能芯片,也就是把中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出(I/O)端口等主要的计算机功能部件,集成在一块集成电路芯片上,从而形成了一台概念上的微型计算机。
单片机是大规模集成电路技术发展的结晶,具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。
2.2单片机的发展及应用
提到单片机的应用,有人这样说,“凡是能想到的地方,单片机都能用得上”,这并不夸张。
全世界单片机的年产量数以亿计(根据权威调查机构公布,2011年世界单片机产量高达70亿片,仅仅中国大陆的年需求量就达到6亿片左右)。
①电信:
程控电话交换机、台式电话机、手机、调制解调器等。
②家用电器:
遥控电视机、DVD、MP3播放器、空调机、微波炉等。
③计算机外围设备:
键盘、鼠标、U盘、打印机等。
④办公自动化:
复印机、传真机、考勤设备、电子词典等。
⑤工业控制:
自动生产线控制、数控机床控制、智能机器人控制、可编程顺序控制、温度控制、智能传感器等机电一体化系统。
⑥电子玩具:
袖珍游戏机、智能玩具、遥控玩具等。
⑦商用电子:
自动售货机、自动柜员机、只能广告牌,电子磅等。
⑧汽车电子:
点火控制、变速控制、防滑控制、防撞控制等。
⑨仪器仪表:
医疗、化工、电子、计量、实验等领域的各种只能仪器仪表。
⑩军用电子:
各种导弹、鱼雷的精确制导控制、智能武器、雷达系统、电子战飞机等。
单片机应用的意义不仅仅限于其广阔的应用范围以及所带来的经济效益,更重要的还在于它从根本上改变了传统的控制系统设计思想和设计方法。
以前必须由模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件方法实现了。
这种以软件取代硬件并能提高系统性能的控制技术称为“微控制技术”。
微控制技术标志着一种全新概念的出现。
随着单片机应用的推广普及,微控制技术必将不断发展并日趋完善。
2.3单片机型号的选择
在本设计中,采用的是宏晶公司生产的STC89C58RD+单片机,该单片机最高可工作于33MHz时钟,具有32KB的FLASH,1KB的内部RAM,引脚与指令系统均与51单片机兼容。
本设计中,单片机工作在30MHz的系统时钟下,能满足系统对数据带宽的要求。
第三章CH375芯片
3.1CH375芯片概述
CH375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式。
在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机
/DSP/MCU/MPU等控制器的系统总线上。
在USB主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。
CH375的USB设备方式与CH372芯片完全兼容,CH375包含了CH372的全部功能。
CH375的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB协议与USB设备通讯。
CH375还内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,外部
单片机可以直接以扇区为基本单位读写常用的USB存储设备(包括USB硬盘/USB闪存盘/U盘)。
(图一CH375芯片接口使用方法)
3.2CH375芯片特点
●低速和全速USB-HOST主机接口,兼容USBV2.0,外围元器件只需要晶体和电容。
●低速和全速USB设备接口,完全兼容CH372芯片,支持动态切换主机与设备方式。
●主机端点输入和输出缓冲区各64字节,支持12Mbps全速USB设备和1.5Mbps低速设备。
●支持USB设备的控制传输、批量传输、中断传输。
●自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。
●内置控制传输的协议处理器,简化常用的控制传输。
●内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC或
●等效命令集的USB存储设备(包括USB硬盘/USB闪存盘/U盘/USB读卡器)。
●通过U盘文件级子程序库实现单片机读写USB存储设备中的文件。
●并行接口包含8位数据总线,4线控制:
读选通、写选通、片选输入、中断输出。
●串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。
●支持5V电源电压和3.3V电源电压,支持低功耗模式。
●采用SOP-28无铅封装,兼容RoHS,提供SOP28到DIP28的转换板,引脚基本兼容CH374芯片。
3.3CH375芯片的封装
图二(CH375芯片封装图)
封装形式
塑体宽度
引脚间距
封装说明
订货型号
SOP-28
7.62mm
300mil
1.27mm
50mil
标准的28脚贴片
CH375B
3.4CH375芯片的引脚
引脚号
引脚名称
类型
引脚说明
28
VCC
电源
正电源输入端,需要外接0.1uF电源退耦电容
12、23
GND
电源
公共接地端,需要连接USB总线的地线
9
V3
电源
在3.3V电源电压时连接VCC输入外部电源
13
X1
输入
在5V电源电压时外接容量为0.01uF退耦电容
14
X0
输出
晶体振荡的输入端,需要外接晶体及振荡电容
10
UD+
USB信号
晶体振荡的反相输出端,需要外接晶体及振荡电容。
11
UD-
USB信号
USB总线的D+数据线。
15-22
D0-D7
双向三态
USB总线的D-数据线。
4
RD#
输入
8位双向数据总线,内置弱上拉电阻。
3
WR#
输入
读选通输入,低电平有效,内置弱上拉电阻。
27
CS#
输入
写选通输入,低电平有效,内置弱上拉电阻。
1
INT#
输出
片选控制输入,低电平有效,内置弱上拉电阻。
8
A0
输入
在复位完成后为中断请求输出,低电平有效
24
ACT#
输出
地址线输入,区分命令口与数据口,内置弱上拉电阻,当A0=1时可以写命令,当A0=0时可以读写数据。
5
TXD
输入
输出
在内置固件的USB设备方式下是USB设备配置完成状态输出,低电平有效。
在USB主机方式下是USB设备连接状态输出,低电平有效。
6
RXD
输入
仅用于USB主机方式,设备方式只支持并口,
在复位期间为输入引脚,内置弱上拉电阻,如果在复位期间输入低电平那么使能并口,否则使能串口,复位完成后为串行数据输出。
2
RSTI
输入
串行数据输入,内置弱上拉电阻。
25
RST
输出
外部复位输入,高电平有效,内置下拉电阻。
26
RST#
输出
电源上电复位和外部复位输出,高电平有效。
7
NC
空脚
空脚,必须悬空。
3.5CH375芯片的功能说明
1、一般说明
CH375芯片可以工作于USB-HOST主机方式或者USB设备方式。
CH375的USB设备方式与CH372芯片完全兼容,相关资料可以参考CH372手册。
CH375的USB主机方式支持并行接口和串行接口。
USB主机方式下,在CH375支持各种常用的USB全速设备,外部单片机需要编写固件程序按照相应的USB协议与USB设备通讯。
但是对于USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。
2、本地端的硬件
CH375芯片在本地端提供了通用的被动并行接口和点对点的串行接口。
在CH375芯片的复位期间,TXD引脚用于选择通讯接口。
如果CH375在复位期间检测到TXD引脚为低电平则启用并行接口,否则启用串行接口。
如果启用串行接口,那么复位完成后TXD引脚将用于串行数据输出,并且CH375芯片只能工作于USB主机方式。
3、并行接口
并口信号线包括:
8位双向数据总线D7~D0、读选通输入引脚RD#、写选通输入引脚WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。
通过被动并行接口,CH375芯片可以很方便
地挂接到各种8位单片机、DSP、MCU的系统总线上,并且可以与多个外围器件共存。
CH375芯片的CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。
INT#输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通I/O引脚,单片机可以使
用中断方式或者查询方式获知中断请求。
对于类似Intel并口时序的单片机,CH375芯片的RD#引脚和WR#引脚可以分别连接到单片机的读选通输出引脚和写选通输出引脚。
对于类似Motorola并口时序的单片机,CH375芯片的RD#引脚应该接低电平,并且WR#引脚连接到单片机的读写方向输出引脚R/-W。
CH375芯片占用两个地址位,当A0引脚为高电平时选择命令端口,可以写入新的命令,或者读出中断标志;当A0引脚为低电平时选择数据端口,可以读写数据。
4、串行接口
串行接口只能用于USB主机方式,CH375芯片的USB设备方式不支持串口。
串口信号线包括:
串行数据输入引脚RXD、串行数据输出引脚TXD、中断输出引脚INT#。
通过串
行接口,CH375可以用最少的连线与单片机、DSP、MCU进行较远距离的点对点连接。
CH375芯片的RXD和TXD可以分别连接到单片机的串行数据输出引脚和串行数据输入引脚。
INT#输出的中断请求是低电平有效,用于通知单片机。
CH375的串行数据格式是1个起始位、9个数据位、1个停止位,其中前8个数据位是一个字节数据,最后1个数据位是命令标志位。
第9位为0时,前8位的数据被写入CH375芯片中,第9位为1时,前8位被作为命令码写入CH375芯片中。
CH375的串行通讯波特率默认是9600bps,单片机可以随时通过SET_BAUDRATE命令选择合适的通讯波特率。
5、内部结构
CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。
PLL倍频器用于将外部输入的12MHz时钟倍频到48MHz,作为USB接口SIE时钟。
主从USB接口SIE是USB主机方式和USB设备方式的一体式SIE,用于完成物理的USB数据接收和发送,自动处理位跟踪和同步、NRZI编码和解码、位填充、并行数据与串行数据之间的转换、CRC数据校验、事务握手、出错重试、USB总线状态检测等。
数据缓冲区用于缓冲USB接口SIE收发的数据。
被动并行接口用于与外部单片机/DSP/MCU交换数据。
异步串行接口用于代替被动并行接口与外部单片机/DSP/MCU交换数据。
命令解释器用于分析并执行外部单片机/DSP/MCU提交的各种命令。
控制传输的协议处理器用于自动处理常用的控制传输的多个阶段,简化外部固件编程。
通用的固件程序包含两组:
一组用于USB设备方式,自动处理USB默认端点0的各种标准事务等;另一组用于USB主机方式,自动处理Mass-Storage海量存储设备的专用通讯协议。
CH375芯片内部具有7个物理端点:
端点0是默认端点,支持上传和下传,上传和下传缓冲区各是8个字节;
端点1包括上传端点和下传端点,上传和下传缓冲区各是8个字节,上传端点的端点号是81H,下传端点的端点号是01H;
端点2包括上传端点和下传端点,上传和下传缓冲区各是64个字节,上传端点的端点号是82H,下传端点的端点号是02H;
主机端点包括输出端点和输入端点,输出和输入缓冲区各是64个字节,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲
图三CH375芯片内部的中断逻辑图
区,主机端点的输入缓冲区就是端点2的下传缓冲区。
CH375的端点0、1、2只用于USB设备方式,在USB主机方式下只需要用到主机端点。
在USB主机方式下,CH375支持各种常用的USB全速设备。
USB设备的端点号可以是0~15,两个方向最多支持31个端点,USB设备的包长度可以是0~64字节。
内置固件可以处理Mass-Storage海量存储设备的通讯协议,要求USB存储设备支持Bulk-Only传输协议,支持SCSI、UFI、RBC或者等效的命令集,并且数据端点的最大包长度是64字节,但是默认端点0的最大包长度可以是8、16、32或者64字节。
如果USB存储设备不符合上述要求,则需要外部单片机通过控制传输以及ISSUE_TOKEN命令或者ISSUE_TKN_X命令自行处理相关通讯协议。
图三为CH375芯片内部的中断逻辑图。
6、其他
CH375芯片的ACT#引脚用于状态指示。
在内置固件的USB设备方式下,当USB设备尚未配置或者取消配置后,该引脚输出高电平;当USB设备配置完成后,该引脚输出低电平。
在USB主机方式下,当USB设备断开后,该引脚输出高电平;当USB设备连接后,该引脚输出低电平。
CH375的ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态。
CH375芯片的UD+和UD-引脚是USB信号线,工作于USB设备方式时,应该直接连接到USB总线上;工作于USB主机方式时,可以直接连接到USB设备。
如果为了芯片安全而串接保险电阻或者电感或者ESD保护器件,那么交直流等效串联电阻应该在5Ω之内。
CH375芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。
RSTI引脚用于从外部输入异步复位信号;RSTI引脚为高电平时,当CH375芯片被复位;RSTI引脚恢复为低电平后,当CH375会继续延时复位35mS左右,然后进入正常工作状态。
为了在电源上电期间可靠复位并且减少外部干扰,可以在RSTI引脚与VCC之间跨接一个容量为0.1uF左右的电容。
RST引脚和RST#引脚是复位状态输出引脚,分别是高电平有效和低电平有效;当CH375电源上电复位或者被外部强制复位以及复位延时期间,RST引脚和RST#引脚分别输出高电平和低电平;CH375复位完成后,RST引脚和RST#引脚分别恢复到低电平和高电平。
RST和RST#引脚可以用于向外部单片机提供上电复位信号。
CH375芯片正常工作时需要外部为其提供12MHz的时钟信号。
一般情况下,时钟信号由CH375内置的反相器通过晶体稳频振荡产生。
外围电路只需要在XI和XO引脚之间连接一个标称频率为12MHz的晶体,并且分别为XI和XO引脚对地连接一个高频振荡电容。
如果从外部直接输入12MHz时钟信号,那么应该从XI引脚输入,而XO引脚悬空。
CH375B芯片支持3.3V或者5V电源电压。
当使用5V工作电压时,CH375芯片的VCC引脚输入外部5V电源,并且V3引脚应该外接容量为4700pF到0.02uF左右的电源退耦电容。
当使用3.3V工作电压时,CH375芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH375芯片相连接的其它电路的工作电压不能超过3.3V。
第四章VS1003芯片
4.1VS1003芯片概述
VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。
它包含一个高性能,自主产权的低功耗DSP处理器核VS_DSP4,工作数据存储器,为用户应用提供5KB的指令RAM和0.5KB的数据RAM。
串行的控制和数据接口,4个常规用途的I/O口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。
VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。
输入的比特流被解码,然后通过一个数字音量控制器到达一个18位过采样多位ε-ΔDAC。
通过串行总线控制解码器。
除了基本的解码,在用户RAM中它还可以做其他特殊应用,例如DSP音效处理。
4.2VS1003芯片特点
●能解码MPEG1和MPEG2音频层III(CBR+VBR+ABR);WMA4.0/4.1/7/8/95-384kbps所有流文件;WAV(PCM+IMAAD-PCM);产生MIDI/SP-MIDI文件。
●对话筒输入或线路输入的音频信号进行IMAADPCM编码
●支持MP3和WAV流
●高低音控制
●单时钟操作12..13MHz
●内部PLL锁相环时钟倍频器
●低功耗
●内含高性能片上立体声数模转换器,两声道间无相位差
●内含能驱动30欧负载的耳机驱动器
●模拟,数字,I/O单独供电
●为用户代码和数据准备的5.5KB片上RAM
●串行的控制,数据接口
●可被用作微处理器的从机
●特殊应用的SPIFlash引导
●供调试用途的UART接口
●新功能可以通过软件和4GPIO添加
4.3VS1003芯片的封装
图四VS1003芯片封装图
4.4VS1003芯片的连接
图五VS1003芯片连接图
第五章单片机MP3原理图
5.1硬件系统设计
图六MP3硬件系统框图
5.2单片机读取MP3数据模块
数据读取模块包括单片机控制器,USB串行数据转换成8位并行数据CH375芯片和MP3格式数据存储U盘3部分。
1、单片机控制器
采用宏晶公司的STC89C58RD+单片机,该单片机最高可工作于33MHz时钟,具有32KB的FLASH,1KB的内部RAM,引脚与指令系统均与51单片机兼容。
本设计中,单片机工作在30MHz的系统时钟下,能满足系统对数据带宽的要求。
2、USB接口芯片CH375
CH375是一个USB总线通用接口电路,支持HOST主机方式和SLAVE设备方式。
CH375内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串型接口、命令解释器、控制传输的协议处理器、通用的固件程序等。
在本地端,CH375具有8位数据总线和读、写、片选控制线及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上,并内置海量存储固件。
CH375的USB主机方式支持各种常用的USB全速设备,外部单片机、DSP、MCU可以通过CH375按照相应的USB协议与USB设备通信,支