| 移动式存储器的原理与应用 |
| 类别:存储器 |
| 引言
SCNDISKMULIMEDIACARD是美国 SNADISK公司1998年推出的一种移动式FLASH存储器,简称MMC卡。它具有体积小(32mm×22mm×1.5mm)、存储量大、接口简单、抗抖动和震动能力强,使用寿命长、低功耗、可适应于温度与湿度变化较大的环境等优良特点,可作为嵌入式操作系统的可移动式存储器的完美的选择。它的出现解决了嵌入式操作系统与其它设备之间的数据交换,特别适合在全球定位系统(GPS),音乐播放机,数码摄像机,移动电话等电子设备中应用。 2MMC卡结构与原理 2.1MMC卡结构 如图1所示,MMC卡分为两个模块:微处理器模块和存储器模块。其中微处理器的主要功能包括管理通讯协议,命令解释,数据输出与存储,错码校验,电源管理,逻辑和缺省管理。由于MMC包括一套成熟的缺省与误码管理系统,所以误码概率极低。 存储器模块是由FLASHROM构成的存储区,所有数据经微处理器理后,都存储在此区域中。在存储器模块中,字节地址是从0开始依次增加到最后一个单元,每个地址都是可读写的,但它又不是简单的排列。MMC卡中规定:512个字节称为一个扇区,根据MMC卡的型号,16或32个扇区为一个块。仅在SDMB8中16个扇区为一个块,其余如SDMB32, SDMB64中均为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所示。 |
- 嵌入式应用中存储器..
- 2007-11-19
- 实时单片机通讯网络..
- 2007-7-29
- 同步图形存储器IS..
- 2007-8-9
- 基于IDE硬盘的高..
- 2007-7-29
- ADSP2106x..
- 2007-8-9
- 一种并行存储器系统..
- 2007-8-7
- 公共闪存接口CFI..
- 2007-8-7
- 增强型51系列单片..
- 2007-8-9
- RAID存储设备的..
- 2007-7-29
- 设计移动电子产品时..
- 2007-8-7
- 电子俘获光存储技术
- 2007-7-29
- 1兆位5伏闪速电擦..
- 2007-8-7
- DS198X和DS..
- 2007-8-9
- Intel Str..
- 2007-8-9
- 存储器的兼容性设计
- 2007-7-29
- 64M闪速存贮器K..
- 2007-8-7
- VB环境下对双端口..
- 2007-8-9
- 可更换的存储卡选择..
- 2007-8-9
- 分时存储技术在高速..
- 2007-8-9
- 遥测数据多硬盘并行..
- 2007-7-29



