数据采集与存储系统设计

 2022-01-18 12:01

论文总字数:28138字

目 录

1 引言 1

2 国内外现状 1

3 总体方案的设计 3

3.1处理器方案分析 3

3.1片上SDIO接口分析 3

3.2显示器件方案分析 3

3.3软件设计方案分析 3

3.3.1文件系统方案分析 3

3.3.2开发环境方案分析 3

3.3.3程序设计方案分析 4

4 硬件电路的设计方案 4

4.1 STM32F103小最系统电路 4

4.2 温湿度传感器测量电路 5

4.3 系统电源电路 6

4.4 TF卡接口电路 6

4.5 LCD电路设计 7

5 软件的设计方案 8

5.1 FATFS文件系统配置 9

5.2 温湿度测量及其滤波 11

5.3 触摸屏校准 12

5.4 温湿度数据写入TXT 13

5.5 TXT文本文件创建 13

5.6 TXT文本文件重命名 15

5.7 TXT文件文件打开显示 16

5.8 TXT文本文件数据写入 17

5.9 TXT文本文件删除 17

6 设计结果 18

7 结论 20

参考文献 22

附录 23

系统原理图 23

软件程序设计片段截取 24

1 引言

数据采集与存储系统,它是一个实用性很强的的系统,这种对环境因素进行实时性监控的系统可以广泛的被用于各类的生产生活活动以及科学探索活动,并能还能实时地记录下数据并存储到基于文件系统的TF卡。该数据采集与文件系统集成了温度、湿度传感器,实时地对环境变量进行自动测量,可拆卸式的TF为后续监测信息的传递和交流提供了有利的保证。本设计基于Fatfs文件系统,而且还利用了LCD触摸屏,符合当前市场上操作智能化简便化潮流,用户可以通过触摸显示屏上所显示的按键很方便的操作文件,如新建、删除、重命名、读写等。以STM32F103RCT6处理器为核心的数据采集与存储系统,可以同时能够兼顾多功能和高精度等特点[4]

2 国内外现状

2.1 文件系统

文件系统,指的是用于管理磁盘等存储介质数据的一种抽象的组织方法。最早的文件系统为DOS,全称Disk Operating System,即磁盘操作系统。此系统为1987年微软开发出来用于管理软盘的文件系统。DOS功能简单,能对软盘上的文件进行编辑、删除、复制、新建、重命名等简单操作,加之其为阻塞式执行,此系统即无操作系统的情况下使用[11]

文件系统发展至今,由国外的诸多业界大公司及软件界的工程师开发出很多性能及功能各异的文件系统,如exFat、TFFS、UFS等,包括Linix下使用的ext2、ext3、ext4,WINDOWS 2000开始使用的NTFS,以及苹果MAC使用的HFS和HFS 等。鉴于诸多各大文件系统都为国外IT行业开发,国内软件界高手也开发了很多性能优异的国产文件系统,如SurFS、FastDFS、znFAT、周立功公司开发的zlgFS等。目前这些优秀的文件系统有开源的,如FatFs等,也有封闭的,如NTFS及HFS 等,有针对X86架构的文件系统也有针对微控制器的文件系统[14]

FatFs 的编写遵循ANSI C的规则,并且独立于磁盘I/O层。因此,它完全可以不依赖于硬件架构。它可以很容易的被嵌入到低成本的微控制器中,如AVR, PIC, ARM, 68K 等等,并且完全不需要做任何修改[12]

NTFS是新技术文件系统,他所支持的分区大小可以达到2TB,他可以在不显示错误消息的情况下自动修复磁盘错误;还有有许多安全特性,可以保护机器上的文件和目录,以及远程方法;还支持文件的压缩,用户可以选择去压缩单个文件亦或者整个文件夹。

FAT32文件系统自从Win98以来得到了广泛的应用,FAT32格式,它使用32位文件分配表,使其拥有更多的磁盘的能力力量,突破FAT16的2 gb分区限制,Windows 95上的操作系统支持FAT32格式,但是运行速度慢于fat16分区的磁盘,DOS系统和一些早期的应用程序不支持这个分区格式[15]

ZLGFS文件系统,是中国自主研发的一种文件系统,它与FAT32等文都是是一个高度兼容的文件系统,能直接与个人电脑进行文件交换。它是一种可移植的、可固化的文件系统,可用于前端系统或多任务环境,能够很完美地对各种类型的磁盘和文件类型实现支持,并且提供了一些格式化范例代码

文件系统的使用,它是时代发展地必然趋势,随着后续技术的不断发展与创新,文件系统对数据管理必定能够变得方便,有效以及智能,开发人员没有必要花费大量的时间和人力去对数据进行管理,只需要关注大量的数据的采集和处理工作就可以了。而在微处理器上,对数据采集与文件系统的结合使用的研究,能对了解文件系统的工作过程,及数据存储有重要的意义。而且优秀文件系统的使用,可以有效地提升存储空间地容量,提升计算机和ARM嵌入式微控制器处理器处理效率,同时还可以促进PC和ARM的功能开发。

2.2 数据采集

温度是反映物体冷热程度的参数,人们可以通过自身的感官粗略地感受温度的高低,它与人类各式各样的生产活动有着紧密的练习。2000多年以前,人类的祖先就已经开始为检测温度进行了种类复杂的尝试,并开始使用建议的温度计来对温度进行粗略的检测。在现代人类社会中,人类的各项生活生产活动早已经与温度形成紧密不可分割的联系,最常见的就是每天的天气预报,人类的大多数活动都是依据天气预报进行规划的[9]

湿度也是一种经常需要被测量及控制的物理参数,尤其是在在工农业生产、气象、环保、科研以及航天等部门,甚至是计算机房,手术室,实验室,半导体生产车间,博物馆以及档案馆。然而在常规的环境参数中,湿度往往是最难准确测量的一个参数。以前的干湿球法,毛发法,露点法,吸湿法来测量湿度的方法,由于湿度地测量不仅仅是单一的测量,它是很容易受到地表水面分布,温度以及光照的影响,传统的测量方法早已无法满足现代科技发展对数据精准性的需要,我们迫切的需求另一种精度更高效率更快的方法[18]

在国外,目前世界上大约有50个国家正在研究传感器,开发和生产传感器的厂家达到上了千家[1]。而且在市场上,温度传感器的种类十分众多,在一些应用程序与精度可靠性要求都很高的特殊场合的, 那么当然要属DALLAS公司生产的DS18B20温度传感器。DS18B20是在DS1820后先进的智能温度传感器。相比与传统的热敏电阻,他可以直接读出数据,并且根据实际需求通过简单的编程以达到9 - 12数字值的阅读方式。在93.75和750 ms做成9和12个数字量,从DS18B20和信息读取或写入却只需要单线接口,而且总线本身也可以不需要额外的电源供电。简单,有更高的可靠性,超小体积,低支出的硬件、很强的抗干扰能力、高精度这一系列的特性也都是得DS18B20更受欢迎。

盛思锐公司是第一个把生产温度和湿度传感器集成在一起的公司。2009年, 盛思锐就推出了世界上最小的数字湿度传感器,SHT21,从而引起广泛关注。客户只要与单片机通信可以直接向温度和湿度传感器收集的数据,电容相比电阻,电容精度相对较好,感应非常快,但在水的侵蚀下容易氧化。由于盛思锐采用独特的电极分布和涂层技术,不仅使传感器没有氧化,还可以快速吸收水分子。

国外的TDS-150便携式数据采集记录仪,由日本东京测器研究所生产,他是一种静态数据采集仪器,测量通道达到了50个,具有休眠间隔定时和数据存储功能,可进行长期自动测量,配有USB和RS-233端口,可读取各种测量设置和测量数据并传输到电脑里。

3 总体方案的设计

3.1处理器方案分析

3.1.1 SDIO接口

SDIO,“安全数字输入输出卡”,它的特性是能够传输数据量很大的数据[14],因此选择它与TF卡进行连接,以此传输数据。

SDIO与TF卡通信一般以数据块的形式进行传输,SDIO(多)数据块读操作,如下图所示:

当接收到发送地命令以后,主机会给出相应的响应,并且开始发送数据,当进行多个的数据块发送的时候,在最后一个数据块的后面,住机会追加发送一个stop的命令来停止数据的传输,如果不进行多个的传输只接受一个就停止接收。

3.2显示方案分析

本设计要求显示内容较多,需要显示较多内容的LCD器件才能使用。所以使用LCD色彩显示屏作为主机的显示器件。LCD显示器件为当今流行的显示器件,相比数码管,其显示的功耗微小、可靠性高、显示信息量大、彩色显示、无闪烁,并且自带触摸屏,可简化操作。

3.3软件设计方案分析

3.3.1文件系统方案分析

在ARM嵌入式领域,FLASH存储介质常常用于存储数据,由于FLASH特殊的硬件结构,使得普通的文件系统ntfs等都不适合其使用。于是,就出现了一些专门针对FLASH存储设备而开发的小巧方便易于管理的文件系统。FatFs是一个完全开源且通用的文件系统模块,很适合用于在小型的嵌入式系统。FatFs 应用最广,代码完全开源只需要进行简单的修改就可以在不同的处理器上所使用,学习资料也是十分丰富。FatFs 的编写规则是完全遵循ANSI C的,并且独立于磁盘I/O层。因此,它完全可以不依赖于硬件架构。Fatfs体积小巧并且易于使用的特点,使得即使是微控制资紧缺的处理器,也能够进行很方便和顺畅的文件管理,因此本设计使用Fatfs文件系统来对TF卡进行文件的读写删除创建等操作。

3.3.2开发环境方案分析

这一次的数据采集与存储系统的设计所采用的系统软件Keil MDK,他可以用来进行程序编写以及编译环境[5]。由于本专业对单片机有较多的课程与各式各样的实验,所以学生对Keil MDK能够很熟悉的使用,对它的集成开发环境能够更加地更熟练,而且由于所使用的STM32芯片的的资料大多是以Keil MDK为主,所以能够是学生能够跟家方便地学习和使用。和其它编程类de2软件一样Keil软件不但可以对程序进行直接编写,而且还会自动地对编写的代码进行查错并且突出显示提示。另外需要仿真器等调试工具来与Keil进行连接,完成软件下载、单步调试等。

3.3.2程序设计方案分析

本次的毕业设计选用的是利用官方所提供的函数库进行软件的编程。在网上有提供了一个完整的STM32系列的函数库,涵盖了所有对STM32的内部功能和外设功能的一系列配置和操作,十分方便于学习和使用。STM32F103是一种32位单片机,价格便宜且功能强大,但里面的外设接口非常之多,并且每使用一个外设都需要对接口进行配置,所以相比直接操作寄存器的方法,优先选择可读性较高的利用库函数的的方式来开发系统程序,既节省了时间又提高了效率[17]

如果利用多任务并行,拥有较高的稳定性,而且响应速度快这类的实时的操作系统如uCOS来进行开发可以使得CPU的效率达到最高,但利用这些操作系统对我是一个不小挑战,会延长研发周期,降低开发效率,所以本次本次的设计只是用裸机开发,利用多个定时器使得每一个任务几乎并行状态。

4 硬件电路的设计方案

本系统硬件设计方案主要包括STM32主处理器、3.3V稳压电路、温湿度传感器、LCD驱动电路、TF卡电路等。系统整体设计逻辑框图如图4-1所示。

STM32F103控制器

图4-1 系统整体设计图

4.1 STM32F103小最系统电路

STM32小最系统电路如图4-2所示。

剩余内容已隐藏,请支付后下载全文,论文总字数:28138字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;