曾景贤 蒋国军 夏铁坚
(第七一五研究所,杭州,310023)
声层析潜标主控模块设计与实现
曾景贤 蒋国军 夏铁坚
(第七一五研究所,杭州,310023)
设计了以FPGA作为主控芯片的声层析潜标核心控制单元主控模块,给出了主控模块具体电路实现和软件流程。湖海试验中,该模块满足潜标电子系统的使用要求。
海洋声学层析术;声层析潜标;主控模块;控制单元; FPGA
海洋声学层析术是指利用声学方法在大范围海域测量海洋动力特性的一种遥感技术[1]。海水的温度、盐度、流向和流速,都对声波在海水中传播的速度有影响,可利用声波传播的速度,反推声波经过水域的温度和盐度;用声波往返传播的速度差,反推测量水域的流速和流向等。海洋层析测量时,在所测量的水域周围,布设5枚声层析潜标,潜标布放网络如图1所示。其中1枚潜标发射声信号,其余4枚潜标接收声信号,精确测量声波的传播时间、计算声波传播的速度,5枚潜标依次轮流发射,利用计算机对取得的平均速度和往复速度差进行逆运算,可以获取声层析潜标包围水域中的温度、盐度、流速、流向等分布情况。
图1 声层析潜标布放网络示意图
声层析潜标电子系统组成框图如图2所示。主要由主控模块、电源管理模块、发射模块、接收模块、采集模块、时钟源模块、温湿度传感器、存储模块1、2等组成。主控模块作为潜标电子系统的重要组成部分,完成高质量的声信号发射和高精度的声信号采集存储。
图2 声层析潜标电子系统组成框图
2.1流程控制、任务管理
声层析潜标电子系统主要有三种工作模式,分别是入水前的船载调试模式、入水24 h内的水下自检模式和入水24 h后的水下工作模式。主控模块每次上电后,电源管理模块会向其发送潜标ID、当前模式、任务时间等配置信息。主控模块根据当前模式信息分别控制电子系统在三种工作模式下的流程。在水下工作模式下还需根据潜标ID和任务时间控制潜标电子系统进行声信号发射、采集、存储的任务管理。
2.2数据整理
声层析潜标是根据任务设定独立运行的设备,主控模块需要在电子系统上电自检、声信号发射和声信号采集存储期间分别收集电子系统各模块供电状态、存储硬盘信息、采集链路信息、发射状态、温湿度传感器数据和日历数据等参数,打包成系统初始化参数、系统发射参数、系统收采参数送存储模块进行保存记录。
水下自检时,还需将收集到的电子系统各模块参数整合成自检结果发送给水声通讯子系统,由水声通讯子系统上传至甲板。甲板设备根据上传的自检信息判断潜标电子系统各模块入水后是否正常。
2.3电源管理
潜标电子系统长时间在水下工作,由于电池电容量有限,需要主控模块配合电源管理模块对电子系统进行电源管理。
声层析潜标采用周期工作方式,即每天4次、每次定时执行半小时的声信号发射和声信号采集存储任务。任务执行期间合理有序的为各模块上电和断电,任务完成后通知电源管理模块关闭相关模块,从而达到既满足设计功能又降低功耗的目的。
2.4时钟驱动
为保证潜标声信号发射、采集存储的精度要求,声层析潜标采用原子钟时钟源模块提供基准时钟。主要有10.24 MHz主时钟、秒脉冲(1PPS:1 Pulse Per Second)和日历数据三个信号。10.24 MHz主时钟由主控模块控制转发给采集模块和发射模块作为采集采样率和发射信号源的频率基准,1PPS信号提供给主控模块作为发射或采集事件触发信号,当日历数据与任务时间吻合后由1PPS信号触发声信号发射或声信号采集。潜标的时钟源模块经过GPS相位同步对时后,认为所有潜标的时钟是同步一致的。
为满足潜标高精度的声信号发射、采集存储任务,主控模块采用现场可编程门阵列FPGA作为主控制芯片,由FPGA控制转发时钟模块的10.24 MHz时钟基准信号,同时接收日历数据信号。当时间与任务设定的时间匹配后由1PPS信号触发潜标进行声信号发射或声信号采集存储任务。主控模块主要由FPGA电路和接口电路所组成。接口电路在主控模块与其他模块数据通信时进行电平匹配,主要有RS-485、RS-232以及单总线接口。FPGA电路作为主控模块的核心电路,主要作用有以下几点:一是控制电子系统在入水前的船载调试、入水24 h内的水下自检和入水24小时后的水下工作这三种模式的工作流程;二是入水24 h后控制电子系统定期执行每天4次,每次半个小时的高精度声信号发射、采集存储任务;三是通过接口电路完成与其他模块的数据交互,RS-485、RS-232接口采用异步串口通信协议,波特率为57 600 bps,与数字温湿度传感器AM2301的单总线接口采用单总线通信协议。FPGA选用的是Xilinx公司Spartan-3系列的XC3S400[2],其具有丰富的可配置IO管脚、片内可编程逻辑资源以及并行处理能力等,能够满足主控模块同时处理多个接口通信、流程控制、任务管理和时钟驱动等要求。主控模块电路组成框图如图3所示。
图3 主控模块电路组成框图
主控模块FPGA程序采用硬件描述语言编写,主要由流程控制及任务管理主程序、接口(主要有时钟、电源、发射、通讯、存储、温湿度传感器)数据收发程序所组成。由于篇幅所限,各接口数据收发程序暂不描述,流程控制及任务管理主程序流程图见图4、5、6、7。主控模块上电后,首先接收电源管理模块发送的配置信息,然后根据配置信息的当前模式内容跳转到相应模式。
图 4主控流程控制及任务管理程序流程图
船载模式下(图5),主控模块首先控制电子系统进行加电自检,自检过程中收集电子系统各模块自检参数,打包成船载模式系统初始化参数发送给存储模块,由存储模块转发给调试计算机,然后主控模块等待存储模块转发的调试或关机指令,收到调试指令后,控制电子系统进行声信号发射和采集,发射和采集期间分别收集电子系统各模块参数,分别打包成船载模式系统发射参数和系统收采参数发送给存储模块,由存储模块进行转发;收到关机指令后,关闭电子系统相应模块。
图5 船载调试模式程序流程图
水下自检模式下(图6),主控模块首先控制电子系统进行加电自检,自检过程中收集电子系统各模块自检参数,打包成水下自检系统初始化参数和水下自检结果,将系统初始化参数送存储模块进行存盘记录,将自检结果发送给水声通讯子系统,由其转发,收到通讯子系统转发甲板设备回应后关闭电子系统相应模块。
图6 水下自检模式程序流程图
在水下工作模式下(图7),主控模块首先控制电子系统进行加电自检,自检过程中收集电子系统各模块自检参数,将自检参数打包成水下工作模式系统初始化参数,发送给存储模块进行存盘记录,然后等待时间匹配后,启动声信号发射或采集存储任务。任务期间收集电子系统各模块参数,打包成水下工作模式系统发射参数或系统收采参数,发送给存储模块进行存盘记录,按照任务设定的次数进行声信号发射或采集存储工作,本次任务结束后,关闭电子系统相应模块。
图7 水下工作模式程序流程图
本文基于FPGA设计的声层析潜标主控模块具有硬件电路架构简单的特点,通过对FPGA进行编程实现主控模块复杂的逻辑控制以及多个接口数据交互,利用状态机控制实现主控模块的流程控制及任务管理功能,通过配置FPGA的IO管脚实现主控模块与其他模块的多个接口数据通信。在多次湖上、海上试验过程中,证明了基于FPGA设计的主控模块流程控制、任务管理、时钟驱动等各项功均能满足系统指标要求,具有较强的可靠性和良好的应用前景。
[1] 赵航芳, 汪非易, 朱小华, 等. 海洋声学层析研究现状与展望[J]. 海洋技术学报, 2015, 34(3):69-73.
[2] Xilinx. Spartan-3 FPGA Family datadheet[Z]. 2005.