随着卫星通讯、卫星遥感、水声遥测以及数据同化等技术的不断发展与成熟,海洋环境监测已进入从空间、沿岸、水面及水下对海洋环境进行立体监测的时代。海洋浮标是一种现代化的海洋观测设施。
它具有全天候、全天时稳定可靠地收集海洋环境资料的能力,并能实现数据的自动采集、自动标示和自动发送。海洋浮标与卫星、飞机、调查船、潜水器及声波探测设备一起,组成了现代海洋环境主体监测系统,为探测海洋的奥秘,立下了不朽功勋。
海洋浮标,一般分为水上和水下两部分,水上部分装有多种气象要素传感器,分别测量风速、风向、气温、气压和温度等气象要素;水下部分有多种水文要素传感器以及海洋环境化学参数测量传感器,分别测量波浪、海流、潮位、海温、盐度、pH值、叶绿素、营养盐、浊度等。
各种传感器将采集到的信号,通过仪器自动处理,由发射机定时发出。地面接收站将收到的信号经过处理后,就得到了人们所需要的资料。通过对这些资料的掌握,会给人们的生产和生活带来极大的便利。如知道了海流流向,航海时便尽可能顺流而行;知道了风暴区域,航海时则可避开绕行;知道了潮位的异常升高,便可及时防备突发事件。
海洋资料浮标的实时数据传输系统是浮标的重要组成部分。从我国开始研制海洋资料浮标以来,实时数据传输系统先后采用过多种数据通讯方式,包括短波通讯、INMARSAT2C 卫星通讯以及GPRS/CDMA 通讯等。各种通讯方式各有优点和局限性,短波通讯抗干扰能力差,误码率高,数据接收率低; INMARSAT2C卫星通讯可靠性高,数据接收率达95 %以上,但通讯费用较高,不适合大数据量传输; GPRS/CDMA 通讯费用较低,但通讯信号受到浮标到岸边距离的限制。我们根据浮标系统数据传输的技术要求,采用铱星数据通讯传输大数据量的实时资料。
本文第1节介绍系统组成。第2节给出电子系统整体设计。第3节给出通信系统设计。第4节给出控制系统软件设计。第5节得出结论。
1系统组成
本文设计的浮标电子与通信系统是海洋定点垂直剖面监控系统的子系统。整个监控系统还包括水下数据采集子系统。浮标电子与通信系统的核心部分是基于ARM的嵌入式处理器和L inux操作系统的水下数据处理和控制系统。浮标系统根据已定的协议,接收到电磁耦合模块传过来的数据,并保存在大容量存储器中。考虑到如果用有线通信方式,则由于通信距离不断变化会导致传输线路设计困难、通信的可靠性都难以保障。而电磁耦合通信正是利用电磁感应原理来传输数据的,它的设计电路简单可靠,体积小,成本低,可以实现在水下的近距离无线传输。图1是整个监测控制系统工作流程图,电磁耦合模块包括接收和发送两部分。
图1监测控制系统工作流程图
波浪能通过锚缆传递转化为垂直剖面测量系统水下主体部分(小浮力浮球)下行的动能。系统将充分利用大、小浮球的浮力惯性实现抽缆(相当于水下主体部分的下行)功能,当需上行时,只需打*阀。在依靠小浮球浮力上行过程中采集各环境参数变量。
整个一次数据采集、存储,送到水上通讯平台,最后海洋环境数据送到监测平台周期为24 h,也就是每隔24 h采集各剖面环境量。垂直剖面观测深度为300 m。整个系统维护周期约为三个月一次。
在整个测量系统中,控制系统是核心单元。水下监测数据采集平台的控制块在仪器仓内。它负责指挥和协调系统各部分工作状态。包括控制海洋各剖面数据的采集、存储、数据处理、传输等。本文描述的水上通讯平台的控制部分主要接收电磁耦合模块传过来的各个采集量,以及获取浮标电压值和浮标姿态等信息,然后通过铱星卫星发送给监控中心。
2电子系统整体设计
浮标电子与通信系统采用太阳能电池和蓄电池组合供电。平台的主体是浮标部分。为提高可靠性,有的浮标采用两个独立的供电系统,每个系统都有蓄电池和太阳能电池板,都能为整个浮标供电。这种备份尽管不是必需的,但它提高了浮标的可靠性等级。
浮标控制系统的CPU采用AT91SAM9260,一路串口按序接收电磁耦合发送模块传过来的各个传感器的采集数据,并保存在SD大容量存储卡中(如图2)。
存于卡中的各路传感器采集的数据通过铱星卫星发送,ARM9的COM2口接铱星SBD 9601模块,用来与监控中心进行通信。
图2浮体平台结构图。
同时,浮标上装有锚灯,内有传感器检测光线,自动点亮,给监测带来方便。同时CPU通过I/O获取锚灯状态信息。
AT91SAM9260通过自带的A /D读取电池的电压值和倾角传感器获得的浮标姿态信息。
浮标上装有GPS天线,用于定位。
3通信系统设计
通信系统是为了满足监测数据能及时有效地传送给监控中心进行观测。根据浮标系统数据传输的技术要求,本系统采用铱星数据通讯传输大数据量的实时资料。
浮标通信系统的结构图如图3所示。
图3浮标通信系统组成。
具体的卫星通信模块是由是由铱星公司推出9601SBD[ 3 - 4 ] ,体积小, 长度、宽度和厚度分别为106 mm, 56. 2 mm和13 mm,重量117 g。9601不需要SIM卡,每次最多可以发送340字节信息,可以接收270 字节信息,当有信息收到时能够发出振铃。
工作温度- 35°~70°,工作电压5 V。该模块通过RS232接口实现SBD (突发短数据)业务,默认的波特率是19 200 bit/ s,可以通过AT + IPR指令设置。
可以选择的波特率bit/ s范围包括: 1 200、2 400、4 800、9 600、19 200、38 400等。可选数据长度7位或8位,默认为8位。其他包括一个停止位和无奇偶校验位。铱星SBD的待机平均电流为66 mA,信息发送中的平均电流< = 350 mA,能够满足海洋浮标设备低功耗的要求。
该模块通过点对点的方式实现数据收发,即浮标平台和监控平台各有一个9601SBD MODEN。通过发送“AT”指令来实现通信。海洋环境监测数据通过安装在浮标顶端的铱星天线发射出去。
4控制系统软件设计
控制系统采用了AT91SAM9260作为CPU,它支持主流的Linux、Windows XP等操作系统。目标板上移植了Linux操作系统来进行任务管理和调度,改变了传统的在类似硬件平台下采用MSDOS单用户、单任务操作系统难以完成较为复杂的分布式多任务应用的缺点。在数据采集系统中,Linux系统可以同时处理多个传感器发送来的较为复杂的控制任务,从而提高系统的整体响应速度及并发处理能力。
构成嵌入式Linux系统至少需要下面3个基本元素:引导程序,Linux微内核和初始化进程。如果要让它有更多的功能,还可加上文件系统、GU I和设计精简的应用程序,并将其放在diskonchip中启动。
在L inux操作系统下,有三类主要的设备文件类型:字符设备、块设备和网络设备。字符设备和块设备的主要区别是在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生;块设备则不然,它利用一块系统内存做缓冲区,当用户进程对设备请求能满足用户的要求时,就返回请求的数据;如果不能,就调用请求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待。用户进程通过设备文件来与实际的硬件打交道。每个设备文件都有其文件属性( c /b) ,表示是字符设备还是块设备。每个文件都有两个设备号,第一个是主设备号,标志驱动程序;第二个是从设备号,标志使用同一个设备驱动程序的不同的硬件设备。设备文件的主设备号必须与设备驱动程序在登记时申请的主设备号一致,否则用户进程将无法访问到驱动程序。
L inux 操作系统将所有设备作为文件来处理,他们可以使用文件、I/O相关函数来处理,这样就方便了对设备的处理。例如:串口文件位于/dev目录下, 串口1 为/dev/ ttyS0, 串口2 为/dev/ttyS1。打开串口用标准的文件打开函数操作。如:int fd =open( Dev, O_RDWR ) ; Dev是设备文件,返回- 1则表示打开失败,成功则返回大于0的值。
其中几个主要函数如下:
对串口的操作需要用到的头文件有:
浮标电子系统接收电磁耦合通信模块(RS232)传送过来的数据,并将传感器采集到的海洋环境数据保存到大容量的SD卡中。具体的流程图如图4。
图4浮标电子系统程序流程图
接收完水下数据采集系统传送的数据并保存后,打开与铱星9601SBD MODEN连接的串口。并打开保存于卡中的文件。发送AT指令,在得到应答信号后发送数据,每次最多只能发送340 字节。
浮标通信系统流程图如图5。
图5浮标通信系统流程图。
5结论
系统在实验室PC机调试助手模拟数据发送,通过电磁耦合接收、发送模块成功将数据送到水上浮标系统的ARM中并保存到大容量的SD卡中,实现了浮标系统与水下数据采集系统的数据传送。随后读取文件中保存的数据,打开9601SBD MODEN,发送给另一台PC。PC机端的9601SBD MODEN接收数据,并在上位机上动态的显示收到的数据。
在水下进行测试过程中,控制电路工作正常,水上浮体平台数据能正常接收、存储,倾角传感器、电池电压值能通过A /D采集。且监测数据通过铱星卫星成功发送给监控中心。