积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 首页 >> 行业应用 >> 工业控制 >> 应用笔记
  相关分类:
MMC在便携式数据采集系统中的应用
 
作者:湖北师范学院 计算机科学系,湖北 黄石   来源:《电子技术应用》    点击数:163   更新时间:2008-3-28
您可以添加到网摘 让更多人关注此文章:

    摘 要: 介绍了多媒体卡MMC的工作原理、MMC的串行外设接口协议模式及在大容量便携式数据采集系统中的应用,最后给出了PIC16F73B微处理器与MMC的接口设计。

关键词: 嵌入式系统 数据采集 串行外设协议(SPI) MMC接口

  

  目前比较常见的数据采集及处理系统是功能完备的微机系统。这种系统虽然能较快地分析和处理监测到的信号,但往往只能在固定的位置使用,在野外和移动的情况下则显得十分笨重和不便。特别是野外数据采集作业,往往需要长时间地采集、记录海量数据,需要体积小、重量轻、存储容量大的数据采集及处理仪器。近几年,随着非易失存储技术的发展以及处理器(如嵌入式系统和DSP)性能的不断提高,使信号采集存储系统的耗电量和体积不断减小,满足了便携式的要求,但其读写速度不及MMC。多媒体卡MMC(Multimedia Card)是由美国SANDISK公司和德国西门子公司在1997年共同开发研制的一种多功能、体积小、容量大的快闪存储卡。MMC的发展目标主要是针对移动电话、数码相机、数码摄像机、MP3音乐、PDA、电子书、玩具等产品。

  MMC在一定程度上改善了CF卡读写速度较慢的缺点,并且其体积轻巧、抗冲击性强、可反复读写30万次左右。MMC4.0的标准提供了更宽的数据带宽和更快的传输速率,并支持双电压操作模式。MMC还具备存储区纠错能力和低功耗特性,如果5ms内没接收到系统控制命令字,MMC则会自动转入休眠状态,同时它还支持热拔插操作。由此可见,将MMC应用于大容量便携式数据采集系统是一种很好的选择。

  1 MMC的结构及工作原理[1]

  1.1 MMC的管脚及功能

  MMC常被设计为一种低成本的数据平台和通讯介质,其存储容量可达2GB。MMC的接口设计非常简单,如图1所示。它采用7针接口,低成本的串行总线,时钟频率可达20MHz。MMC的操作电压为2.7~3.6V,读/写电流也只有23mA和27mA。MMC最小数据传送单位是块,块的大小缺省值定义为512B。MMC的读写模式包括流式模式、多块模式和单块模式等。

  

  

  MMC读写接口可在MMC协议和SPI两种通信协议下工作。MMC协议是MMCA协会开发的高性能三线制通信协议,可寻址64 000张MMC多媒体卡,支持顺序读/写操作、单/多数据块读/写操作。表1是MMC使用SPI协议时的管脚定义。

  

  

  

  1.2 MMC的内部逻辑结构及功能

  MMC的内部逻辑结构可分为四部分:SPI/MMC通信协议接口、单芯片控制器、数据闪存模块、控制线和数据线。SPI/MMC接口实现与主控制器的通信,单芯片控制器完成接口协议、数据存储检索、纠错码算法、故障判断处理、电源管理和时钟控制等功能。数据闪存模块实现整个存储区空间的单字节访问,控制线和数据线实现单芯片控制器与数据闪存模块的访问及数据传输。

  1.3 SPI/MMC通信协议

  MMC协议是MMC默认的通信协议,SPI协议作为MMC协议的一个子集,是MMC协议的可选协议。其工作效率虽然不及MMC协议强大,但是SPI协议简单易用、兼容性好、便于和单片机连接使用,且可以把设计费用减到最小。SPI协议主要应用于MMC需要数量不大并且数据传输率要求不太高的系统。

  MMC通电后,会以默认方式进入MMC协议模式;如果要转入SPI协议模式,则需要进行相应的协议模式切换;如果要从SPI协议模式转入MMC协议模式,只要切断电源后重新通电,系统即能以默认方式进入。本设计采用SPI通信协议模式。

  1.4 MMC的文件系统

  MMC的文件格式定义并不包括在系统规范内。为了提高资料的互换性,MMC定义了三种基本的文件系统,其中除了不带分区的DOS-FAT文件系统和类似硬盘带分区的文件系统外,开发者还可以定义自己独特的文件系统。这些定义使得MMC同样具有广泛的操作系统平台(如DOS系统、Windows系统及Linux系统等)支持。

  2 MMC的SPI协议

  2.1 SPI接口及通信模式

  SPI接口是一种通用同步串行接口总线,用来同外部设备进行通信,字长为8位。SPI接口利用CLK、DataIn、 DataOut三线进行数据的读写操作。其中,CLK为时钟信号,由外部控制器提供;DataIn和DataOut为数据输入和输出线。是MMC的片选信号线,在整个SPI操作过程中,必须始终保持低电平有效。

  2.2 MMC命令的CRC校验

  为了确保数据存储的准确性,MMC在数据处理时均采用CRC校验字。MMC的CRC校验分为CRC7和CRC16两种。CRC7几乎适合于MMC的所有命令(只是应答信号格式为R3的除外),CRC7的算法表达式为:G(x)=x7+x3+1。而CRC16用于数据块传输模式的保护处理,它的算法表达式为:G(x)=x16+x12+x5+1。

  2.3 MMC命令的应答信号格式

  所有MMC的命令字长度均为6个字节,传输从高位开始,且包含一个CRC校验字。命令字的格式如表2所示。

  

  

  对于MMC的命令,MMC有多种应答信号格式,且应答信号的传输方向也是从高位开始。在SPI协议模式下,有5种应答信号格式:即R1、R2、R3、Busy和R1b。

  通常,MMC接收到每个命令字后,都会发送一个格式为R1的应答信号(卡状态查询命令字CMD13除外),此应答信号为1字节,最高位为0,其他位为错误标志位,如表3所示。

  

  

  

  Busy格式应答信号的长度为多个字节。各位均为0时,表示MMC正忙;如果存在非0位,表明MMC已经准备好接收下一个命令。

  R2格式应答信号的长度为2个字节,用于答复卡状态查询命令字CMD13,首字节同R1,第2字节表示的是错误类型,如表4所示。

  

  

  

  R3格式应答信号的长度为5个字节,用于答复卡内OCR寄存器,R3的首字节同R1,其余4字节为OCR寄存器的内容。

  R1b格式应答信号包括两部分:R1格式部分和Busy格式可选附加部分。

  3 MMC的命令

  MMC的命令字共分为10个命令组,SPI协议模式支持其中的6个命令组,可以实现MMC系统的基本设定、数据块读、数据块写、擦除、写保护和MMC锁定等功能。以堆栈的检查管理命令CIM_CHECK_STACK为例,它是命令组中基本设定命令之一。它主要通过命令SEND_CSD(CMD9)读取MMC的信息,然后与进入系统堆栈表的接口卡的信息进行对比。如果不是上一张卡,再判定是否超时和超出卡的限定数量,从而确定该卡是否已进入系统。堆栈的检查管理命令流程图如图2所示。

  

  

  4 MMC与嵌入式系统芯片组成的大容量便携式数据采集器的接口

  4.1 MMC与嵌入式芯片的硬件接口设计

  图3是MMC与嵌入式系统芯片PIC16F73B的硬件接口。图中,FM24CL64为缓存芯片,采用Port C的硬件SPI接口对MMC卡进行读写操作[2][3]。

  

  

  

  4.2 MMC与嵌入式芯片的软件接口设计

  MMC与嵌入式芯片接口的部分软件流程如图4所示。

  

  

  在访问MMC存储单元前,需要首先设定访问块的长度,系统默认访问块的长度为512字节,通过写缓存芯片FM24CL64完成。当写入的数据达到512个字节时即转入MMC主存,故读写长度不需要再重新设定。MMC格式化为FAT文件系统结构后,数据以文件的形式保存,这样可方便上位机对MMC主存的读取。以下是嵌入式系统对MMC卡写文件的部分程序代码:

  Void file_write(DIR_tag *file_tag,char*){

  U16 j.offset=file_tag.StartCluster*2;

  Mmc_read_block(&sdc,fat1_addr+offset/512,mmc-buffer);

  Mmc_buffer[offset%512]=0xff;

  Mmc_buffer[offset%512+1]=0xff;

  Mmc_write_block (&sdc,fat1_addr+offset/512,mmc_buffer);

  Mmc_write_block (&sdc,fat2_addr+offset/512,mmc_buffer);

  For (j=0;jMmc_write_block(&sdc,519+(file_tag.StartCluster-2),mmc_buffer);

  }

  采用嵌入式系统芯片PIC16F73B与MMC搭建信号采集的硬件平台,仅使用很少的外部逻辑电路。整个系统可以采用3.3V单一低电压供电,供电电路非常简单。在系统软件实现上,可以采用交替式双缓存机制,将采集到的数据先存入数据缓冲区(图3中的FM24CL64)中。当数据缓冲区写满时发出溢出中断,再对MMC进行突发式写操作。当写操作完毕后可以发送命令,使MMC立即进入休眠状态,将功耗降至最低。这样在数据采集系统工作的大部分时间内,MMC处于休眠状态,工作电流很低。该系统适于野外(如地质、石油等部门)的数据采集与存储工作,数据文件可以在Windows环境下用读卡器读取,方便了数据的进一步分析和处理,且具有低功耗、携带方便、性能价格比高等特点。

  参考文献

  [1] Multimedia card product manual rev 5.1[S].SANDISK CORPORATION,2002.

  [2] 孙方,颜国正,王文兴.Multimedia Card及其与单片机接口[J].单片机与嵌入式系统应用,2004,(6).

  [3] 李学海.PIC单片机实用教程[M].北京:北京航空航天大学出版社,2002.

  [4] 张凯,姜熙君,陈 磊等.MMC的文件系统及其实现方法[J].单片机与嵌入式系统应用,2006,(5).



相关文章
· MMC在便携式数据采集系统中的应用[339]
· 基于嵌入式系统的多媒体存储卡接口设计[169]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
ARM联手IBM等三家公司开发32n
Hitachi Elect
中国芯片供需缺口达七成
西班牙研发出视觉鼠标 眨眼
首条OLED生产线昆山投产 
宇航服电子元器件:航天员的“生命保护
美研发出可卷曲太阳能电池
美国研发嗅觉感受器获新进展 
首尔半导体就日亚(NICHIA)专利
MIPS 科技授权国家集成
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
写给迷茫中的嵌入式新手...
Arm/DSP/FPGA的比较...
Arm/DSP/FPGA的比较...
Arm/DSP/FPGA的比较...
[分享]逆变器的买与用...
[分享]电力系统直流电源装置的...
单片机如何控制TFT真彩色LC...
请教:2051的C程序...
中国为何没有世界级的企业和企业...
AVR的EEPROM,到底怎么...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网