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;j
}
采用嵌入式系统芯片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).