0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PIC16F73B微处理器和多媒体卡MMC实现便携式数据采集系统的设计

电子设计 来源:电子技术应用 作者:洪家平 2021-01-29 10:15 次阅读

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

目前比较常见的数据采集及处理系统是功能完备的微机系统。这种系统虽然能较快地分析和处理监测到的信号,但往往只能在固定的位置使用,在野外和移动的情况下则显得十分笨重和不便。特别是野外数据采集作业,往往需要长时间地采集、记录海量数据,需要体积小、重量轻、存储容量大的数据采集及处理仪器。近几年,随着非易失存储技术的发展以及处理器(如嵌入式系统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常被设计为一种低成本的数据平台和通讯介质,其存储容量可达2GB。MMC的接口设计非常简单,如图1所示。它采用7针接口,低成本的串行总线,时钟频率可达20MHz。MMC的操作电压为2.7~3.6V,读/写电流也只有23mA和27mA。MMC最小数据传送单位是块,块的大小缺省值定义为512B。MMC的读写模式包括流式模式、多块模式和单块模式等。

基于PIC16F73B微处理器和多媒体卡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卡进行读写操作。

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7987

    浏览量

    348781
  • 数据采集
    +关注

    关注

    38

    文章

    6060

    浏览量

    113628
  • 微处理器
    +关注

    关注

    11

    文章

    2259

    浏览量

    82407
收藏 人收藏

    评论

    相关推荐

    多媒体处理器动态电源管理技术

    多媒体处理器通常是便携式电子设备中功耗最高的器件。降低 CPU 功耗要求的常见方法是降低时钟频率或工作电压,但是一般而言这样做会使系统性能降低。另一方面,芯片设计人员还提出了各种片上方
    发表于 09-26 16:25

    【NanoPi2申请】fpga与嵌入相结合的多媒体数据采集系统

    优势。项目描述:而要做高速信号处理,不得不借助于FPGA或DSP。最近在研究基于FPGA的数据采集系统,鉴于fpga在复杂时序上难以实现的瓶颈,故结合嵌入
    发表于 12-02 16:06

    基于PIC16F73BMMC搭建信号采集硬件平台

    以及处理器(如嵌入系统和DSP)性能的不断提高,使信号采集存储系统的耗电量和体积不断减小,满足了便携式
    发表于 04-29 07:00

    多媒体卡有什么特点?

    多媒体卡最明显的外在特征是尺寸更加微缩——只有普通的邮票大小(是CF卡尺寸的1/5左右),外形尺寸只有32mm×24mm×1.4mm,而其重量不超过2g。这使其成为世界上最小的半导体移动存储,它对
    发表于 09-26 09:01

    用ARM和FPGA怎么设计便携式人工地震数据采集系统

    Linux技术,实现一种小型化、移动性强、网络耦合度高的便携式人工地震数据采集系统。该系统以满足人工地震观测的需要、减小仪器尺寸和重量、降低
    发表于 03-05 06:20

    分享一款不错的基于嵌入Linux的便携式RFID信息采集处理系统

    本文介绍一种基于嵌入Linux 的便携式RFID 信息采集处理系统。它采用高性能的32 位ARM920T 系列微处理器、8键的键盘及OL
    发表于 05-26 06:04

    基于嵌入系统多媒体存储接口设计

    嵌入系统由于本身存储容量的限制,急需扩展外存,多媒体卡MMC)就是解决外存扩展的一个很好的方案。多媒体卡
    发表于 12-06 14:38 18次下载

    基于MSP430F1611的便携式心电数据采集系统设计

    针对目前静态心电图机体积较大,不便于携带出诊的问题,设计一种基于MSP430F1611的便携式12导心电数据采集系统。该系统利用MSP430
    发表于 12-24 15:58 46次下载

    便携式多媒体系统如何实现高质量音频

    便携式多媒体系统如何实现高质量音频 在当前功能集中的便携式多媒体设备中,有越来越多的功能正被集成到越来越小的
    发表于 04-07 10:03 794次阅读
    <b class='flag-5'>便携式</b><b class='flag-5'>多媒体系统</b>如何<b class='flag-5'>实现</b>高质量音频

    基于MSP430F1611的便携式12导心电数据采集系统设计

    针对目前静态心电图机体积较大,不便于携带出诊的问题,设计一种基于MSP430F1611 的便携式12 导心电数据采集系统。该系统利用MSP4
    发表于 06-02 15:54 99次下载
    基于MSP430<b class='flag-5'>F</b>1611的<b class='flag-5'>便携式</b>12导心电<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>设计

    一种便携式高速数据采集器的研究实现_张珂

    一种便携式高速数据采集器的研究实现_张珂
    发表于 03-15 09:08 1次下载

    Blackfin处理器的并行外设接口简化了便携式多媒体中的LCD连接

    Blackfin处理器的并行外设接口简化了便携式多媒体中的LCD连接
    发表于 04-19 19:13 0次下载
    Blackfin<b class='flag-5'>处理器</b>的并行外设接口简化了<b class='flag-5'>便携式</b><b class='flag-5'>多媒体</b>中的LCD连接

    EE-264:多媒体卡™与ADSP-2126x SHARC®处理器的接口

    EE-264:多媒体卡™与ADSP-2126x SHARC®处理器的接口
    发表于 04-26 20:09 0次下载
    EE-264:<b class='flag-5'>多媒体卡</b>™与ADSP-2126x SHARC®<b class='flag-5'>处理器</b>的接口

    嵌入多媒体卡eMMC存储芯片介绍

    嵌入多媒体卡eMMC存储芯片介绍
    发表于 11-09 15:42 47次下载

    东沃MMC多媒体卡ESD静电浪涌防护方案

    多媒体卡英文名为:Multi-Media Card,缩写MMC,是一种小型可擦除固态存储,特别应用于移动电话和数字影像及其他移动终端中。
    的头像 发表于 11-13 18:16 529次阅读
    东沃<b class='flag-5'>MMC</b><b class='flag-5'>多媒体卡</b>ESD静电浪涌防护方案