• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 学前教育 > 正文

    Compact Flash存储卡的8051系统接口方案_8051输入输出接口有哪些

    时间:2020-07-14 07:19:48 来源:雅意学习网 本文已影响 雅意学习网手机站

      收稿日期:2006-09-27�   作者简介:刘佑祥(1946-),男,湖北武汉人,武汉科技大学中南分校信息工程学院副教授。�   (武汉科技大学中南分校 信息工程学院,湖北 武汉 430223)�
      摘要:本文介绍了SST公司Compact Flash存储卡(CF卡)的电气特性与接口指令集,提出了一个基于8051单片机系统的完整CF卡接口解决方案,并给出了详细硬件电路设计和软件设计要点。�
      关键词:8051单片机系统;CF卡;计算机接口设计�
      中图分类号:TP305 文献标识码:A��
      
      前 言�
      随着电子技术的迅速发展,嵌入式系统的功能变得越来越强大,设计中对其存储容量的要求也随之提高,所以原有的EEPROM等存储容量为KB级的存储器件已经无法满足设计要求。在这一背景下,Compact Flash Card(CF卡,见图1)作为一类存储速度快,存储容量大(容量可达数百MB至数GB)的新型存储器件就应运而生。但是由于CF卡的接口方式是为PC机接口设计的IDE方式,如果要在单片机系统中使用CF卡,需要在单片机系统中模拟IDE控制器的功能。因此,本文将讨论在8051系统中实现CF卡接口的解决方案。�
      
      图1 Compact Flash Card外观示意图�
      
      一、CF卡接口的电气特性�
      
      SST公司的CF的封装为25×2的双列插座,行列之间的间距均为25mil。由于封装的特殊性,在应用时需要自行设计SCH和PCB封装。设计PCB封装时需注意选择合适孔径和焊盘大小,因为排针的针脚为正方形不是圆形,所以焊盘的直径应选择为针脚截面正方形的对角线长。如果直接使用标准CF卡接插件,则PCB上应相应设计成适合的贴片封装。�
      
      二、主要功能引脚及说明�
      
      CF卡的主要功能引脚为数据线D0~D15,地址线A0~A9,片选及数据选择CE1,CE2,读写控制端OE、WR,寄存器选择REG,卡读写忙判断RDY/BSY,RESET等。�
      数据线D0~D15用于数据的读写。CF可以工作于16位数据总线方式也可以工作于8位总线方式。在读写速度上的要求不是很严格的情况下,为了方便和8位MCU的接口,一般选择为8位数据总线工作方式。�
      CE1和CE2的功能如表1所示:�
      
      若选择8位工作方式,CE2应接固定电平1,CE1低有效。在不同工作方式的说明中,可能把CE1和CE2分别改称CS0,CS1。�
      地址线A0~A9。CF卡在Memory工作方式下,仅地址线A0~A3起作用,用于选择读写端口,其余地址线可以接固定电平。�
      REG用于选择是对CF卡进行命令、状态读写还是读写CF卡的属性寄存器。REG=1时读写命令。如表2所示:�
      
      在Memory方式下,对CF的控制和数据读写均是通过对这几个端口的读写来实现的。�
      RDY/BSY用于判断CF卡是否处于读写忙状态。出于严谨性可以在对CF卡进行读写之前利用此引脚判断CF卡是否空闲。在数据读写量比较小的情况下,使用一定的延时即可。�
      
      三、实际应用电路设计�
      
      图2给出了CF卡的实际应用电路。图中96MB的CF卡工作于Memory方式,8位数据总线,接口的主控MCU是89C52。�
      
      图2 CF实际应用电路�
      单片机按标准的P2、P0口复用方式与CF卡接口。CS0,CS1,REG分别接单片机的P2�6,P2�5,P2�7,端口选择A3~A0接到经74LS373锁存的低4位地址,CF卡的读写引脚分别与单片机的读写信号相接。若把闲置地址引脚接固定电平,则系统分配给CF卡的端口地址为【B000】~【B007】。�
      INTRQ(即BSY/RDY)脚接到单片机的P1.7。�
      
      四、CF卡的存储特性�
      
      CF卡采取的是类似硬盘的分块存储方式,分为柱面Cylinder、头Head和扇区Sector管理。对96MB的CF卡而言,共有733个柱面,每个柱面8个头,每个头32个扇区,每个扇区512字节(8位)。CF卡的读写是以一个扇区为基本单位的,在读写一个扇区之前先送出当前需要读写的柱面、头和扇区,然后发送读写命令,一个扇区的512个字节需要一次性连续写入或者读出。�
      下面给出一段对CF卡读写的C51程序段:�
      #define DataPort XBYTE\[0xB800\]�
      #define Feature XBYTE\[0xB801\]�
      #define SecCount XBYTE\[0xB802\]�
      #define SecNo XBYTE\[0xB803\]�
      #define CylLow XBYTE\[0xB804\]�
      #define CylHigh XBYTE\[0xB805\]�
      #define CardHead XBYTE\[0xB806\]�
      #define Command XBYTE\[0xB807\]定义CF卡端口�
      
      CardHead=0xA0+head;置当前头�
      SecCount=0x01;一次读写一个扇区�
      SecNo=sector;置当前扇区�
      CylLow=cylinder%255;置柱面高位�
      CylHigh=cylinder/255;置柱面低位�
      Command=0x30;写扇区命令�
      delay(1);延时1ms�
      for(i=1;i

    推荐访问:存储卡 接口 方案 Compact Flash存储卡的8051系统接口方案 compactflash存储卡 compactflash读卡器

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章