Multimedia Card在便携式数据采集系统中的应用
目前比较常见的数据采集及处理系统是功能完备的微机系统,这种系统虽然能较快地分析和处理监测到的信号,但往往只能在固定的位置使用,在野外和移动的情况下则显得十分笨重和不便,特别是野外数据采集作业,往往需要长时间地采集、记录海量数据,需要体积小、重量轻、存储容量大的数据采集及处理仪器。
近几年,随着非易失存储技术的发展以及处理器(如嵌入式系统和DSP)性能的不断提高,使信号采集存储系统的耗电量和体积不断减小,满足了便携式的要求,但其读写速度不及MMC多媒体卡,MMC(Multimedia Card)是由美国SANDISK公司和德国西门子公司在1997年共同开发研制的一种多功能、体积小、容量大的快闪存储卡。MMC的发展目标主要是针对移动电话、数码相机、数码摄像机、MP3音乐、PDA、电子书、玩具等产品
MMC在一定程度上改善了CF卡读写速度较慢的缺点,并且其体积轻巧、抗冲击性强、可反复读写30万次左右。MMC4.0的标准提供了更宽的数据带宽和更快的传输速率,并支持双电压操作模式;MMC还具备存储区纠错能力和低功耗特性,如果5ms内没接收到系统控制命令字,MMC则会自动转入休眠状态,同时它还支持热拔插操作由此可见,将MMC应用于大容量便携式数据采集系统是一种很好的选择。
1 MMC的结构及工作原理
1.1 MMC的管脚及功能
MMC常被设计为一种低成本的数据平台和通讯介质,其存储容量可达2GBMMC的接口设计非常简单,如图1所示它采用7针接口,低成本的串行总线,时钟频率可达20MHz。MMC的操作电压为2.7~3.6V,读/写电流也只有23mA和27mA,MMC最小数据传送单位是块,块的大小缺省值定义为512BMMC的读写模式包括流式模式、多块模式和单块模式等。
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所示
- 计算机近距离无线数据采集系统设计(05-10)
- 基于DSP和ADS8364的高速数据采集处理系统(05-21)
- 嵌入式系统便携式数据采集装置设计(06-19)
- 基于AD7864和DSP的4路数据采集系统(07-16)
- 基于ARM的高速数据采集卡(08-07)
- 由AT91 M55800A构成的简易数据采集方案(10-19)