欢迎来到天天文库
浏览记录
ID:14931058
大小:63.50 KB
页数:6页
时间:2018-07-31
《数据存储模块设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于SD卡的联合收割机测产系统数据存储模块设计于国松(黑龙江省有色金属地质勘查局,哈尔滨,150090)摘要:作为“精细农业”的一部分,联合收割机测产系统负责采集地块中的各种数据(产量,经度,纬度,时间等),并通过数据存储模块将数据存储、传输到计算机,进行后续处理。通过对现有几种数据存储模块方案的优劣分析,本文提出了通过单片机STC89C58控制SD卡存储、传递数据的方案,并进行了现场实验。实验结果表明,该模块满足了使用要求,功能良好,适合于野外现场数据采集系统中数据传输及数据的大容量存储。关键词:精细农业;车载测产;SD卡;数据存储模块0引言精细农业是信息技术在现
2、代农业生产中的直接应用,是近年来农业科学研究的热点,而联合收割机测产系统则是信息技术,计算机自动控制技术及3S技术在精细农业中的典型应用,联合收割机测产系统是基于DGPS技术、传感器技术和微处理器技术的集成系统。在联合收割机测产系统作业中需要采集田地中每一个采样点的经纬6度、产量等信息,产生了大量的数据,保证这些现场数据的可靠存储是系统设计中的关键问题之一。对于基于单片机的现场设备,由于处理速度慢、没有操作系统支持和容量小等原因,难以满足要求,通常单片机所支持的存储单元的RAM、EEPROM或小容量的Flash存储芯片,它们受寻址空间的限制,不能满足大容量存储的要求
3、。本文设计了一种大容量数据存储模块,通过单片机STC89C58控制SD卡进行数据的大容量存储。SD卡体积小,重量轻,功耗低,容量大,读写速度快,机械性能好,硬件兼容性好,价格便宜,非常适合解决野外现场数据采集系统中数据传输及大容量存储的问题。1数据存储模块框架联合收割机测产系统的数据存储模块采用单片机STC89C58控制读写SD卡,将大容量数据实时存到SD卡中,再后续转存到PC机中,具体的存储系统框架如下图1所示:数据主控制器SD卡PC机SPI读卡器图1SD卡数据存储系统框架Fig.1SDcarddatastoragesystemframe2数据存储模块硬件设计SD
4、卡有两种总线模式:即SD总线模式和SPI总线模式。其中SD模式采用四条数据线并行传输数据,数据传输速率高,但是传输协议复杂,只有少数单片机才提供有此接口,6而用软件方法模拟SD总线又比较繁琐,并会降低SD卡的数据传输速率;而SPI模式只有一条数据传输线,数据传输速率较低,容易用软件方法来模拟,此外,SPI模式的传输协议简单,易于实现。为此,本设计采用SPI总线模式,而且它的传输速率最大能达到160Kbit/s满足本设计的384bit/s的要求,SPI(SerialPeripheralInterface,串行外围设备接口总线)总线技术是MOTOROLA公司推出的一种同
5、步串行总线接口,它是目前单片机应用系统中最常用的几种串行扩展接口之一。本系统中的接口电路采用的是单片机STC89C58。该单片机不具有SPI模式,但可通过软件编程实现SPI模式的数据传输(包括串行时钟、数据的输入和输出)。在SPI模式下,单片机与SD卡的连接主要有四根线(包括时钟线,两根数据传输线和一根片选线)(海深等,2005)。其硬件连接如图2所示:图2单片机与SD卡连接图Fig.2MicrocontrollerandSDcardconnectiondiagram3数据存储模块软件设计为了保证SD卡存储的数据能通过读卡器在PC机上正确读出来,为此设计了该存储模块
6、的文件系统,该文件系统支持FAT16。6FAT(FileAllocationTable文件分配表)文件系统产生于20世纪70年代末到80年代初,是微软的MS-DOS操作系统所支持的文件系统,是Microsoft在FAT文件系统中用于磁盘数据(文件)索引和定位而引进的一种链式结构,它的主要功能是用来标示每个数据在硬盘中实际存放的位置。(1)文件系统程序设计为了便于微处理器对SD卡中的文件进行操作,就要设计自己的文件管理系统。本研究使用的是文件分配表系统中的FAT16类型。文件分配表系统有3种类型:FAT12、FAT16和FAT32。它们的不同之处是在磁盘上实际的文件分
7、配表结构中每个记录所占的位数不同。文件分配表系统的分区应该有以下几部分:保留区,存放文件分配表的文件系统重要参数和引导程序;文件分配表(FATRegion),记录簇的使用情况;根目录区,记录根目录的信息。文件目录数据区,是各种文件数据的实际存放区域。数据的读写以扇区为单位,一个簇所包含的扇区数由引导区中基本输入输出系统参数的分配表参数来决定,通过根目录找到对应的文件名,格式化完成或进行写操作时,就要新建对应文件名的文件分配表区和根目录区,通过文件分配表区中的保存的簇号,完成对应的数据读写,完成一个簇的操作后,根据文件分配表的链式结构,找到文件的待操作的下一个簇的
此文档下载收益归作者所有