- 1、本文档共152页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
0、友情提示
《零死角玩转STM32》系列教程由初级篇、中级篇、高级篇、系统篇、
四个局部组成,根据野火STM32开发板旧版教程升级而来,且经过重新深入编
写,重新排版,更适合初学者,步步为营,从入门到精通,从裸奔到系统,让
您零死角玩转STM32。M3的世界,与野火同行,乐意惬无边。
另外,野火团队历时一年精心打造的《STM32库开发实战指南》将于今
年10月份由机械工业出版社出版,该书的排版更适于纸质书本阅读以及更有利
于查阅资料。内容上会给你带来更多的惊喜。是一本学习STM32必备的工具
书。敬请期待!
-第2页-
1、SDIO〔4bit+DMA、支持SDHC〕
1.1实验描述及工程文件清单
-第3页-实验描述MicroSD卡
实验描述
MicroSD卡(SDIO模式)测试实验,采用4bit数据线模式。没
有跑文件系统,只是单纯地读block并将测试信息通过串口
1在电脑的超级终端上打印出来。
硬件连接
PC12-SDIO-CLK:CLK
PC10-SDIO-D2:DATA2
PC11-SDIO-D3:CD/DATA3
PD2-SDIO-CMD:CMD
PC8-SDIO-D0:DATA0
PC9-SDIO-D1:DATA1
用到的库文件
startup/start_stm32f10x_hd.c
CMSIS/core_cm3.c
CMSIS/system_stm32f10x.c
FWlib/stm32f10x_gpio.c
FWlib/stm32f10x_rcc.c
FWlib/stm32f10x_usart.c
FWlib/stm32f10x_sdio.c
FWlib/stm32f10x_dma.c
FWlib/misc.c
用户编写的文件
USER/main.c
USER/stm32f10x_it.c
USER/usart1.c
USER/sdio_sdcard.c
野火STM32开发板MicroSD卡硬件原理图:
1.2SDIO简介
野火STM32开发板的CPU(STM32F103VET6)具有一个SDIO接口。
SD/SDIO/MMC主机接口可以支持MMC卡系统标准4.2版中的3个不同的数据
总线模式:1位(默认)、4位和8位。在8位模式下,该接口可以使数据传输速
率到达48MHz,该接口兼容SD存储卡标准2.0版。SDIO存储卡标准2.0版支
持两种数据总线模式:1位(默认)和4位。
目前的芯片版本只能一次支持一个SD/SDIO/MMC4.2版的卡,但可以同
时支持多个MMC4.1版或之前版本的卡。除了SD/SDIO/MMC,这个接口完全
与CE-ATA数字协议版本1.1兼容。
1.3SD协议
大多数人原来没有了解过SD协议,又看到SDIO的驱动有2000多行,
感觉无从下手。所以野火重新写了这个文档进行详细的解释,帮助大家更快地
跨过这道槛。
附资料:《Simplified_Physical_Layer_Spec.pdf》,这个资料包含了SDIO
协议中SD存储卡的局部。
-第4页-
下面野火结合STM32的SDIO,分析SD协议,让大家对它先有个大概了
解,更具体的说明在代码中展开。
SDIO接口图
一.从SDIO的时钟说起。
SDIO_CK时钟是通过PC12引脚连接到SD卡的,是SDIO接口与SD卡用
于同步的时钟。
SDIO选配器挂载到AHB总线上,通过HCLK二分频输入到适配器得到
SDIO_CK的时钟,这时SDIO_CK=HCLK/〔2+CLKDIV〕。其中CLKDIV是
SDIO_CLK(存放器)中的CLKDIV位。
另外,SDIO_CK也可以由SDIOCLK通过设置bypass模式直接得到,这时
SDIO_CK=SDIOCLK=HCLK。
通过下面的库函数来配置时钟:
1.SDIO_Init(SDIO_InitStructure);
对SD卡的操作一般是大吞吐量的数据传输,所以采用DMA来提高效率,
SDIO采用的是DMA2中的通道4。在数据传输的时候SDIO可向DMA发出请
求。
二.讲解SDIO的命令、数据传输方式。
SDIO的所有命令及命令响应,都是通过SDIO-CMD引脚来传输的。
-第5页-
命令只能由host即STM32的SDIO控制器发出。SDIO协议把命令分成了
11种,包括根本命令,读写命令还有ACMD系列命令等。其中,在发送ACMD
命令前,要先向卡发送
文档评论(0)