当前位置:首页 > 单片机 > 单片机
[导读]介绍一种基于单片机的MMC上文件系统的实现方法。通过单片机对MMC卡底层的操作,可以方便地实现MMC卡上文件(或目录)的创建、读写、删除等操作。文件可以在Windows下使用读卡器访问。

摘要 介绍一种基于单片机的MMC上文件系统的实现方法。通过单片机对MMC卡底层的操作,可以方便地实现MMC卡上文件(或目录)的创建、读写、删除等操作。文件可以在Windows下使用读卡器访问。
关键词 MMC/SD卡 FAT单片机 文件系统

引 言
    多媒体卡MMC(MultiMedia Card)是由美国SanDisk公司和德国Simens公司于1997年共同开发推出的一种多功能存储卡。内置控制电路,可以使用在手机、数码相机、MP3、PDA等多种数字设备上,可反复记录30万次。现在市场上的主流容量有128 MB~2 GB。

    文中首先介绍单片机对SPI协议下的MMC卡的底层读写操作,然后分析MMC卡文件系统的结构,最后详细说明MMC卡文件的创建、读写、删除等操作。该方法可应用到与Windows有交互的嵌入式系统中,便于文件的统一管理。

1 单片机与MMC卡的接口
1.1 单片机与MMC卡的接口电路

    接口电路采用的是Philips公司的增强型LPC93x系列单片机。它除了比普通的8051有更快的指令执行周期外,还提供多种在片的硬件接口功能,如UART、SPI、I2C等,因此用LPC93x的SPI接口实现单片机与MMC卡的互连。

    MMC卡有7个引脚,支持两种串行数据传输协议,即MMC(Multimedia Card)模式和SPI(Serial PeripheralInterface)模式。在SPI模式中,通过4条信号线完成数据的传输。这4条信号线分别是时钟SPICLK、数据输入MISO、数据输出MOSI和片选SS#。

    LPC93x单片机与MMC卡的接口电路如图l所示。

1.2 MMC卡底层读写原理
    MMC卡读写操作都是基于命令的,通过向MMC卡发送枢直的命令并读取枢直的响应来实现对MMC卡的控制。在对MMC卡读写之前,首先要进行初始化操作。这是确保MMC卡能在SPI模式下进行正常数据读写的前提。需要注意的是,在发送使MMC卡空闲命令CMD0之前至少等待74个时钟,确保MMC卡进入SPI模式。

    初始化完戚之后,如果使用默认的块读写长度(512字节),就可进行MMC卡的读写。当然,也可用CMD16来设置。MMC卡的块读取长度,可以是1~512字节之间的任意值。但是对MMC的写过程则要求块长度必须为512字节。无论是MMC卡的读还是写,都要求在读写命令发送后有数据起始令牌FEH,数据传输结束之后有2个字节的循环冗余编码CRC(Cyclic Redundancy Codes)。

2 MMC卡文件系统的结构分析
   
要使写入MMC卡的数据在Windows下访问,需要在MMC卡上创建Windows支持的FATl6文件系统。MMC卡上的FATl6文件系统的结构包含分区引导记录、文件分配表、文件目录表以及数据区4个部分。

    分区引导记录通常包含4块内容;
    ①BIOS参数记录块BPB(BIPS Parameter Block);
    ②磁盘标志记录表;
    ③分区引导记录代码区;
    ④结束标志55AA。

    BPB表从扇区字节位移0bH开始,共占25字节。表1是从MMC卡的首扇区中读出的BPB表的内容。

    在分区引导记录之后是FAT(File Allocation Table,文件分配表)区。FATl6的文件系统中有两份完全相同的文件分配表FATl和FAT2,每份FAT表占用空间的大小可从BPB表中查得。

    文件在磁盘上以簇为单位存储,但是同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,往往会分成若干簇,FAT表就是记录文件存储中簇与簇之问连接信息的,这就是文件的链式存储。FATl6以2个字节(即16位)表示1个簇,起始2个字为F8FFH、FFFFH,后面的FFFFH表示终止,0000H表示未使用。

    紧接在FAT表之后的是文件目录表FDT,固定占32个扇区,每个扇区可以容纳16个登记项,每个登记项的长度是32字节。

    文件目录表之后就是数据区DATA,用来存放文件数据,占用大部分的磁盘空间。

3 MMC卡文件系统的实现
   
单片机对MMC底层的读写,按照FATl6的格式对MMC卡上数据进行操作,就可在MMC卡上创建文件、读写文件和删除文件等,从而实现文件的管理。

3.1 文件(或目录)的创建

    在MMC卡上创建文件(或目录)的过程就是在文件目录表FDT中申请登记项的过程。登记项中包括文件名、文件长度和起始簇号等内容。为此定义了如下结构:

   
    文件名一般占用8字节,长的文件名需要用resetx,ed[]数组。文件名的首字节又表明该文件的状态,00H表示该目录项未使用,E5H表示该文件(或目录)已被删除。创建目录时,属性值设置为10H(表示子目录),文件长度为O。

3.2 文件的读写

    MMC卡上文件都是以簇为单位存取的。当读取MMC卡上的文件时,首先要根据文件名查找到该文件的目录登记项。根据目录登记项中的起始簇号既可找到文件在数据区DATA中第1簇的内容,又可在FAT表中找到第2个簇号。根据第2个簇号又能找到第2簇的内容和FAT表中的第3个簇号。这样,就可以根据FAT表中的簇号读取到全部文件数据。写文件时要保证FATl和FAT2中内容的一致性,即对两块都要进行同样的写操作。对于FATl6,可以由下面的公式计算出数据起始逻辑扇区号:

    起始逻辑扇区一隐藏扇区数+l+2*每FAT扇区数+FDT扇区数+(起始簇号-2)*每簇扇区数从表l可知,MMC卡上隐藏的扇区数为0,每个FAT占用243个扇区,FDT固定占用32个扇区。写文件的相关代码如下(设文件长度小于512字节):

   
3.3 文件的删除
   
文件的删除也是对MMC卡上文件管理的一个重要方面。删除文件时,并不涉及数据区的操作,只须在文件的目录登记项上作一个删除标记,并把文件在FAT表中所占用的簇标记为“空簇”。删除文件的代码如下:
   

   

4 小结
   
通过对SPI模式下MMC卡读写和文件系统的研究,实现了单片机对MMC卡FATl6文件的管理,包括文件的创建、读写、删除等操作。该方法为数据采集系统提供了一种非易失性存储器的解决方案,采集到的数据会以标准文件的格式记录到MMC卡上,数据文件可在Windows下用读卡器读取,在保证高性价比的同时,又方便了数据的进一步分析、处理。通过在长时间心电图监测系统中的实际应用,证明了该方法的可行性。该方案也可应用到诸如MP3等与Windows有交互的移动存储设备中,便于文件的统一管理。

    系统采用SPI接口,占用较少的I/O资源。由于SD卡也支持SPI模式,故文中的MMC卡也可以用SD卡替代。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

近日,一个存在于Windows Mark of the Web (MotW)中的零日漏洞被发现,并正在被攻击者积极利用。但有趣的是,在微软官方还没有对该漏洞做出修复之前,第三方平台0patch就提供了该漏洞的修复补丁。据...

关键字: PATCH Windows 微软 APP

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

SAIHUB CAB 025M成功获得安全试验所UL美国与加拿大认证证书 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...

关键字: AI BSP PS 清洁能源

郑州2022年10月17日 /美通社/ -- 近日,《福布斯》发布了"2022年全球最佳雇主榜单"(The World's Best Employers 2022),中国平安再度上榜并排名全...

关键字: 福布斯 ST TI BSP

通过第二项3nm设计选用扩展技术领先地位 第三季度强劲的贸易和设计选用反映出我们结合了IP和定制硅的混合业务模式 自2022年9月1日起,OpenFive首次并入集团 尽管宏观环境困难,但管理层仍对业务...

关键字: BSP ALPHA PEN Silicon

欧洲药品管理局人用药品管理委员会 (CHMP) 的积极建议是基于 EFFISAYIL® 1 研究结果,该研究是针对泛发性脓疱型银屑病 (GPP) 发作患者的最大的临床研究[1] 与斑块状银屑病不同,GP...

关键字: HM BSP GP FOR

流体动压滑动轴承为风机发展书写崭新篇章 轴承滑动层增材制造与精加工为工业级大规模生产铺平道路 轴承设计从综合性系统理念出发 德国施韦因富特和汉堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...

关键字: 齿轮箱 滑动轴承 风力涡轮机 BSP

上海2022年10月17日 /美通社/ -- Brother内置墨仓彩色喷墨一体机DCP-C421W新上市。此次Brother创新引入"按需打印,按页付费"...

关键字: DC 打印机 BSP DESIGN

慕尼黑2022年10月17日 /美通社/ -- TUV南德意志集团(以下简称"TUV南德")在EcoVadis全球企业社会责任评级中以总分71分荣获金奖。...

关键字: OV ADIS BSP COM

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭