找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[汽车电路] SD卡在单片机上的应用

[复制链接]
admin 发表于 2013-3-14 19:37:02 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。既然它有着这么多优点,那么如果将它加入到单片机应用开发系统中来,将使系统变得更加出色。这就要求对SD卡的硬件与读写时序进行研究。对于SD卡的硬件结构,在官方的文档上有很详细的介绍,如SD卡内的存储器结构、存储单元组织方式等内容。要实现对它的读写,最核心的是它的时序,笔者在经过了实际的测试后,使用51单片机成功实现了对SD卡的扇区读写,并对其读写速度进行了评估。下面先来讲解SD卡的读写时序。
  (1) SD卡的引脚定义
032026gq8y9b8qq98yr8fm.jpg
SD卡引脚功能详述:
                                    引脚            编号                                    SD模式                                            SPI模式                                                    名称                                    类型                                    描述                                    名称                                    类型                                    描述                                                    1                                    CD/DAT3                                    IO或PP                                    卡检测/            数据线3                                    #CS                                    I                                    片选                                                    2                                    CMD                                    PP                                    命令/            回应                                    DI                                    I                                    数据输入                                                    3                                    VSS1                                    S                                    电源地                                    VSS                                    S                                    电源地                                                    4                                    VDD                                    S                                    电源                                    VDD                                    S                                    电源                                                    5                                    CLK                                    I                                    时钟                                    SCLK                                    I                                    时钟                                                    6                                    VSS2                                    S                                    电源地                                    VSS2                                    S                                    电源地                                                    7                                    DAT0                                    IO或PP                                    数据线0                                    DO                                    O或PP                                    数据输出                                                    8                                    DAT1                                    IO或PP                                    数据线1                                    RSV                                                                                                                              9                                    DAT2                                    IO或PP                                    数据线2                                    RSV                                                                                                  
注:S:电源供给  I:输入 O:采用推拉驱动的输出
PP:采用推拉驱动的输入输出
  SD卡SPI模式下与单片机的连接图:
032031lxqxgqkq5kgxznqh.jpg
    SD卡支持两种总线方式:SD方式与SPI方式。其中SD方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信。而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut进行数据通信。SD方式时的数据传输速度与SPI方式要快,采用单片机对SD卡进行读写时一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。这里只对其SPI方式进行介绍。
  (2) SPI方式驱动SD卡的方法
     SD卡的SPI通信接口使其可以通过SPI通道进行数据读写。从应用的角度来看,采用SPI接口的好处在于,很多单片机内部自带SPI控制器,不光给开发上带来方便,同时也见降低了开发成本。然而,它也有不好的地方,如失去了SD卡的性能优势,要解决这一问题,就要用SD方式,因为它提供更大的总线数据带宽。SPI接口的选用是在上电初始时向其写入第一个命令时进行的。以下介绍SD卡的驱动方法,只实现简单的扇区读写。
1) 命令与数据传输
1. 命令传输
SD卡自身有完备的命令系统,以实现各项操作。命令格式如下:
032035nb000x2zdttiitnb.jpg
      命令的传输过程采用发送应答机制,过程如下:
032039flma2ohaaiwcwmcw.jpg                        
    每一个命令都有自己命令应答格式。在SPI模式中定义了三种应答格式,如下表所示:
                                    字节                                    位                                    含义                                                                                           1                                    7                                    开始位,始终为0                                                    6                                    参数错误                                                    5                                    地址错误                                                    4                                    擦除序列错误                                                    3                                    CRC错误                                                    2                                    非法命令                                                    1                                    擦除复位                                                    0                                    闲置状态                        
                                      字节                                    位                                    含义                                                                                           1                                    7                                    开始位,始终为0                                                    6                                    参数错误                                                    5                                    地址错误                                                    4                                    擦除序列错误                                                    3                                    CRC错误                                                    2                                    非法命令                                                    1                                    擦除复位                                                    0                                    闲置状态                                                                                           2                                    7                                    溢出,CSD覆盖                                                    6                                    擦除参数                                                    5                                    写保护非法                                                    4                                    卡ECC失败                                                    3                                    卡控制器错误                                                    2                                    未知错误                                                    1                                    写保护擦除跳过,锁/解锁失败                                                    0                                    锁卡                        
                                      字节                                    位                                    含义                                                                                           1                                    7                                    开始位,始终为0                                                    6                                    参数错误                                                    5                                    地址错误                                                    4                                    擦除序列错误                                                    3                                    CRC错误                                                    2                                    非法命令                                                    1                                    擦除复位                                                    0                                    闲置状态                                                    2~5                                    全部                                    操作条件寄存器,高位在前
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-28 22:03 , Processed in 0.266192 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表