SD卡工作原理介绍和工作原理图

上传人:ji****72 文档编号:37522196 上传时间:2018-04-17 格式:DOC 页数:34 大小:1.88MB
返回 下载 相关 举报
SD卡工作原理介绍和工作原理图_第1页
第1页 / 共34页
SD卡工作原理介绍和工作原理图_第2页
第2页 / 共34页
SD卡工作原理介绍和工作原理图_第3页
第3页 / 共34页
SD卡工作原理介绍和工作原理图_第4页
第4页 / 共34页
SD卡工作原理介绍和工作原理图_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《SD卡工作原理介绍和工作原理图》由会员分享,可在线阅读,更多相关《SD卡工作原理介绍和工作原理图(34页珍藏版)》请在金锄头文库上搜索。

1、1大容量 SD 卡在海洋数据存储中的应用 本设计使用 8 GB 的 SDHC(High Capacity SD Memory Card,大容量 SD 存储卡),为了方便卡上数据在操作系统上的读取, 以及数据的进一步分析和处理,在 SDHC 卡上建立了 FAT32 文件系统。 海洋要素测量系统要求数据存储量大、安全性高,采用可插拔式存储卡是一种不错的选择。目前,可插拔式存储卡有 CF 卡、U 盘及 SD 卡。CF 卡不能与计算机直接通信;U 盘需要外扩接口芯片才能与单片机通信,增加了外形尺寸及功 耗;而 SD 卡具有耐用、可靠、安全、容量大、体积小、便于携带和兼容性好等优点,非常适合于测量系统长

2、期的数据 存储。 1 SD 卡接口的硬件设计 STM32F103xx 增强型系列是意法半导体公司生产的基于 Cortex-M3 的高性能的 32 位 RISC 内核,工作频率为 72 MHz, 内置高速存储器(128 KB 的闪存和 20 KB 的 SRAM),以及丰富的增强 IO 端口和连接到 2 条 APB 总线的外设。 STM32F103xx 系列工作于-40+105的温度范围,供电电压为 2.03.6 V,与 SD 卡工作电压兼容,一系列的省电模式 可满足低功耗应用的要求。 SD 卡支持 SD 模式和 SPI 模式两种通信方式。采用 SPI 模式时,占用较少的 IO 资源。STM32F

3、103VB 包含串行外设 SPI 接口,可方便地与 SD 卡进行连接。通过 4 条信号线即可完成数据的传输,分别是时钟 SCLK、主机输入从机输出 MISO、主机输出从机输入 MOSI 和片选 CS。STM32F103VB 与 SD 卡卡座的接口电路如图 1 所示。SD 卡的最高数据读写速度为 10 MBs,接口电压为 2.73.6 V,具有 9 个引脚。SD 卡使用卡座代替传输电缆,减少了 环境干扰,降低了出错率,而且 1 对 1 传输没有共享信道的问题。SD 卡在 SPI 模式下各引脚的定义如表 1 所列。 2 SD 卡接口的软件设计 本设计采用 STM32F103VB 自带的串行外设 S

4、PI 接口与 SD 卡进行通信,这里只介绍 SPI 模式的通信方式。 2.1SD 卡的读写 先对 STM32F103VB 的 SPI_CRl(SPI 控制寄存器)以及 SPI_SR(SPI 状态寄存器)进行初始化设置,使能 SPI 并使用主机模 式;同时设置好时钟,在时钟上升沿锁存数据。SPI 通道传输的基本单位是字节,由 STM32F103VB 控制其和 SD 卡之 间的所有通信。 要读写 SD 卡,首先要对其进行初始化。初始化成功后,即可通过发送相应的读写命令对 SD 卡进行读写。SD 卡的读写 流程如图 2 所示。 2.2 SD1.x 与 SD2.0 标准的识别 由于大容量 SDHC 的

5、出现,SD1.x 满足不了 SDHC 的容量要求,标准已经升级为 SD2.0。但也因此出现了许多电子设备 无法驱动大容量 SD 卡的情况,如何识别 SD1.x 与 SD2.0 就显得尤为重要。SD2.0 的 SPI 模式初始化流程如图 3 所示。 判断是否为 SD2.0 卡,CMD8(SD2.0 新增的命令)是关键。若卡是 SD2.0,则发送 CMD8 将会返回有效响应;若是 SD1.x,则返回非法响应,这样就可以识别 SD 卡的类型。 SD1.x 与 SD2.0 的最大不同在于命令地址的表示。SD1.x 的地址单位是字节,而 SD2.0 的地址单位是扇区,地址仍然采 用 32 位 4 个字节

6、来表示。因此在读写操作时应该根据不同的卡对地址进行相应的处理,若是 SD1.x 则写入字节地址, 若为 SD2.0 则写入扇区地址。 3 FAT32 文件系统目前有 3 种 FAT 文件系统:FAT12、FAT16 和 FAT32。它们的区别在于文件分配表(File 2Allocation Table,FAT)中每一表项的大小(也就是所占的位数):FAT12 为 12 位,FATl6 为 16 位,FAT32 为 32 位。本 设计选择 FAT32 文件系统。由于文件存储在硬盘上占用的存储器空间以簇为最小单位,FAT32 文件系统不适合管理容 量低于 512 MB 的存储器。簇如果太大,存储小

7、文件会浪费大量的存储空间;如果太小,FAT 表会变大,不方便管理。 综合考虑,FAT32 每簇大小为 4 KB。 3.1 FAT32 文件系统结构 FAT32 文件系统可以分为以下几部分;保留区(reserved region),存放 FAT 文件系统的重要参数和引导程序;FAT 区 (FAT region),记录簇(cluster)的使用情况;根目录区(root directory region),记录根目录信息,FAT32 文件系统舍弃了 这个区,根目录区可以指定为任意一个簇;文件目录数据区 (file and directory data region),是各种文件数据实际存放的区 域。

8、 保留区中的 BPB 表从扇区 0 偏移 11 个字节开始,共占 25 字 节。表 2 是格式化为 FAT32 文件系统的 8 GBSD 卡首扇区中 读出的 BPB 参数内容。逻辑加密存储卡芯片 AT88SC1604 卡的应用 摘 要:本文介绍了目前应用较为广泛的 AT88SC1604 逻辑加密卡的特点和工作原理,同时给出了通过单片机控制操作 IC 卡的的应用实例及程序。 前言IC 卡按结构划分,可分为存储器卡和微处理器卡(CPU card)两大类。逻辑加密卡与普通存储卡相比,内部结构 较复杂,其存储区可以分成卡片设置区和应用区。卡片设置区内存放与卡片厂商及发卡者相关代码和卡片密码;应用区 又

9、可以根据需要分为不同的分区。逻辑加密卡的安全性相对较高,体现在:卡片设立主密码、每个应用分区具有各自独 立的操作密码。逻辑加密卡主要控制作用是:对数据存储区开放/关闭的控制;对数据存储区读/写的控制;对数据存储 区擦除操作的控制以及对密码校验和错误次数计数及锁闭功能控制。 AT88SC1604 卡的工作原理AT88SC1604 是由美国 ATMEL 公司设计的逻辑加密存储卡芯片。它具有 15704 位的存储容量,是目前逻辑加密存 储卡中容量较大的一种产品芯片。 芯片特点(1) AT88SC1604 芯片属于单存储器多逻辑分区结构。主存储器除划分了特定的标志数据区和控制数据区之外, 还将应用数据

10、区分成四个完全隔离的子区,并在每个子区中配备了各自的读、写控制标志和写入/擦除密码以及密码输 入错误计数器等逻辑控制。(2) 芯片为串行传输方式,并满足 ISO7816-3 同步传输协议。3(3)芯片采用低功耗的 CMOS 工艺制造,每字位的读取时间为 s,写周期为 5ms。(4) 芯片内部的存储单元具有至少 10000 次的擦除/改写循环次数。数据保存期为 10 年。 芯片存储分区结构及定义AT88SC1604 芯片分为制造商代码区、发行商代码区、用户安全密码区、用户密码比较计数区、个人代码区以及四 个应用区。每个应用区都由密码区,密码比较计数区,擦除密码区和擦除密码比较计数区、应用数据区和

11、存储器测试区 组成。(1) 制造商代码区(FZ)该区里记录的卡芯片生产商的特定信息(例如:生产批号、日期、以及特别制定的特征代码),由制造商在芯片出厂 前写入。在控制本区的熔丝(FUSHl)没有熔断时,该区的存储单元可以象普通的 EEPROM 存储单元一样进行擦除和改 写。一旦熔丝熔断,所写入的“制造商代码“就不可再更改。(2) 发行商代码区(IZ)该区用于记录卡片发行商的特定信息(例如:发行批号、日期、地区范围编号以及特定用户编号等特征代码)。当控 制本区的熔丝没有熔断时,该区的存储单元内容可以自由的擦除或改写。在个人化处理过程完成之后,控制该区的熔丝 (FUSH2)熔断,即可将注入的“发行

12、商代码”完全固化。这一代码也是识别卡片的真伪,区分卡片应用类别的重要标识。(3) 个人代码区(CPZ)该区用于存放个人身份标识数据。该区使用上受芯片的“用户密码”的保护。当“用户密码”比较成功,该区可读可 写可擦除。“用户密码”比较不成功,该区只能读而不能写入和擦除。(4) 用户密码区(SC)这个密码区是整个存储器的“总控制开关”。使用前,由授权持卡人预先输入的一个安全代码作为“参照字”储存在 这个存储区里。使用时,必须输入一个“校验密码”。芯片将输入的“校验密码”与内部存储器的“参照字”一一比较。如 果比较结果一致,IC 卡将开放整个芯片储存器(包括各分区的控制密码和各应用数据区)。各区的“

13、安全密码”区 SCn(n=l,2,3,4)与 SC 的作用是完全类似的。对于各分区的密码区 SCn (n1,2,3,4)来说,其比较操作要受到对应“应用区密码”比较计数器(SnAC)的计 数控制。当连续 8 次输入密码错误,SCn 将被锁死。(5) 密码比较计数区(SCAC)该区对连续输入的错误密码的次数进行累计。当连续 8 次不正确的比较操作之后,芯片将被锁死。芯片被锁死之后, 将拒绝任何的擦除、写入和比较的操作命令。该区是 8 位长,按位写入方式操作。在芯片初始化时是全“1”状态,即读出值为“FFH”。在每次比较输入的密码时, 先按从高位到低位的顺序找第一个为“1”的位,将此位写“0”,然

14、后将新输入的“校验密码”与原存储在 SC 区的“参照字” 进行比较。比较操作本身由芯片内部自行完成,而比较结果则通过置 SV 标志来判别,即比较成功时 SV 被置“1”。比较 不成功,SV 保持原来的“0”状态。在连续 8 次比较错误过程中每次比较操作之后计数器的计数值分别为“7FH”、 “3FH”、“1FH”、“0FH”、“07H”、“03H”、“01H”、“00H”。当计数器为“00H”后,后续的比较操作命令由于无法在 “SCAC”区中找到一个为“1”的位,因而芯片拒绝继续执行比较操作。SnAC(n1,2,3,4)的作用与 SCAC 是类似的。操作控制也完全一样。只是 SCAC 是限制对

15、SC 区的比较操作。 而 SnAC 则限制对 SCn 区的比较操作。SCAC 的控制级别最高。当 SCAC 为“00H”后,芯片内部封锁了对 SC 区的比较 操作,从而使对 SCn 的比较也被禁止。如果 SCAC 为非“00H”值,在对 SC 区的比较密码操作成功之后,SCn 能否进行 比较操作就由 SnAC 区的状态值来决定。SnAC 区在连续 8 次比较输入过程中,每次比较操作之后计数器的计数值与 SCAC 的 8 个值一样。(即分别为“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“OlH”、“00H”)当 SnAC 为 “00H”时,则“应用 n 区”将被锁死。

16、(6)擦除密码区(EZn ,nl.2,3,4)该区用于存储擦除应用区操作的控制密码。这些密码一般由发行商使用。在个人化处理时输入的最后一组“擦除密码”, 在芯片熔丝 FUSE2 熔断之后将使“擦除密码”保存在该区内。该区不再能读出、写入和擦除,只能进行比较操作。在使 用过程中如需对应用区进行擦除操作,都必须首先对相应的 EZ 区输送一个“擦除密码”与之比较,在“擦除密码比较计 数器”不为“00H”的情况下,如果相比较的两代码完全一致,则相应的应用区的单元允许擦除,否则将禁止执行擦除操 作。4(7) 擦除密码比较计数区(EnAC ,n=l,2,3,4)擦除密码比较计数区的作用与 SCAC 的作用相类似。它对各应用区擦除密码连续输入错误的次数进行累计。最多连 续 8 次不正确的密码比较之后,该区所控制的应用区的擦除操作即被锁死,从而导致该应用区有可能成为只读和允许单 次写入的状态。(8) 应用数据区(AZn ,n1,2,3,4)该区主要给用户使用。用于存储系统的相关数据记录和卡片标识等信息。应用数据区的写入与读出分别由该区的前 两位 Pn 和 Rn 以及

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号