资源描述:
《嵌入式Linux下的MMCSD卡的原理及实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第22卷 第1期计 算 机 仿 真2005年1月 文章编号:1006-9348(2005)01-0160-04嵌入式Linux下的MMC/SD卡的原理及实现纪竞舟,付宇卓(上海交通大学芯片与系统研究中心,上海200030)摘要:随着计算机硬件的发展及数据量的增加,对存储设备的要求也越来越高。闪存卡以其特性成为移动设备上的首选存储媒介。而且由于MMC卡与SD卡的硬件接口是兼容的。因此,该文在Motorola的DragonballMX1平台的基础上,描述了MMC/SD卡的硬件接口,给出了硬件接口部分的原
2、理图。并介绍了在此嵌入式系统中使用它的一些相关操作及其顺序。最后介绍了Linux下设备的分类,给出了编写块设备驱动的相关数据结构及函数,详细说明了在Linux环境下编写相应的驱动程序的方法及注意事项。关键词:嵌入式;闪存卡;驱动程序中图分类号:TP3文献标识码:ATheTheoryandImplementationofMMC/SDCardBasedonEmbeddedLinuxJIJing-zhou,FUYu-zhuo(ShanghaiJiaotongUniversitySOCandSystemRes
3、earchCenter,Shanghai200030,China)ABSTRACT:Withthedevelopmentofhardwareofcomputerandtheincreasingofdata,therequirementofstoragedeviceisalsodeveloping.Becauseofitscharacteristic,flashcardbecamethepreferredstoragedeviceformobiledevice.What’smore,thehardwar
4、einterfaceofMMCcardiscompatiblewithSDcard.InthispaperbasedonplatformofDragonballMX1,thehardwareinterfaceofMMC/SDcardhasbeendescribed.Theprocessofcorrelativeoperationsandsequenceoftheseop2erationsinthisembeddedsystemhavebeenintroduced.Then,Linuxdevicesar
5、eintroduced.Datastructureandfunctionsaboutlinuxblockdevicedriverarealsogiven.AndtheimplementationoflinuxblockdevicedriverforMMC/SDcardhasbeendescribedindetail.KEYWORDS:Embedded;Flashcard;Linuxdriver1 引言由于MMC卡和SD卡的接口通常是兼容的,因此本文主随着计算机硬件设备和软件系统逐步升级,只能存储小要对
6、这两种卡在基于LINUX的嵌入式系统上的实现进行介容量的文件和数据的软盘已经根本无法满足人们日常应用绍。MMC(MultimediaCard)卡是一种通用的数据存储介质,它的基本需求,而相对容量大不了多少的ZIP、MO等光磁盘介定义了简洁的、易于实现的接口,有着广泛的用途,比如电子质存储设备又由于其驱动器昂贵的价格使用户却步;移动硬玩具、PDA以及MP3等等。MMC卡有7根引脚,并在一个较盘的容量虽然很大,但普通用户还是很难承受比普通硬盘高低的电压范围内以20Mbps的速率通信。SD(SecureDi
7、gital出许多的价格。于是用户低价高效的移动存储需求促动了Card)卡在物理上及通信协议上与MMC卡均有类似的地方,以闪存为介质的微型移动存储设备的出现,比如现在U盘的但它比MMC卡多了两根引脚用作数据传输,因此它的传输普及。这些闪存卡功耗低、密度高、体积小、可靠性高、可擦速率比MMC卡更快。SD卡有存储卡和I/O卡两种。存储卡除、可重写,由于是电读写介质,闪存卡完全不受磁性干扰和与MMC卡相比,增加了版权保护机制,并有更快的传输速率影响,而且因其具有相对简单的物理内部结构,在发生碰撞及更高的存储容
8、量。I/O卡有着高速的数据输入输出功能,时也不易出现数据丢失现象。如今各类闪存卡广泛应用于并且功耗很低,其主要用在移动设备上。如PDA、DC、MP3和手机等各种数码产品中。因此新一代的图1为MMC/SD卡的引脚描述及比较。嵌入式处理器,如AMD的AU1100、Intel的XScale、TI的OMAP从图1可以看出,引脚主要有电压、时钟以及命令和数以及Motorola的MC9328MX1都增加了对闪存卡的支持。据信号等。MMC/SD卡是通过发送命令信号,从