您的位置 首页 制造

MultiMediacard及其与单片机接口

摘要:MultiMediaCard是Sandisc公司推出的大容量串行Flash存储卡,外形尺寸为32mm%26;#215;24mm%26;#215;1.4mm,质量小于2g,7针引脚,便于开发设计小

摘要:MultiMediaCard是Sandisc公司推出的大容量串行Flash存储卡,外形尺寸为32mm%26;#215;24mm%26;#215;1.4mm,质量小于2g,7针引脚,便于开发规划小型的移动数码设备。本文要点介绍此类存储器与PIC单片机接口,给出实践的电路规划和软件代码示例。 关键词:MultiMediaCard 串行Flash存储卡 PIC单片机 接口 1 概述 Sandisc公司推出的大大容量串行Flash存储器产品——MultiMediaCard(MMC),一般叫作多媒体卡。它的体积比 SmartMedia还要小,

1.jpg

不怕冲击,可重复读写记载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.jpg

2.2 内部逻辑结构 MMC卡的内部逻辑结构可分为四部分:MMC/SPI接口、单芯片操控器、数据闪存模块、操控线和数据线。MMC/SPI接口完结与主操控器的通讯。

3.jpg

单芯片操控器完结接口协议、数据存储检索、纠错码算法、故障诊断处理、电源办理和时钟操控功用。数据内存模块能够完结整个存储空间内的单字节拜访,它不是简略的字阵列,而是被分成了多种结构。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为数据输入和输出线。CS是MMC片选信号线,在整个SPI操作过程中,有必要坚持低电平有用信号。 SPI接口共有四种操作方式,分别为0、1、2和3。SPI操作方式决议了设备接纳和发送数据时的时钟相位和极性,即决议了时钟信号的上升和下降沿与数据活动方向之间的联系,如图4所示。本规划选用方式3。 4.2 MMC卡指令及答复信号

4.jpg

一切MMC卡指令字长度均为6个字节,传输从高位开端,且包含一个CRC校验字。 指令字索引选用二进制编码。比方CMD0的索引位是000000,CMD39的索引位是100111。MMC卡指令字分为10个指令组,每组由多个指令字组成,完结MMC卡功用设定。SPI方式下的Sandisc MMC卡支撑其间的6个指令组,可完结根本设定、数据块读、数据块写、擦除、写保护、MMC卡确定功用。 MMC卡有多种应对信号格局,传输从高位开端。SPI方式下,存在5种应对信号格局,分别为R1、R2、R3、Busy、R1b。 接纳到每个指令后,MMC卡都发送一个格局为R1的应对信号,卡状况查询指令字CMD13在外。此应对信号占1字节,最高位为0,低7位为过错标志。若某位为1,标明存在相应过错。 Busy应对信号长度为多个字节。各位都为0,标明卡正忙。存在非零位标明卡现已准备好接纳下一指令。

5.jpg

R2格局应对信号长度为2字节,用于答复卡状况查询指令字CMD13。首字节格局同R1,第2个字节标明的过错类型。 R3格局应对信号长度为5字节,答复卡内OCR豁口读指令CMD58。首字节格局同R1,其他4字节为OCR豁口内容。 R1b格局应对信号包含两部分,R1格局部分和Busy格局可选附加部分。 4.3 MMC在SPI方式下的传输时序 MMC在SPI协议下读写时序如图5所示。主操控器发送读/写指令,当收到OUT传输互上正确的应对信号后,OUT/IN传输线开端读/写操作。

6.jpg

5 MMC卡与单片机接口实例 5.1 硬件电路规划 图6为笔者选用Sandisc公司容量为32MB的MMC卡规划的便携式数据收集体系的一部分。单片机选用美国Microchip公司推出的 P%&&&&&%16F73B。单片机的作业频率为4MHZ,选用Port C的硬件SPI接口进行MMC卡的读写操作。 5.2 软件规划 拜访MMC卡存储单元前,需求设定拜访块长度。默许长度为512字节。本规划是通过写缓存芯片FM24CL64,到达512字节后转入主存MMC的(硬件电路图应作相应的修正),所以读写长度不再设定。MMC格局化为FAT文件体系的结构后,数据以文件的方式为上位机所读取。 MMC接口部分软件规划流程如图7所示。 5.3 MMC卡SPI初始化与写子程序 由于MMC能够在两种协议下作业,且默许为MMC操作方式,所以有必要通过初始化才能在SPI方式下作业。初始化和写子程序代码见 www.dpj.com.cn。 图7

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/281275.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部