- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经过将近1个月的时间,终于完成了STM32是FATFS文件系统移植,说来是够艰辛的,SDIO章节是我学习cortex m3以来消耗时间最多的章节。这里说一些个人对于SDIO的看法,其实SDIO属于意法半导体公司在cortex m3内核之外(在芯片之内)添加的功能外设,完全属于意法的杰作了。关于SD卡的读写,分为SPI模式和SD模式(专用模式),这两种模式都必须遵循SD2.0协议。SPI模式控制方法相对较为简单,操作简洁,但失去了速度;SD模式控制方法相对较为复杂一点,操作繁琐,但具有高速的特点。? ???FATFS文件系统是一种兼容性比较高的文件管理系统,兼容FAT32、FAT16。关于文件系统的细节,如果认真研究的话,应该会觉得作者的伟大,惊叹代码的绝妙。我们要想移植FATFS,首先要做的是编写基于SDIO模式的SD卡底层驱动,这部份完整的驱动代码较多,大概有2000多行,但我们首先需要克服心理作用,再长的代码只要理解之后,都很简单。意法在参考手册中介绍SDIO时,上下文比较乱,其中还夹杂讲解了一些SD2.0协议,使得初学者云里雾里。因为SDIO是属于一种完全的外设接口,所以在讲解的过程中必须与实际的外设SD卡联系起来。STM32的SDIO接口兼容性很高,可以兼容SD1.0卡、2.0卡、MMC卡、多媒体卡等,与多媒体卡4.2支持三种不同的数据总线模式:1位、4位和8位,在8位的模式下速度可以达到48MHZ,但在SD2.0协议中只支持两种总数总线模式:1位和4位,在SDIO中存在两种状态机:命令状态机(CPSM)和数据状态机(DPSM),两者的使能信号独立,用于控制外部双向驱动器,命令是通过CMD命令线单线串行发送的,而数据是由于DATx数据线传输(1位或4位),每当CPSM发送一条命令给卡时,如工作正常的话,卡都会有与CPSM中设置响应格式相对应的响应内容(短响应与长响应),两者的细节在下面讲到。SDIO功能分为两个部分,一个就是SDIO适配器模块,可以实现所有MMC/SD/SD I/O卡的相关功能,如时钟的产生、命令和数据的传输;还有就是AHB总线接口操作SDIO适配器模块中的寄存器,并产生中断和DMA请求信号。上面提到的数据总线的宽度为分为1位或4位(本文是针对SD2.0协议进行主要说明),在上电复位后,系统缺省为1位数据宽度——DAT0用于数据传输。 SD卡或SD I/O卡可以使用两种数据宽度模式,这两种卡的所有数据线都需要设置为复用推挽模式。命令线CMD有两种操作模式:1、MMC卡V3.31或之前版本的卡在初始化时为复用开路模式;2、SD卡或SD I/O卡或MMC V4.2在初始化时命令传输线工作在复用推挽模式。还有就是卡的时钟线(SDIO_CK),这个时钟频率对于不同的卡需要工作在不同的范围,这个我们就不细说了。SDIO的时钟可以分为两个,分为SDIO适配器时钟(SDIOCLK=HCLK)和AHB总线时钟(HCLK/2),还有HCLK就是SYSCLK。既然提到外设接口,那就要清楚一共有几根线与主控芯片相连,分为SDIO_CK\SDIO_CMD\SDIO_D[7:0],本文是对SD2.0卡进行论述,所以只用到了SDIO_CK/SDIO_CMD/SDIO_D[3:0],因为SD卡不支持8线模式。? ? SDIO适配器主要全为5个部分:适配器寄存器模块、控制单元、命令通道、数据通道、数据FIFO。这5个部分中,不同部分使用的时钟也有不同,适配器寄存器和FIFO使用HCLK/2,控制单元、命令通道和数据通道使用的是SDIOCLK=HCLK。其实这5个部分,对于初学者来说,根本分不清有何具体区别。适配器寄存器模块包含所有系统寄存器,如用于存放状态位的SDIO_STA和清除中断寄存器SDIO_ICR,对相应寄存器写入清除中断标志(产生清除信号);控制单元有于电源管理和卡的时钟分频设置;命令通道(CPSM)主要用于向卡发送相应的命令并从卡接收相应的响应内容,实现主机与卡之间的控制信息交互,这里就必须提到SDIO_CMD命令寄存器,这个寄存器就是负责向发送命令的,与该寄存器相配合的还有一个参数寄存器(发送命令参数)SDIO_ARG,命令寄存器中存放了命令索引(命令号)和对应命令的等待响应设置和CPSM等待中断请求设置(这个设置一般使用无等待,关闭命令超时控制,改为中断清除方式,关于这个命令超时控制就是设定了一定的时间,在这个时间之间必须得到响应,否则状态机将进入空闲状态),还有就是命令响应了,命令响应寄存器SDIO_RESPCMD用于保存接收到的响应命令索引(如命令发送正常,得到响应命令索引和发送的一致,作为一个控制命令的回应),对于一些带响应的命令(只有cmd0没有响应),都会返回一些参数(如返回卡状态寄存器、CSD、
您可能关注的文档
- 《在职研究生MBA联考逻辑统考真题》.doc
- 《地下室防水施工方案(SBC120)》.doc
- 《地热地板》.doc
- 《地热采暖地板项目可行性报告》.ppt
- 《地理空间数据交换格式 GB-T17798-2016》.pdf
- 《地铁商业发展现状及经营模式专题研究_104PP...》.ppt
- 《地震考古IGCP-PP567-20161018》.pdf
- 《坎普尔MBR中文技术手册》.pdf
- 《埃克森美孚_Exxon Mobil2015校园招聘大礼包_大街网制作 @大街网》.pdf
- 《城市轨道交通用干式牵引整流变压器(JBT 10693-2016)》.pdf
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)