大容量SD卡在海洋数据存储中的应用

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8698

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

大容量SD卡在海洋数据存储中的应用,标签:单片机开发,单片机原理,http://www.88dzw.com

海洋要素测量系统要求数据存储量大、安全性高,采用可插拔式存储卡是一种不错的选择。目前,可插拔式存储卡有CF卡、U盘及SD卡。CF卡不能与计算机直接通信;U盘需要外扩接口芯片才能与单片机通信,增加了外形尺寸及功耗;而SD卡具有耐用、可靠、安全、容量大、体积小、便于携带和兼容性好等优点,非常适合于测量系统长期的数据存储。

本设计使用8 GB的SDHC(High Capacity SD Memory Card,大容量SD存储卡),为了方便卡上数据在操作系统上的读取,以及数据的进一步分析和处理,在SDHC卡上建立了FAT32文件系统。

1SD卡接口的硬件设计

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所示。



www.88dzw.com由于采用的是SDHC卡和FAT32文件系统,紧接在FAT区之后的是文件目录数据区,真正意义上的数据从这个区开始,以簇编号,顺序上第1个簇编号为第2簇,此簇通常为FAT32根目录所用。FAT16从根目录所占的32个扇区之后的第一个扇区开始以簇为单位进行数据处理,这之前仍以扇区为单位。目录与数据是统一放到这个区域的,并且都不是在一个连续的区域内存放。没有任何特殊标记来区分哪个簇是目录项,哪个簇是数据项,而是由文件系统从根目录出发通过查找的方法来确定簇的类型。

3.2 FAT32文件系统实现

本文设计的文件系统采用模块化层次结构,其总体框架如图4所示。其中,箭头表示调用关系。



应用程序是面向用户的,为满足某种功能需求而编写的程序。可以通过调用文件系统提供的API函数对文件和目录进行相应的操作。

[1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习

《大容量SD卡在海洋数据存储中的应用》相关文章