1 / 33
文档名称:

ALIENTEKSTM32SDIO+4位DMA模式教程(寄存器+精简+稳定版).doc

格式:doc   大小:1,160KB   页数:33页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ALIENTEKSTM32SDIO+4位DMA模式教程(寄存器+精简+稳定版).doc

上传人:小s 2021/12/6 文件大小:1.13 MB

下载得到文件列表

ALIENTEKSTM32SDIO+4位DMA模式教程(寄存器+精简+稳定版).doc

相关文档

文档介绍

文档介绍:www. alientek・ com ALIENTEK STM32开发板 AN1302
www. openedv. com 2013-03-10
AN1302 STM32 SDIO 的使用
木应用文档(AN1302,对应ALIENTEK战舰STM32扩展实验2 )将教人家如何使用STM32 的SDIO接II来驱动SD卡,并结合FATFS,实现对SD卡的读写操作。
本文档分为如卜JL部分:
SDIO简介
硬件连接
软件实现
验证
1、SDIO接口简介
STM32F103人容战系列(FLASH2256K)产品都含仃SDIO控制器,ALIENTEK战舰STM32 开发板所使用STM32F1O3ZET6就属于大容帚产品,带有SDIO接II。本节,我们将简单介绍 STM32的SDIO接II,包括:■功能及框图、时钟、命令与响应和相关寄存器简介等,最 后,我们将介绍SD卡的初始化流程。
SDIO主要功能及框图
STM32的SDIO控制器支持多媒体卡(MMC卡)、SD存储卡、SD I/O卡和CE-ATA设备等。 SDIO的主要功能如卜•:
。支持二种不同的数据总线模式:1位(默认)、 4位和8位。
与较早的多媒体卡系统规格版木全兼容(向前兼容)。

与SDI/:支持良种不同的数据总线模式:1位似认)和4 位。
完全支持CE-ATA功能(与CE-)。8位总线模式F 数据传输速率可达48MHz。
数据和命令输出使能信号,用丁•控制外部双向驱动器。
STM32的SDIO控制器包倉2个部分:SDIO适配器模块和AHB总线接I I, JC功能框图如 :
www. alientek・ com ALIENTEK STM32开发板 AN1302
www. openedv. com 2013-03-10
HCLK/2 SDIOCLK
STM32的SDIO控制器功能框图
复位后默认情况F SDIO_DO用数据传输。初始化厉主机吋以改变数据总线的宽度(通 id ACMD6命令设置)。
如果一个多媒体卡接到了总线上,则SDIO_DO、SDIO_D[3:0]或SDIO_D[7:0冋以用J:数 据传输。,所以只能用SDIO_DO (为 了通用性考偲,在程序里面我们只要检测到是MMC V就设置为1位总线数据)。
如果一个SD或SD I/O卡接到了总线上,可以通过主机配置数据传输使用SDIO_DO或 SDI0_D[3:0]o所有的数据线都工作在推挽模式。
SDIO_CMD有两种操作模式:
用于初始化时的开路模式(仅用I" )
用丁•命令传输的推挽模式(SD/SD I/O卡和MMC )
SDIO的时钟
,分别是:
卡时钟(SDIO-CK):每个时钟周期在命令和数据线上传输1位命令或数据。对J:多媒 ,时钟频率可以在0MHz至20MHz间变化;对于多媒体k ,时 钟频率可以在0MHz至48MHz间变化:对于SD或SD I/O卡,时钟频率可以在0MHz至25MHz 间变化。
SDIO适配器时钟(SDIOCLK):该时钟用于驱动SDIO适配器,其频率等于AHB总线频 率(HCLK),并用丁•产生SDIO_CK时钟。
AHB总线接口时钟(HCLK/2):该时f中用「加动SDIO的AHB总线接I I,其频率为HCLK/2 前面提到,我们的SD卡时钟(SDIO_CK),根据卡的不同,可能有好儿个区间,这就涉 及到时钟频率的设置,SDIO_CK与SDIOCLK的关系为:
SDIO_CK=SDIOCLK/(2+CLKDIV)
其中,SDIOCLK为HCLK, —般是72Mhz,而CLKDIV则是分配系数,可以通过SDIO的 SDIO_CLKCR寄存器进行设置()。
这里耍提醉大家,在SD尺刚刚初始化的时候,其时钟频率(SDIO-CK)^:不能超过400Khz 的,否则町能无法完成初始化。在初始化以后,就町以设置时钟频率到最人了(但不可超过 SD卡的最人操作时钟频率)。
www. alientek・ com ALIENTEK STM32开发板 AN1302
www. openedv. com 2013-03-10
SDIO的命令与响应
SDIO的命令分为应用相关命令(ACMD)和通用命令(