SDIO学习
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学习的更多相关文章
- Smart210学习记录-----SD/MMC/SDIO驱动
转自:http://jingpin.jikexueyuan.com/article/23369.html http://blog.csdn.net/evilcode/article/details/7 ...
- BCM wifi驱动学习
BCMwifi驱动学习 一.wifi详解1 1.代码路径:Z:\home\stonechen\svn\TD550_X\TD550\3rdparty\wifi\BCM43362\special\bcmd ...
- 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第12章 STM32H7的HAL库框架设计学 ...
- STM32学习笔记:【001】时钟树与RCC
导言 如果学过单片机的同学应该不会陌生,学习51单片机时最经常听到的就是“最小系统”. 最小系统里面少不了晶振,否则单片机无法工作. 单片机需要晶振(时钟源)来工作,那么对于STM32芯片同样如此. ...
- Android蓝牙学习笔记
一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加 ...
- 第36章 SDIO—SD卡读写测试
第36章 SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...
- stm32寄存器版学习笔记03 外部中断
stm32的每个I/O口都可以作为中断输入,要把I/O口设置为外部中断输入,必须将I/O口设置为上拉/下拉输入 或 浮空输入(但浮空的时候外部一定要带上拉或下拉电阻,否则可能导致 中断不停的触发),干 ...
- 【Linux驱动学习】SD卡规范学习
摘要: 学习SD卡的相关规范,包括定义,硬件特性,数据传输,命令系统等.不涉及代码. 文章针对Linux驱动开发而写,以助于理解SD卡驱动,不会涉及过多硬件内容. 纲要: 1. SD卡介绍 2. SD ...
- 第36章 SDIO—SD卡读写测试—零死角玩转STM32-F429系列
第36章 SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...
随机推荐
- linux命令行快捷键记录
摘自: http://www.cnblogs.com/webzhangnan/p/3221410.html [移动光标] Ctrl+A 标移到行首.它在多数文本编辑器和 Mozilla 的 URL 字 ...
- html5--5-7 绘制圆/弧
html5--5-7 绘制圆/弧 学习要点 掌握arc() 方法创建圆弧/曲线(用于创建圆或部分圆) 矩形的绘制方法 rect(x,y,w,h)创建一个矩形 strokeRect(x,y,w,hx,y ...
- Java(一)——认识Java语言
1.Java语言简介 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具有卓越的通用性.高效性.平台移植性和安全性.Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单 ...
- python 文件与文件夹常见操作以及os.walk的用法
文件操作: In [34]: import os In [35]: os.rename("hello[复件].py","hello111.py") ...
- python optparse模块的简单用法
# coding = utf-8 from optparse import OptionParser from optparse import OptionGroup usage = 'Usage: ...
- 苹果app(iOS app)的URL schemes
最近折腾iOS快捷启动应用或应用内的某个动作的神器launch center pro (LCP),发现很多国产app并没有被LCP官方收录,所以不得不想办法找到app的url schemes. 下面是 ...
- 【224】◀▶ IDL NetCDF 文件操作说明
参考:I/O - NetCDF Routines —— NetCDF 操作函数 01 NCDF_OPEN 打开一个 NetCDF 文件. 02 NCDF_CLOSE 关闭一个 NetCDF 文 ...
- CodeForces 1103E. Radix sum
题目简述:对任意两个(正)十进制数$a = \overline{a_{k-1}\dots a_1a_0}$和$b = \overline{b_{k-1}\dots b_1b_0}$,定义其[十进制按位 ...
- POI生成Excel工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInp ...
- 8、html的body内标签之fieldset标签和label标签
一.label标签 <label> 标签为 input 元素定义标签(label). label 元素不会向用户呈现任何特殊的样式.不过,它为鼠标用户改善了可用性,因为如果用户点击 lab ...