MultiMediacard及其与单片机接口
关键词:MultiMediaCard 串行Flash存储卡 PIC单片机 接口
1 概述
Sandisc公司推出的大大容量串行Flash存储器产品——MultiMediaCard(MMC),通常叫作多媒体卡。它的体积比SmartMedia还要小,(凹丫丫范文网fanwen.oyaya.net收集整理)不怕冲击,可反复读写记录30万次,驱动电压2.7~3.6V,可变时钟频率范围为0~20MHz,目前常见的容量为64MB/128MB。ATP Electrionics公司已经率先推出了1GB的高容量MMC。除了体积小、寿命长、容量大等特性外,还具备存储区纠错能力;低功耗;5ms内没有接收到命令字后,自动转入休眠状态;支持热插拔等优点。MMC可以格式化为FAT文件系统,便于上位机读写。
2 MMC简介
2.1 引脚排列及功能
根据存储容量的不同,MMC有SMDB和SDMJ两种构成技术。SMDB即二进制NAND技术(Binary NAND),16MB和32MB容量的MMC卡采用此技术。目前常用的64MB和128MB的MMC采用SDMJ,即MLC(Multi Level Cell)NAND技术。各容量的MMC卡,其外形尺寸及引脚排列相同,如图1所示。
MMC读写接口可以在MMC和SPI两种通信 协议下工作。MMC是由MMCA协会开发的高性能三线制通信协议,即CMD、CLK、DAT线,最大可寻址64000张MMC卡,单个物理地址可叠放30张卡,支持顺序读写及单/多数据块读写操作,是MMC卡默认的通信协议。SPI协议为可选协议,工作效率不及MMC协议;但SPI协议简单易用,兼容性好,便于和单片机连接使用。本设计采用SPI通信协议,下文将详细介绍。
2.2 内部逻辑结构
MMC卡的内部逻辑结构可分为四部分:MMC/SPI接口、单芯片控制器、数据闪存模块、控制线和数据线。MMC/SPI接口实现与主控制器的通信。单芯片控制器完成接口协议、数据存储检索、纠错码算法、故障诊断处理、电源管理和时钟控制功能。数据内存模块可以实现整个存储空间内的单字节访问,它不是简单的字阵列,而是被分成了多种结构。512个字节构成1个扇区(sector)。根据MMC卡容量的不同,16或32个扇区构成1个擦除族(erase group)。32个擦除族构成1个写保护族(write protect group)。此设计使MMC操作灵活,使用方便。控制线和数据线实现数据存储区的访问,其内部逻辑结构如图2所示。
3 MMC/SPI通信协议
MMC卡上电后,默认进入MMC模式。如果转入SPI模式下工作,需进行模式切换。SPI模式设定流程如图3所示。
如需从SPI模式转入MMC模式,只能切断电源,重新上电,进入默认MMC模式。从实际应用角度出发,SPI模式设计简单,操作方便,但数据传输速率逊于MMC模式。基于设计要求,笔者采用了SPI通信协议。
4 存储器读写接口
4.1 SPI接口及操作模式
SPI接口是一种通用同步串行接口总线,字长为8位,用来与外部设备进行通信。SPI接口利用CLK、DataIn和DataOut三根线进行数据的读写。其中,CLK为时钟信号,有外部控制器提供;Datain和DataOut为数据
《MultiMediacard及其与单片机接口》