关键词: 海水深度测量;FM20L08;C8051F020
引言
海洋的深度是海洋水体的一个重要参数。知道海洋的深度,就可防止海面航行的船只搁浅、触礁。潜艇在海底活动时,测量海洋深度可利用海底地形作屏障以避免被搜索,可使对方的讯号接收仪器收不到潜艇发出的噪音。在笔者所做的一个课题中,直升飞机从空中投掷测量仪器到海表面,仪器从海表面下沉至海底后,自动上浮至海水表面。该项目要求研制一个海水深度记录仪,记录上述过程中测量仪器在海水中的深度变化。测量仪器自动上浮至海面后,打捞并回放测量数据。深度数据要求每秒采样100次,具有非易失性。测量数据通过串口向PC机回放。
测量的基本原理如下式所示:P=rgh+P0 (1)
其中P是指仪器所受到的绝对压力,r是指海水密度(常数),g是指当地的重力加速度(常数),h是指仪器下降的深度,P0是指当时的大气压力(短时间认为恒定)。所以,只要测出仪器受到的压力,根据式(1)就很容易计算出仪器下降的深度。仪器在海水中的位置越深,受到的压力越大。
系统硬件设计
根据系统设计要求,海水的深度数据采集频率要求至少100Hz,连续采集时间为5分钟以上。以分辨率为12位的ADC计算,一次采集的数据量至少为2×100×5×60=60000B。针对系统数据采集量大、速度快、爆发性强的特点,采用如下总体设计方案:主控制器采用了美国Silicon Laboratories公司的高性能微控制器C8051F020。它具有与8051完全兼容的CIP-51微控制器内核,采用高速流水线结构(25 MIPS),大多数指令执行时间为1~2 时钟周期;具有64 KB可在系统编程FLASH 和大容量内部SRAM,具有外部存储器接口。非易失性存储器采用美国Ramtron公司的FM20L08铁电存储器。与其它类型的非易失性存储器相比,FRAM铁电存储器具有读写次数多、读写速度快、功耗低、无延时和不用擦除写操作的特点,在功能上可以完全替代SRAM。系统硬件框图如图1所示。
电源部分使用三节普通AAA电池供电。经升压管理芯片MAX756升压至5V后,给基准源、放大器和压力传感器供电。5V电源通过低电压LDO管理芯片TPS79333变换成3.3V后,给CPU、串口收发芯片及FM20L08供电。
信号调理电路
信号调试电路如图2所示。
数据存储
对于针对突发数据的记录仪、高速存储测试设备等,其数据的高速存储和掉电不丢失成为系统设计的关键,Ramtron公司推出的FM20L08铁电存储器弥补了现有铁电存储器存储量小的缺点,其数据存储量达1Mb(128KB),可完全代替标准异步静态随机存储器(SRAM),具有可随机读写芯片内任何一字节的特性。FM20L08非易失性铁电存储器可无限次读写,掉电后数据可保存10年,工作电压为3.3V,最大功耗电流为22mA,采用32引脚TSOP型封装。FM20L08增加了软件控制写保护功能,存储序列按地址排成8个区域,每个区域都能通过软件单独设置写保护。 在对海水深度进行实时采集和记录时,为了更好地了解仪器在水中深度变化的过程,必须有高速的数据采集和大量的数据存储作保证。铁电存储器的高速写入和掉电数据不丢失特性完全适合此类情况,可以对物体在海水中的下降过程进行完整地记录。图3示出C8051F020与FM20L08的接口电路。
在存储程序设计中,程序应首先判断仪器在下降时A/D的输入信号值是否大于门限值,只有输入信号值大于门限值才将数据存储在存储单元内,在测量仪器由海底上浮至将要接近海面时关闭铁电存储器,停止数据存储。
利用软件实现16位精度的A/D转换
系统使用C8051F020内部的12位ADC采集压力数据。但压力传感器需要测量较大的动态范围(0~700m),还要求对小于2cm深度变化作出响应。这样片内12位ADC的分辨率将无法满足要求,需要使用16位ADC提高测量分辨率。在系统的采集方案中,使用了C8051F020片内自带的12位ADC并采用过采样和求平均值技术达到了16位分辨率进行深度测量的目的,并未使用昂贵的片外16位ADC,这样既节省了成本,也减少了软硬件设计的复杂度,同时也提高了系统的可靠性。
为了增加有效位数,压力必须被过采样(即ADC以高于系统所需采样频率fs的速率对信号进行采样)。所需要的采样频率由系统对压力测量所要求的频率决定。每增加一位分辨率,信号必须以4倍的速率过采样,即 fOS=4W·fS (2)
其中W为希望增加的分辨率位数;fs为初始采样频率要求;fos为过采样频率。
具体到本例基本原理简述如下,假设系统每秒输出100个压力值,即每10ms内必须采集一个压力值。为了将测量分辨率增加到16位,则必须以100×256Hz的采样频率对压力传感器进行采样。为此,在10ms内先集中采集256个样本,然后将这256个样本累加,然后将总和除以16。这样得到的结果便是一次采样的16位有效数据,然后MCU便对数据进行处理存储,并开始下10ms的样本采集。实验结果证明,使用这种方法可明显地提升压力采集的精度。可以有效地消除系统测量的白噪声,改善信噪比。
经过验证,海水深度记录仪的设计是可行的,经过海上实验与实际水深测量值相比,误差在2cm 以内。图4示出了某次出海实验海水深度记录仪取得的实验结果。实践证明该记录仪工作稳定可靠,达到了预期的要求,目前已经在海洋调查中使用。
参考文献:
1. Silicon Laboratories.AN018 C8051F020 Application Note. 2002.
2. Silicon Laboratories.C8051F020/1 Datasheets. 2001.
3. Ramtron Company.FM20L08 Datasheets.2005