⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用pdiusbd12和k9f5608u0a设计usb移动闪存※.htm

📁 用PDIUSBD12和K9F5608U0A设计USB移动闪存
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0059)http://210.51.184.98/buaa1/dpj/html/magazine/2004_9/5-1.htm -->
<HTML><HEAD><TITLE>用PDIUSBD12和K9F5608U0A设计USB移动闪存※</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK 
href="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/home.css" rel=stylesheet>
<STYLE type=text/css></STYLE>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=black bgColor=white leftMargin=0 topMargin=10 marginheight="10" 
marginwidth="0">
<CENTER><!--顶部开始-->
<SCRIPT language=Javascript 
src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/head.js"></SCRIPT>
<!--顶部结束--><!--菜单开始-->
<SCRIPT language=Javascript 
src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/menu.js"></SCRIPT>
<!--菜单结束-->
<TABLE cellSpacing=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD colSpan=5 height=16>
      <DIV align=left><FONT color=#330099>当前位置:</FONT><A 
      href="http://210.51.184.98/first.htm">单片机与嵌入式系统应用</A>→用PDIUSBD12和K9F5608U0A设计USB移动闪存※<BR></DIV></TD>
    <TD colSpan=2 height=16>
      <DIV align=right></DIV></TD></TR>
  <TR>
    <TD colSpan=5 height=2></TD></TR>
  <TR>
    <TD colSpan=7 height=187>
      <TABLE height=150 cellSpacing=0 cellPadding=0 width=750 align=center 
      border=0>
        <TBODY>
        <TR>
          <TD class=normal vAlign=top width=150 bgColor=#d9e2fa height=3 
          rowSpan=4>
            <DIV align=center></DIV>
            <DIV align=center>
            <TABLE cellSpacing=0 width="100%" align=center border=0>
              <TBODY>
              <TR bgColor=#5593dd>
                <TD width=150 height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=15>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR></TBODY></TABLE>
            <P><BR><BR><BR><BR><BR><BR><BR><BR>   </P></DIV></TD>
          <TD vAlign=top width=5 height=3 rowSpan=4>&nbsp;</TD>
          <TD vAlign=top width=1 bgColor=#333399 height=3 rowSpan=4><IMG 
            src="" width=1></TD>
          <TD vAlign=top width=5 height=3 rowSpan=4></TD>
          <TD class=normal vAlign=top width=597 height=3 rowSpan=4>
            <DIV align=center>
            <TABLE height=100 cellSpacing=0 cellPadding=0 width="100%" 
            align=left border=0>
              <TBODY>
              <TR bgColor=#cccccc>
                <TD bgColor=#cccccc height=20>
                  <DIV 
              align=center>用PDIUSBD12和K9F5608U0A设计USB移动闪存※<BR></DIV></TD></TR>
              <TR vAlign=top bgColor=#fdffff>
                <TD background=用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/linebg.gif 
                height=177>
                  <BLOCKQUOTE>
                    <P><B><BR><BR>作 者:</B>■ 哈尔滨工业大学 董鲜宏 许洪光 林茂六<BR><BR><BR><B>摘 
                    要:</B>简要介绍USB(通用串行总线)大容量存储设备类,给出USB控制PDIUSBD12和闪存K9F5608U0A的原理框图,并以这两个芯片为例设计出存储设备的电路图,最后列出程序流程图。<BR><BR><BR><B>关键词:</B>USB 
                    PDIUSBD12 K9F5608U0A 移动闪存<BR><BR><BR><STRONG>引 
                    言</STRONG>:<BR><BR>  自从USB规范发布以来,短短的几年中得到了极大的发展,基于USB接口的大容量存储设备(USB 
                    Mass 
                    Storage)应运而生。这类设备主要有:USB移动硬盘、USB外置光驱、USB外置软驱、USB闪存盘等。但是目前国内介绍这一方面开发的文章并不多。结合作者实践,本文将以Philips公司的USB控制器PDIUSBD12和Sumsung公司的闪存(Flash)K9F5608U0A为例,介绍开发大容量存储设备的方法。<BR><BR><STRONG>1 
                    USB大容量存储设备类<BR></STRONG><BR>  USB大容量存储设备类规范包括四个独立的子类规范,即:①USB 
                    Mass Storage Class Control/Bulk/Interrupt (CBI) 
                    Transport;②USB Mass Storage Class Bulk-Only Transport;③USB 
                    Mass Storage Class ATA Command Block; ④USB Mass Storage 
                    Class UFI Command 
                    Specification。前两个子规范定义了数据/命令/状态在USB上的传输方法。Bulk-Only传输规范仅仅使用Bulk端点传送数据/命令/状态,CBI传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范定义了对存储介质的操作命令。UFI命令规范是针对USB移动存储而制定的,实际上UFI命令格式是基于SFF-8070i和SCSI-2规范,总共定义了19个12字节长度的操作命令。<BR><BR>  批量单独传输在大部分的通信中使用批量传输,只有在批量端点上清除一个Stall状况,以及传送类别特定请求(class-specific 
                    request)时才使用控制传输。需要注意的是,批量单独传输还支持两个特定的请求是:<BR><BR>◆ Bulk 
                    Only Mass Storage Reset——重置设备;<BR>◆ Get Max 
                    Lun——取得设备支持的逻辑单元数目。<BR><BR>  大容量存储类支持的设备都有不同的内部结构,控制与读取不同设备需要使用不同的命令区块群。表1列出大部分常用命令区块群命令的结构。<BR>       <IMG 
                    height=145 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-1.jpg" 
                    width=298><BR><STRONG>2 器件简介</STRONG><BR><BR>2.1 
                    USB控制器PDIUSBD12<BR><BR>  PDIUSBD12是一个全速芯片,支持一个控制端点,以及四个额外的端点地址,一个端点的地址可以存储到128个字节,而双缓冲区可以存到256个字节。该芯片完全由软件控制,在外围设备的CPU送来一个命令来仿真连接总线之前,芯片都是维持与主机分离的状态。这样才能保证在开机后搜寻设备前,芯片有时间来初始化。另外,PDIUSBD12有一个状态输出可以连接到液晶显示器上,在建立USB连接时亮灯,而数据传输时闪烁。PDIUSBD12引脚图和逻辑框图分别如图1、2所示。<BR>           
                    <IMG height=273 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-2.jpg" 
                    width=204><BR>       <IMG height=236 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-3.jpg" 
                    width=312> <BR>2.2 
                    K9F5608U0A<BR><BR>  K9F5608U0A是三星公司生产的K9XXXXXU0A系列闪存中的一种,32MB容量,读写速度快,数据保存时间长以及高达10万次的擦除写入寿命等优点。该芯片具有一个八位的I/O端口。在为低电平时,把置低,地址、命令和数据都可通过该端口写入。数据在的上升沿被锁存,CLE和ALE分别用来控制对命令和地址的锁存。同时K9F5608U0A具有较强的纠错功能,能够最大限度地保护用户数据。其内部框图和引脚图分别如图3、4所示。<BR>      <IMG 
                    height=232 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-4.jpg" 
                    width=324> <BR>          <IMG height=172 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-5.jpg" 
                    width=224> <BR>各引脚功能如下:<BR>I/O0 ~ I/O7——数据输入/输出; 
                    <BR>CLE——命令锁存使能;<BR>ALE——地址锁存使能;<BR>——片选信号; 
                    <BR>——写使能;<BR>——写保护;<BR>GND——地输入使能额外位;<BR>R/B——准备好/忙;<BR>VCC——电源;<BR>VSS——地;<BR>NC——悬空。<BR><BR><STRONG>3 
                    硬件电路设计</STRONG><BR><BR>  USB大容量存储设备通常使用一个USB接口引擎和MCU(微控制器)一起处理主机发送的命令,以及对存储设备进行操作。图5显示了一个USB大容量存储设备通常采用的硬件结构。ROM和RAM分别用于存储数据和程序, 
                    USB微控制器通过通用I/O线与闪存设备连接。微控制器除了实现与主机之间的数据/命令传输外,还需要根据主机的命令对闪存器件进行读/写/格式化,实现逻辑扇区与物理扇区之间的转换及数据错误校正等操作。<BR>         <IMG 
                    height=136 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-6.jpg" 
                    width=233><BR>  实例简图如图6所示。MCU采用内含ROM和RAM的微控制器8051,8051通过数据总线和控制总线与两个外设进行通信。PDIUSBD12通过8051和K9F5608U0A进行数据传输,此处采用PDIUSBD12的并行传输方式。 
                    <BR>   <IMG height=181 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-8.jpg" 
                    width=389><BR><STRONG>4 
                    软件编写</STRONG><BR><BR>  USB微控制器除了传输处理及UFI命令处理等工作外,还需要处理如存储介质的寻址/格式化/数据校验等操作。本例中所需要的基本操作包括:<BR>① 
                    提供USB枚举信息;<BR>② USB传输管理;<BR>③ 根据主机的UFI命令,进行相应的处理;<BR>④ 
                    提供闪盘基本信息,如扇区大小、簇大小、闪盘容量等;<BR>⑤ 逻辑簇(logical 
                    cluster)到物理块(physical block)的转换;<BR>⑥ 
                    物理块的读/写/更新,其中许多的软件功能是与闪存的操作相关的。<BR>本例中用到的传输协议为USB Mass 
                    Storage Class Bulk-Only Transport和USB Mass Storage Class UFI 
                    Command 
                    Specification。总程序流程图如图7所示。源代码见本刊网站www.dpj.com.cn。<BR>         <IMG 
                    height=427 
                    src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/5-7.jpg" 
                    width=234><BR><STRONG>5 结 
                    论</STRONG><BR><BR>  本文结合实例,给出了一种开发USB移动存储设备的方法。由于USB移动存储设备具有使用方便、容量大、数据传输速度快等优点,因而具有广阔的市场前景。<BR><BR><STRONG>                 参考文献</STRONG><BR>1 
                    Sumsung Electronics. K9F5608U0A-YCB0 32M x 8 Bit NAND Flash 
                    Memory. 2000<BR>2 USB Specification Revision 1.1. 1998<BR>3 
                    Universal Serial BusMass Storage Class Specification 
                    Overview Revision 1.1. 2000<BR>4 PDIUSBD12用户手册. 2001 
                    <BR><BR>林茂六:博士生导师,研究方向为现代信号处理技术及应用、大信号网络分析。<BR>许洪光:副教授,研究方向为高速AD及数据采集系统、数字电路板故障诊断。<BR>董鲜宏:硕士研究生,主要研究方向为高速USB数据传输、语音信号处理。<BR>                           
                    (收修改稿日期:2004-04-23) </P></BLOCKQUOTE></TD></TR>
              <TR bgColor=#fdffff>
                <TD vAlign=center bgColor=#cccccc height=20>
                  <DIV align=center><B><A 
                  href="http://210.51.184.98/buaa1/dpj/html/magazine/2004_9/first.htm">返回主页</A></B></DIV></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>   
<!--底部开始-->
<DIV align=left></DIV>
<DIV align=left>
<SCRIPT language=Javascript 
src="用PDIUSBD12和K9F5608U0A设计USB移动闪存※.files/foot.js"></SCRIPT>
</DIV></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -