零死角玩转stm32-高级篇1、SDIO(4bit + DMA、支持SDHC、带协议分析)

本地摄像头0、友情提示
《零死角玩转STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,根据野火STM32开发板旧版教程升级而来,且经过重新深入编写,重新排版,更适合初学者,步步为营,从入门到精通,从裸奔到系统,让您零死角玩转STM32。M3的世界,与野火同行,乐意惬无边。网络收集
另外,野火团队历时一年精心打造的《STM32库开发实战指南》将于今年10月份由机械工业出版社出版,该书的排版更适于纸质书本阅读以及更有利于查阅资料。内容上会给你带来更多的惊喜。是一本学习STM32必备的工具书。敬请期待!
1、SDIO(4bit + DMA、支持SDHC)
1.1 实验描述及工程文件清单
实验描述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
opnet
FWlib/stm32f10x_dma.c
FWlib/misc.c
用户编写的文件USER/main.c
USER/stm32f10x_it.c
USER/usart1.c
USER/sdio_sdcard.c
野火STM32开发板 MicroSD卡硬件原理图:
1.2 SDIO简介
野火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/MMC 4.2版的卡,但可以同时支持多个MMC 4.1版或之前版本的卡。除了SD/SDIO/MMC,这个接口完全与CE-ATA数字协议版本1.1兼容。
记忆辅助1.3 SD协议
大多数人原来没有了解过SD协议,又看到SDIO的驱动有2000多行,感觉无从下手。所以野火重新写了这个文档进行详细的解释,帮助大家更快地跨过这道槛。
附资料:《Simplified_Physical_Layer_Spec.pdf》,这个资料包含了SDIO 协议中SD存储卡的部分。
下面野火结合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引脚来传输的。

本文发布于:2024-09-20 14:46:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/108997.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:野火   协议   模式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议