MMC与PIC单片机接口电路和代码设计

发布者:码梦狂人最新更新时间:2018-04-07 来源: eefocus关键字:MMC  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。


关键字:MMC  PIC单片机  接口电路 引用地址:MMC与PIC单片机接口电路和代码设计

上一篇:基于PIC16F877单片机的井下压力测量技术研究
下一篇:采用nRF24Z1无线射频芯片的数字音频的无线转发系统设计

推荐阅读最新更新时间:2024-03-16 15:59

80C32E单片机与TLV2548的接口电路控制设计
O 引言 TLV2548是TI公司生产的12位、多通道、小尺寸、低功耗、高速串行A/D转换芯片,它有一个专与DSP连接的帧同步(FS)信号,故可广泛用于DSP高速数据采集系统中。 MCS-51系列单片机历经了多年的发展,其应用技术已十分稳定可靠。TLV2548尺寸小、接口简单。且这两种芯片都有过上天飞行的经历,因此,可以适用低成本、控制简单、数据处理量不大、可靠性要求较高的航天产品中。 为此,本文将介绍80C32E单片机与 TLV2548 的接口电路及其控制程序的设计方法。 1 接口电路设计 80C32E与TLV2548的接口电路如图1所示。 TLV2548提供了一个SPI串口。80C32E则采用通用I/
[单片机]
80C32E单片机与TLV2548的<font color='red'>接口电路</font>控制设计
PIC单片机入门教程(二)—— 安装集成开发环境
教程中使用的电脑运行Windows 10 专业版 64位系统 1、下载 MPLAB X IDE v4.05 历史版本:http://www.microchip.com/development-tools/pic-and-dspic-downloads-archive 注:截至2018-06-10,MPLAB X IDE 最新版本是v4.15,v4.15版本在离线使用时,每次管理项目属性,都会弹出不能联网提醒,找不到解决方法,故退回使用已久的v4.05版本。 截至2018-06-12,MPLAB X IDE 最新版 v4.20 已解决离线使用时,管理项目属性不再弹出不能联网提醒。 2、安装 MPLAB X IDE
[单片机]
<font color='red'>PIC单片机</font>入门教程(二)—— 安装集成开发环境
基于PIC单片机控制的RLC智能测量仪
在使用电子元器件时,首先需要了解其参数,这就要求能够对元器件的参数进行精确测量。采用传统的仪表进行测量时,首先要从电路板上焊开器件,再根据元件的类型,手动选择量程档位进行测量,这样不仅麻烦而且破坏了电路板的美观。经过理论分析和实验研究,采用正交采样算法,并由单片机控制实现在线测量、智能识别、量程自动转换等多种功能,可大大提高测量仪的测量速度和精度,扩大测量范围。因此这种RLC测量仪既可改善系统测量的性能,又保持了印刷电路的美观,较传统的测量仪还具有高度的智能化和功能的集成化,在未来的应用中将具有广阔的前景。 1 硬件电路设计 此测量仪硬件设计思路如图1所示。 由于PIC单片机只能正确采集0~5 V之间的电压,而输入的信
[测试测量]
基于<font color='red'>PIC单片机</font>控制的RLC智能测量仪
基于PIC单片机的墨斗操作台系统的设计
  引言   随着科技的发展,印刷行业开始从传统的模拟生产转向数字化生产,墨斗作为胶印机的核心着色装置,其控制精度对胶印机的生产质量和自动化水平起着非常重要的作用。传统的墨斗采用手动调整的方式,使得胶印机的生产质量较差,生产准备时间长,资源浪费严重。一种由墨斗操作台控制系统、电机控制系统和上位机系统组成的墨斗控制系统在国外印刷行业得到了广泛应用,这种新的墨斗控制系统能大大提高墨斗的控制精度,并缩短生产准备时间、降低生产成本。本文所描述的墨斗操作台控制系统就是在跟踪国际先进技术的基础上,设计符合国内行情的产品,对提高国产胶印机的印刷质量和自动化水平有着重要意义。   1 墨斗操作台控制系统介绍   一台胶印机的墨斗系统通常由
[单片机]
PIC单片机与AD5410芯片控制系统输出4-20mA电流信号的设计
仪表、传感器输出的电流信号多为4-20mA,为什么是4-20mA呢?因为4-20mA的传感器多为两线制,即信号线和电源线公用两根线,如果起点是0mA就这导致无法区分信号是0mA,还是传感器不工作;另外,起点是4mA也利于系统判断传感器是否掉电或者是短线。 那4-20mA的电流信号该如何产生呢,在数字电路高度发展的今天以单片机为核心的系统比比皆是,但是单片机是数字信号,而电流是模拟信号,这就需要用到DA转换,即数字信号转换为模拟信号。 目前,单片机要控制系统输出4-20mA的电流信号的常用方案为: 今天要推荐一款芯片:AD5410,该芯片是ANGLOG DEVICE生产的,单通道12位串行输入的DAC芯片,与单片机的通信方式
[单片机]
<font color='red'>PIC单片机</font>与AD5410芯片控制系统输出4-20mA电流信号的设计
PIC单片机】-- 串口相关知识
00 写在前面 该系列的文章,源自于担任过PIC单片机课程的助教,主要向学弟们讲解了几节实验课的内容。在此记录上课的一些知识。 本系列文章主要介绍的内容: 实验1–介绍和基本I/O–按钮和LED(学习嵌入式的第一步就是点一个灯,就像学习编程语言的第一步都是写一个“hello world”代码) 实验2–MPLAB+PICkit 3+LCD+I/O(这次主要是介绍液晶显示屏的使用,很多时候我们系统的调试都需要用到,比如做一个测温系统,那我们就可以通过液晶显示屏,显示传感器采集的数值,然后再通过软件来做进一步的处理) 实验3–ADC(这个是模数转化实验,就是之前模数电学习那些知识的一个综合运用) 实验4–串行通信–UA
[单片机]
【<font color='red'>PIC单片机</font>】-- 串口相关知识
PIC单片机双机同步通信设计
1. 单片机 PIC1编程(主控发送) LIST P=16F876 #INCLUDE P16F876.INC CBLOCK 0X24 ;保留三个字节作为显示用 COUNT ;作计数器或暂存器用 ENDC ORG 0X0000 ;程序复位入口 NOP START GOTO M AI N ORG 0X0100 MAIN MOVLW 0X30 MOVWF FSR ;以下将从30H单元开始的 RAM 内容初始化 MOVLW 0X30 ;将值30H赋给单元30H MOVWF COUNT INTRAM MOVF COUNT,0 ;将30H~7FH赋给单元30H~7FH MOVWF INDF INCF COUNT,1 INCF FSR
[单片机]
<font color='red'>PIC单片机</font>双机同步通信设计
ARM HMS30C7202与触摸屏接口电路的设计
1. 导言 随着现代计算机技术和互联网技术的飞速发展,嵌入式系统开始占据市场主流。因32位ARM嵌入式处理器具有高性能、低功耗的特性,它已广泛应用于科学研究、工程设计,军事技术,商业文化艺术及消费产品。而触摸屏作为一种最新的电脑输入设备,具有坚固耐用、反应速度快、节省空间、易于交流等优点。主要用于公共信息的查询、工业控制、军事指挥、旅游、电子游戏、点歌点菜、多媒体教学和房地产预售等场所。因此,本文着重讨论基于嵌入式微处理器HMS30C720与触摸屏控制器的接口设计和底层串口驱动与上层microwindows图形界面结合的编程设计方法,以实现触摸屏对嵌入式设备之间的控制。 2. 系统的整体结构 该系统的整体结构如图
[单片机]
ARM HMS30C7202与触摸屏<font color='red'>接口电路</font>的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved