基于MSP430F169的深海环境数据采集系统设计
扫描二维码
随时随地手机看文章
摘要:为解决深海环境信息采集问题,介绍一种基于MSP430F169的数据采集系统。本系统可实现对温度、盐度、压力等信息的采集和存储,并可上传至上位机,通过人机界面进行动态曲线显示、数据分析。系统采样精度高,功耗低,一次充电可长期工作。并给出以MSP430F169为核心的硬件电路图和关键源程序。经过海洋实验证明,此系统可以完成对深海环境信息的采集。
关键词:数据采集;SST25VF020;单片机;MSP430F169
海洋占地球表面的71%,是各国分别占有和世界共有的。世界海洋中有2.5亿平方千米公海和国际海底区域,其中有丰富的共有海洋资源。海洋是富饶而未充分开发的资源宝库。随着陆地战略资源的日益短缺,沿海各国不断加大向海洋索取资源的力度和强度。因此,开发一种可采集深海环境信息的设备,对深入开发海洋资源,具有极其重要的作用。已有的深海环境信息采集系统有采样精度低、功耗大等缺点,无法长期在水下工作,不适于深海勘探。本文提出的深海环境数据采集系统可用于4 000 m深海环境,不仅能对温度、压力、盐度等信息进行采集,还可以自动存储到Flash中,并上传到上位机进行显示、分析。该系统具有精度高、功耗低等优点,一次充电可工作一年左右,非常适合深海探测。
1 硬件电路设计
数据采集系统主要由主控制器、存储器、时钟信号模块、A/D转换模块和传感器模块组成。主控制器是数据采集系统的核心,控制系统同时对3路传感器信号进行采样,将采集到的大量数据(2 M)存储到Flash中,掉电数据不丢失。完成一个工作周期后,系统自动进入睡眠状态。在设备出水后,工作人员可以通过人机界面对采集到的每路数据进行读取,并进行动态曲线显示,读取后的数据自动存入上位机。同时,还可以通过人机界面设定下次工作时的系统睡眠时间和采样时间间隔。系统整体结构框图如图1所示。
1.1 主控制器
NSP430是TI公司近几年推出的16位系列单片机,采用了最新低功耗技术。NSP430F169工作在1.8~3.6 V电压下,有正常工作模式(AM)和4种低功耗工作模式(LPN1、LPM2、LPM3、LPM4),并可在各种工作模式之间切换。此外,MSP430F169单片机集成了多通道12 bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、斜边A/D转换、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,可以满足绝大多数的应用需要。
1.2 存储器
存储器选用基于SPI通信模式的SST25VF020芯片,它是SST25VF系列产品中的一员,有以下特点:总容量为2 M;单电源读和写操作,工作电压为2.7~3.3 V;低功耗,工作电流为7 mA,等待电流为3μA;时钟频率高达33 MHz,快速编程、快速擦除、快速读取;小型一致闪区尺寸4 kB;数据保存100年;CMOS I/O兼容等。芯片引脚功能如表1所示。
1.3 时钟信号模块
DS1302是Dallas公司推出的一款高性能、低功耗的实时时钟芯片,附加31 Bytes静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能,时钟操作可通过AM/PM指示决定。采用24或12 h格式。工作电压宽达2.5~5.5 V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302与单片机之间能采用同步串行的方式进行通信仅需用到3个口线,1)RES复位;2)I/O数据线;3)SCLK串行时钟。RAM的读/写数据以1 Bvte或多达31 Byte的字符组方式通信,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1 mW。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。芯片引脚功能如表2所示,电路原理图如图2所示。
1.4 A/D转换模块
A/D转换模块选用ADS1100,它是采用2.7~5.5 V单电源供电的连续自校准模/数(A/D)转换器。它具有高分辨率、接口简单、比例放大、功耗低、体积小等优点。ADS1100电源电压为基准电压,可按比例进行A/D转换,同时带有差分输入且具有高达16 bit的分辨率。
ADS1100每秒可采样8、16、32或128次以进行A/D转换,并提供I2C端口与外部通信。片内可编程增益放大器(PGA)能提供高达8倍的增益,允许对小信号进行测量。ADS1100有2种工作方式:单周期转换方式和连续周期转换方式。在单周期转换方式中,ADS1100进行一次A/D转换后将自动掉电以减少电流消耗。芯片引脚功能如表3所示,电路原理如图3所示。
2 系统软件设计
上电后,首先进行系统初始化,如果没有到达设定工作时间,直接进入睡眠状态,否则,启动一次A/D转换,对当前深海环境信息进行采集,并读取采样时刻,将采集得到的数据和采样时刻一起存储到Flash中,直到完成设定的采样次数,然后进入睡眠状态,等待下一次工作时间的到来。系统程序流程如图4所示。
系统关键源程序如下:
3 人机界面设计
人机界面如图5所示。
下水前,点击电路板复位按钮,启动下位机程序,同时,打开界面,连接串口;点击擦除Flash按钮,清空Flash中的原有数据,为下次存储做准备;点击发送按钮,对系统工作模式进行设置(如设定好,此步骤可省略);点击地址复位按钮,使地址指针指向地址开端;点击Fl-ash初始化按钮。设置Flash工作模式,并初始化为写状态;点击确定或者取消按钮,退出界面,设备下水。
出水后,首先,打开界面,连接串口;点击地址复位按钮,再点击1路按钮,读取压力数据,存储后点击擦除按钮擦除:点击地址复位按钮,再点击2路按钮,读取浊度数据,存储后点击擦除按钮擦除;点击地址复位按钮,再点击3路按钮,读取温度数据,存储后点击擦除按钮擦除;点击确定或者取消按钮,退出界面。
4 结论
本文在已有的相关系统基础上,设计并完成了一种基于MSP430F169的深海环境信息采集系统,克服采样精度低和系统功耗过高等缺点,满足深海探测的需要。但系统仍然存在一些不足,如采样通道不足,采样点分布不均等,在以后的工作中需要进一步改善。