APP下载

海底原位监测微剖面数据采集系统设计

2014-07-19王一辰李欣

现代电子技术 2014年10期

王一辰 李欣

摘 要: 数据采集系统是海底原位监测系统的核心。为了实现对海底边界层进行微剖面数据采集,系统以ARM9为控制核心,MSP430为电源控制模块核心,基于Linux软件平台,集成了9台深海设备,采用双ARM冗余控制与数据存储设计。系统通过步进电机控制传感器框架在三个不同高度工作,从而实现了实时、自动化、稳定的微剖面数据采集与控制管理功能。

关键词: ARM9; 原位监测; 嵌入式Linux平台; 微剖面

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)10?0050?03

Abstract: Data acquisition system is the core of seabed in?situ monitoring system. In order to collect micro section data on seabed boundary layer, in the system, ARM9 is used as a control core, and MSP430 as a power control module core. Based on Linux software platform, nine deep?sea instruments are integrated, and double?ARM redundancy control and data storage design are adopted. The system controls the frame of sensors by stepper motor to work at three different heights successively. In this way, the real?time, automatic, stable micro section data acquisition and control management functions were realized in the system.

Keywords: ARM9; in?situ monitoring; embedded Linux platform; micro section

深海海底原位监测技术是一种能够对海底边界层物理与化学数据进行连续、定点、多参数同步采集的水下监测技术。因为其长期、原位、多要素的观测能力,所以在深海探测中起到越来越重要的作用。而在海底进行微剖面数据采集,可以得到更准确、详细的海底边界层数据,在研究海洋环境等方面具有重要的使用价值。深海海底原位监测技术的微剖面数据采集系统可以控制所有的物理和化学传感器等设备在深海可以利用系统内部的电源供电情况下,实现数据采集和数据存储功能,从而可以实现在海底进行较长时间序列的数据采集工作。

1 系统的整体构成

系统主要由以下四部分构成:负责电源管理工作同时采集两路模拟量数据的单片机系统;可以在海底稳定工作的9台深海探测设备;负责控制系统运行以及采集数据的嵌入式系统;串口服务器以及交换机。构成框图如图1所示。

系统集成的9台深海探测设备分别为三维海流计(ADCP)和声学多普勒流速仪(ADV)、二氧化碳(CO2)传感器和甲烷(CH4)传感器、输出模拟量的pH值传感器和溶解氧(DO)传感器、步进电机、高度计和深海摄像机,其中,ADCP上还集成了一个浊度传感器,ADV上集成了电导率传感器和温度传感器。

串口服务器选用的是具有一个10M/100M以太网口和8个异步串口的通信服务器。其中ADCP、ADV、CO2传感器、CH4传感器和高度计为RS 232通信接口,与MSP430单片机一同接于串口服务器上,pH传感器和DO传感器直接与MSP430单片机的12位A/D转换通道相连,采集的数据经模数转换后通过串口服务器上传给ARM。而由两块ARM组成的双冗余嵌入式系统与串口服务器通过TCP/IP协议进行网络通信。步进电机用来调整传感器框架的高度,使得传感器在不同的高度上采集数据,以完成微剖面数据采集工作。

2 微剖面数据采集系统设计

2.1 硬件搭建

数据采集系统以Atmel公司的AT91S9263CU作为核心,ARM处理器是小体积、低功耗、低成本而高性能的微处理器[1]。系统拥有2 MB的NORFLASH来存放u?boot引导程序,挂载4 GB的SD卡来存放应用程序以及采集的数据。单片机系统选用MSP430F149单片机作为控制核心,MSP430系列单片机具有极低的功耗、丰富的片内外设和方便灵活的开发手段[2],可以满足系统的需求。

2.2 软件设计

由于系统需要长期工作在海底,一旦投放则维护费用高、周期长,从而对应用程序提出了较高的要求,如:程序必须灵活,可以根据情况采用不同的工作方案;程序必须稳定,并且有较好的健壮性与容错性,出现错误可以在一定程度上自恢复。

2.2.1 整体设计

平台选用Linux 2.6.30作为操作系统。Linux操作系统是稳定的系统,可以进行独立工作,自由与开放,配置要求低廉,功能强大而稳定[3],它是以核心为基础的、完全内存保护、多任务多进程的操作系统[4],应用程序运行在Linux操作系统之上,使得应用程序的稳定性大大提高[5]。程序主要分为三个阶段:甲板设置阶段、投放阶段和数据采集阶段。甲板设置阶段主要是设置系统的参数包括系统循环采集周期,数据采集频率,开启/关闭电机与摄像机设置等参数。投放阶段主要是设置投放时间,定时开机并将传感器调整到最高或最低端。数据采集阶段主要是控制传感器分别在最高端、中间以及最低端采集数据3次,以完成微剖面数据采集工作。

应用程序采用了多线程编程。线程是一个进程内的基本调度单位,也可以称为轻量级的进程。线程是在共享内存中并发的多道执行路径,它们共享一个进程的资源,因此,大大减小了上下文切换的开销[6]。程序主要分3个线程。主线程主要负责主从两块ARM间的通信,通过给单片机发送指令控制系统电源,以及监视系统的运行状态。数据采集线程主要负责控制各设备进行数据采集,接收并存储设备发送来的数据。数据上传线程主要负责设备回收后与PC机的通信,并上传采集的数据。

2.2.2 微剖面数据采集部分设计

系统通过高度计的数据来判断传感器框架的当前高度,并通过控制步进电机实现对传感器框架高度的调整,调整到所设置的高度后再给传感器上电后采集数据。系统控制传感器框架分别在最高点、中点和最低点各采集一次数据。传感器框架的总行程为20 cm,每移动10 cm采集1次,采集顺序从上至下和从下至上交替进行,从而实现海底边界层微剖面数据采集。数据采集流程图如图2所示。

2.2.3 系统的健壮性与自恢复

系统从硬件故障和软件错误处理两个方面来保证系统工作的稳定以及采集数据的正确性。

硬件方面:采用ARM双冗余设计,两个ARM模块分为主系统和从系统。系统上电后,主从系统会相互通信确认彼此状态。主系统负责与单片机通信并控制设备采集数据,调整传感器框架高度以及存储接收到的数据,从系统只负责接收数据并存储到SD卡上。如果主系统出现问题,从系统会接替主系统完成控制工作,从而提高系统可靠性。主从系统流程图如图3和图4所示。

软件方面:操作系统向各个传感器设备发送采集数据指令,并检测该设备是否响应,如果响应超时或没有响应,会重新发送采集数据指令。如果发送3次指令均响应超时,则跳出循环,放弃该设备本周期的数据采集,不会始终等待而形成阻塞,同时记录出错信息,写入日志。

3 FTP服务器的搭建

FTP是文件传输协议的简称,FTP是在TCP/IP网络和Internet上最早使用的协议之一。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限[7]。系统使用bftpd服务器程序搭建了FTP服务器。当程序进入上传线程时,可通过FTP协议访问ARM板SD卡上的数据,并在回收系统之后,在不拆卸系统的情况下将数据传送至PC机上。

4 结 语

通过长时间的连续试验,验证了该系统可以稳定地在三个不同高度采集数据,完成微剖面数据采集工作,并方便地上传数据。试验结果表明该系统可以满足海底边界层微剖面数据采集系统的设计要求。

参考文献

[1] 刘锐,王林.基于ARM数据采集系统的设计[J].中国测量,2010(6):89?92.

[2] 谢兴红.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.

[3] 鸟哥.鸟哥的Linux私房菜,基础学习篇[M].2版.北京:人民邮电出版社,2007.

[4] 李亚锋,欧文盛.Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[5] 师娟娟.基于ARM9的嵌入式Linux移植[J].武汉理工大学学报,2008,30(2):205?208.

[6] 孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006.

[7] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2007.

2.2.2 微剖面数据采集部分设计

系统通过高度计的数据来判断传感器框架的当前高度,并通过控制步进电机实现对传感器框架高度的调整,调整到所设置的高度后再给传感器上电后采集数据。系统控制传感器框架分别在最高点、中点和最低点各采集一次数据。传感器框架的总行程为20 cm,每移动10 cm采集1次,采集顺序从上至下和从下至上交替进行,从而实现海底边界层微剖面数据采集。数据采集流程图如图2所示。

2.2.3 系统的健壮性与自恢复

系统从硬件故障和软件错误处理两个方面来保证系统工作的稳定以及采集数据的正确性。

硬件方面:采用ARM双冗余设计,两个ARM模块分为主系统和从系统。系统上电后,主从系统会相互通信确认彼此状态。主系统负责与单片机通信并控制设备采集数据,调整传感器框架高度以及存储接收到的数据,从系统只负责接收数据并存储到SD卡上。如果主系统出现问题,从系统会接替主系统完成控制工作,从而提高系统可靠性。主从系统流程图如图3和图4所示。

软件方面:操作系统向各个传感器设备发送采集数据指令,并检测该设备是否响应,如果响应超时或没有响应,会重新发送采集数据指令。如果发送3次指令均响应超时,则跳出循环,放弃该设备本周期的数据采集,不会始终等待而形成阻塞,同时记录出错信息,写入日志。

3 FTP服务器的搭建

FTP是文件传输协议的简称,FTP是在TCP/IP网络和Internet上最早使用的协议之一。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限[7]。系统使用bftpd服务器程序搭建了FTP服务器。当程序进入上传线程时,可通过FTP协议访问ARM板SD卡上的数据,并在回收系统之后,在不拆卸系统的情况下将数据传送至PC机上。

4 结 语

通过长时间的连续试验,验证了该系统可以稳定地在三个不同高度采集数据,完成微剖面数据采集工作,并方便地上传数据。试验结果表明该系统可以满足海底边界层微剖面数据采集系统的设计要求。

参考文献

[1] 刘锐,王林.基于ARM数据采集系统的设计[J].中国测量,2010(6):89?92.

[2] 谢兴红.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.

[3] 鸟哥.鸟哥的Linux私房菜,基础学习篇[M].2版.北京:人民邮电出版社,2007.

[4] 李亚锋,欧文盛.Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[5] 师娟娟.基于ARM9的嵌入式Linux移植[J].武汉理工大学学报,2008,30(2):205?208.

[6] 孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006.

[7] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2007.

2.2.2 微剖面数据采集部分设计

系统通过高度计的数据来判断传感器框架的当前高度,并通过控制步进电机实现对传感器框架高度的调整,调整到所设置的高度后再给传感器上电后采集数据。系统控制传感器框架分别在最高点、中点和最低点各采集一次数据。传感器框架的总行程为20 cm,每移动10 cm采集1次,采集顺序从上至下和从下至上交替进行,从而实现海底边界层微剖面数据采集。数据采集流程图如图2所示。

2.2.3 系统的健壮性与自恢复

系统从硬件故障和软件错误处理两个方面来保证系统工作的稳定以及采集数据的正确性。

硬件方面:采用ARM双冗余设计,两个ARM模块分为主系统和从系统。系统上电后,主从系统会相互通信确认彼此状态。主系统负责与单片机通信并控制设备采集数据,调整传感器框架高度以及存储接收到的数据,从系统只负责接收数据并存储到SD卡上。如果主系统出现问题,从系统会接替主系统完成控制工作,从而提高系统可靠性。主从系统流程图如图3和图4所示。

软件方面:操作系统向各个传感器设备发送采集数据指令,并检测该设备是否响应,如果响应超时或没有响应,会重新发送采集数据指令。如果发送3次指令均响应超时,则跳出循环,放弃该设备本周期的数据采集,不会始终等待而形成阻塞,同时记录出错信息,写入日志。

3 FTP服务器的搭建

FTP是文件传输协议的简称,FTP是在TCP/IP网络和Internet上最早使用的协议之一。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限[7]。系统使用bftpd服务器程序搭建了FTP服务器。当程序进入上传线程时,可通过FTP协议访问ARM板SD卡上的数据,并在回收系统之后,在不拆卸系统的情况下将数据传送至PC机上。

4 结 语

通过长时间的连续试验,验证了该系统可以稳定地在三个不同高度采集数据,完成微剖面数据采集工作,并方便地上传数据。试验结果表明该系统可以满足海底边界层微剖面数据采集系统的设计要求。

参考文献

[1] 刘锐,王林.基于ARM数据采集系统的设计[J].中国测量,2010(6):89?92.

[2] 谢兴红.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.

[3] 鸟哥.鸟哥的Linux私房菜,基础学习篇[M].2版.北京:人民邮电出版社,2007.

[4] 李亚锋,欧文盛.Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[5] 师娟娟.基于ARM9的嵌入式Linux移植[J].武汉理工大学学报,2008,30(2):205?208.

[6] 孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006.

[7] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2007.