SD卡文件系统读写.docx
- 文档编号:16775253
- 上传时间:2023-07-17
- 格式:DOCX
- 页数:36
- 大小:233.90KB
SD卡文件系统读写.docx
《SD卡文件系统读写.docx》由会员分享,可在线阅读,更多相关《SD卡文件系统读写.docx(36页珍藏版)》请在冰点文库上搜索。
SD卡文件系统读写
SD文件系统
SD文件系统
SD卡概述
1
1
22SD卡通信协议
文件系统的实现
3
3
44DE2实例
55总结
一、SD卡概述
v1、SD卡简介
(1)
n
SD卡(SecureDigitalMemoryCard)是一种基
于半导体快闪记忆器的新一代记忆设备。
n
SD卡数据传送和物理规范由MMC发展而来
一、SD卡概述
v1、SD卡简介
(2)
n
n
特点:
大容量、高性能、安全性高。
用途:
可用在MP3、移动电话、PDA、数码相机、数
码摄像机、电子图书、微型电脑、AV器材等领域。
n
数据传输速率:
SD卡读写速度比MMC卡要快四倍,
最大速率可达到10MB/秒。
n
几种SD卡的区分:
普通SD,高速SD,SDHC。
一、SD卡概述
v2、SD卡内部结构
n
SD卡由9线接口控制,数
写
保
护
据线包括:
CMD,CLK,DAT0-
DAT3。
n
n
包括6个寄存器
写保护
一、SD卡概述
v3、SD通信模式
一个主机一般情况下可以挂多张SD卡,最大10个堆
n
叠的卡。
n
主机访问模式:
SD模式;SPI模式
一、SD卡概述
v4、SD卡通信
主机和SD卡之间的通信是通过命令和数据流实现
n
的,如下图所示:
n
命令发送/数据传输
二、SD卡通信协议
v1、SD卡接口可以支持两种操作模式
1、SD卡模式
2、SPI模式
n
主机系统可以选择以上其中任一模式,SD卡模式
允许4线的高速数据传输。
SPI模式允许简单通用的
SPI通道接口,这种模式相对于SD模式的不足之处
是丧失了速度。
二、SD卡通信协议
nSD模式
(1)
n
SD模式总线连接图
二、SD卡通信协议
nSD模式
(2)
n
SD模式针脚定义
n
SD总线允许1线和4线数据信号设置。
二、SD卡通信协议
nSPI模式
(1)
n
SPI模式连接图
二、SD卡通信协议
nSPI模式
(2)
n
SPI模式针脚定义
n
注意:
SPI模式时,数据信号需要在主机端用10-
100K欧的上拉电阻。
二、SD卡通信协议
v2、SD模式介绍
n
SD模式下的命令和数据都有一个开始位和结束位。
数据传输格式主要有命令、响应和数据格式。
命令格式
命令:
在CMD上传输的用于启动一个操作的比特流
由主机发往从机,可以是点对点也可以是广播的。
n
二、SD卡通信协议
n响应格式
响应格式
n
响应:
在CMD上传输的用于回答命令的比特流,由从
机发往主机。
二、SD卡通信协议
n数据格式
数据格式
n
数据:
是在DAT上传输的比特流,双向传输。
二、SD卡通信协议
v3、SD模式下的单块读
n
读SD卡的顺序为:
发送读命令à接受到响应信号à
读数据
二、SD卡通信协议
v4、SD模式下的单块写
n
写SD卡的顺序为:
发送写命令à接受响应信号à写
入数据à发送CRC
二、SD卡通信协议
v5、SD模式下的常用命令
n基本命令Class0
二、SD卡通信协议
n读命令Class2
二、SD卡通信协议
n写命令Class4
二、SD卡通信协议
n擦除命令Class5
三、SD卡文件系统的实现
三、SD卡文件系统的实现
v1、文件系统
n
文件系统:
文件命名、存储和组织的总体结构。
WindowsXP支持下列三种文件系统:
FAT16、
n
FAT32和NTFS。
n
FAT16(文件分配表):
它最大可以管理2GB的分
区,但每个分区最多只能有65536个簇(簇是磁盘
空间的配置单位)。
三、SD卡文件系统的实现
三、SD卡文件系统的实现
v2、SD卡存储结构
MBR区
n
SD卡存储结构包括:
MBR区、
保留扇区
保留扇区、FAT1文件分配表1、
FAT2文件分配表2、FDT文件根目
录区、UserData。
FAT1
FAT2
FDT区
UserData
三、SD卡文件系统的实现
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
1
2
1
2
2
1
2
2
2
4
4
0x0200
0x08
扇区大小为512字节
每簇有8个扇区
有4个保留扇区
有2个FAT表
0x0004
0x02
0x0200
0x0000
0xF8
有512个登记项
0表示总扇区数大于65536
磁盘介质为硬盘
0x00F2
0x3F
每个FAT表占242个扇区
每个磁道有63个扇区
磁头数为255
0x00FF
0x00000000
0x00078A00
有0个隐藏扇区
BPB_TotSec32
共有494080个扇区
三、SD卡文件系统的实现
nFAT文件分配表
(1)
文件在磁盘中以簇为单位进行存储,同一个文件的数
n
据可能不连续地存储在几个簇上,FAT表就是记录文件
簇与簇之间的连接信息,这就是所谓的链式存储。
FAT表中,族号是按照顺序依次排列的。
Cluster2
Cluster3
FAT
Clustern-1
Clustern
三、SD卡文件系统的实现
nFAT文件分配表
(2)
链式存储:
为每个文件构造链表,文件的每个
n
族号存储下一个族号的序号,每个族号都固定对
应一个存储块。
5
6
6
11
20
起始族号
5
下个
族号
最末
族号
……
……
FAT区
11
文件文件文件文件
文件
块N
DATA区
块0
块1
块2
块3
三、SD卡文件系统的实现
nFAT文件分配表(3)
通用的FAT表及其意义如下:
n
FAT12代码
0x000
FAT16代码
0x0000
FAT32代码
所表示的意义
空簇
0x00000000
0x002-0xFEF
0x0002-0xFFEF
0x00000002-
0xFFFFFF0E
文件的下一簇
0xFFF
0xFF7
0xFFFF
0xFFF7
0xFFFFFF0F
0x00000001
文件的最后一簇
坏簇
三、SD卡文件系统的实现
nFDT表
n
FDT表(也称为文件根目录区),主要记录分区中目
录和文件的名称、属性、起始簇号等信息。
名称
偏移量
字节数
意义
DIR_Name1
0
8
文件的名称,首字节为0x00表
示未使用
DIR_Name2
DIR_Attr
8
3
扩展名
11
12
22
24
26
28
1
属性[1]
DIR_Reserved
DIR_WrtTime
DIR_WrtDate
DIR_FstCluLO
DIR_FileSize
10
2
建立时间,校验等信息
最后写入时间
2
最后写入日期
2
起始簇的低16位
文件的大小,目录的此项为0
4
三、SD卡文件系统的实现
v3、文件操作
n
起始扇区号=隐藏扇区数+保留扇区数+2*(FAT表占
用扇区数)+根目录区所占扇区数+(起始簇号-2)*每
簇的扇区数
n
读文件:
FAT表à起始族号à起始扇区号à最后
一个族号?
à读下一个族号à扇区号à……最后
一个族号
三、SD卡文件系统的实现
v4、写文件/删除文件
n
写文件:
确定FDT登记项(文件名及信息)à计
算所需要的族数à写FDT表à写FAT1表à写数据
n
删除文件:
将FDT表中的数据置为0àFAT1中的数据
置为0
四、DE2实例
v1、DE2试验平台
四、DE2实例
v2、DE2硬件结构
n
适合模式:
1线SD模式、SPI模式。
四、DE2实例
v3、DE2读/写文件
n
n
n
文件系统采用FAT16,文件名支持8.3格式。
写文件
读文件
五、总结
nSD卡其容量大、体积小等特点,为手机、PDA、电子图
书等数码产品提供了圆满的嵌入式解决方案!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SD 文件系统 读写