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. hadoop运行测试命令遇到的问题

    2017-02-16 09:46:14,926 INFO mapreduce.Job: Task Id : attempt_1487148856575_0001_m_000001_0, Status ...

  2. elasticsearch 中文分词(elasticsearch-analysis-ik)安装

    elasticsearch 中文分词(elasticsearch-analysis-ik)安装 下载最新的发布版本 https://github.com/medcl/elasticsearch-ana ...

  3. CSS:CSS 单位

    ylbtech-CSS:CSS 单位 1.返回顶部 1. 尺寸 单位 描述 % 百分比 in 英寸 cm 厘米 mm 毫米 em 1em 等于当前的字体尺寸. 2em 等于当前字体尺寸的两倍. 例如, ...

  4. node process-进程

    process对象是一个全局变量,提供Node.js进程的有关信息以及控制进程.因为是全局变量所以可以直接使用

  5. 推荐 BI Work

    推荐阅读 BI Work 的文章,作为学习用 http://www.cnblogs.com/biwork

  6. SQLite win7

    https://blog.csdn.net/louislee92/article/details/50390000 vs2008利用sqlite A 添加sqlite3.h sqlite3.lib到工 ...

  7. html+css构成的框架,可自行改造

    运行效果 代码下载地址:http://pan.baidu.com/s/1eSeBh2E

  8. 【216】◀▶ IDL 字符串操作说明 (黑底)

    参考:String Processing Routines —— 字符串处理函数 参考:IDL_String Methods 01   STRING 返回字符串. 02   STRCMP 比较字符串, ...

  9. mina框架之---服务端NioSocketAcceptor的学习

    接上一讲对mina的简单应用和对mina服务端和客户端中几个重要的技术知识点的理解后,今天着重对mina服务端的NioSocketAcceptor 进行学习. 说这个玩意之前,先整体上看一下在mina ...

  10. monkey基本命令及脚本编写

    Monkey 是Android自带的黑盒测试工具,一般通过随机触发界面事件,来确定应用是否会发生异常,多用于android应用的稳定性.压力测试  基本命令: adb shell monkey [op ...