打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
移动式存储器的原理与应用
类别:存储器  
 
引言

  SCNDISKMULIMEDIACARD是美国 SNADISK公司1998年推出的一种移动式FLASH存储器,简称MMC卡。它具有体积小(32mm×22mm×1.5mm)、存储量大、接口简单、抗抖动和震动能力强,使用寿命长、低功耗、可适应于温度与湿度变化较大的环境等优良特点,可作为嵌入式操作系统的可移动式存储器的完美的选择。它的出现解决了嵌入式操作系统与其它设备之间的数据交换,特别适合在全球定位系统(GPS),音乐播放机,数码摄像机,移动电话等电子设备中应用。

  2MMC卡结构与原理

  2.1MMC卡结构

  如图1所示,MMC卡分为两个模块:微处理器模块和存储器模块。其中微处理器的主要功能包括管理通讯协议,命令解释,数据输出与存储,错码校验,电源管理,逻辑和缺省管理。由于MMC包括一套成熟的缺省与误码管理系统,所以误码概率极低。

  存储器模块是由FLASHROM构成的存储区,所有数据经微处理器理后,都存储在此区域中。在存储器模块中,字节地址是从0开始依次增加到最后一个单元,每个地址都是可读写的,但它又不是简单的排列。MMC卡中规定:512个字节称为一个扇区,根据MMC卡的型号,16或32个扇区为一个块。仅在SDMB8中16个扇区为一个块,其余如SDMB32, SDMB64中均为32个。其余又分为可擦除块(由32个块组成)、保护块(由32个可擦除块组成)。其中扇区是最小的写和擦除的基本单位,许多数据的读写操作都是围绕它展开的。

  2.2MMC的读写方式

  MMC卡有3种读写方式:数据流读写,单扇区读写及多扇区读写。它们之间各有异同,用户可以根据自己系统的特点选择适合工程需要的方式,它们之间的异同如图2所示。

  从图2可以看出,3种操作的读方式比较相近。

  主机发出读操作的地址,可以是随机的。而方式1和方式3可以跨扇区进行,方式2仅仅在一个扇区内进行并且不需要停命令,它的数据长度是预先设定的,更加简单、准确。数据流法没有多扇区法可靠。因为数据流法对数据的读写都没有校验,有可能出现误码。

  3种方式的写操作都是以扇区的整数倍开始和结束的。单扇区对数据的写入是在一个扇区内进行的,故不需要停命令。

  2.3MMC接口与通讯协议特点

  MMC卡和外部有2种接口形式,对于每一种接口形式, MMC卡与外部进行数据通信对应一种协议:一种为MMC模式生产厂家根据本卡的特点并参照SPI协议制定的;另外一种是通用的SPI模式,它是MMC模式的子集(这种模式经常用在MOTOROLA的微处理器中)。二者有许多相似之处,而差异主要表现在外部接口与命令集与响应上,参见表1。

  表 1 两 种 协 议 下 的 接 口 异 同

  MMC协议 SPI协议 名称 功能描述 名称 功能描述 1 RSV 保留引脚,不接或置高 CS 片选引脚(低电平有效) 2 CMD 命令与响应引脚 DataIn 输入数据引脚 3 VSS1 电源接地引脚 VSS1 电源接地引脚 4 VDD 电源引脚 VDD 电源引脚 5 CLK 系统时钟 CLK 系统时钟 6 VSS2 电源接地引脚 VSS2 电源接地引脚 7 DAT[0] 数据引脚 DataOut 输出数据引脚

  3 MMC卡 指 令 集

  3. 1 命 令 分 类

  MMC卡 的 命 令 集 分 为 几 类 , 每 组 负 责 完 成 一 类 独 立 的 任 务 , 如 块 写 类 完 成 块 长 度 的 定 义 、 块 首 地 址 的 设 置 和 块 停 止 命 令 的 发 送 。 每 个 块 中 的 命 令 有 以 下 几 种 : 分 散 式 命 令 (无 应 答 式 ), 分 散 式 命 令 (有 应 答 命 令 和 应 答 都 在 命 令 线 上 ), 点 对 点 式 (命 令 和 应 答 都 在 命 令 线 上 ), 点 对 点 式 (命 令 传 输 在 命 令 上 , 应 答 数 据 在 数 据 线 上 )。

  3. 2 命 令 格 式 与 响 应

  MMC卡 的 命 令 格 式 如 下 :

0 1 5-0 31-0 6-0 0 起始位 主机位 指令索引 协议 循环冗余码校验 末位

  7 bit CRC Calculation:

  G(x) = x7 + x3 + 1

  M(x) = (start bit) + (host bit)+ x38 + ...

  + (last bit before CRC)+ x0

  CRC[6...0] = Remainder[(M(x).x7)/G(x)]

  对于两种协议的命令字,都是由上述3个公式求出7位校验位的值,结合命令号、命令参数以及起始位求出。针对每一个命令都有确定的响应类型与之对应。每种协议都有3种响应形式R1,R2,R3(它们各个响应位性质就不一一介绍了,参考使用说明书),其中R1为标准的响应形式,而其它两种形式仅是对少数命令作出的。命令与响应的时序我们用图3的SPI协议下多扇区的写操作来理解。

  4应用实例

  现在,我们通过在MMC协议下,用单扇区法来实现主处理器对MMC卡的读操作过程。因为系统采用32位ARM处理器,所以例子中的语言用ARM型的汇编语言来示范这个例子。电路原理如图4所示。