微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > MMC在便携式数据采集系统中的应用

MMC在便携式数据采集系统中的应用

时间:12-06 来源:互联网 点击:
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卡进行读写操作。



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环境下用读卡器读取,方便了数据的进一步分析和处理,且具有低功耗、携带方便、性能价格比高等特点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top