ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:381.63KB ,
资源ID:7698106      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7698106.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于stc12c5a60s2的u盘mp3播放器.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于stc12c5a60s2的u盘mp3播放器.docx

1、基于stc12c5a60s2的u盘mp3播放器一目录二引言 2.1 设计意义 2.2 设计目标 2.3 研究背景三方案设计 3.1方案选择 3.2.理论分析与方案论证四总体设计 4.1整体硬件连接框图 4.2 设计流程图 4.3 硬件电路与软件设计 4.4 软件实现方法五总结六附录 附录1 整体电路图 附录2 部分程序代码七参考文献二引言2.1设计意义随着电子技术的发展, M P3 播放器向着大容量, 小型化发展。但播放器与存储器一体化的设计使得MP3难以扩充容量以容纳更多的歌曲。将播放器与存储器分离是M P3 目前发展的另一方向。本文介绍了一种利用STC12C5A60S2控制以H OST U

2、SB方式读取U盘的音乐文件并将其解码的播放的解决方案。2.2 设计目标以STC12C5A60S2芯片作为主控制器,芬兰VLSI公司的VS1003作为音频解码芯片,南京沁恒公司的CH375 作为USB 设备接口芯片,以优盘作为媒体存储介质,NOKIA(诺基亚)5110液晶屏作为显示屏,来完成音乐播放器的功能。该设计具有四按键操作界面,界面显示友好,支持MP3、WMA、WAV 和MID 四种音乐格式,同时支持文件夹和音乐文件的中文显示。该系统支持FAT32文件系统,支持大容量优盘,支持高保真立体声耳机输出。2.3 研究背景现有汽车收放机大多为带AM/FM 功能的磁带机,CD/DVD 机,而今,随着

3、现代存储技术的飞速发展,便携的数字存储设备已经成为主流;同时廉价、高品质、档案小的MP3 格式音乐的大量出现,再加上MP3 很容易在Internet上散布,MP3将取代磁带和CD 而成为新世纪的主流音乐格式,对汽车来说更是一个最完美的音乐格式。MP3汽车音响的时代已经来临了,汽车音响业也纷纷推出具备MP3播放功能的汽车音响主机,快速接收CD在汽车内生存的空间。特别是近期USB HOST MP3解码模块产品的出现,完善了MP3播放功能的汽车音响主机在USB 方向的空白。该方案提供一个主USB接口,插上U 盘即可播放U 盘里的MP3文件、可广泛应用于家用音响/音箱,公共广播系统,车载CD,恶劣环境

4、中需要播放音乐的场合等等。三方案设计3.1方案选择方案一: 用转接器直接将MP3播放器的输出连接到录音座,然后从音响的喇叭播放出来.这种作法,音响面板接了好几条线,看起来就挺难受的,转接器硬体设备该怎么安置,也是个问题。方案二:一种蛮便宜的FM 频道无线发射器,作法基本都很类似,将FM频道无线发射器插入您的MP3播放器的耳机插孔,找一个没有被占用的收音机频率,MP3播放器的输出便透过无线发射器传到任何音响系统的FM频道播放,像是自己架设了一个自制音乐节目,完全没有广告的电台一样。使用这种方法播放MP3非常方便,特殊的一点是MP3播放器和FM 发射器都是Portable可携带式的,对于旅行的朋友

5、来说也十分方便。找不到空余的FM频道也许会是个问题,音质对于非常讲究的音响迷而言也不是很好,收音机会受到外界的杂音干扰,静电的问题都会存在,这算是一个便宜方便虽然不太完美的解决方式。方案三:选用单片机作为主控芯片,以专门的音频解码芯片和通用的存储接口为主的MP3播放器。这样实现存储和播放分离的一种解决方案。这种方案使得MP3的容量不受限制,而且体积也可以进一步缩小,降低成本。3.2.理论分析与方案论证3.2.1 理论分析针对本MP3播放系统功能,要选择合适的控制芯片及外部芯片来实现,以下介绍一下选用芯片(1)MP3 解码 本播放系统是利用STC12C5A60S2高速单片机控制来实现歌曲播放功能

6、的,但对单片机本身来说不能进行音频解码(速度与资源都不符合要求),所以只能利用外部解码芯片来实现歌曲播放功能。MP3解码芯片常见的有VS100X 系列和 STA01X系列,VS系列自带DAC输出功能,而且能解码的音频格式也比较多;而 STA系列需要外加DAC,使用起来多有不便,而且只能解码MP3一种格式的音乐文件。经过对此比较,选用 VS1003 作为解码芯片,该芯片支持 MP3、WMA、WAV、MIDI、等格式的解码,自带DAC输出;同时,还可以调节音量、高低音等,更重要的是它还具有 MIC 功能,如需要,还可以实现录音功能。因此,选用此芯片作为解码芯片。(2)方案中的USB设备接口芯片选用

7、南京沁恒公司的CH375,CH375是一个USB 总线的通用接口芯片,支持HOST 主机方式和SLAVE 设备方式。在本地端,CH375 具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU等相连接。CH375的USB主机方式支持各种常用的USB全速设备,外部单片/DSP/MCU可以通过CH375按照相应的USB协议与USB设备通信。(3)液晶显示普通单色LCD来实现,这里考虑到音乐播放显示、同步歌词显示、音量显示等诸多功能,同时

8、兼顾成本,故选用价格较为便宜的Nokia 5110 点阵LCD来实现。该液晶屏本身不带有字库功能,所以,系统需要有外部字库文件,来实现曲目及歌词的汉字显示。(4)存储媒介 作为 MP3 播放器,肯定需要很大的存储器来存放歌曲,可以选择 Flash芯片存储、SD卡、U盘等。如果选用 Flash ,则整个系统要求较多的 I/O 口来读取,更重要的一点是,这样做的后果就是整个系统的容量就被固定了,扩容存在困难。而 U盘和 SD卡都是不错的选择,并且 U盘和 SD卡均容易购买到,并且价格较为低廉,所以,存储部分选用U盘或SD卡读取来实现。3.2.2 基本方案设计通过以上的理论分析,对本系统的所有的主要

9、芯片有了初步的了解。本 MP3 播放系统以STC12C5A60S2为控制核心,不但要管理SD 卡、CH375、解码芯片、液晶屏和键盘的驱动,同时还要管理SD卡和USB存储设备中的文件系统,查找文件等等。存储器里的媒体文件首先被读取到MCU的RAM中,然后又被送到解码芯片中,解码后的音频数据被还原成模拟音频,由扬声器传出。由于STC12C5A60S2本身不支持USB 接口功能,所以MCU无法直接与电脑完成数据传输的功能,存储设备需要通过自身的接口与电脑相接。对于其他的芯片则是通过普通I/O口连接的。四总体设计4.1整体硬件连接框图(图3.1): 图 3.14.2 设计流程图4.3 硬件电路与软件

10、设计4.3.1 音频解码电路基本电路图,如图4.3.1图4.3.1VS1003 特性:能解码 MPEG 1 和MPEG2 音频层 III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;WAV(PCM+IMAAD-PCM);产生MIDI/SP-MIDI 文件。对话筒输入或线路输入的音频信号进行IMAADPCM编码支持 MP3 和WAV 流高低音控制单时钟操作12.13MHz内部PLL锁相环时钟倍频器低功耗内含高性能片上立体声数模转换器,两声道间无相位差内含能驱动30 欧负载的耳机驱动器模拟,数字,I/O 单独供电为用户代码和数据准备的5.5KB片上

11、RAM串行的控制,数据接口可被用作微处理器的从机特殊应用的SPI Flash引导供调试用途的UART接口新功能可以通过软件和4 GPIO 添加VS1003 概述:VS1003 是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP 处理器核VS_DSP4,工作数据存储器,为用户应用提供5KB 的指令RAM 和0.5KB 的数据RAM。串行的控制和数据接口,4 个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。VS1003 通过一个串行接口来接收输入的比特流,它可以作为一个系统的

12、从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18 位过采样多位- DAC。通过串行总线控制解码器。除了基本的解码,在用户RAM 中它还可以做其他特殊应用,例如DSP 音效处理。4.3.2 U盘模块电路基本电路图,如图4.3.2图4.3.2CH375 是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE 设备方式。在本地端,CH375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出

13、与单片机/DSP/MCU/MPU 等相连接。CH375 的USB 设备方式与CH372 芯片完全兼容,CH375 包含了CH372 的全部功能。CH375 的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB 协议与USB 设备通讯。CH375 还内置了处理Mass-Storage 海量存储设备的专用通讯协议的固件外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘)。特点 低速和全速USB-HOST 主机接口,兼容USB V2.0,外围元器件只需要晶体和电容。 低速和全速USB 设备接口,完全兼容CH372

14、芯片,支持动态切换主机与设备方式。 主机端点输入和输出缓冲区各64 字节,支持12Mbps 全速USB 设备和1.5Mbps 低速设备。 支持USB 设备的控制传输、批量传输、中断传输。 自动检测USB 设备的连接和断开,提供设备连接和断开的事件通知。 内置控制传输的协议处理器,简化常用的控制传输。 内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC 或等效命令集的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘/USB 读卡器)。 通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。 并行接口包含8 位数据总线,4 线控制:

15、读选通、写选通、片选输入、中断输出。 串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。 支持5V 电源电压和3.3V 电源电压,支持低功耗模式。 采用SOP-28无铅封装,兼容RoHS,提供SOP28到DIP28 的转换板,引脚基本兼容CH374芯片。4.3.3LCD 液晶显示接口电路基本电路如图:图4.3.3图4.3.3LPH7366 是 Nokia 公司生产的可用于 5110、6150、6100等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可以广泛应用于各类便携式设备的现实系统。与其它类产品相比,该模块具有以下特点:8448的点

16、阵 LCD ,可显示 4 行汉字采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线只有9条,支持多种串行通信协议(如 AVR 单片机的 SPI、MCS51的串口模式0等),传输速率可高达 4Mbps,可全速写入显示数据,无等待时间。可通过导电胶连接模块与印制板,而不用连接电缆用模块上的金属钩可将模块固定到印制板上面,因而非常便于安装和更换。LCD 控制器/驱动芯片及绑定到 LCD 晶片上,模块的体积很小。采用低电压供电,正常显示时的工作电流在 200uA 以下,且具有掉电模式。4.3.4.电源模块(如图:4.3.4) 图:4.3.44.4 软件实现方法在整个设计

17、方案中,较困难完成的就是软件的编程。在整个软件编程中,不但涉及到有关接口协议方面的驱动,同时还有FAT 文件系统的编程,各种算法等等。总的说来程序量较大,在实现起来费了不少的功夫和时间。程序主要包含以下几个模块:1、CH375 驱动。这个模块由CH375 接口读写驱动,初始化优盘程序,整个扇区读操作,从某个扇区读取字节操作四个子程序组成。2、VS1003 驱动。这个模块由VS1003 接口读写驱动,初始化程序,软件复位程序,解码时间读取程序,测试程序五个部分组成。3、FAT 文件系统。这个模块是整个系统的核心部分,代码量也是最大的。主要分为以下几个部分:(1)文件系统初始化:包括文件系统类型的

18、区分,分区信息,根目录所在扇区等等。(2)查找系统文件。系统文件存放在SD卡或优盘中,由汉字字库文件和UNITCODE码转换文件组成。两个文件均为BIN 格式,存放路径为根目录。如果SD卡或优盘中事先没有存放这两个文件,将不支持中文显示。(3)在FAT 表中查询下一个簇号。(4)查找目录。(5)查找音乐文件。(6)数据区数据读取。(7)UNITCODE码转换GB2313 码。5、5110液晶屏驱动。这个模块包括输出ASCII字符,从字库中查找出字模,输出汉字,清屏,画图五个程序。6、主程序。主要由系统初始化,键盘操作,文件目录浏览,音乐播放,停止放音等组成。五总结在此次论文完成的过程中,我查阅

19、了大量的中、外文献资料,扩大了知识面。通过反复实验,提高了动手能力及思维创新能力,对我的理论水平和工作水平都有很大的提升。根据本人在调试中遇到的问题,特作如下说明:1、VS1003 由于采用超小型贴片44 脚封装,给焊接及测试都带来一定的麻烦。另外,VS1003 内部是DSP 核,如果操作不当,很容易使其损坏。端口要加保护,电源要严格按照手册上来提供。2、CH375的初始化很重要,要严格按照手册的步骤,这样可以提高U盘的兼容性。3、CH375 的读写时序中有几个很重要的延时,对延时应该做到大于或等于手册的提供的参数。否则会在高速读写时出现错误。4、不同厂家的U盘的参数并不是一样的,自己在写文件

20、系统时,初始化后读取U盘的参数很重要,这样能让我们快速判断FAT 文件的入口。六附录1整体电路图附录26.1 VS1003解码程序#include vs1003.h/#include patch.h#include myfun.hunsigned char bdata dat; /可位寻址的变量dat,用于优化SPIsbit dat7=dat7; /取出每一个位sbit dat6=dat6;sbit dat5=dat5;sbit dat4=dat4;sbit dat3=dat3;sbit dat2=dat2;sbit dat1=dat1;sbit dat0=dat0;void VS_spi_w

21、rite(unsigned char x) dat=x; /将x赋值给可位寻址的变量dat VS_SI=dat7; /从高位开始输出,从dat7一直到dat0 VS_SCK=0; /时钟的上升沿,位被写出 VS_SCK=1; VS_SI=dat6; VS_SCK=0; VS_SCK=1; VS_SI=dat5; VS_SCK=0; VS_SCK=1; VS_SI=dat4; VS_SCK=0; VS_SCK=1; VS_SI=dat3; VS_SCK=0; VS_SCK=1; VS_SI=dat2; VS_SCK=0; VS_SCK=1; VS_SI=dat1; VS_SCK=0; VS_SC

22、K=1; VS_SI=dat0; VS_SCK=0; VS_SCK=1;void VS_Write_Reg(unsigned char addr,unsigned char hdat,unsigned char ldat) VS_DREQ=1; /51单片机IO作输入时先置为1 while(!VS_DREQ); /VS1003的DREQ为高电平时才接收数据 VS_XCS=0; /打开片选,SCI有效,这样才能对功能寄存器进行读写 VS_spi_write(0x02); /写入操作码0x02 00000010 (功能寄存器写操作) VS_spi_write(addr); /写入寄存器地址 VS_

23、spi_write(hdat); /写入高字节 VS_spi_write(ldat); /写入低字节 VS_XCS=1; /关闭片选,SCI无效void VS_Reset() VS_XRESET=1; delay(100); VS_XRESET=0; delay(100); VS_XRESET=1; /硬件复位,XRESET低电平有效 delay(100); VS_Write_Reg(0x00,0x08,0x04);/软件复位,向0号寄存器写入0x0804 VS_Write_Reg(0x03,0x98,0x00);/时钟设置,向3号寄存器写入0x9800SC_MULT VS_Write_Reg

24、(0x0b,0x00,0x00);/音量设置,左右声道均最大音量 VS_XDCS=0; /打开数据片选,注意此时XCS(片选)为高电平,SDI有效 VS_spi_write(0); /写入数据,这里写入4个0,是无关数据,用来启动数据输 VS_spi_write(0); VS_spi_write(0); VS_spi_write(0); VS_XDCS=1; /关闭数据片选,SDI无效 void VS_Send_Dat(unsigned char dat) VS_DREQ=1; while(!VS_DREQ); /VS1003的DREQ为高才能写入数据 VS_spi_write(dat);/通

25、过SPI向VS1003写入一个字节的音频数据void VS_Flush_Buffer() unsigned int i; VS_XDCS=0; /打开数据片选,即开启SDI传输 for(i=0;i2048;i+) VS_Send_Dat(0); VS_XDCS=1; /关闭数据片选6.2 CH375B模块程序#include ch375.h#include myfun.hvoid CH375_Write_Cmd(unsigned char cmd) /写命令 delay(DELAYTIME); /稍作延时 CH375_CS=0; /打开片选 CH375_A0=1; /命令模式 DATA_POR

26、T=cmd; /输出命令码 CH375_WR=0; /打开写使能 delay(DELAYTIME); /稍作延时 CH375_WR=1; /关闭写使能 CH375_CS=1; /关闭片选 CH375_A0=1; /恢复A0为高电平 delay(DELAYTIME); /稍作延时void CH375_Write_Dat(unsigned char dat) /写数据 delay(DELAYTIME); /稍作延时 CH375_CS=0; /打开片选 CH375_A0=0; /数据模式 DATA_PORT=dat; /输出数据 CH375_WR=0; /打开写使能 delay(DELAYTIME)

27、; /稍作延时 CH375_WR=1; /关闭写使能 CH375_CS=1; /关闭片选 CH375_A0=1; /恢复A0为高电平 delay(DELAYTIME); /稍作延时unsigned char CH375_Read_Dat() /读数据 unsigned char temp; CH375_CS=0; /打开片选 CH375_A0=0; /数据模式 CH375_RD=0; /打开读使能 DATA_PORT=0xff; /51单片机IO作输入,先置高 delay(DELAYTIME); /稍作延时 temp=DATA_PORT; /读取端口上的数据 CH375_RD=1; /关闭读使

28、能 CH375_CS=1; /关闭片选 CH375_A0=1; /恢复A0为高电平 return temp; /返回读到的值unsigned char CH375_Wait_Int() /等待中断信号,即INT引脚上产生低电平,并获取中断状态码,获取后INT恢复高电平,以产生下一次中断信号 CH375_INT=1; /IO作输入先置高 while(CH375_INT); /等待中断 CH375_Write_Cmd(CMD_GET_STATUS); /产生操作完成中断,获取中断状态 return CH375_Read_Dat();unsigned char CH375_Init() unsign

29、ed char i=0; CH375_Write_Cmd(CMD_GET_IC_VER); /* 获取芯片及固件版本 */ i=CH375_Read_Dat(); /* 版本 */ if(i0xA2) return 1; /* 不支持该芯片 */ CH375_Write_Cmd(CMD_SET_USB_MODE); /* 设置USB工作模式 */ CH375_Write_Dat(6); /* 模式代码,自动检测USB设备连接 */ for(i=0;i250;i+) /* 等待操作成功,通常需要等待10uS-20uS */ delay(10); if(CH375_Read_Dat()=CMD_R

30、ET_SUCCESS ) return 0; /* 操作成功 */ return 1; /* CH375出错,例如芯片型号错或者处于串口方式或者不支持 */unsigned char CH375_InitDisk() unsigned char status,i,j=0; status=CH375_Wait_Int(); if(status=USB_INT_DISCONNECT) return 1; /* USB设备断开 */ while(1) CH375_Write_Cmd(CMD_DISK_INIT); /* 初始化USB存储器 */ status=CH375_Wait_Int(); /* 等待中断并获取状态 */ if(status=USB_INT_SUCCESS) break; while(1) /以下代码均源自沁恒的官方U盘初始化函数,借用它可以提的兼容性! j+; CH375_Write_Cmd(CMD_DISK_SIZE); /* 获取USB存储器的容量 */ status=CH3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1