logo资料库

基于S3C2410的SDMMC卡驱动的实现.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
匿亘变塑委雯墅雯亘羽 !曼苎皇!!!!!!!!!!!!曼!i 文章编号:1008--0570(2009)06-2--0211-02 I i ARM开发与应用 i皇曼曼 基于$3C24 1 0的S D/M M C卡驱动的实现 The implementation of an SD/MMC driver based on S3C24 10 (福建T程学院)汤龙梅张国安 TANG Long-mei ZHANG Guo-an 摘要:设计了一个基于$3C2410片内SDI的SD/MMC卡驱动,该驱动支持MMC卡、sD卡、SDHC卡。在分析SDI特点和有关 寄存器功能的基础上,完成了SD模式下的硬件接口设计。介绍了该驱动的软件实现,重点分析了卡识别过程。详细阐述了该 驱动的技术实现细节。该驱动通用性强、易移植,已被应用到MP3等产品中。 关键词:SD/MMC驱动;$3C2410;SD模式 文献标识码:B 中图分类号:TP334.7 Abstract:An SD/MMC driver based on paper.The hardware circuit for SD mode is implemented by analyzing the features of SDI and those related registers.The driver is also introduced and the procedure of the card identification The driver is commonly used and easy to be transplanted and has been applied in the products like MP3. Key words:SD/MMC Driver;$3C2410;SD-Bus Mode sofiwaxe is emphasized.Technical details for the driver啪described. the on—chip$3C2410,which supports MMC,SD card and SDHC card,is designed in this 引言 MMC、SD卡和SDHC卡都是基于Flash技术的新一代存储 器,具有体积小、容量大、数据传输快、移动灵活等优点,是许多 便携式电子仪器理想的外部存储介质.在数码相机、MP3、手机 与大容量存储设备中被广泛使用。MMC卡是基于NAND快闪 记忆技术开发的存储卡:SD卡是在MMC卡的基础上开发研制 的一款具有大容量、高性能、安全性好等特点的多功能存储卡. 存储容量最高可达4G:SDHC是高容量sD存储卡.SD2.0系统 规范中规定SDHC卡的容量范围为大于2GB小于等于32GB. 速度最高可达25MB/秒。近年来.虽然MMC卡技术已逐渐被 sD卡所代替.但sD卡接121向下兼容MMC卡.因此MMC卡仍 在很多应用场合使用。SDfMMC卡有sD和SPI两种通信模式。 前者可获得比后者更高的通信速率。目前的SD/MMC接口多采 用SPI通信模式。为了能获得更快的卡访问速度.并且在同一 个接口中支持对MMC、SD和SDHC三类卡的访问,笔者基于 S3C2410控制器设计并实现了一个采用SD通信模式的通用的 SD/MMC卡驱动。下面具体描述该驱动的实现过程。 1$3C2410片内SD接口 ’主罂霎嚣瓣胩艏黻迸撇佣糊啦以 2 S3C2410-ff SD/MMC卡的SD模 式接口电路 2.1 sD总线通信模式下卡引脚定义 虽然SD/MMC卡有两种通信模式.但在具体通信过程中主 机只能选择其中一种通信模式。不同模式下各引脚的功能不完 全相同。表1为SD模式下的卡引脚定义。 表1 SD模式下卡的引脚定义 表1 SD模式下卡的日 脚定义 引脚 名称 描述 引脚 名称 l 2 3 4 C D』D●∞ 卡检测,数据 线“t 3】 CMD 命令/响应 V嚣】 VDD 电源地 电游 6 7 8 9 描述 电源 VS鸵 D^To 数据线【位0】 DATI 数据线【位1】 D脆 数据线【位2】 5 CLK MMC悄钢,接口啊滞8稀9脚外,黼sD卡接口相死 时钟 2.2 SD通信模式下的SD/MMC卡接口电路 $3C2410与SD/MMC卡座的接口电路如图I所示。接口电 S3C2410是三星公司的16/32位mSC控制器,它内部具有 路原理图说明如下: 丰富的系统外围设备控制器.包括一个SD接口(SDI)。该SDI 兼容SDI.0、MMC2.1l、SDIOI.0规范:支持l位,4位数据总线模 式以及块,流读写模式切换:SD时钟最高达25MHz,MMC时钟 最高达10MHz。SDI内部寄存器众多.主要分为j大类:通用控 制类寄存器,如:控制寄存器、波特率预分频因子寄存器等:命 令控制类寄存器,如:命令参数寄存器、命令控制寄存器、命令 状态寄存器、4个命令响应寄存器;数据传输类寄存器,如:数据 控制寄存器、数据状态寄存器、FIFO状态寄存器、数据寄存器。 汤龙梅:讲师硕士 万方数据 图l SD/MMC卡sD模式接口电路原理图 CD/DAT3(第1脚)通过10Kfl电阻上拉到3.3V,使SD/ @嗽胃邮局订阅号:82-946 3S0元/#..2ll—
ARM开发与应用 <微计算机信息》(嵌入式与SOC)2009年第25卷第良2期 MMC卡上电后自动进入sD模式。本接口中该引脚用于卡上电 此处CMD8命令参数中bit[7]一[ol为o/l交替的0blOl01010 后的模式选择。 即0xaa.是推荐使用的检测模式;bit[1l卜【8】则用于检测卡能否 CLK(第5脚)为时钟输入信号,SDCMD(第2脚)为命令响 在主机提供的电压下运行,Ob0001表示2.7—3.6V电压.其他取 应线,DATO-DAT;涕7,8,9引脚加上CD/DAT3组成4位数据线。’ 值目前不可用.若卡支持v2.00及以上协议.且能够在指定的 CD(第10脚)为卡插入检测信号。由于CD/DAT3引脚用于 电压下运行.则返回0xlaao 模式选择,故在卡座中增加该引脚作为卡检测信号。由于该引 V2.00及以上协议的卡有两种类型:标准sD卡和SDHC 脚被上拉,当卡未插入卡座内时,从INT0/GPF0引脚读到的是 卡。由于本驱动支持SDHC卡,在发送ACMD41命令时,将其参 高电平;当卡完全插入到卡座内时,卡座内部触点接地,则从 数中的HCS域(第30位)置为l。判断语句如下: INT0/GPF0读到的是低电平。通常通过检测该引脚的电平值来 判断卡的动态拔插动作。 SdmmcSendCmd(MMC_APP CMD,SdmmcCardRca); SdmmcSendCmd(SD_APP—OP..COND,Ox40ff8000); WP(第12脚)为卡座中增加的卡写保护检测信号.检测原 理与CD脚相同。应当注意,SD/MMC卡并不检测该引脚,因此. 卡写保护控制必须由主机实现。在设计SDfMMC卡座接12时。 WP不是必需的。 . 为保证输入的稳定性.除VCC、VSSI和VSS2、GND外的引 ’ 脚均通过10Kfl上拉到3.3V。 3$3C2410与SD/MMC的通信实现 在SD/MMC卡与主机的通信过程中.卡一直是从设备.由 l if(rSDll强PO==0xcOffS000){ SdmmcCardType=HC_SD_CARD;74SDHC CARD4/ else if(rSDIRSP0==Ox80ffS000)l SdmmcCardType=SD CARD;/*SD CARD+/ 主机发送命令来控制它。当$3C2410(下称主机)以查询方式获 取卡已插入卡座.或者当卡插人卡座后通过CD引脚发送中断 给主机后.主机首先应完成卡的初始化.之后才能对卡上的数 据进行读写。 3.1卡的初始化和识别 由于ACMIMI命令为扩展命令.故需要在该命令前面发送 MMC—APP CMD(CMD55)命伽知卡后面紧跟的命令为扩展命令。 若卡不响应CMD8.则有可能是MMC卡或V2.00以下的 sD卡。由于sD卡支持ACMD命令.而MMC卡不支持该命令。 故当卡能正确响应时.则可判断为sD卡。判断语句如下: SD/MMC卡在上电后进入空闲状态(Idle State)。此时.主机 需要按照一定的处理流程完成卡的初始化。该过程主要的工作 SdmmcSendCmd(MMC_APP_CMD,SdmmcCardRca); SdmmcSendCmd(SD APP_OP_COND,OxOOffS000); 就是卡的识别(Card Identification),包括识别卡的类型、读取卡 ’ff(r:SDmSP0—0xS0tm000){ 上的信息、为卡分配地址等。卡的初始化处理流程见图2。 SdmmcCardType=SD_CARD;严SD卡叫 ………: l 在识别完卡的类型后.便可发送CMD2获取卡标识等后续 共同的初始化过程. 3.2卡的读操作’ 在初始化和识别完成后并被选中后,SD/MMC卡进入传输 模式.此时主机可使用读命令来读取卡上数据。每次读操作通 常以块(一般为512字节)为单位。MMC卡还可以按字节流的 方式读取。若一次读取的数据在一块以内,可使用单块读命令: 若超过一块.则应使用多块读命令.此时还应在接收完预期数 据后给卡发送停止传输命令(CMDl2)通知卡停止传送数据。 读命令的4字节参数为欲读取数据的地址。MMC卡和sD 卡的最大容量为4G,地址以字节为单位,通常与512对齐。 SDHC卡的容量为2G一32G,字节地址不能寻址全部空间.此时 以块为单位。命令的参数为欲读数据的起始块号。 3.3卡的写操作 写卡操作也有单块写命令和多块写命令.操作流程与读操 作类似。SD/MMC卡接收完主机传送过来的数据之后进入编程 状态。卡内部为写操作提供了一个缓存.该缓存使得卡在编程 的同时可以接收下一块数据。当该缓存满时.卡从DAT0线输 出低电平,表示正处于写的忙状态.否则从DAT0输出高阻态。 因此.在往卡发送数据前应检查卡是否处于忙状态。另外,为了 提高某些卡的写速度.建议在多读写命令之前发送预擦除命 令.预擦除的块数在该命令的参数中给出。 (下转第242页) 图2卡初始化处理流程 在卡识别过程中.首先发送CMD8命令判断卡是否支持 V2.00及以上协议。关键语句如下(语句中的SD—HC SEND_IF._ COND为CMD8命令描述的简写,其余同): SdmmcSendCmd(SD—HC_SENDJF-cOND,o】【l龃); ff((rSDIRSPO&Oxltm)一0xlaa)f/搴V2.00及以E协}义卡., ●……一● ● } 一212—360元/年邮局订阅号:82-946一- 万方数据
PLD CPLD FPGA应用 .:微计算机信息'(嵌入式与SOC)2009年第25卷第昏2期 UBl]晒UU窖U宣U陷U U8UeUeU8UOU鬯U船UU鲁U嘲UUU固U毫U瀚UU噍UU∞UU9U躺UrUuuuuuuuuu“Uuu∞U“UUUUUUUU—UU 一一 ∞目噬咐目商嘲四 n 广、 ——固 n 图5 AES IP核仿真波形 利用QUARTUS 11 7.0进行综合和布局布线,将得到的位 流文件下载到FPGA芯片CYCLONE II EP2C35F672中,进行了 FleA板上的板级验证。测试显示。设计能够在50MHz时钟频 率下进行正确的加密与解密操作。 4结论 本文提出了AES算法口核的低成本实现方案,该方案的 输入密钥和输入数据复用8位数据总线,节省了接口的数量。 方案采用等效解密算法,加密和解密的部分硬件资源得到了共 用,减小了硬件的开销。经实验测试,满足设计的要求。 参考文献 【1”ES IP Core Introduction.http://www.dilloneng.com/fft_ip/oth- er_ip/aes. 【2]AES cores.http..//www.heliontech.com/aes.hun. 【3]Hardware IP Cores of Advanced Encryption Standard AES_Ri- jndael.http://bass.gmu.edu/erypto/rijndael.htm. [4]Joan Daemen and Vincent Rijmen.AES Proposal:PdjMad. http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael—ammend— ed.pdf f5】李海山.基于AMBA总线的AES算法IP软核研究.浙江大学 硕士学位论文.2007 『61武玉华,李艳俊等.基于FPGA的AES一128密码算法实现研究 fJl,微计算机信息,2007,2—3:53—55. 作者简介:张新贺(1980一),男(汉族),河北承德人,讲师,硕士 研究生,主要研究方向:信息安全,EDA技术;刘鸿雁(1958一), 天大学出版社.2003 【21周立功等.深入浅出ARM7一LPc213x,214x.北京航空航天 大学出版社.2006 『3使久根等cAN现场总线系统设计技术.国防:raik蝴L2004, 『41聂慧萍等.基于ARM和uCOS一Ⅱ的固体科氏流量计测控系统 【J】.微计算机信息,2005,7—2:108—1 10. [5]SanDisk Corporation.SD Card Product Manual v1.9,2003. 作者简介:杨忻恺(1985.09),男(汉族),江苏扬州,东南大学仪 器科学与工程学院学生.硕士。主要从事汽车主动安全技术、智 能仪器的研究;张为公0959),男(汉族),浙江杭州,教授,研究 方向:汽车电子技术 Biography:YANG Xin-kai(SEP.1985).male.Yangzhou,Jiangsu. Southeast University M.S.candidate。Major:Vehicle Active Safe· ty,Intelligent Instrument. (210096南京东南大学仪器科学与工程学院)杨忻恺 (School of Instrument Science&Engineering Southeast Uni- versity。Nanjing 210096 China)YANG Xin-kai 通讯地址:(210096南京四牌楼2号东南大学仪器科学与工程 学院)杨忻恺 (收稿日期:2009.05.03)(修稿日期:2009.06.05) (上接第212页) 4结束语 本文的创新点是以SD通信模式实现了一个通用的、能同 时支持MMC卡、SD卡和SDHC卡的SD/MMC卡驱动。目前它 已被集成到基于FAT文件格式的嵌人式文件系统中.并被成功 应用到MP3产品中。 项目经济效益为300万元左右。 参考文献 女(汉族),辽宁鞍山人,教授,辽宁科技大学,研究方向:信息安 …李长有等.基于C805IF020的SD卡主控制器的设计叨.微计 全,数据库技术:唐宏伟(1982一),男(汉族),硕士研究生,研究 方向:EDA技术。 Biography:ZHANG Xin-he(1980-),the Han nationality,Male。 born in Chengde,Hebei province,Master,Major:information security,EDA. (114051辽宁鞍山辽宁科技大学电子与信息工程学院)张新贺 刘鸿雁唐宏伟 (Schoa of Electronic and Information Engineering,University of Science and Technology Liaoning)ZHANG Xin-he LIU Hong-yan TANG Hong-wei 通讯地址:(114051辽宁省鞍山市千山中路185号辽宁科技大 学电子与信息工程学院)张新贺 算机信息,2007,23(9—2):120—122. 『21周立功等.ARM嵌入式系统软件开发实例【M】.北京航空航天 大学出版社.2006:274—350. 【3]Physical Layer Simplified Specification Version 2.00阎.SD Group(Panasonic.SanDisL Toshiba)and SD Card Association.2006. [4]$3C2410X 32-BIT RISC MICROPROCESSOR USER'S MAN- UAL Revision 1.2【Z】.SAMSUNG ELEcTRONICS.2003. 作者简介:汤龙梅(1977一),女(汉簇),江西永新人,福建工程学 院计算机系讲师,硕士.从事单片机与嵌入式系统应用研究;张 国安(1965一),男(汉簇),江西安福人,福建工程学院计算机系教 授.硕士,从事工业控制、分布式计算研究。 Biography:TANG Long-mei(1977一),female(Han nationality), (收稿日期:2009.05.03)(修稿日期:2009.06.05) Teacher of the computer department of Fujian University of technology。master,Research alta:Microcomputer and Embedded (上接第207页) System. 本文作者创新点:l、采用LPC2378为系统控制单元核心; 2、采用便携。成本低廉的sD卡作为海量存储单元;3、经实践测 试.本系统完全可应用于各类汽车工控实验数据的存储,经济 效益可观。 (350014福建工程学院计算机系)汤龙梅张国安 (Computer Department of Fujian University of Technology, Fuzhou,Fajian 350014.China)TANG Long-mei ZHANG Guo-an 经济效益:150万。 参考文献 . 通讯地址:(350014福建省福州市晋安区鳝溪福建工程学院计 算机系)汤龙梅 f1]Jean J.Labrosse.嵌入式实时操作系统ttC/OS—II.北京航空航 (收稿日期:2009.05.03)(修稿日期:2009.06.05) 一242一∞0元,年邮局订阅号:82-946 万方数据
基于S3C2410的SD/MMC卡驱动的实现 作者: 汤龙梅, 张国安, TANG Long-mei, ZHANG Guo-an 作者单位: 刊名: 福建工程学院计算机系,350014 微计算机信息 英文刊名: CONTROL & AUTOMATION 年,卷(期): 2009,25(17) 0次 引用次数: 参考文献(4条) 1.李长有.武学东.孙步胜.马齐爽 基于C8051F020的SD卡主控制器设计[期刊论文]-微计算机信息 2007(26) 2.周立功 ARM嵌入式系统软件开发实例 2006 3.Physical Layer Simplified Specification Version 2.00 2006 4.S3C2410X 32-BIT RISC MICROPROCESSOR USER'S MANUAL Revision 1.2 2003 相似文献(1条) 1.期刊论文 黄昊晶.Huang Haojing Linux PDA的SD/MMC卡驱动程序研究与设计 -电脑与电信2007(3) 本论文主要目的是通过对嵌入式Linux软件开发环境、配置方法和硬件驱动程序设计方法的研究,分析操作系统的内核和驱动程序的结构,参考三星公 司的SD/MMC驱动和斯道开发板的开发说明书,总结出一套嵌入式Linux的MMC卡开发环境的构建方法,定制设计适合ARM9芯片的S3C2410处理器的LinuxPDA的 MMC和SD存储卡驱动程序. 本文链接:http://d.g.wanfangdata.com.cn/Periodical_wjsjxx200917089.aspx 下载时间:2010年3月30日
分享到:
收藏