SD卡文件系统读写文档格式.docx

上传人:b****5 文档编号:21645880 上传时间:2023-01-31 格式:DOCX 页数:15 大小:17.69KB
下载 相关 举报
SD卡文件系统读写文档格式.docx_第1页
第1页 / 共15页
SD卡文件系统读写文档格式.docx_第2页
第2页 / 共15页
SD卡文件系统读写文档格式.docx_第3页
第3页 / 共15页
SD卡文件系统读写文档格式.docx_第4页
第4页 / 共15页
SD卡文件系统读写文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

SD卡文件系统读写文档格式.docx

《SD卡文件系统读写文档格式.docx》由会员分享,可在线阅读,更多相关《SD卡文件系统读写文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

SD卡文件系统读写文档格式.docx

普通SD,高速SD,SDHC。

v2、SD卡内部结构

SD卡由9线接口控制,数

据线包括:

CMD,CLK,DAT0-

DAT3。

包括6个寄存器

写保护

v3、SD通信模式

一个主机一般情况下可以挂多张SD卡,最大10个堆

叠的卡。

主机访问模式:

SD模式;

SPI模式

v4、SD卡通信

主机和SD卡之间的通信是通过命令和数据流实现

的,如下图所示:

命令发送/数据传输

二、SD卡通信协议

v1、SD卡接口可以支持两种操作模式

1、SD卡模式

2、SPI模式

主机系统可以选择以上其中任一模式,SD卡模式

允许4线的高速数据传输。

SPI模式允许简单通用的

SPI通道接口,这种模式相对于SD模式的不足之处

是丧失了速度。

nSD模式

(1)

SD模式总线连接图

nSD模式

(2)

SD模式针脚定义

SD总线允许1线和4线数据信号设置。

nSPI模式

(1)

SPI模式连接图

nSPI模式

(2)

SPI模式针脚定义

注意:

SPI模式时,数据信号需要在主机端用10-

100K欧的上拉电阻。

v2、SD模式介绍

SD模式下的命令和数据都有一个开始位和结束位。

数据传输格式主要有命令、响应和数据格式。

命令格式

命令:

在CMD上传输的用于启动一个操作的比特流

由主机发往从机,可以是点对点也可以是广播的。

n响应格式

响应格式

响应:

在CMD上传输的用于回答命令的比特流,由从

机发往主机。

n数据格式

数据格式

数据:

是在DAT上传输的比特流,双向传输。

v3、SD模式下的单块读

读SD卡的顺序为:

发送读命令à

接受到响应信号à

读数据

v4、SD模式下的单块写

写SD卡的顺序为:

发送写命令à

接受响应信号à

入数据à

发送CRC

v5、SD模式下的常用命令

n基本命令Class0

n读命令Class2

n写命令Class4

n擦除命令Class5

三、SD卡文件系统的实现

v1、文件系统

文件系统:

文件命名、存储和组织的总体结构。

WindowsXP支持下列三种文件系统:

FAT16、

FAT32和NTFS。

FAT16(文件分配表):

它最大可以管理2GB的分

区,但每个分区最多只能有65536个簇(簇是磁盘

空间的配置单位)。

v2、SD卡存储结构

MBR区

SD卡存储结构包括:

MBR区、

保留扇区

保留扇区、FAT1文件分配表1、

FAT2文件分配表2、FDT文件根目

录区、UserData。

FAT1

FAT2

FDT区

UserData

n保留扇区(BPB表)

名称

占用字节数

内容

说明

BPB_BytesPerSec

BPB_SecPerChus

BPB_RsvdSecCnt

BPB_NumFATs

BPB_RootEntCnt

BPB_TotSec16

BPB_MediaType

BPB_FATSize16

BPB_SecPerTrk

BPB_NumHeads

BPB_HiddSec

2

4

0x0200

0x08

扇区大小为512字节

每簇有8个扇区

有4个保留扇区

有2个FAT表

0x0004

0x02

0x0000

0xF8

有512个登记项

0表示总扇区数大于65536

磁盘介质为硬盘

0x00F2

0x3F

每个FAT表占242个扇区

每个磁道有63个扇区

磁头数为255

0x00FF

0x00000000

0x00078A00

有0个隐藏扇区

BPB_TotSec32

共有494080个扇区

nFAT文件分配表

(1)

文件在磁盘中以簇为单位进行存储,同一个文件的数

据可能不连续地存储在几个簇上,FAT表就是记录文件

簇与簇之间的连接信息,这就是所谓的链式存储。

FAT表中,族号是按照顺序依次排列的。

Cluster2

Cluster3

FAT

Clustern-1

Clustern

nFAT文件分配表

(2)

链式存储:

为每个文件构造链表,文件的每个

族号存储下一个族号的序号,每个族号都固定对

应一个存储块。

5

6

11

20

起始族号

下个

族号

最末

……

FAT区

文件文件文件文件

文件

块N

DATA区

块0

块1

块2

块3

nFAT文件分配表(3)

通用的FAT表及其意义如下:

FAT12代码

0x000

FAT16代码

FAT32代码

所表示的意义

空簇

0x002-0xFEF

0x0002-0xFFEF

0x00000002-

0xFFFFFF0E

文件的下一簇

0xFFF

0xFF7

0xFFFF

0xFFF7

0xFFFFFF0F

0x00000001

文件的最后一簇

坏簇

nFDT表

FDT表(也称为文件根目录区),主要记录分区中目

录和文件的名称、属性、起始簇号等信息。

偏移量

字节数

意义

DIR_Name1

8

文件的名称,首字节为0x00表

示未使用

DIR_Name2

DIR_Attr

扩展名

12

22

24

26

28

属性[1]

DIR_Reserved

DIR_WrtTime

DIR_WrtDate

DIR_FstCluLO

DIR_FileSize

10

建立时间,校验等信息

最后写入时间

最后写入日期

起始簇的低16位

文件的大小,目录的此项为0

v3、文件操作

起始扇区号=隐藏扇区数+保留扇区数+2*(FAT表占

用扇区数)+根目录区所占扇区数+(起始簇号-2)*每

簇的扇区数

读文件:

FAT表à

起始族号à

起始扇区号à

最后

一个族号?

à

读下一个族号à

扇区号à

……最后

一个族号

v4、写文件/删除文件

写文件:

确定FDT登记项(文件名及信息)à

算所需要的族数à

写FDT表à

写FAT1表à

写数据

删除文件:

将FDT表中的数据置为0à

FAT1中的数据

置为0

四、DE2实例

v1、DE2试验平台

v2、DE2硬件结构

适合模式:

1线SD模式、SPI模式。

v3、DE2读/写文件

文件系统采用FAT16,文件名支持8.3格式。

写文件

读文件

五、总结

nSD卡其容量大、体积小等特点,为手机、PDA、电子图

书等数码产品提供了圆满的嵌入式解决方案!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1