自动化在线 自动化在线 数据加载中... 数据加载中...
首页 | 下载系统 | 供求信息 | 新闻系统 | 企业信息 | 产品信息 | 展会信息 | 论坛
首页 > 新闻系统 > 嵌入式系统 > 嵌入式系统技术
 
以优盘为存储介质的mp3播放器设计
作者: 发布时间:2007-12-16 04:42:42 来源: 繁体版

2 软件设计

2.1 优盘读写软件的实现

          USB组织定义了海量存储设备类(mass storage class)的规范。这个类规范包括4个独立的子类规范:USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 、USB Mass Storage Class BulkOnly Transport、USB Mass Storage Class ATA Command Block、USB Mass Storage Class UFI Command Specification。其中优盘属于海量存储设备,遵循bulkonly传输协议,子类采用UFI命令集。本设计软件的总体结构如图3所示。其中两条点画线之间的部分为读/写优盘的软件结构。


 

 

2.1.1 USB物理层协议的实现

          该部分实现S3C44B0X对SL811HS芯片的直接底层数据的读写,包括对SL811HS的初始化及读/写一个字节的函数。限于篇幅,此处只列出对SL811HS芯片的初始化程序:

/*********************************
  函数名称:SL811_Init
  函数功能:初始化SL811HS芯片
  输入参数:无
  返回值:无
*********************************/
void SL811_Init(void){
  //初始化U盘为未插入状态
  bFlags.bits.SLAVE_ONLINE = FALSE;
  bFlags.bits.SLAVE_FOUND = FALSE;
  bFlags.bits.SLAVE_REMOVED = FALSE;
  bFlags.bits.SLAVE_ENUMERATED = FALSE;
  bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
  //允许硬件产生SOF(Start of Frame)
  SL811Write(CtrlReg,0x04);
  DelayMs(100);
  SL811Write(CtrlReg,0x01);
  //设置SOF,1 ms中断
  SL811Write(cDATASet,0xe0);
  //设置为主机工作模式
  SL811Write(cSOFcnt,0xae);
  SL811Write(EP0Status,0x50);
  //地址设为0
  SL811Write(EP0Counter,0);
  //允许数据发送
  SL811Write(EP0Control,0x01);
  SL811Write(IntEna,0x20);
  //清中断
  SL811Write(IntStatus,INT_CLEAR);
}

2.1.2 USB设备协议层的实现

         该部分实现对优盘扇区的直接读写,其中两个很重要的函数为Bulkin和Bulkout。此处只列出Bulkin函数的实现:

/**********************************
  函数名称:epB
ulkRcv
  函数功能:实现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区(数据区)。

  
评论】【加入收藏夹】【 】【打印】【关闭
来顶一下
近回首页
返回首页
※ 相关信息
 ·成功维修安徽铜峰电子集团7台西门  (2008-07-18)
 ·科昊推出KH300制药厂专用温度记录  (2008-06-17)
 ·科昊最新推出冷库专用KH300B蓝屏  (2008-06-09)
 ·科昊最新推出KH300压力专用无纸记  (2008-06-09)
 ·科昊最新推出KH300专用PH值记录仪  (2008-06-09)
 ·寒流来袭 武汉产芯片变脸御寒  (2008-02-20)
 ·迈瑞全自动生化分析仪项目获得国  (2008-02-20)
 ·EuP指令全解读,规范生态设计  (2008-02-20)
 ·新型听诊器问世,专为高噪音环境  (2008-02-20)
 ·欧姆龙计划收回半导体芯片子公司  (2008-02-20)

关键:播放器  设计  mp3  介质  数据  MP3  文件  实现  芯片  VS1011B  

※ 其他信息
mC/OS-II在GPRS终端系统中的应用
基于ARM的智能家居远程控制系统设计
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

 
 搜索新闻
 最新新闻
·货架
·孟加拉纺织机械展/第六届孟加
·巴西纺织机械展/纺机展/2009
·印度纺织机械展/2009年印度新
·土耳其纺织机械展/2009年土耳
·热烈祝贺上海玛蒙工业有限公
·《功能安全技术与应用培训班
·2008-2009全球环保水处理及能
·2009南非国际水处理展览会
·2009中东迪拜(国际)环保、
 热点新闻 
·PLC课程设计课题——三层电梯
·先进控制技术及应用
·变频器原理
·一般变频器常见故障及处理
·CK6432(FANUC-0TD)数控车床
·集成温度传感器AD590及其应用
·3G无线接入网IP化传送承载方
·谈步进电机的PLC控制方法
·基于PLC的机械手控制设计
·浅谈单相电度表的反转
数据加载中..

网站地图
Autooo.Net 版权所有
Copyright © 2007 All rights reserved