当前位置:首页 > 单片机 > 单片机
[导读]摘要:MultiMediaCard是Sandisc公司推出的大容量串行Flash存储卡,外形尺寸为32mm×24mm×1.4mm,质量小于2g,7针引脚,便于开发设计小型的移动数码设备。本文重点介绍此类存储器与PIC单片机的接

摘要:MultiMediaCard是Sandisc公司推出的大容量串行Flash存储卡,外形尺寸为32mm×24mm×1.4mm,质量小于2g,7针引脚,便于开发设计小型的移动数码设备。本文重点介绍此类存储器与PIC单片机的接口,给出实际的电路设计和软件代码示例。

1 概述

Sandisc公司推出的大大容量串行Flash存储器产品——MultiMediaCard(MMC),通常叫作多媒体卡。它的体积比SmartMedia还要小,不怕冲击,可反复读写记录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接口实现与主控制器的通信。单芯片控制器完成接口协议、数据存储检索、纠错码算法、故障诊断处理、电源管理和时钟控制功能。数据内存模块可以实现整个存储空间内的单字节访剩??皇羌虻サ淖终罅校??潜环殖闪硕嘀纸峁埂?12个字节构成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卡命令及答复信号

所有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,表示卡正忙。存在非零位表明卡已经准备好接收下一命令。

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传输线开始读/写操作。

5 MMC卡与单片机接口实例

5.1 硬件电路设计

图6为笔者采用Sandisc公司容量为32MB的MMC卡
设计的便携式数据采集系统的一部分。单片机采用美国Microchip公司推出的PIC16F73B。单片机的工作频率为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。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

原文链接:https://www.analog.com/cn/analog-dialogue/articles/introduction-to-spi-interface.html之前详细介绍过SPI协议,今天分享一篇A...

关键字: ADI SPI接口

摘要:提出了将SDHC卡作为CC2530的外部存储设备实现数据存储的方法。SDHC卡具有体积小、存储容量大的特点,通过CC2530组建的无线传感网络适用于工业监测,而将SDHC卡与CC2530相结合,则能够长期连续工作并...

关键字: SDHC卡 CC2530 SPI模式 FAT32

在单片机系统设计中,LED显示方式由于具有使用方便、价格低廉等优点而得到广泛应用。在采用并行显示方式时,显示电路的段码与位控码要占用单片机的较多口线,尽管可采用8155等接口芯片进行扩展,但口线利用率仍较低,

关键字: LED LED电路 单片机接口

1、标准的SPI通讯协议SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速,全双工,同步的通讯协议。SPI通常需要四根线,它们是MOSI(数据输出)、MISO(数据

关键字: SPI接口 烧录 芯片 SPI通讯

目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(MCP2515等)与MCU进行通信。由于本设计采用PC /104总线扩展卡的方式来扩展多个RS232和RS485接口,没有多余的I

关键字: MCP2515 接口电路设计 CAN总线接口 SPI接口

1 前言数字信号处理器的诞生,揭开了PC通信与消费电子市场的新纪元。笔者这次重点介绍在研发过程中涉及到的TMS320F240与外围器件的SPI接口设计。2 结构和特点TMS320F240是T

关键字: SPI接口 外围器件 TMS320F240 MCU

摘要:介绍了SPI通信协议,给出了将TI公司生产的TMS320C5402 DSP用于SPI协议通信的串口配置方法和接口电路设计,同时给出了串口McBSP的配置程序。 关键词:多通道缓冲串行口 McBSP TMS320C...

关键字: DSP 通信 SPI接口 接口协议

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

关键字: 单片机接口 MULTIMEDIACARD SPI模式 SPI接口

串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,它允许CPU与TTL移位寄存器、A/D或D/A转换器、实时时钟(RTO)、存储器以

关键字: Linux 嵌入式 S3C2410 SPI接口

摘要:介绍嵌入式家庭网关的基本框架和信息流程,及其CPU S3C4510B的体系结构和内部资源;说明在所选用uClinux操作系统下,添加SPI接口驱动程序的详细过程。 关键词:家庭网

关键字: 嵌入式 模拟 软件 SPI接口
关闭
关闭