您的位置 首页 元件

根据STM32 SDIO接口驱动SD卡的规划(下)

接上篇2.1 SD卡初始化 实现SDIO驱动SD卡,最重要的步骤是 SD卡的初始化。 STM32F1的SDIO控制器可支持SD2.0 高容量卡(SDHC,最 大32G)、SD2.0 标准容量卡(S

接上篇
2.1  SD卡初始化
     完结SDIO驱动SD卡,最重要的过程是 SD卡的初始化。 STM32F1的SDIO控制器可支撑SD2.0 高容量卡(SDHC,最 大32G)、SD2.0 规范容量卡(SDSC,最大 2G)以及SD1.x 卡和 MMC卡,本文选用SDHC作为数据收集模块的存储单 元。卡的类型不同,所支撑的协议也不同。因此在初始化过 程中,主控制器有必要先判别卡的类型,取得卡的根本信息, 最终完结卡的初始化,即对相关的寄存器进行装备。SD卡 的初始化流程如图5所示。
首 先 , 要 初 始 化 与 S D 卡 连 接 的 硬 件 资 源 , 如 对

图5  SD卡的初始化流程
STM32F1的SDIO、GPIO和NV%&&&&&%等相关的寄存器进行装备。
然后履行卡上电操作,发送CMD0指令,对卡进行软复位。 上电重置之后,主控制器经过CMD8指令区别SD卡类型, 只要SD2.0的卡才会呼应该指令,MMC卡和SD1.x的卡不会 呼应;在发送CMD8的时分,参数需求设置VSH位以取得主 控制器的供电状况。接着发送运用指令ACMD41(发送该命 令之前要先发送 CMD55),设置参数的HCS 位以告知 SD 卡,主控制器是否支撑高容量卡(SDHC)。SD 卡接纳到 ACMD41 后,回来SD 卡的OCR 寄存器内容,主控制器经过 OCR 寄存器CCS位完结对SD 2.0卡的辨认。
辨认卡的类型后,便可发送CMD2 和 CMD3 指令,分 别用于取得卡 CID 寄存器数据和卡相对地址(RCA)。取得 卡 RCA 之后,便能够发送 CMD9(带 RCA 参数),取得 SD 卡的 CSD 寄存器内容,其包含SD卡的容量和扇区巨细等十 分重要的信息。至此,SD卡的初始化根本完毕,最终经过 CMD7 指令,选中要操作的SD卡,即可开端对  SD 卡进行读 写操作。
SD卡初始化函数要害代码如下:
SD_Error SD_Init(void)

{
SD_Error errorstatus = SD_OK; //重置SD_Error状况 GPIO_Configuration();  //SDIO 外设底层引脚初始化 SDIO_DeInit(); //对SDIO的一切寄存器进行复位 errorstatus=SD_PowerON();    //SD卡上电
if(errorstatus==SD_OK)
errorstatus=SD_InitializeCards(); //初始化 SD 卡,辨认卡类型

if(errorstatus==SD_OK)errorstatus=SD_GetCardInfo(&SDCardInfo);    //获取卡信

if(errorstatus==SD_OK)

e r r o r s t a t u s = S D _ S e l e c t D e s e l e c t ( (u 3 2 ) ( S D C a r d In f o. RCA<<16));       //选中 SD 卡
return errorstatus; //初始化未成功,回来错误信息
}
2.2  SDIO驱动卡读/写数据
S D 卡 初 始 化 完 成 后 , 就 可 以 使 用 S D I O 向 S D 卡 读 、 写数据了。 SDIO控制器与SD卡一般是以数据块的方法进 行通讯。SD数据的读写首要用到SDIO的数据FIFO寄存器
(SDIO_FIFO)。SDIO_FIFO包含接纳和发送FIFO,他们 由一组接连的32 个地址上的 32 个寄存器组成,主控制器可 以运用 FIFO 读写多个操作数。要从SD卡读数据,有必要读 SDIO_FIFO 寄存器,要写数据到 SD 卡,则要写 SDIO_FIFO寄存器。有关SDIO数据FIFO的读、写用到的固件库函数分
别是:uint32_t SDIO_ReadData (void) 和 void SDIO_WriteData (uint32_t Data)。经过调用这些接口函数,能够很方便地实 现SDIO驱动层的规划。

3 定论
经过SD卡主控制器的规划,将SD卡的存储方法立异性 地运用到方便铁路卡车监测体系的数据收集模块,简化了监 测体系的规划,减小了体系的尺度,提高了体系的可靠性, 而且方便了与上位机的数据通讯。本规划选用ARM Cortex™- M3内核的32位微控制器STM32F103作为主控制器,具体介 绍了SD卡和SDIO接口原理,所规划的硬件电路和软件满意 SD卡驱动的功用要求,可加速整个监测体系的规划进程。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/205248.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部