网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 民法论文
  • 经济法论文
  • 国际法论文
  • 法学理论论文
  • 司法制度论文
  • 国家法论文
  • 宪法论文
  • 刑法论文
  • 行政法论文
  • 您的位置:写论文网 > 法学论文 > 国家法论文 > USB闪存 用PDIUSBD12与K9F56... 正文 2019-12-29 07:26:19

    USB闪存 用PDIUSBD12与K9F5608U0A设计USB移动闪存

    相关热词搜索:

    用PDIUSBD12与K9F5608U0A设计USB移动闪存

    用PDIUSBD12与K9F5608U0A设计USB移动闪存 引言 自从USB规范发布以来,短短的几年中得到了极大的发展,基于USB接口的 大容量存储设备(USB Mass Storage)应运而生。这类设备主要有:USB移动硬盘、 USB外置光驱、USB外置软驱、USB闪存盘等。但是目前国内介绍这一方面开发 的文章并不多。结合作者实践,本文将以Philips公司的USB控制器PDIUSBD12和 Sumsung公司的内存(Flash)K9F5608U0A为例,介绍开发大容量存储设备的方法。

    1 USB大容量存储设备类 USB大容量存储设备类规范包括四个独立的子类规范,即:①USB Mass Storgage Class Control/Bulk/Interrupt(CBI)Transport;②USB Mass Storage Class Bulk-Only Transport;③USB Mass Storage Class ATA Command Block;④USB Mass Stroage Class UFI Command Specification。前两个子规范定义了数据/命令/ 状态在USB上的传输方法。Bulk-Only传输规范仅仅使用Bulk端点传送数据/命令/ 状态,CBI传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状 态传送。后两个子规范定义了对存储介质的操作命令。UFI命令规范是针对USB 移动存储而制定的,实际上UFI命令格式是基于SFF-8070i和SCSI-2规范,总共定义 了19个12字节长度的操作命令。

    批量单独传输在大部分的通信中使用批量传输,只有在批量端点上清除一 个Stall状况,以及传送类别特定请求(class-specific request)时才使用控制传输。需 要注意的是,批量单独传输还支持两个特定的请求是: *Bulk Only Mass Storage Reset——重置设备;
    *Get Max Lun——取得设备支持的逻辑单元数目。

    大容量存储类支持的设备都有不同的内部结构,控制与读取不同设备需要 使用不同的命令区块群。

    2 器件简介 2.1 USB控制器PDIUSBD12 PDIUSBD12是一个全速芯片,支持一个控制端点,以及四个额外的端点地址,一个端点的地址可以存储128个字节,而双缓冲区可以存256个字节。该芯片完 全由软件控制,在外围设备的CPU送来一个命令来仿真连接总线之前,芯片都是维 持与主机分离的状态。这样才能保证在开机后搜寻设备前,芯片有时间来初始化。

    另外,PDIUSBD12有一个状态输出可以连接到液晶显示器上,在建立USB连接时 亮灯,而数据传输时闪烁。PDIUSBD12引脚图和逻辑框图分别如图1、2所示。

    2.2 K9F5608U0A K9F5608U0A是三星公司生产的K9XXXXXU0A系列闪存中的一种,32MB 容量,读写速度快,数据保存时间长以及高达10万次的擦除写入寿命等优点。该芯 片具有一个八位的I/O端口。在CE为低电平时,把WE置低,地址、命令和数据都可 通过该端口写入。数据在WE的上升沿被锁存,CLE和ALE分别用来控制对命令和 地址的锁存。同进K9F5608U0A具有较强的纠错功能,能够最大限度地保护用户数 据。其内部框图和引脚图分别如图3、4所示。

    各引脚功能如下: I/O0~I/O7——数据输入/输出;
    CLE——命令锁存使能;
    ALE——地址锁存使能;
    CE——片选信号;
    WE——写使能;
    WP——定保护;
    nbs R/B——准备好/忙;
    VCC——电源;
    VSS——地;
    NC——悬空。

    3 硬件电路设计USB大容量存储设备通常使用一个USB接口引擎和MCU(微控制器)一起 处理主机发送的命令,以及对存储设备进行操作。图5显示了一个USB大容量存储 设备通常采用的硬件结构。ROM和RAM分别用于存储数据和程序,USB微控制器 通过通用I/O线与闪存设备连接。微控制器除了实现与主机之间的数据/命令传输 外,还需要根据主机的命令对闪存器件并行读/写/格式化,实现逻辑扇区与物理扇 区之间的转换及数据错误校正等操作。

    实例简图如图6所示。MCU采用内含ROM和RAM的微控制器8051,8051通 过数据总线和控制总线与两个外设进行通信。PDIUSBD12通过8051和 K9F5608U0A进行数据传输,此处采用PDIUSBD12的并行传输方式。

    4 软件编写 USB微控制器除了传输处理及UFI命令处理等工作外,还需要处理如存储 介质的寻址/格式化/数据校验等操作。本例中所需要的基本操作包括: ①提供USB枚举信息;
    ②USB传输管理;
    ③根据主机的UFI命令,进行相应的处理;
    ④提供闪盘基本信息,如扇区大小、簇大小、闪盘容量等;
    ⑤逻辑簇(logical cluster)到物理块(physical block)的转换;
    ⑥物理块的读/写/更新,其中许多的软件功能是与闪存的操作相关的。

    图6 本例中用到的传输协议为USB Mass Storage Class Bulk-Only Transport和 USB Mass Storage Class UFI Command Specification。程序流程图如图7所示。

    图7 5 结论 本文结合实例,给出了一种开发USB移动存储设备的方法。由于USB移动 存储设备具有使用方便、容量大、数据传输速度快等优点,因而具有广阔的高层前景。

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    USB闪存 用PDIUSBD12与K9F5608U0A设计USB移动闪存》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.