redlock 发表于 2005-3-24 12:32:29

SD卡接口规范——中文翻译开始启动

现在翻译SD卡接口规范,来自KINGMAX的PDF文档

redlock 发表于 2005-3-24 12:50:29

特性:



◎容量:32MB/64MB/128MB/256MB/512MB/1GByte

◎兼容规范版本1.01

◎卡上错误校正

◎支持CPRM

◎两个可选的通信协议:SD模式和SPI模式

◎可变时钟频率0-25MHz

◎通信电压范围:2.0-3.6V

工作电压范围:2.0-3.6V

◎低电压消耗:自动断电及自动睡醒,智能电源管理

◎无需额外编程电压

◎卡片带电插拔保护

◎正向兼容MMC卡

◎高速串行接口带随即存取

---支持双通道闪存交叉存取

---快写技术:一个低成本的方案,能够超高速闪存访问和高可靠数据存储

---最大读写速率:10Mbyte/s

◎最大10个堆叠的卡(20MHz,Vcc=2.7-3.6V)

◎数据寿命:10万次编程/擦除

◎CE和FCC认证

◎PIP封装技术

◎尺寸:24mm宽×32mm长×1.44mm厚

redlock 发表于 2005-3-24 13:41:01

说明:



本SD卡高度集成闪存,具备串行和随机存取能力。可以通过专用优化速度的串行接口访问,数据传输可靠。接口允许几个卡垛叠,通过他们的外部连接。接口完全符合最新的消费者标准,叫做SD卡系统标准,由SD卡系统规范定义。

SD卡系统是一个新的大容量存储系统,基于半导体技术的变革。

它的出现,提供了一个便宜的、结实的卡片式的存储媒介,为了消费多媒体应用。

SD卡可以设计出便宜的播放器和驱动器而没有可移动的部分。

一个低耗电和广供电电压的可以满足移动电话、电池应用比如音乐播放器、个人管理器、掌上电脑、电子书、电子百科全书、电子词典等等。

使用非常有效的数据压缩比如MPEG,SD卡可以提供足够的容量来应付多媒体数据。

redlock 发表于 2005-3-24 13:50:32

http://cache.amobbs.com/bbs_upload782111/files_1/armok0142294.gif

redlock 发表于 2005-3-24 13:59:13

框图:

SD卡上所有单元由内部时钟发生器提供时钟。接口驱动单元同步外部时钟的DAT和CMD信号到内部所用时钟。

本卡由6线SD卡接口控制,包括:CMD,CLK,DAT0-DAT3。

在多SD卡垛叠中为了标识SD卡,一个卡标识寄存器(CID)和一个相应地址寄存器(RCA)预先准备好。

一个附加的寄存器包括不同类型操作参数。

这个寄存器叫做CSD。

使用SD卡线访问存储器还是寄存器的通信由SD卡标准定义。

卡有自己的电源开通检测单元。

无需附加的主复位信号来在电源开启后安装卡。

它防短路,在带电插入或移出卡时。

无需外部编程电压。

编程电压卡内生成。

SD卡支持第二接口工作模式SPI。

如果接到复位命令(CMD0)时,CS信号有效(低电平),SPI模式启用。

iam35200 发表于 2005-3-24 14:32:45

可否先贴出英文原稿?

redlock 发表于 2005-3-24 14:59:09

点击此处打开armok0142298.pdf

avrboy 发表于 2005-3-24 16:07:04

初步看了一下, 好像沒有說到核心部分, 即數據的定位,存取等, 只是說明了一下ad卡的接口!

myhk007 发表于 2005-3-24 19:08:19

期待核心啊!REDLOCK加油啊!

redlock 发表于 2005-3-24 20:46:40

是啊我也发现了,不过我有核心的SD卡资料,来自SANDISK,我可以继续翻译

harrylee 发表于 2005-3-25 01:08:15

我早就有想法做一个SD卡的电子书,SD+M16+3310LCD

不知能不能实现中文的阅读,从卡上读出英文.txt的文件应该没问题吧?

ant. 发表于 2005-3-25 01:23:50

SD好象与MMC相似(MMC的升级?).

MMC听说停产了.

MMC有一个缺点,极易损坏,不知SD如何.

12345 发表于 2005-4-27 11:34:42

做个电子书之类的东西不错滴



SD卡是根据MMC卡所开发,但基本上两者为不同产品,只是设计时考虑到兼容问题,以致在大部分情况下能互换使用两者首个主要分别为SD卡强调资料保安,可设定程序或资料的使用权限,以避免用家肆意复制,损害程序设计者利益。当然对一般用家而言,此特色并无可取之处,相反有关的系统及加密资料,会占用记忆卡900K容量,较MMC卡耗用多九倍空间。

另外,SD卡将传输速度提升至每秒10MB,比MMC快四倍。话虽如此,实际上基于数码相机、PDA的硬件限制,SD卡这个好处未必能发挥出来。至于体积方面,两者十分接近,但SD卡长度为36.4mm,较MMC卡长4.4mm。同时,由于SD卡厚度由1.4mm增至2.1mm,理论上能减少受静电的影响。

ALING 发表于 2005-7-20 11:04:26

redlock

加油啊

edinosaur 发表于 2005-10-4 17:12:33

TF卡的接口标准也跟SD卡一样的

22277 发表于 2006-3-9 15:59:52

前面翻译得很好

怎么不再继续翻译了

期待中...

starwxl 发表于 2006-3-14 13:32:09

楼主加油,我最近也用SD卡,是用AVR对单片机进行读写,可惜英语不好,感觉不好办啊,

楼主加油.

再加油!

starwxl 发表于 2006-3-14 13:32:24

楼主加油,我最近也用SD卡,是用AVR对单片机进行读写,可惜英语不好,感觉不好办啊,

楼主加油.

再加油!

starwxl 发表于 2006-3-14 13:32:34

楼主加油,我最近也用SD卡,是用AVR对单片机进行读写,可惜英语不好,感觉不好办啊,

楼主加油.

再加油!

starwxl 发表于 2006-3-14 13:32:44

楼主加油,我最近也用SD卡,是用AVR对单片机进行读写,可惜英语不好,感觉不好办啊,

楼主加油.

再加油!

hanwl 发表于 2006-3-14 19:42:41

不错,加油

yzlyear 发表于 2007-7-12 14:25:21

怎么断了呢

chenpeng 发表于 2007-7-13 01:26:22

没了??

wb4916 发表于 2007-9-12 15:27:03

要使用AT89C52采集GPS的经纬度数据存储到SD卡,于是到处找SD卡的中文资料,没有找到,于是自己翻译。下面是第84页的翻译。可能有许多错误,欢迎批评指正!!

    如果觉得我的工作对你有所帮助,给我邮件:wb4916@sohu.com,让我有动力翻译完全部的187页。你的邮件是我的动力!

    附件为需要翻译的文档。

点击此处下载armok01172527.zip

wb4916 发表于 2007-9-12 15:27:52

SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

7 SPI模式

7.1 简介

    基于闪存的SD存储卡提供第2种通讯协议:SPI模式。这个模式是SD存储卡协议的一个子设置,为SPI通道的通讯而设计,通常可以在Motorola(与一些新的其它核心)的微控制器上找到。在上电开机(CMD0)后的第一个复位命令里可以选择接口,启动后就不能被改变了。

    SPI标准仅定义了物理连接,并不是完整的数据传输协议。SD内存卡的SPI实现使用了SD内存卡的协议与命令设置的子集。SPI模式的优点是可以使用off-the-shelf主机,因此能够使design-in事件减少到最小。缺点是相对于SD模式,SPI模式下的性能有损失(例如:每张卡的单数据线和硬件CS信号线)

7.2 SPI总线协议

    SD内存卡通道基于命令与由一个起始位初始化,一个停止位结束的数据位流。SPI通道是面向字节的。每一个命令或数据块由8位的字节组成,字节指向CS信号(例如:长度为多于8个时钟周期)。

    与SD内存卡协议相似,SPI消息由命令、响应和数据块令牌组成。所有主机与卡之间的通讯由主机控制。主机通过给CS信号线置低来开始每一次总线传输。

    SPI模式下的响应与SD模式下有以下3方面的不同:

*选定卡总是响应命令
*使用一个附加的(8位)响应结构
*当卡遇到了数据检索问题,它将回应一个错误响应(替代预期的数据块),而不是在SD模式下的超时。

    除了命令响应,在写操作时,每一个发送给卡的数据块将会被一个特殊的数据响应令牌所响应。数据块可能会大到整张卡(WRITE_BL_LEN),小到一个字节。在CSD寄存器里,通过卡的指定选项,局部块的读/写操作被激活。

7.2.1 模式选项

    SD内存卡启动即为SD模式,在接受复位命令(CMD0)与卡处于idle_state状态期间,在CS信号线被置负时,卡将进入SPI模式。假如卡确认需要SD模式,它将不会响应命令,仍然处在SD模式。假如需要SPI模式,卡将切换到SPI模式并响应SPI模式的R1响应。

    返回SD模式的唯一方式就是重新上电。在SPI模式里,SD内存卡协议状态机无效。所有的支持的SD内存卡命令在SPI模式下仍然可用。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
84 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-12 17:14:37

P85


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

7.2.2 总线传输保护

    每一个在总线上传输的SD内存卡令牌都受CRC位保护。在SPI模式里,SD内存卡提供了一个非保护模式,允许系统建立可靠的数据连接,来

免除硬件或者固件所需执行的CRC产生与验证功能。

    在非保护模式下的令牌里,命令的CRC位,响应与数据令牌仍然需要。可是,它们被定义为发送者“不需关心”和接受者忽略它。

    SPI接口在非保护模式下可初始化。可是,当卡在SD模式时可接受复位命令(CMD0)来切换到SPI模式,因此,必须有一个有效的CRC区域。

    CMD0没有参数,所有区域的内容,包括CRC区域,都是常量,因此在运行时不需要计算。有效的复位命令有:

    0x40,0x0,0x0,0x0,0x0,0x95。

    主机能够使用CRC_ON_OFF命令(CMD59)来切换CRC选项开/关。

7.2.3 读数据

    SPI模式支持单块读与多块读操作(在SD内存卡协议中的命令CMD17或CMD18)。一个有效的读命令后,卡将回应一个响应令牌,跟随一个长

度在先前的SET_BLOCKLEN(CMD16)命令(图 41)定义的数据令牌。

    图41:单块读操作

    有效的数据块由标准CCITT多项式产生16位的CRC来校验:x^16+x^12+x^5+1

    最大的块长度由READ_BL_LEN给出,在CSD里定义。假如允许有分区块(即:CSD参数READ_BL_PARTIAL=1),块长度能为从1到最大块长度之

间的任何数。否则,读数据的有效的块长度由READ_BL_LEN给出。

    起始地址能够为卡里任何有效范围内的字节地址。可是每一块都必须被包含在卡的一个单独的物理扇区里。

    如果有一个数据检索错误,卡将不会传输任何数据,但一个特殊数据错误令牌将被发送给主机。图42显示了一个由错误终止的数据的读操

作。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystems
85 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-12 17:50:34

86页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    图 42:读操作——数据错误

    在读多块的情况下,传输每一块都有它的16位CRC校验值。停止传输命令(CMD12)将会阻止数据传输操作(同样发生在SD内存卡操作模式)。

    图 43:多块读操作

7.2.4 数据写

    在SPI模式下,SD内存卡支持单块与多块的写命令。在接收到一个有效的写命令后(SD内存卡协议里的CMD24或CMD25命令),卡将回应一个响应令牌,并等待一个从主机发出的数据块。CRC校验值,块长度与起始地址的限制(CSD的例外参数WRITE_BL_PARTIAL控制着部分块的写选项)与读操作相同(参见图44)。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystem
86 CONFIDENTIAL
Date: March 2000

oldkey 发表于 2007-9-12 18:00:36

支持一下。。。

wb4916 发表于 2007-9-14 10:17:15

87页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    图 44:单块写操作

    每一个数据块有一个前缀“起始块”令牌(一个字节)。

    接受一个数据块后,卡将回应一个数据响应令牌。假如数据块被无错接受,它将被编程。若卡正在编程,忙令牌的连续流将会被发送到主机(DataOut线持低有效)。

    一旦编程操作完成,主机将使用SEND_STATUS命令检查编程结果(CMD13)。一些错误(例如:地址越界,写保护……)仅在编程时才会被发现。数据块检查完成,并经过CRC和通用写错误指示的数据响应令牌与主机通讯后验证完成。

    在多块的写操作时,在下一块开始的时候,通过发送“Stop Tran”令牌而不是“Start Block”令牌将会停止传输。如写错误指示(在数据响应时),主机将使用SEND_NUM_WR_BLOCKS(ACMD22)以便获取完整写入的块的数目。数据令牌描述在7.3.3节给出。

    图 45:多块写操作

    当卡在忙时,复位CS信号将不会终止编程进程。卡将释放DataOut线(tri-state)并继续编程。如果卡在编程完成前被重新选择,DataOut线将被强制拉低并拒绝所有所有命令。       

    复位卡(使用CMD0命令)将终止任何等待或活动的编程操作。这可能会破坏卡上的数据格式。主机有责任阻止这种操作。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystems
87 CONFIDENTIAL
Date: March 2000

zhiwei 发表于 2007-9-14 12:58:22

支持。

wb4916 发表于 2007-9-14 16:02:12

88页


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

7.2.5 擦写保护管理

    SPI模式下的擦写保护管理操作与SD模式下相同。当卡被擦除或者改变预定扇区表的写保护位时,它将在忙态并拉低DataOut线。图46说明了一个在有忙信号与无忙信号下的“no data”总线传输。

   图 46:“no data”操作

7.2.6 读CID/CSD寄存器

    不像SD内存卡协议(寄存器内容作为一个命令响应发送),在SPI模式下读取CSD/CID寄存器是一个简单的块读取操作。卡将使用一个标准的响应令牌回应(参见图42),后面跟着一个有16位的CRC校验值的16字节的数据块。

    CSD命令的数据超时不能设置为卡的TAAC,只要这个值一旦被存到卡里。因此,标准的超时响应值(Ncr)被用来读取CSD寄存器的延迟。

7.2.7 Reset Sequence

    SD内存卡要求有一个定义的复位顺序。开机复位或者CMD0命令(软件复位)后,卡进入idle态。在这种状态下,合法的主机命令有CMD1命令(SEND_OP_COND),ACMD41命令(SD_SEND_OP_COND)与CMD58命令(READ_OCR)。

    在SPI模式里,命令CMD1与ACMD41的功能相同。

    主机必须通过轮询卡(通过重复发送CMD1或ACMD41命令),直到卡响应的“in-idle-state”位指示(被设定为0)卡完成了初始化,能够接受下一条命令。

    SPI模式里,与SD模式相反,CMD1命令(ACMD41命令也是)不执行且不会返回OCR寄存器的内容。因此,主机要使用CMD58命令(仅在SPI模式下可用)来读OCR寄存器。此外,主机需要避免插入电压不在其支持范围内的卡。

    CMD58命令随时可以使用,不限于在卡初始化时。

7.2.8 错误情况

    不像SD内存卡协议,在SPI模式下卡将总是响应命令。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystem
88 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-14 16:02:58

89页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    响应表示接受或者拒绝指令。命令被拒绝的情况:不支持的命令(非法操作码)、CRC检查错误、命令包含非法操作或在擦除序列里它超出序列了。

7.2.9 存储器阵列的划分

    和SD模式下相同。

7.2.10 卡锁住/解锁

    SPI模式下的卡锁住/解锁指令的使用与SD模式下相同。2中情况下,命令使用一个R1b响应类型回应。忙信号清除后,主机将通过GET_STATUS命令获得操作结果。更多参见4.3.6节。

7.2.11 应用特定指令

    和SD模式相同,APP_CMD状态位的异常(参见4.10.1节)在SPI模式下不可用。

7.2.12 版权保护指令

所有的特殊版权保护ACMDs与安全功能和SD模式下相同。

7.3 SPI 包处理模式

7.3.1 令牌命令

* 命令格式

    SD内存卡命令都是6个字节长。命令处理总是由位串左边的位相对应的命令代码字开始执行。所有的命令都受CRC(参见7.2节)保护。命令和参数在表57中列出。

Bit position 47 46 0
Width (bits) 1 1 6 32 7 1
Value ‘0’ ‘1’ Standardx x x ‘1’
Description start bit transmissioncommand index argument CRC7 end bit
bit

    表 55:命令格式

* 命令类

    在SD模式里,SPI命令被分为几类(参见表56)。每一类支持一套卡的功能。在两种通讯模式里,SD内存卡将支持同样的选项命令类设置(在CSD寄存器里仅有一个命令类表)。但是,可用的命令类、特定类的支持命令在SD内存卡与SPI通讯模式下是不同的。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystems
89 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-14 16:37:34

90页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    注意在SPI模式下不支持的类(类1、3与9),强制性的要求SD模式下的类和SPI模式下的相同。

表 56:SPI模式下的命令类

* 详细的命令描述

    下表提供了SPI总线命令的详细描述。响应在7.3.2节定义。表57列出了所有的SD内存卡命令。SPI mode列的“Yes”表示在SPI模式下支持本命令。在这些约束下,CSD里的命令类描述仍然有效。对于不需要参数的命令,它的参数区的值要被置0。保留命令是为SD模式保留。

    命令的二进制代码由助记符号定义。例如:命令索引区的内容(二进制)是“000000”表示CMD0命令,“100111”表示命令CMD39。

    表 57:命令与参数

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystems
90 CONFIDENTIAL
Date: March 2000

Bird 发表于 2007-9-14 20:36:51

支持下

hyz_avr 发表于 2007-9-14 21:54:36

这个要支持...

avruser 发表于 2007-9-15 00:37:07

支持wb4916!

rivergd 发表于 2007-9-15 11:04:59

支持wb4916!

wb4916 发表于 2007-9-16 20:02:29

93页

表格暂不翻译


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

1) 默认块长度由CSD定义。
2) 除非在CSD里设置READ_BLK_MISALIGN,数据传输不能跨越物理块的边界。
3) 除非在CSD里设置WRITE_BLK_MISALIGN,数据传输不能跨越物理块的边界。
4) R1b:后面带有一个可选的忙信号的R1响应。
5) 32位的写保护位(有效的32位写保护位从指定的地址开始),经由数据线传输后面具有有效格式16位的CRC位。保护位的最后(至少重要的

)一位应对应第一个地址组。假如最后一组的地址越界,对应的写保护位将被置0。
6) RD/WR_:“1”表示主机将从卡获取一个数据块。“0”表示主机将向卡发送数据块。下表描述了所有的SD内存卡支持/保留的特殊应用指令

。下列所有命令都必须在APP_CMD(CMD55)命令之前。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystems
93 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 09:21:14

94页


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

(1) 更详细的SD安全特征的描述请参见“SD内存卡安全规范”。
(2) 命令STOP_TRAN(CMD12)将组织传输写多块,不管是否使用了预擦除命令。

    表格58:SD内存卡在SPI模式下使用/保留的特定的命令。

7.3.2 响应

    有几种类型的响应令牌。在SD模式下,所有的都必须先传输MSB。

* R1格式

    除SEND_STATUS命令外,每一个命令后卡都会发出响应令牌。它有一个字节长,MSB置0。其它位是错误指示,一个错误就用一个“1”表示。R1格式的结构由图47给出。标志位的含义如下定义:

* 空闲状态:卡在空闲状态与正在运行初始化进程。
* 擦除复位:一个擦除序列在执行前被清除,因为收到了与擦除序列命令不相称的命令。
* 非法命令:检测到非法命令。
* 传输CRC错误:最后一个命令的CRC检查失败。
* 擦除顺序错误:擦除命令序列发生了错误。
* 地址错误:命令中使用不符合块长度的异常地址。
* 参数错误:命令的参数(例如:地址、块长度)超出了卡允许的范围。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
94 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 10:48:57

95页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    图 47:R1响应格式

* R1b格式

    本响应令牌和R1格式相同,只是带有可选的忙信号。忙信号令牌能够为数量任意的字节。0表示卡在忙。非0指示卡可以接受下一条命令。

* R2格式

    本响应令牌有2个字节长,是SEND_STATUS命令的响应。图48给出其格式。

    图 48:R2响应格式

    第一个字节与R1响应相同。第2个字节的内容在以下描述:

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
95 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 11:40:16

96页




SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

* 擦除参数:扇区或者群在擦除时的无效选择。
* 违反写保护:命令在尝试写入一个写保护的块。
* 卡ECC失败:卡使用ECC纠正数据失败。
* CC错误:卡内控制器错误。
* 错误:在操作时发生了一个通用的或者未知的错误。
* 擦除在写保护时跳过|执行加锁/解锁命令失败:本位有2个功能。当主机试图擦除一个写保护扇区、排序或者在执行加锁/解锁命令时密码错误时被置位。
* 锁卡:用户锁卡时置位。解锁时复位。

* R3格式

    当卡收到READ_OCR时发出本响应令牌。它有5个字节长(参加图49)。第一字节的结构与R1响应类型相同,其它4个字节包含OCR寄存器。

    图 49:R3响应格式

* 数据响应

    每一个写到卡中的数据块将由一个数据响应令牌承认。它有一个字节长,格式如下:

    状态位的含义如下定义:
    “010” —— 数据被接受
    “101” —— 数据因为CRC错误被拒绝
    “110” —— 数据因为写错误被拒绝

    假如主机得到状态区域为“110”,它将使用CMD12命令来停止传输数据,并发送CMD13命令来验证哪一块的写问题导致写错误的发生。ACMD22命令被用来查找完好写入的块的数量。

7.3.3 数据令牌

    读写命令联合数据来传输。数据经由数据令牌被传输或接受。所有的数据字节都要先发送MSB。数据令牌为4-515字节长,格式如下:

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
96 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 12:19:15

97页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    单块读写,多块读:

* 第一字节:起始块

* 字节2-513(取决于数据块的长度):用户数据
* 最后2个字节:16位CRC。

    多块写操作:

* 每一块的第一字节:
    假如将要传输数据 —— 起始块

    假如请求停止传输数据 —— 停止传输

    注意:本根式仅适用于多块的写操作。多块读操作的情况下,使用STOP_TRAN(CMD12)命令来停止传输。

7.3.4 数据错误令牌

    假如读操作失败,卡将发送一个数据错误令牌而不是所请求的数据。令牌有一个字节长,格式如下:

    图 50:数据错误令牌

    4位最低有效位(LSB)与R2响应格式有同样的错误位。

7.3.5 清除状态位

    在前面的章节里描述:在SPI模式下,报告给主机的状态位有3中不同的格式:R1响应,R2响应,数据错误令牌(同样的位可能在多种响应类型存在——例如:卡ECC失败)

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
97 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 12:58:46

98页

SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    在SD模式下,主机读取错误位后,它就会被清除,响应格式不论。状态指示会在卡被读取后清除或与卡的状态一致。

    下表总结了总结了变量状态位的明确规定的条件。

    表 59:SPI模式的状态位

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
98 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 15:16:37

99页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    表 59:SPI模式的状态位

1) 类型:

E:错误位。
S:状态位。
R:实际命令响应的检测与设置。
X:命令执行期间的检测与设置。主机必须通过给卡发送状态命令以便获得并读取这些位。

2) 清除情况:

A:依照卡的当前状态。
C:由读操作来清除

7.4 卡寄存器

    在SPI模式里,仅可使用OCR、CSD与CID寄存器。它们的格式与SD模式下的格式相同。但是,极少数的区域不同。

7.5 SPI总线时间图表

    所有的时间图表使用下列图表和缩写:

H                Signal is high (logical '1')
L                Signal is low(logical '0')
X                Don't care
Z                High impedance state (-> = 1)
*                Repeater
Busy                Busy Token
Command                Command token
Response        Response token
Data block        Data token

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
99 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 16:31:09

100页


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

    表60定义了所有的时间值。在接收到卡响应后,主机必须使时钟保持运行至少Ncr个时钟周期。它约束命令与数据响应令牌。

7.5.1 命令/响应

* 主机给卡发命令后的响应——卡准备好

    以下时序图描述了SPI处理时的基本的命令响应(无数据)。

    图 51:基本命令响应

* 主机给卡发命令后的响应——卡在忙

    当卡响应R1b响应类型(例如:SET_WRITE_PROT与ERASE)时,以下时序图描述了命令响应过程。当卡处在信号忙时,主机在任何时间都取消选定它(通过置高CS)。在CS变高后,卡将释放DataOut线一个时钟周期。为了检查卡是否仍在忙,需要通过设置CS(置低)来重新选择。在CS的下降沿后,卡将恢复忙信号(置低DataOut线)一个时钟周期。

    图52:在忙时的命令响应(R1b)

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
100 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 16:51:09

101页



SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

* 卡响应主机命令

    图 53:卡响应新的主机命令的时间间隔

7.5.2 读数据

* 以下时序图描述了除SEND_CSD命令之外的所有单块读操作。

    图 54:读单块操作——总线时间

下表描述了在读多块的情况下的停止传输操作。

    图 55:在读多块的时停止传输操作

* 读CSD寄存器

下列时序图描述了SEND_CSD总线传输命令。该超时值为响应与数据块都是Ncr。(自从Nac仍然未知)

    图 56:读CSD——总线时间

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)Microsystem
101 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 17:06:55

102页


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

7.5.3 写数据

    当卡处在信号忙时,主机在任何时间都能取消选定它(通过置高CS)。在CS变高后,卡将释放DataOut线一个时钟周期。为了检查卡是否仍在忙,需要通过设置CS(置低)来重新选择。

在CS下降沿后,卡将复位忙信号(置低DataOut)一个时钟。

    图 57:写操作——总线时间

下图描述了在多块写传输时停止传输操作。

    图 58:写多块时停止传输

7.5.4 时间值

    表 60:时间值

7.6 SPI电气接口

    除了在SPI模式下不支持的编程卡输出驱动选项之外,与SD模式相同。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
102 CONFIDENTIAL
Date: March 2000

wb4916 发表于 2007-9-17 17:07:38

103页


SD-Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0
SPI Mode

7.7 SPI总线操作情况

    与SD模式相同

7.8 总线时间

    与SD模式相同。CS信号线时间与其它任何卡的输入相同。

DO NOT COPY(c)2000 by SD Group (MEI,SanDisk,Toshiba)
103 CONFIDENTIAL
Date: March 2000

avruser 发表于 2007-9-17 17:28:32

太令人感动了,今天更新了这么多!

wb4916 发表于 2007-9-17 17:38:02

版权声明:

由于本文档的PDF版本上面有机密字样,是受控文档。因此,所有使用本翻译文章引起的法律后果,本人概不负责。使用本翻译文章即承认属于自愿使用,自担后果。我只是在网络上面发现了本文档,并依照自己的需要翻译了其中的SPI模式这一章。

翻译中可能因为我的水平问题存在的缺陷,请告知,便于校正。


本文档以GPLv3发布。
任何人有保护自己劳动成果的权力。
请勿上载到任何商业下载站点。

谢谢。
小文

联系我:
mail:wb4916@sohu.com
skype:wb4916

近期因为工作繁忙(使用AT89C52接受GPS的经纬度数据并存储到SD卡,准备采用SPI模式),暂不准备发布其它章节的翻译。请任何需要使用SD卡模式的人在力所能及的情况下翻译其它页面,一页也可以,为己达人。本文档全部翻译完成后会形成最终文档。它的产生需要您的帮助!!

再次感谢!!
(附件为翻译时按页形成的文档,仅供参考!!)

点击此处下载armok01173560.zip

xiangjing 发表于 2007-9-18 15:42:17

谢谢!好东东!

shjw 发表于 2007-9-24 20:12:01

支持,期待共同提高

wb4916 发表于 2007-10-8 22:59:13

由于发现第2部分的FAT文件系统还是需要了解,于是翻译如下:

第011页

SD Memory Card Specifications / Part 2. File System Specification Version 1.0
1. General
1.1 Scope

    本部分定义了SD内存卡(安全的数字内存卡)的卷结构与文件结构。SD内存卡的文件系统定义了它的逻辑结构,即使用基于ISO/IEC 9293标准的FAT文件系统。

    它同样支持两个区:一个是数据区,用户不需要相互认证就能够存取,另外一个是保密区,用户必须在认证后才能够存取。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-1 CONFIDENTIAL

wb4916 发表于 2007-10-8 23:09:30

第012页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
1. General
1.2 Normative References

1) ISO/IEC646:1991
信息技术——ISO定义的信息交换用的7位代码字符集

2) ISO/IEC9293:1994
信息技术——信息交换用的磁盘盒的卷与文件结构

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-2 CONFIDENTIAL

wb4916 发表于 2007-10-8 23:29:52

第013页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
1. General
1.3 Definitions

1.3.1 byte 字节
作为一个整体进行运算的二进制的数字串

1.3.2 defective sector 缺陷扇区
不能够被读写的扇区

1.3.3 descriptor 描述符
包含关于卷或者文件的信息的记录结构。

1.3.4 file 文件
被命名的数据集合

1.3.5 sector / block 扇区/块
在SD内存卡中,可独立于其它单元的进行存取的数据单元。

1.3.6 partition 分区
在一个卷内部分或者全部扇区。

1.3.7 user 用户
由卡的制造商提供保修服务的自然人或者法人。

1.3.8 volume 卷
在相关的记录标准中被指定扇区地址空间。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-3 CONFIDENTIAL

wb4916 发表于 2007-10-8 23:52:46

第014页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
1. General
1.4 Notations

1.4.1 Numerical notation 数值符号
十进制数由0-9表示。
十六进制数由0-9与A-F表示,带有前缀“0x”。0只表示为值“0”的一个单独的位。

1.4.2 Arithmetic notation 算术符号
“ip(x)”表示为“x”的整数部分。
“ceil(x)”表示正好大于“x”的整数。

1.4.3 Character strings 字符串
一个字节序列的值可被指定为一个引述的字符序列,它依照ISO/IEC 646标准编码。

1.4.4 List of acronyms 取首字母的缩写词表
BP :在特定区域的字节位置,它从这个区域的第一个字节以“0”开始。
FAT:文件分配表。
FDC:灵活的磁盘盒。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-4 CONFIDENTIALCONFIDENTIALCONFIDENTIALCONFIDENTIAL

wb4916 发表于 2007-10-9 00:17:54

第015页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
1. General
1.5 Data types

1.5.1 Numerical values in one-byte fields 单字节域的数值
单字节域的数值将被作为一个8位的二进制数记录在一个字节区域里。

1.5.2 Numerical values in two-byte fields 双字节域的数值
双字节域的数值将按“小尾”表示法记录。它将依照ISO/IEC 9293记录。

1.5.3 Numerical values in four-byte fields 四字节域的数值
四字节域的数值将按“小尾”表示法记录。它将依照ISO/IEC 9293记录。

1.5.4 Pairs of 12-bit integers 两个12位整数的表示
依照ISO/IEC 9293,两个12位整数将被记录在三字节区域,。

译者注释:
参考:
http://www.eygle.com/digest/2007/01/whats_mean_endian.html
http://www.cppblog.com/future0906/archive/2005/11/19/1193.html

endian: The ordering of bytes in a multi-byte number.
定义:在计算机系统体系结构中用来描述在多字节数中各个字节的存储顺序。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-5 CONFIDENTIALCONFIDENTIALCONFIDENTIALCONFIDENTIAL


第016页空白。

pcwinner 发表于 2007-10-9 20:05:29

迟点要用到。。。。呵呵,留个记号先

wb4916 发表于 2007-10-9 21:33:12

第017页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure

2. 卷结构

    本节定义了SD内存卡的卷结构。它定义了数据区的逻辑结构。为了以分区来标识数据区,第一个扇区有MBR/主引导记录与分区表。SD内存卡使用FAT文件系统(ISO/IEC 9293),支持FAT12与FAT16类型的文件系统。

图2-1:数据区的卷结构的例子

PSN:物理扇区编号
LSN:逻辑扇区编号

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-7 CONFIDENTIAL

wb4916 发表于 2007-10-10 17:23:35

第018页

晚些时候奉上!

wb4916 发表于 2007-10-10 17:25:09

第019页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure
2.2 Arrangement of the User Area

2.2 Arrangement of the User Area

2.2.1 Clusters 簇
用户区的分配单位叫簇。每个簇由有同样编号的扇区组成。每个簇都有一个唯一的簇编号。簇编号为从2开始的整数。

2.2.2 Status of clusters 簇状态
每个簇都要被指派为如下状态中的一种:
   - 已经被分配给了一个文件
簇已经被分配。
   - 可被分配
簇可被分配。
- 坏簇
坏簇。本簇不能被分配。

依照ISO/IEC 9293来标识每个簇的状态。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-9 CONFIDENTIAL

wb4916 发表于 2007-10-10 23:44:29

第018页(怎么这么恶心,竟然不能够编辑!!)


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure
2.1 Arrangement of the Data Area

2.1 Arrangement of the Data Area

2.1.1 Physical Address 物理地址
通过包含SD内存卡自己的参数的物理地址来识别每个扇区。

2.1.2 Physical Sector Number 物理扇区编号
通过物理扇区编号来识别卷内的每个扇区。物理地址与物理扇区编号之间一一对应。物理扇区编号将被指派为从0开始的升序。

2.1.3 Logical Sector Number 逻辑扇区编号
通过逻辑扇区编号来识别区内的每个扇区。指派0作为分区的第一个扇区的逻辑扇区编号。逻辑扇区编号与物理扇区编号之间一一对应。

2.1.4 Partition Area and Regular Area 分区与Regular Area
数据区的空间被分为两部分:分区与Regular Area。Regular Area又被分为系统区和用户区。

分区占用物理扇区编号从0到NOM-1的扇区,NOM表示在MBR与分区表里的扇区数。

Regular Area是卷的分区,被分为系统区和用户区。

系统区占用物理扇区编号从NOM到NOM+SSA-1的扇区,SSA表示在系统区里的扇区数。系统区包含了定义Regular Area的记录格式描述符。没有任何文件的哪个部分会存储到系统区。

用户区占用物理扇区编号从NOM+SSA开始的扇区。用户区可以存储文件和目录,即记录用户数据。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-8 CONFIDENTIAL

wb4916 发表于 2007-10-10 23:59:39

第021页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure
2.3 Arrangement of the Partition Area

(BP 0) Boot Indicator 引导指示
假如SD内存卡被用来引导(系统),本区设置为0x80,其它设置为0x00。

(BP 1) Starting Head 起始头
本区指定分区的起开始头。

(BP 2 and 3) Starting Sector / Starting Cylinder 起始扇区/起始柱面
本区指定分区的起始扇区与柱面。本区中的6位(BP 2的第0位到第5位)被用作起始扇区,本区中的10位(BP 2的第6位到第7位,BP 3的第0位到第7位)被用作起始柱面。

(BP 4) System ID 系统ID
本区指定文件系统类型。假如分区尺寸小于32680扇区,它会将被记为0x01,小于65536扇区将被记为0x04,其它记为0x06。

(BP 5) Ending Head 结束头
本区指定分区的结束头。

(BP 6 and 7) Ending Sector / Ending Cylinder 结束扇区/结束柱面
本区指定分区的结束扇区与柱面。本区中的6位(BP 6的第0位到第5位)被用作结束扇区。本区中的10位(BP 6的第6位到第7位,BP 7的第0位到第7位)被用作结束柱面。

(BP 8 to 11) Relative Sector 相关扇区
本区指定为这个分区的起始扇区之前的扇区数。

(BP 12 to 15) Total Sector 总扇区
本区指定为分区的扇区数。


DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-11 CONFIDENTIAL

wb4916 发表于 2007-10-11 09:25:36

第020页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure
2.3 Arrangement of the Partition Area

2.3 Arrangement of the Partition Area

    数据区的第一个扇区里有MBR,它包含可执行代码与识别分区信息的分区表。

表格2.3-1 MBR与分区表

(BP 0 to 445) Master Boot Record MBR
本规格书没有定义本区的内容。

(BP 446 to 461) Partition Table (partition1) 分区表(第1分区)
本区将定义卷内的第一个分区的信息。本区为用户不需要交互认证即可存取的Regular Area。它依照表2.3-2进行记录。

(BP 462 to 477) Partition Table (partition2) 分区表(第2分区)
本区全为0,像卷一样由单独的Regular Area组成。

(BP 478 to 493) Partition Table (partition3) 分区表(第3分区)
本区全为0,像卷一样由单独的Regular Area组成。

(BP 494 to 509) Partition Table (partition4) 分区表(第4分区)
本区全为0,像卷一样由单独的Regular Area组成。

(BP 510 and 511) Signature Word 签名字
本去必须被记录为0x55 (BP 510)与0xaa (BP 511)。

表格2.3-2 分区表

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-10 CONFIDENTIAL

wb4916 发表于 2007-10-11 10:01:20

第022页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
2. Volume Structure
2.4 Arrangement of the System Area

2.4 Arrangement of the System Area

2.4.1 System Area 系统区
    系统区包含有分区引导扇区、根目录以及两个(相同的)FAT。

2.4.2 Partition Boot Sector 分区引导扇区
    系统区的第一个扇区包含有包括FDC描述符的分区引导扇区,。
    FDC描述符包含有分区参数。

2.4.3 File Allocation Table (FAT)
    FAT包含有格式化标识符与一些条目,它们用来标识用户区的簇。这些条目是从2开始的,有限地且连续地,条目编号等于相应的簇的簇编号。

    FAT内的每个条目将标识相应的簇的状态。FAT条目将被用来标识分配给每个文件的一批簇。

2.4.4 Root Directory 根目录
    根目录应记录在第二个FAT之后的系统区内。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-12 CONFIDENTIAL

wb4916 发表于 2007-10-11 10:09:38

第023页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.1 Partition Boot Sector

3. File Structure 文件结构
3.1 Partition Boot Sector 分区引导扇区

    在分区头有一个分区引导扇区,它包含有FDC描述符或者扩展FDC描述符,它们都遵从ISO/IEC 9293。默认使用扩展FDC描述符。

表3.1-1 FDC描述符

表3.1-2 扩展FDC描述符

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-13 CONFIDENTIAL

wb4916 发表于 2007-10-11 10:46:08

第024页   



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.1 Partition Boot Sector

(BP 0 to 2) Jump Command 跳转命令
    本区将为引导程序定义跳转命令。它被记为0xeb (BP 0)、0xXX(BP 1)与0x90 (BP 2),或者0xe9 (BP 0)、0xXX (BP 1)与0xXX (BP 2)。0xXX表示本规格书没有定义它的值。

(BP 3 to 10) Creating System Identifier 创建系统标识符
    本区将为系统定义标识符。本区将遵从ISO/IEC 9293 9,并使用a-characters来记录。

(BP 11 and 12) Sector Size 扇区大小
    本区将定义一个扇区为多少字节。它将被记作512。

(BP 13) Sectors per Cluster 每簇的扇区数
    本区将定义每簇的扇区数。它将被记为:1、2、4、8、16、32或者64。簇的大小将会是由物理层决定的擦除块的大小的倍数。假如擦除的块的大于32KB,簇大小为32KB,本区为64。

(BP 14 and 15) Reserved Sector Count 保留扇区数
    本区将定义为系统使用而保留的扇区数。它将被记为1。

(BP 16) Number of FATs FAT数
    本区将定义FAT的数目。它将被记为2。

(BP 17 and 18) Number of Root-directory Entries 根目录里的条目数
    本区将定义在根目录里的条目数。它将被记为512。

(BP 19 and 20) Total Sectors 总扇区数
    本区将定义分区的扇区数。它将依照ISO/IEC 9293 9记录。

(BP 21) Medium Identifier 介质标识符
    本规格书定义为0xf8。

(BP 22 and 23) Sectors per FAT 每个FAT的扇区数
    本区将定义每个FAT占用的扇区数。它将依照ISO/IEC 9293 9记录。

(BP 24 and 25) Sectors per Track 每磁轨的扇区数
    本区将定义每磁轨的扇区数。本参数取决于SD内存卡的限制。它将依照ISO/IEC 9293 9记录。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-14 CONFIDENTIAL

wb4916 发表于 2007-10-11 11:42:37

第025页





SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.1 Partition Boot Sector

(BP 26 and 27) Number of Sides 面数
    本区将定义可以记录的面数,它取决于SD内存卡的限制。它将依照ISO/IEC 9293 9记录。

(BP 28 and 29) Field reserved for future standardization 为未来标准所保留的区域
    本区是为未来标准所保留的区域,全为0。

(BP 30 to 509) Field reserved for system use 为系统使用所保留的区域
    本区是为系统使用所保留的区域。本规格书没有定义。

(BP 510 and 511) Signature Word 签名字
    本区将被记为0x55 (BP 510)与0xaa (BP 511).

(Extended FDC Descriptor BP 28 to 31) Number of Hidden Sectors 隐藏扇区数
    本区将定义在本分区的起始扇区之前的扇区数。

(Extended FDC Descriptor BP 32 to 35) Total Sectors 总扇区数
    假如在BP 19 and 20处被记为0,本区将定义分区上的扇区数。它将依照ISO/IEC 9293 9记录。

(Extended FDC Descriptor BP 36) Physical Disk Number 物理磁盘数
    本区将定义BIOS物理磁盘数,记为0x80。

(Extended FDC Descriptor BP 37) Reserved 保留
    本区将为未来标准所保留,它将被记为0。它将依照ISO/IEC 9293 9记录。

(Extended FDC Descriptor BP 38) Extended Boot Record Signature 扩展引导记录签名
    当BP 19与BP 20不全为0时,本区将被用来标识在扩展FDC描述符里的描述符类型,被记为0x29。

(Extended FDC Descriptor BP 39 to 42) Volume ID Number 卷ID号
    本区将定义卷ID号。它将依照ISO/IEC 9293 9记录。

(Extended FDC Descriptor BP 43 to 53) Volume Label 卷标
    本区将定义卷标。它将依照ISO/IEC 9293 9记录。

(Extended FDC Descriptor BP 54 to 61) File System Type 文件系统类型
    本区将定义文件系统类型。它将依照ISO/IEC 9293 9记录。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-15 CONFIDENTIAL

wb4916 发表于 2007-10-11 11:49:52

第026页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.1 Partition Boot Sector

(Extended FDC Descriptor BP 62 to 509) 为系统使用所保留的区域
    本区是为系统使用所保留的区域。本规格书没有定义。

(Extended FDC Descriptor BP 510 and 511) 签名字
    本区将被记为0x55 (BP 510)与0xaa (BP 511).

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-16 CONFIDENTIAL

wb4916 发表于 2007-10-11 12:07:56

第027页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.2 File Allocation Table

3.2 File Allocation Table FAT
    12位的FAT与16位的FAT都被支持。FAT结构遵从ISO/IEC 9293。具体的FAT类型取决于由物理层的限制的簇的总数。假如簇数少于4085,就使用FAT12,否则使用FAT16。由FAT的第一个字节指定格式标识符,被记为0xf8。假如为FAT12,第2、3字节都被记为0xff,假如为FAT16,第2、3、4字节都被记为0xff。FAT的扇区可能包含未使用的区域,因为簇号决定了FAT的大小为多少字节。这个为使用的区域应被记为0。

表3.2-1 FAT条目值

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-17 CONFIDENTIAL

wb4916 发表于 2007-10-11 13:59:12

第028页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.3 File directories

3.3 File directories

3.3.1 特征
    目录是描述符,它包含有一组目录条目,每一条都表示为一个文件、一个卷标、另外一个目录或者未使用。一个目录可以容纳65536个目录

项。

    目录条目里的文件名的格式支持8.3格式。虽然长文件名(LFN)也被支持,但是SD内存卡的文件系统可能会忽略这些条目,仅仅只引用8.3

格式的文件名,尽管它是使用LFN存储的。

    在目录项的字符码可使用ISO/IEC 9293所允许的代码。

3.3.2 目录项类型
    目录项包含关于记录在分区里的文件的描述信息。这些项有如下类型:

    - File Entry 文件项
    文件项将指定文件的信息。

    - Volume Label Entry 卷标项
    卷标项将指定分区的卷标。

    - Sub-directory Pointer Entry 子目录指针项
    子目录指针项将指定目录信息。

    - Sub-directory Identifier Entry 子目录标识符项
    子目录标识符项将标识一个文件为一个子目录。

    - Sub-directory Parent Pointer Entry 子目录的父指针项
    子目录的父指针项将指定它的父目录信息。

    - Not-currently-in-use Entry 非当前使用的项
    非当前使用的项表示这个项现在没有被使用,它能够被指派。

    - Never-used Entry 从未使用过的项
    从未使用过的项表示目录的结束,它不能出现在任何其它类型的目录项之前。

    这些项将遵从ISO/IEC 9293 11来记录。

3.3.3 目录项区的概述
    表3.3.3-1指示了目录项区的结构。

表3.3.3-1 目录项区

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-18 CONFIDENTIAL

wb4916 发表于 2007-10-11 15:19:48

第029页



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.3 File directories

(BP 0 to 7) Name 文件名
    本区的内容与描述取决于条目类型,它遵从ISO/IEC 9293 11来记录。

(BP 8 to 10) Name Extension 扩展名
    本区的内容与描述取决于条目类型,但内容必须为d-characters。它遵从ISO/IEC 9293 11来记录。

(BP 11) Attributes 文件属性
    本区将定义条目的属性。它遵从ISO/IEC 9293 11来记录。

(BP 12 to 21) Reserved Field 保留区
    本区的内容取决于条目类型。假如这个条目是LFN条目,在本规格书里将不会指定这个区。否则,全部为0。

(BP 22 and 23) Time Recorded 记录的时间
    本区包含一个16位的整数来表示时间。它遵从ISO/IEC 9293 11来记录。

(BP 24 and 25) Date Recorded 记录的日期
    本区包含一个16位的整数来表示日期。它遵从ISO/IEC 9293 11来记录。

(BP 26 and 27) Starting Cluster Number 起始簇号
    本区的内容取决于条目类型。它遵从ISO/IEC 9293 11来记录。

(BP 28 to 31) File Length 文件长度
    本区的内容取决于条目类型。它遵从ISO/IEC 9293 11来记录。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-19 CONFIDENTIAL

wb4916 发表于 2007-10-11 16:42:52

第030页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
3. File Structure
3.4 User Area

3.4 User Area 用户区

    用户区按簇组织。每个簇都有相应的编号。用户区的第一个簇的编号为2。

    虽然可以按扇区来读/写,但是必须以在物理层推荐的读/写最小值为单位来处理读写操/作。此外,对于SD内存卡文件系统,没有特别的限制。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-20 CONFIDENTIAL

wb4916 发表于 2007-10-11 17:57:52

第031页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex A: File System Layout

Annex
Annex A: File System Layout 文件系统设计

    必须以在物理层推荐的读/写最小值为单位来处理用户区的读写操/作。因此,簇大小取决于所推荐的大小。用户区的首扇区必须在簇大小的倍数偏移处开始。

    文件系统的结构如下实现:

1. MBR、分区表、分区引导扇区、FAT与根目录的大小的总和为簇大小的倍数。

2. 把分区引导扇区前的簇数调整为上述大小。

3. MBR与分区引导扇区属于不同的簇。

4. MBR的第一扇区与用户区的第一扇区总是被置于簇边界。

    下面是一个分区的例子,它的簇的大小为16KB。

图A-1:文件系统设计的例子

p、q:自然数
PSN :物理扇区编号
LSN :逻辑扇区编号

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-21 CONFIDENTIAL

wb4916 发表于 2007-10-11 17:58:16

第032页   



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex B: CHS Recommendation

Annex B: CHS Recommendation 推荐的CHS值

    下表显示了CHS参数的推荐值。在表中,卡的容量表示数据区与保护区的总计大小。

表B-1 推荐的CHS值

    下面是一个数据区的大小为63MB时的分区表的例子。

表B-2 分区的例子

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-22 CONFIDENTIAL

wb4916 发表于 2007-10-11 18:31:59

第033页   


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex C: Sectors per Cluster and Boundary Unit Recommendation for Data Area

Annex C: Sectors per Cluster and Boundary Unit Recommendation for Data Area

    下表显示了所推荐的每簇的扇区数、数据区的边界单位。

    在用户数据区的起始扇区之前的扇区数是边界单位的倍数大小。在这个表里,卡的容量表示数据区与保护区的总计大小。

表C-1 每个簇的扇区数与推荐单位的边界(数据区)

    最大的数据区大小与格式化参数如下表所示。

表C-2 最大的数据区大小与格式化参数

名词解释:
Card Capacity——SD卡容量。

Sectors per Cluster——每簇的扇区数。本参数由卡容量定义。

Max Data Area size——数据区的最大扇区数。

Clusters——用户数据区的簇数。本参数随数据区大小而变。

FAT Sec——每个FAT占用的扇区数。本参数随数据区大小而变。

Hidden——在分区引导扇区之前的扇区数。本参数随数据区大小而变。

FAT bits——假如分区被格式化为FAT12,FAT位为12。假如分区被格式化为FAT16,FAT位为16。本参数随数据区大小而变。

User Data Offset——在用户数据区的起始扇区之前的扇区数。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-23 CONFIDENTIAL

wb4916 发表于 2007-10-11 18:34:14

第034页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex C: Sectors per Cluster and Boundary Unit Recommendation for Data Area

    每簇的扇区数由卡的容量定义。Clusters、FAT Sec、Hidden、FAT bits与User Data Offset随数据区大小而变(使用在表C-1中的参数来计算)。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-24 CONFIDENTIAL

wb4916 发表于 2007-10-11 21:52:27

第035页


SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex D: Format Parameter Computations

Annex D: Format Parameter Computations

    在这一节里,将介绍格式参数的计算方法。数据区将被格式化,通过如下步骤:

1. 每簇的扇区数(SC)由分区大小决定。

2. 根目录的条目(RDE)数为512。

3. 扇区大小(SS)为512。

4. 保留扇区计数(RSC)为1。

5. 总扇区(TS)为分区内所有的扇区的数目。

6. FAT位(12,16)取决于SC与TS。

7. 每FAT占用的扇区数目(SF)的计算方法如下:

SF = ceil{ [(TS/SC) × FAT bits] / (SS × 8)}

8. 在系统区里的扇区数(SSA)的计算方法如下:

SSA = RSC + 2 × SF + ceil( (32 × RDE) / SS )

9. 在MBR里的扇区数(NOM)的计算方法如下:

NOM + SSA = BU × n

    在这里,“n”表示满足上述条件的最小的自然数,BU表示取决于附录C的边界单位。

10. 假如NOM不等于BU,NOM的值加上BU的值后赋予NOM。

11. 最大簇数(MAX)的计算方法如下:

MAX = ip( (TS - NOM - SSA) / SC ) + 1

12. 每FAT的扇区数(SF')要重新如下计算:

SF' = ceil{ { × FAT bits} / (SS × 8) }

    在这个公式里,“MAX-1”表示簇数。“2+(MAX-1)”表示FAT条目数,包括两个签名条目。

13. 假如SF'不等于SF,把SF'的值赋予SF,从第8步开始重新计算。

14. 假如SF'等于SF,所有的参数计算完成。

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-25 CONFIDENTIAL

wb4916 发表于 2007-10-11 21:53:17

第036页   



SD Memory Card Specifications / Part 2. File System Specification Version 1.0
Annex
Annex D: Format Parameter Computations

一个有63MB的数据区的SD内存卡的例子:
- TS      =129792 Sectors

- SC      =32 Sectors

- RDE   =512 Entries

- SS      =512 B

- RSC   =1 Sectors

- FAT bits=12

- SF      =12 Sectors

- SSA   =57 Sectors

- NOM   =39 Sectors

- MAX   =4054

    上述为一个扩展FDC描述符的例子:

表D-1扩展FDC描述符(Regular Area)

DO NOT COPY   2000 SD Group (MEI, SanDisk, Toshiba).
FS-26 CONFIDENTIAL

wb4916 发表于 2007-10-12 10:34:30

按照我的个人习惯,附录上中间结果:TXT文件,如果谁愿意排版一下,发给我,我还是比较感激的!



版权声明:

所有使用本翻译文章引起的法律后果,本人概不负责。使用本翻译文章即承认属于自愿使用,自担后果。我只是在网络上面发现了本文档,并依照自己的兴趣翻译。在完成之前不会去和作者谈授权问题。

翻译中可能因为我的水平问题存在的缺陷,请告知,便于校正。


本文档以GPLv3发布。
任何人有保护自己劳动成果的权力。
请勿上载到任何商业下载站点。

谢谢。
小文

联系我:
mail:wb4916@sohu.com
skype:wb4916

怎么感觉等着吃肉的人不少,杀猪的没有!!
如果什么东西都翻译好了,我也犯不着这么辛苦了!


感觉中国人就这德性,就等着别人干好了,自己直接用!
失望透顶!!
每个人都很忙!我也不例外!
我现在要学习电路,要学习软件……也想自己的工资能够翻一番呀!
当你花时间在BAIDU、GOOGLE上面狂找的时候,怎么没有想到花点时间来自己干呢??

还有人无耻到家,看见我翻译的文章后,问我能不能够翻译这个,能不能够翻译那个?
给¥,我也很愿意。
你为什么自己不干呢?


点击此处下载ourdev_176208.zip(文件大小:113K)

ioro55555 发表于 2007-10-29 21:42:40

4.7.2指令格式
所有指令有一个48 bits固定长度的码,需要一个2.4μs或20 MHz的传输时间。

位单元 47       46                0   
bits   1      1      6         32      7      1
大小   0      1      x         x         x      1
说明 起始位传输位指引指标    论证      CRC7   结束位   

一条指令始终开始于一个起始位(总是0)后面的位表明传输方向(主机1)其次的6个位表明指令的标志,其次的6个位意思是相应二进制编码的数字(在0与63之间)。一些指令需要一个论证(例如一个地址)是32位的码。特征值标志由上述的表中的x表明这变量取决于指令。所有指令由一个CRC(循环冗余码校验)保护(看7.2的crc7定义)。每条指令代码有终止位(总是1)。所有指令和他们的论证登记在表9-16上。

我英语水平不高,翻译了一小段,大家加油啊。

ioro55555 发表于 2007-11-17 11:17:15

楼主说得对,经过了难熬的一个月,sd卡资料的SPI模式我已经翻译完毕,虽然翻译的不是很好,但我从中学到了很多东西。希望大家一起努力,做自己想做的东西。靠谁不如靠自己!!不过还要请教楼主一个问题:如果只使用SPI模式,还要翻译哪个部分?呵呵。

ilikemcu 发表于 2007-11-24 17:09:28

无论如何支持下楼主!

最近在学习用AVR读写SD卡,搜索看到这个帖子!支持下!

zhxlx 发表于 2007-12-5 23:18:37

支持无私的人!交流可以使大家进步。

ainet 发表于 2007-12-16 14:48:43

大家要注意第9脚在左边,然后才是1,2,3,4,5,6,7,8

frozenstar 发表于 2007-12-16 19:05:59

支持,顶一下。。。

safon 发表于 2008-1-22 17:37:07

本人半月前利用业余时间开始翻译<<Physical Layer Specification.pdf>>限于本人的英语水平有限,偶尔在一个加拿大佬的帮助下,现在才翻译到23页,由于翻译的文字写到笔记本上,不能及时跟大家分享,有点过意不去!希望大家一起帮助楼主,把这项工作尽早完成

alien2006 发表于 2008-1-22 18:37:05

正好需要,多谢!

safon 发表于 2008-1-23 09:53:52

This query shouldbe used if the host is able to select a common voltage range or if a notification to the application of
non usable cards in the stack is desired.
这是<<Physical Layer Specification.pdf>>上第24页第2行的1句话,请教如何翻译,谢谢

heshang 发表于 2008-1-23 10:08:34

同志们加油啊!!

haso2007 发表于 2008-3-9 09:42:57

好样的,

key668 发表于 2008-4-7 15:59:16

严重支持楼主!!

zhuhuagui 发表于 2008-4-25 20:40:58

辛苦了,非常感谢,大家多参与.给以支持.

xingzhang 发表于 2008-4-26 00:09:31

历时三年,精神可嘉,强烈支持

153290557 发表于 2009-5-13 09:46:26

辛苦了

ycbx1569 发表于 2009-6-10 22:25:05

谢谢

58180698 发表于 2009-6-11 22:01:05

同志,加油啊。 期待更新啊。!

caixangwen523 发表于 2009-6-23 20:52:13

真诚的感谢你!

sunyouyuan 发表于 2009-6-24 16:07:53

楼主怎么不把翻译的整成一个文档啊放在楼主位方便大家下载 呵呵

wanghengzhi 发表于 2009-6-29 12:15:10

楼主精神值得大家学习!
页: [1] 2
查看完整版本: SD卡接口规范——中文翻译开始启动