- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 34
大容量SD卡在海洋数据存储中的应用
本设计使用8 GB的SDHC(High Capacity SD Memory Card,大容量SD存储卡),为了方便卡上数据在操作系统上的读取,以及数据的进一步分析和处理,在SDHC卡上建立了FAT32文件系统。
海洋要素测量系统要求数据存储量大、安全性高,采用可插拔式存储卡是一种不错的选择。目前,可插拔式存储卡有CF卡、U盘及SD卡。CF卡不能与计算机直接通信;U盘需要外扩接口芯片才能与单片机通信,增加了外形尺寸及功耗;而SD卡具有耐用、可靠、安全、容量大、体积小、便于携带和兼容性好等优点,非常适合于测量系统长期的数据存储。1 SD卡接口的硬件设计STM32F103xx增强型系列是意法半导体公司生产的基于Cortex-M3的高性能的32位RISC内核,工作频率为72 MHz,内置高速存储器(128 KB的闪存和20 KB的SRAM),以及丰富的增强I/O端口和连接到2条APB总线的外设。STM32F103xx系列工作于-40~+105℃的温度范围,供电电压为2.0~3.6 V,与SD卡工作电压兼容,一系列的省电模式可满足低功耗应用的要求。SD卡支持SD模式和SPI模式两种通信方式。采用SPI模式时,占用较少的I/O资源。STM32F103VB包含串行外设SPI接口,可方便地与SD卡进行连接。通过4条信号线即可完成数据的传输,分别是时钟SCLK、主机输入从机输出MISO、主机输出从机输入MOSI和片选CS。STM32F103VB与SD卡卡座的接口电路如图1所示。SD卡的最高数据读写速度为10 MB/s,接口电压为2.7~3.6 V,具有9个引脚。SD卡使用卡座代替传输电缆,减少了环境干扰,降低了出错率,而且1对1传输没有共享信道的问题。SD卡在SPI模式下各引脚的定义如表1所列。2 SD卡接口的软件设计本设计采用STM32F103VB自带的串行外设SPI接口与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的出现,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个字节来表示。因此在读写操作时应该根据不同的卡对地址进行相应的处理,若是SD1.x则写入字节地址,若为SD2.0则写入扇区地址。3 FAT32文件系统 目前有3种FAT文件系统:FAT12、FAT16和FAT32。它们的区别在于文件分配表(File Allocation Table,FAT)中每一表项的大小(也就是所占的位数):FAT12为12位,FATl6为16位,FAT32为32位。本设计选择FAT32文件系统。由于文件存储在硬盘上占用的存储器空间以簇为最小单位,FAT32文件系统不适合管理容量低于512 MB的存储器。簇如果太大,存储小文件会浪费大量的存储空间;如果太小,FAT表会变大,不方便管理。综合考虑,FAT32每簇大小为4 KB。
3.1 FAT32文件系统结构FAT32文件系统可以分为以下几部分;保留区(reserved region),存放FAT文件系统的重要参数和引导程序;FAT区(FAT region),记录簇(cluster)的使用情况;根目录区(root directory region),记录根目录信息,FAT32文件系统舍弃了这个区,根目录区可以指定为任意一个簇;文件目录数据区(file and directory data region),是各种文件数据实际存放的区域。保留区中的BPB表从扇区0偏移11个字节开始,共占25字节。表2是格式化为FAT32文件系统的8 GBSD卡首扇区中读出的BPB参数内容。
逻辑加密存储卡
文档评论(0)