https://baijiahao.baidu.com/s?id=1561100856106707&wfr=spider&for=pc

http://www.eepw.com.cn/article/201703/344894.htm

http://blog.csdn.net/xiaoxiaopengbo/article/details/73864250

MMC卡(不支持SDIO-4,SDIO_CMD初始化时用开漏模式,通讯时用推挽,已数据流或块形式传输)、SD卡(比MMC容量大,安全、速度更高)都支持MCI接口(SPI/SDIO_1/SDIO-4).通过ACMD6命令设置总线宽度(默认是1)

SDIO:是SD卡的低速版本,接口简单灵活。STM32F有相应的驱动库。

接口IO:DATA0~3/CMD:都需要推挽上拉。SDIO-CK与挂接在AHB总线上的SDIOCLK之间的关系为SDIO_CK=SDIOCLK/(2+CLKDIV)

主要操作:卡初始化(识别卡的类型)、读写卡(以块的形式进行,都是操作的SDIO_FIFO这个32位的寄存器)。

对于STM32F407:1 时钟:驱动SDIO适配器是用PLL48CK,而驱动SDIO的时钟是HCLK/2.

命令:

多数据的写:主机发送数据前需要判断卡的忙闲(DATA0被硬件拉低)。

寄存器:1 电源及寄存器:if(SDIO_POWER&(3<<0)=!=0x03) SDIO_POWER|=(0x03<<0);

SDIO时钟控制寄存器(SDIO_CLKCR):WIDBUS=1;//4位宽度,BYPASS=0;//禁止旁路,CLKEN=1;//使能时钟,CLKDIV=0;//不分频。

SDIO参数制寄存器(SDIO_ARG):必须在写命令之前先写这个参数寄存器

SDIO命令响应寄存器(SDIO_RESPCMD):但只有低6位有效(命令索引)

SDIO响应寄存器组(SDIO_RESP1~SDIO_RESP4):如果收到短响应,则数据存放在SDIO_RESP1寄存器里面

SDIO命令寄存器(SDIO_CMD):低6位为命令索引

SDIO数据长度寄存器(SDIO_DLEN):低25位有效,块传输时必须是数据块长度(通过SDIO_DCTRL设置)的倍数。

SDIO数据控制寄存器(SDIO_DCTRL):最重要根据自己情况配置。

状态寄存器(SDIO_STA)、清除中断寄存器(SDIO_ICR)和中断屏蔽寄存器(SDIO_MASK):

if(SDIO_STA&(1<<2))//超时

{SDIO_ICR|=(1<<2);}//清除超时标记

SDIO的数据FIFO寄存器(SDIO_FIFO):读写FIFO各8个字(32字节,必须4字节对齐)

SDIO学习的更多相关文章

  1. Smart210学习记录-----SD/MMC/SDIO驱动

    转自:http://jingpin.jikexueyuan.com/article/23369.html http://blog.csdn.net/evilcode/article/details/7 ...

  2. BCM wifi驱动学习

    BCMwifi驱动学习 一.wifi详解1 1.代码路径:Z:\home\stonechen\svn\TD550_X\TD550\3rdparty\wifi\BCM43362\special\bcmd ...

  3. 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第12章       STM32H7的HAL库框架设计学 ...

  4. STM32学习笔记:【001】时钟树与RCC

    导言 如果学过单片机的同学应该不会陌生,学习51单片机时最经常听到的就是“最小系统”. 最小系统里面少不了晶振,否则单片机无法工作. 单片机需要晶振(时钟源)来工作,那么对于STM32芯片同样如此. ...

  5. Android蓝牙学习笔记

    一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加 ...

  6. 第36章 SDIO—SD卡读写测试

    第36章     SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...

  7. stm32寄存器版学习笔记03 外部中断

    stm32的每个I/O口都可以作为中断输入,要把I/O口设置为外部中断输入,必须将I/O口设置为上拉/下拉输入 或 浮空输入(但浮空的时候外部一定要带上拉或下拉电阻,否则可能导致 中断不停的触发),干 ...

  8. 【Linux驱动学习】SD卡规范学习

    摘要: 学习SD卡的相关规范,包括定义,硬件特性,数据传输,命令系统等.不涉及代码. 文章针对Linux驱动开发而写,以助于理解SD卡驱动,不会涉及过多硬件内容. 纲要: 1. SD卡介绍 2. SD ...

  9. 第36章 SDIO—SD卡读写测试—零死角玩转STM32-F429系列

    第36章     SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...

随机推荐

  1. ansible j2文件注意事项

    j2文件中使用变量的时候,不需要 {{}} 遇到if,for等条件判断语句,变量的话,只需要变量名即可, 字符串需要 加上引号.

  2. 自定义标签(客户化jsp标签)

    客户化jsp标签技术是在jsp1.1版本中才出现的,他支持用户在jsp文件中自定义标签,这样可以使jsp代码更加简单,这些可重用的标签能够处理复杂的逻辑运算和事物或定义jsp网页的输出内容和格式. 创 ...

  3. python学习笔记:第一天

    1.经典程序测试:hello world 入门编程语言第一件事,先写hello world. #!/usr/bin/env python# -*- coding: UTF-8 -*- print(&q ...

  4. hdu-5358 First One(尺取法)

    题目链接: First One Time Limit: 4000/2000 MS (Java/Others)     Memory Limit: 131072/131072 K (Java/Other ...

  5. Pyhton:汉诺塔游戏

    #汉诺塔游戏攻略! def hanoi(n,x,y,z): if n == 1: print(x,'-->',z) else: hanoi(n-1,x,z,y) #将前n-1个盘子从x移动到y上 ...

  6. 自然语言处理:问答 + CNN 笔记

    参考 Applying Deep Learning To Answer Selection: A Study And An Open Task follow: http://www.52nlp.cn/ ...

  7. Messes in Reading Source Coding of SSD

    这里记录在学习SSD源码过程中用到的相关内容 keras.applications.imagenet_utils.preprocess_input(): 用来将读入的原始图片张量转换成为需要Image ...

  8. moco实例

    一.moco模拟接口响应json moco的下载地址见虫师博客园:https://www.cnblogs.com/fnng/p/7511539.html foo.json文件内容如下 [ { &quo ...

  9. html锚点实现的方法

    1 通过id <a href="#div1"> 通过id获取锚点</a> <div style=" height:200px; width: ...

  10. raspberry安装go

    参考官方文档:https://golang.org/doc/install/source (因为被墙)可以看国内地址: http://godoc.golangtc.com/doc/install/so ...