网站大量收购独家精品文档,联系QQ:2885784924

零死角玩转STM32-高级篇.docxVIP

  1. 1、本文档共152页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档