zoukankan      html  css  js  c++  java
  • sd卡的操作

    最近看野火的sd卡驱动,记录下学习过程吧(怕过个一年半载的把sd卡忘光光了)。

    sd卡的驱动反正是很成熟了,这里主要记载自己对sd的见解:

    通常我们用的sd卡有两种,sdsc(0-2G)和sdhc(2-32G),两者的驱动差别不大(主要差别在于读写操作时,sdsc是基于字节而sdhc是基于块,因为sd的地址只有32位)。但是大容量的sdxc于此相比就相差很大了。

    sd的初始化:

    1 初始化与sd卡的连接的硬件条件(MCU的配置,IO)

    2 上电延迟(>74个clk)如图1

    3 复位卡,发送cmd0,进入IDLE状态

    4 发送cmd8,检查是否支持2.0协议

    5 根据不同的协议检查sd卡,(cmd55,ACMD41) 

    6 选中要操作的sd卡

    图一

    (此为sd卡上电后的操作图,其实这里就已经告诉详细的告诉了我们sd卡上电的流程图了)

    为了更详细的了解sd卡的识别和初始化操作,下面再从sd的pdf中截图来看

     

    我想看了此图,对sd卡的初始化和识别应该不是难事了吧

     


    下面是对sd卡的操作,再讲解sd卡的读写之前我们再来看下sd状态图:

     


    上图为sd卡状态图,由上图我们就可以知道sd卡的发送和接收状态是如何切换的

    具体的读写、擦除操作就不说了,反正就是几个命令(代码网上应该也有很多),要特别注意的是sdsc和sdhc相对应的操作单位是不一样的,切记。

    参考资料:战舰的stm库开发说明;Simplified_Physical_Layer_Spec.pdf;野火的玩转stm32

     

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    一些javascript的常用方法(转载)
    php在线处理视频 (在线视频转码,取得视频信息)
    在JS中最常看到切最容易迷惑的语法(转)
    jquery ui resizable bug
    设计技巧
    超大记录量数据库设计
    相似度分析(转)
    linux vi 替换命令
    今天发现一个关于CSS的东东,解决了我很多疑问
    Http Handler 介绍
  • 原文地址:https://www.cnblogs.com/vendanner/p/4784387.html
Copyright © 2011-2022 走看看