版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式MP3播放器的设计1 系统概述本文采用STM32系列微控制器, 结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过触摸屏实现按键功能,控制播放上一首/下一首、音量增减等;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作, 以方便拷贝音频文件。MP3播放过程程是STM332通过SPI11接口将数据据从SD卡中取出出,然后通过SPPI2接口送送至解码芯VVS10033解码播放。这这里解码模块块单独使用一
2、一个SPI接口,以减小干扰扰和噪声、提提高音质。2 系统硬件设设计方案本系统在硬件上上分为6个模块: 微控制器器STM322F103、解解码模块VSS1003、存存储模块SDD卡、触摸屏屏、USB接口和和显示屏LCCD。系统硬硬件框架如图图5所示。图5 系统硬件件框架图2.1 存储模模块设计SD卡在现在的的日常生活与与工作中使用用非常广泛,时时下已经成为为最为通用的的数据存储卡卡。在诸如MMP3、数码码相机等设备备上也都采用用SD卡作为其其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。SD卡支持两种总线方式: SD方式与SPI方式。其
3、中SD方式采用6线制,而SPI方式采用4线制,采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD方式或SPI方式。在本设计中,音音频数据MPP3文件是以以SD卡为载体体。所以在电电路设计中必必须含有读取取SD卡模块。该系系统使用STTM32内部部接口SPII1与SD卡进行通通信,下面介绍其其引脚连接情情况。PE3:低电平平有效,连接到SD卡的片选选引脚CD/DAT3。SPI在和SD卡进行通通信时,需要将PE33拉低才能对对SD卡进行操操作。PA7:映射为为STM322内部接口SPPI1的主输输出从输入(MOSI)信号线。这这里STM332是主设备备,SD卡
4、是设备备。数据流的的传输方向是是从STM332传输给SD卡。该信信号线用于传传输一些控制制命令来完成成SD卡的操作作,如读、写等等。PA5: 已连连接到STMM32内部接接口SPI11的时钟(SCCL K)信信号线。可设设置SPI的时钟钟频率来调整整读取SD卡数据的的快慢。PA6 :已连连接到STMM32内部接接口SPI11的主输入从从输出(MISO)信号线。数数据的传输方方向是从SDD卡传输给STTM32 ,主要返回回SD卡的一些些状态、内部部寄存器值等等。PC12 :用用于检测SDD卡是否完全全插入。当SSD卡完全插插入时,PC12为低低电平,否则为高电电平。22 音频解解码模块设计计音频
5、解码模块完完成MCU从SD卡里读取取的数字MPP3音频数据据流进行解析析、并转化成成模拟信号进进行输出。在在这里,系统统使用VS11003音频频解码芯片来来实现音乐数数据流的解析析。VS10003是由芬芬兰VLSII公司出品的的一款单芯片片的MP3/WMA音频频解码芯片,其其拥有一个高高性能低功耗耗的DSP处理器器核VS_DDSP, 5K的指令令ROM, 0.5KK的数据RAMM,串行的控控制和数据输输入接口, 4个通用I/OO口,一个UAART口,同同时片内带有有一个可变采采样速率的AADC、一个个立体声DAAC以及音频频耳机放大器器接口。VSS1003与与核心控制器器MSP4330F149
6、9的数据通信信是通过SPPI总线方式式进行的。VVS10033主要通过串串行命令接口口(SCI)和串行数据据接口(SDDI)来接收收MSP4330F1499控制器的控控制命令和MMP3的数据据。通过XCCS、XDCS引脚脚的置高、置置低来确认是是哪一个接口口处于传送状状态。对于VVS10033芯片的功能能控制,如初初始化、软复复位、暂停、音音量控制、播播放时间的读读取等,均是是通过SCII写入到特定定寄存器的内内容来实现的的。两条SCCI指令之间间要通过DRREQ引脚信信号判断上次次处理是否完完成。该系统使用STTM32 内部接口SPPI2 与VS10003 进行通通信,下面介绍其其引脚连接情
7、情况。PA3 :VSS1003 的中断请求求引脚。当VVS10033 内部数据据已处理完毕毕,需要新的数数据时,将DREQ 拉高。STMM32根据这这个信号来给给VS10003 发送新新的数据流。PB13 : 已连接到STTM32 内部接口SPPI2 的时时钟(SCLL K) 信号线。PB14 :已已连接到STTM32 内部接口SPPI2 的主主输入从输出出(MISOO) 信号线。这这里STM332 是主设备,VS10003 是从设备。数数据流的传输输方向是从VVS10033 传输给STMM32 。主要用于于读取VS11003 的一些状态态和内部寄存存器值,比如寄存器器测试返回的的内部寄存器器
8、的值。PB15 :已已连接到STTM32 内部接口SPPI2 的主输出从从输入(MOOSI) 信号线。这这里STM332 是主设备,VS10003 是从设备。数数据流方向是是从STM332 传输给VS11003 ,主要传输输给VS10003 一些控制命命令、MP33/ WMAA 数据流等等。PA1 :低电电平有效,如果拉低该该引脚,那么通过SPPI 传输的的是控制信号号。控制信号号包括读写VVS10033 的内部寄存存器、对VSS1003 进行初始化化、设置左右右声道音量等等。PA2 :低电电平有效,如果拉低该该引脚,那么通过SPPI 传输的的是数据信号号。比如在向向VS10003 传输MP3
9、/ WMA 的数据流时时需要拉低该该引脚。PA0 :低电电平有效,拉低该引脚脚则硬件复位位VS10003 。23 液晶显显示模块设计计LCD33100芯片是一个个48行84列的液晶晶显示器主要要模块。其内内存带有低功功耗PCD88544的CMOSLLCD控制驱驱动器,串行行输入速度最最高可达4. 0Mbiits/S,而而且所有必须须的显示功能能集成在一块块芯片上,包包括LCD电压及及偏置电压发发生器,所以以LCD33310是一款款低功耗的液液晶显示器。为为了让LCDD3310液液晶能够显示示4行12* 112的汉字,系系统开辟了一一个6* 884字节的缓缓冲区,要写写液晶时,就就不用直接写写L
10、CD33310的静态态DDRAMM了,可以先先写系统为它它开辟的数据据缓冲区,最最后再刷新修修改的部分就就可以显示出出要显示的内内容,LCDD3310与与主控制器是是SPI接口口方式。3 系统软件设设计方案3.1 MP33播放器软件件系统流程原原理系统启动后,先先初始化硬件件模块。由MMCU通过FAT332文件系统统接口读取SSD卡的一些些基本信息,如如容量、扇区区大小、FAAT表及根目目录所在的启启始扇区等。通通过获得这些些信息后,就就可以找出SSD卡是否有有我们可以播播放的音乐文文件。若有音音乐文件,微微处理器将通通过SPI总线方方式读出该文文件的音频信信息,并将歌歌曲的码流信信息送入到V
11、VS10033芯片中,通通过VS10003芯片解解码以及其内内含的高质量量的立体DAAC和耳机驱驱动电路,实实现MP3歌歌曲的播放功功能。在触摸摸键的控制下下,通过LCCD33100中菜单选项项的选择,实实现对歌曲选选择及音量控控制等功能;在播放的同同时, LCCD33100上显示的信信息除歌曲名名称信息外,还还包括进度和和音量等信息息。由于SPI1 读取SD 卡文件的速速度远超过VVS10033 播放数据流流的速度,因此VS10003 在播播放来自SPPI2 的数据流期期间,SPI1 能从SD 卡中读读取下次播放放所需的数据据,不会产生声声音不连续的的情况。由于于使用了2 个SPI 接口,相
12、互之间无无干扰,且提高了文文件系统的效效率,因此本系统统能得到非常常高品质的音音乐。如图6是MP33播放器的软软件系统流程程图。下面介介绍软件的核核心模块。(1)SD 模模块SD 模块主要要提供SD 卡驱动以及及对FAT 文件系统操操作的函数,FFAT 文件系统支支持长文件名名。该模块主主要含有2 个文件msdd.c 和fat166.c 。下面分分别介绍其主主要函数的功功能。(1) msdd.c该文件用于提供供SD 卡的驱驱动,主要包括以以下函数。SPI_ Coonfig : 配置与与SD 卡相连连接的SPII1 及相关关GPIO。MSD_Iniit :初始始化SD 卡通信信。Get_Medd
13、ium_CCharaccterisstics :获取SD 卡的容容量和块大小小等相关信息息。MSD_GoIIdleSttate :令SD 卡处于于空闲态。MSD_SenndCmd :向SD 卡发送送命令。MSD_GettRespoonse :从SD 卡获取取响应。MSD_GettStatuus :获取取SD 卡的状状态。MSD_WriiteBloock :向向SD 卡写入入1 个块的数数据。MSD_ReaadBlocck :从SD 卡读取取1 个块的数据据。以下是函数MSSD_ReaadBlocck 的实现现:u8 MSD_ ReaddBlockk ( u88 * pBufffer , u32
14、 RReadAdddr , u16 NNumBytte ToRRead) u32 i = 0 ;u8 rvallue = MSD_RRESPONNSE_FAAILUREE;MSD_CS_LOW() ; / / 拉低低片选信号,选中SD 卡MSD_SenndCmd (MSD_READ_ SIN GL E_BLOCKK, ReaadAddrr ,0 xFF) ; / / 发送读取块块命令/ / 检测SSD 卡是否否有返回信息息,若是则返回回0 x00if ( !MMSD_GeetRespponse (MSD_RESPOONSE_NNO_ERRROR) ) if ( !MMSD_ GGetRessp
15、onsee (MSDD_ STAART_DAA TA_ SIN GGL E_BLOCK_RREAD) ) / / 等待待数据令牌,标志数据传传输开始for (i = 0 ; i NumByyte TooRead ; i + + ) / / 读取取数据* pBufffer = MSD_RReadByyte() ; / / 缓存收到到的数据图6 软件系统统流程图pBufferr + + ; / / 缓存指针针后移rvalue = MSDD_RESPPONSE_NO_ERRROR ;/ / 修修改rvallue 的值值为成功MSD_CS_HIGH() ; / / 拉高高片选信号,禁用SD 卡MSD_
16、WriiteBytte(DUMMMY) ; / / 写无效字节节,传输结束return rvaluue ; / / 返回回(2)fat116. c该文件提供对FFAT16 文件系统的的支持,主要包含以以下函数。ReadMBRR :读取MBR 数据结构。ReadBPBB :读取BPB 数据结构。ReadFATT :读取文文件分配表指指定项。ReadBloock :读取SD 卡的一一个扇区。FAT_Iniit :获取取FAT166 文件系统统的基本信息息。DirStarrtSec :获取根目目录的开始扇扇区号。DataStaartSecc :获取数数据区的开始始扇区号。ClusConnvLBA :
17、获取一个个簇的开始扇扇区号。LBAConvvClus :转换扇区区号与簇号之之间的关系。Get FilleNamee :获取指指定文件的首首扇区号。ListDatte Timme :列出出文件或子目目录创建的时时间日期。SearchFFoler :在指定范范围内查找文文件或子目录录。ListDirr :列出指指定范围内的的文件或子目目录及相关信信息。FAT_FilleOpenn :打开指指定文件。FAT_FilleReadd :读取文文件数据。(2)VS10003模块VS1003 模块主要提提供对解码芯芯片VS10003 的驱驱动,为应用层播播放音频数据据、控制音量量声道等提供供基本接口。该该
18、模块主要含含文件vs11003. c 。其主要函数数的功能如下下。vs1003. c 文件主主要提供VSS1003 芯片的驱动动,包含以下几几个主要函数数。VS1003_Confiig :配置置STM322 与VS10003 连接的的相关引脚,包括SPI22 、PA0 、PA1 、PA2 、PA3 。SPIGetCChar :通过SPI 从VS10003 读取1 个字节。SPIPutCChar :通过SPI 向VS10003 写入1 个字节。如果是MP33/ WMAA 数据流,则VS10003 将开始始解码并播放放。Mp3ReaddRegisster :读取VS10003 寄存器的值值。Mp3
19、WritteRegiister :写VS10003 寄存器器。Mp3Reseet :VSS1003 复位,包括软件复复位和硬件复复位。Mp3SofttResett :VS11003 软软件复位,设置时钟、采采样率、重音音、音量、立立体声等参数数,一般在2 首乐曲之间间需要一次软软件复位。VsSine Test : 播放正正弦声波, 用于测试VSS1003 和STM322 的连接是否否完好。以下是VS10003音频解解码芯片初始始化的部分代代码:void innit_vss1003()vs1003_dir|=0X2C;VS1003_xReseetDIR |=BITT5;printfss(“n-h
20、hard_rreset-n”);hard_reeset; /硬件复复位delay_mms(10);sotf_seend_biit2(0XXFF);hard_seet;sotf_seend_biit2(0XXFF);Wait_Vss1003_DREQ();printfss(“n-ssoft_rreset_vs10003-n”);soft_reeset_vvs10033();printfss(“n -vvs10033initook-n”);(3)图形人机机交互模块(触触摸屏支持库库的安装)网络MP3播放放器搭载了一一块触摸屏作作为系统硬件件的控制模块块,有了触摸摸屏的支持,用用户就可以通通过点击图形形人机交互界界面中的窗体体控件对播放放器进行管理理。在设计播播放器的图形形人机交互界界面之前,还还需要一层应应用程序库封封装系统对底底层触摸屏驱驱动的操作,将将触摸控制以以一个统一的的接口提供给给上层GUII应用程序使使用。该设计使用了ttslib应应用程序库来来封装图形用用户界面对底底层触摸屏的的操作。tslib是一一个开源的触触摸屏支持库库,它作为触触摸屏驱动的的适配层,为为不同的触摸摸屏提供了一个统统一的接口。ttslib提提供诸如滤波波、去抖、校校准之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广西培贤国际职业学院单招职业适应性测试试题及答案解析
- 2026广东清远市“百万英才汇南粤”连南瑶族自治县赴高校设点招聘教师40人考试备考试题及答案解析
- 2026年无锡南洋职业技术学院单招职业适应性测试题库附答案解析
- 2026广东中山市民众街道三民学校招聘临聘教师笔试模拟试题及答案解析
- 2026广东佛山顺德华侨中学招聘化学生物临聘老师2人笔试备考试题及答案解析
- 2026山东威海海大医院招聘23人考试备考题库及答案解析
- 2026广西南宁市江南区明阳第二初级中学招聘教师2人考试备考试题及答案解析
- 案例分析:中国石油IPO案例分析
- 中烟物流技术有限责任公司第一批招聘5人考试参考题库及答案解析
- 九江银行吉安分行2026年社会招聘考试备考试题及答案解析
- 2025年长沙民政职业技术学院单招职业倾向性考试模拟测试卷附答案
- 酒店餐厅外包协议书
- 2026年智能制造技术培训课件
- 2025年10月自考13897景观设计试题及答案
- 无菌微生物培训
- 心理课生命能量树课件
- 线材规格基础知识课件
- 中国车用CNG和LNG行业市场前景预测及投资价值评估分析报告
- 《0~3岁婴幼儿营养与喂养》全套教学课件
- 海关编码归类培训
- 新版小学体育课程标准解读
评论
0/150
提交评论