以优盘为存储介质的mp3播放器设计
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
以优盘为存储介质的mp3播放器设计  2012/3/1
2.1.2USB设备协议层的实现该部分实现对优盘扇区的直接读写,其中两个很重要的函数为Bulkin和Bulkout。此处只列出Bulkin函数的实现:/**********************************函数名称:epBulkRcv函数功能:实现bulkonly协议中的Bulkin函数输入参数:pBuffer为数据的地址,len为数据的长度返回值:TRUE为成功,FALSE为失败**********************************/unsignedcharepBulkRcv(unsignedchar*pBuffer,unsignedintlen){usbstack.usb
2.1.2  USB设备协议层的实现
       
该部分实现对优盘扇区的直接读写,其中两个很重要的函数为Bulkin和Bulkout。此处只列出Bulkin函数的实现:

       
/**********************************
      
函数名称:epBulkRcv
      
函数功能:实现bulkonly协议中的Bulkin函数
      
输入参数:pBuffer为数据的地址,len为数据的长度
      
返回值:TRUE为成功,FALSE为失败
      
**********************************/
      
unsigned char epBulkRcv(unsigned char *pBuffer,unsigned int
len){

usbstack.usbaddr=0x1;

usbstack.endpoint=usbstack.epbulkin;
      
usbstack.pid=PID_IN;
      
//设置包长度为64
      
usbstack.wPayload=64;
      
usbstack.wLen=len;
      
usbstack.buffer=pBuffer;
      
if(usbstack.wLen){
      
if(!usbXfer())
      
return FALSE;
      
}
      
return TRUE;
      
}

2.1.3  FAT16/FAT32文件格式的实现

该部分程序是根据FAT16/FAT32文件系统的结构,实现对文件的读、写、创建、删除等操作。优盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区(主引导记录区)、DBR区(系统引导记录区)、FAT区(文件分配表区)、FDT区(文件目录表区)和DATA区(数据区)。

在实现对文件的读/写时,首先根据MBR区和DBR区的大小,找到FAT表的位置,然后根据FAT表找出相应文件的数据位置,即可对此文件进行相应的处理。其具体实现涉及FAT文件系统的结构,此处不再详述。

2.2  VS1011B的控制与音乐文件数据输入

本方案mp3播放器的实现原理就是控制器 从优盘读取MP3文件数据,当VS1011B的数据缓冲区需要数据时,将数据送入VS1011B进行解码。
VS1011B采用串行接口,有两种接口模式:

Native Modes(新模式)和Compatibility;

Mode(兼容模式)。当地址为0x0的MODE寄存器的SM_SDINEW位为1时为新模式;反之为兼容模式。上电时默认为新模式。

在播放音乐之前,首先需要对VS1011B进行初始化,然后输入音乐文件即可播放歌曲。其控制步骤如下:[3]

①  拉低nRST1。

②  等待DREQ引脚信号变高

③  写寄存器MODE的参数,包括正确设置SM_SDINEW和SM_SDISHARED位。

④  若时钟数率非24.576 MHz,应设置SCI_CLOCKF。

⑤  若使用倍频时钟,试图通过改变SCI_CLOCKF直接操作,应将适当的采样速率写入SCI_AUDATA寄存器,等待至少11000个时钟后才可以操作高速的
与《以优盘为存储介质的mp3播放器设计》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095