基于CompactRIO的水声浮标监听系统设计和实现

(整期优先)网络出版时间:2021-06-10
/ 2

基于 CompactRIO的水声浮标监听系统设计和实现

黄汉清 张素伟

中国船舶集团有限公司第七一○研究所,湖北 宜昌 443003

摘 要:水声监听系统是水中兵器试验一项重要测量装备,通过实时监听水下声信号可以掌握试验的具体情况。本文详述了基于CompactRIO技术的水声浮标监听系统结构及软、硬件设计原理。该系统能够实时采集、存储以及分析试验过程中的各种声信号特性,并且船载系统可通过LAN接口下载数据,显示浮标采集数据,实时分析处理数据。

关键词:水声监听;CompactRIO;浮标


1引言

水中兵器试验中对水声信号的采集分析处理是试验的测量要求,通过对不同频段的水声信号进行处理可以得出水中兵器的运行状况、实时的大地坐标位置和各种工作信息。水声测量浮标是实现水声测量的一种典型应用方式,在浮标上加装水声传感器接收水声信号,经前置信号调理模块进行处理后输出给可编程自动化控制器(Compact Reconfigurate FPGA I/O,CRIO),进行采集分析处理,得出试验过程中的水声信号特征,辅助试验顺利进行。

本文提出了基于 CompactRIO技术的水声监听系统设计方案,该系统应用于小型水声测量浮标,实现了水中兵器试验海域的水声信号实时采集、分析与处理等功能。


1 CompactRIO技术简介

NI CompactRIO是一种小巧而坚固的工业化控制和采集系统,采用可重新配置I/O 的FPGA技术实现超高性能和自定义功能。基于CompactRIO具有低成本开放性架构,用户可以轻松访问到底层的硬件设备,其基本结构包括一个可重复配置I/O FPGA核的底板和一个嵌入式实时处理器,FPGA核可提高专用硬件电路的可靠性和硅片上的并行执行性能,嵌入式实时处理器用于独立和分布式实时操作。该系统适用于可靠的独立嵌入式或分布式应用系统。基于CompactRIO技术的系统构成如图1所示。根据测试需求可选用不同的I/O模块。

在编程上通过NI LabVIEW、LabVIEW RT模块和LabVIEW FPGA模块来开发CompactRIO嵌入式系统,可大大缩短系统开发时间,并且该系统的工作性能和优化特性可与专门定制设计的硬件电路媲美。

60c1ce0c1a357_html_98db450531eeb69c.png

1 CompactRIO系统的基本组成


2 水声监听系统硬件设计

2.1总体设计

在总体设计原则上,以NI公司的CompactRIO技术为核心对系统进行综合设计,采用模块化设计思想,考虑了设备的可扩充性和升级能力,注重产品的小型化,使用的方便性,坚固耐用性,安装和拆卸的快速性。本系统由嵌入式实时控制器、可重复配置的FPGA底板、I/O模块、桥路接口以及电源滤波模块等组成,其原理结构如图2所示。

2.2模块选取

系统以CRIO9004实时控制器和1M门CRIO9101底板为核心,根据测试需求,采用了电源模块、模拟输入模块以及信号调理等模块。

2.2.1电源模块

本系统采用直流56V聚合物锂电池组为供电电源,经过DC-DC后供给CRIO模块24DC,供给信号调理模块和水声换能器的电源为±12VDC。

2.2.2 模拟输入模块

模拟输入模块选取依据是水声信号动态范围和底板匹配,这里选用NI 9223模块。NI 9223同步信号采集模块主要用于测量电压信号,它包


60c1ce0c1a357_html_e84e9b96c3c2632a.gif

±12VDC

2 系统组成原理框图


含4路电压信号采集和抗混叠滤波器,其分辨率为16位,4路同步采样模拟输入,最大采样率1MS/s。

2.2.3 信号调理模块

信号调理模块提供8路水声信号的放大和滤波,通过板载的拨码开关设定,选择4路信号的放大和滤波方式,通道设定见下表。

1 信号调理模块通道设定表

通道号

工作方式

1

原始信号1

2

原始信号2

3

原始信号3

4

原始信号4

5

滤波带宽25KHz~35KHz

6

滤波带宽15KHz~25KHz

7

滤波带宽5KHz~15KHz

8

低通滤波<5KHz

信号调理模块的信号放大器采用AD625可程控放大器,信号滤波芯片采用MAX275,信号调理模块之所以采用8路信号输入方式,是因为要为后续型号扩展功能预留接口。本次设计主要为噪声测量,故设置为通道1(或通道2~4均可)原始信号方式,信号放大倍数为10~500倍。


3 水声监听系统软件设计

软件设计主要包括远程控制终端软件设计和数据采集器软件设计, 远程控制终端软件设计和数据采集器通过LAN连接,基于TCP/IP协议进行通信,其程序流程图如图3所示。

3.1数据采集器软件设计

数据采集器软件的主要功能有:开机自检、参数设置、数据采集和存储、LAN通信。自检项目有两项:模拟输入模块、存储空间的检查。当某一路信号发生故障时,通过软件指示灯提示操作人员工作异常,数据采集器的存储空间有限,为了保证最新的记录数据不丢失,必须预留一定的存储空间,当自检时发现存储空间小于规定值时,删除最早记录的数据,直至达到规定的存储空间为止。头文件信息中有每个通道的采样率、每个通道的信号放大倍数、通道选择工作方式,同时这些信息可通过上位机软件进行设置。

3.2远程控制终端软件设计

远程控制终端软件设计的主要功能就是对数据采集器存储的数据进行下载、分析,主要有参数设置模块、数据下载模块、数据分析模块以及在线监测模块。参数设置模块用于对数据采集器的时间信息、每个通道的采样率、每个通道的放大倍数、通道选择等进行设置。数据下载模块的主要功能是从数据采集器下载水声信号、设置参数等信息,同时也可完成对数据采集器数据的删除。

在线监测模块主要可以在线观测每个通道的信号波形、信号频率等信息。数据分析模块可分析出该通道水声信号的特征频率等情况。

60c1ce0c1a357_html_2f9882d252c49e1.gif

3 软件总体流程图

3.3 FPGA VIRT host VI间的数据传输

FPGA底板与RT控制器通过PCI总线进行连接,在编程时分别对应着FPGA VI和RT host VI,FPGA VI和RT host VI的运行是各自独立的;在进行数据采集时,必须协调同步二者工作,通常同步的方式有三种:握手、中断、握手中断。这里采用的是握手方式来协调同步二者工作的。具体来说,就是RT host VI通过触发FPGA VI前面相应控件来控制FPGA VI的运行;在数据传输时,FPGA VI采集的数据先存储到FIFO中,RT host VI再从FIFO中读取数据。在运行的过程中,RT host VI首先要配置FIFO的存储深度。FPGA VI在运行的过程中,主要用到LabVIEW的两个控件:FPGA I/O Node控件和Write FIFO控件,FPGA I/O Node控件在这里是执行数据采集的操作,而把采集的数据往FIFO里写的任务是由Write FIFO控件来完成的,其程序图如图4所示。FPGA VI是否运行由“Read”布尔型控件来控制。RT host VI主要用到3个LabVIEW控件:Open FPGA VI Reference、Invoke Method、Read/Write Control。Open FPGA VI Reference的功能是打开并返回一个FPGA VI指针,RT host VI和FPGA VI要进行通信,RT必须首先用Open FPGA VI Reference控件打开指向FPGA目标板的指针,这样RT host VI才能够对FPGA VI前面板的一些控件进行控制;Read/Write Control主要是用来对FPGA VI读/写一个值,通过Read/Write Control对FPGA VI的“Read”布尔控件的写操作就可控制FPGA VI数据采集;Invoke Method用来对FIFO进行配置以及从FIFO中读取数据。

60c1ce0c1a357_html_b932cd8c109d32cf.png

4 FPGA VI程序框图


4 结束语

本文基于CompactRIO技术实现了对水声信号监听系统设计,该系统可对水中兵器试验中部分海域的水声信号进行实时监测,解决试验过程中对水中兵器工作状态信息无法获取的问题,为试验实时指挥决策提供依据。通过对该装备进一步的扩展可以提升浮标功能,如浮标上加装矢量水听器可对目标进行方位测量,布放多枚浮标构成矢量浮标阵可以对目标进行位置测量等。


参考文献

[1] Compact RIO开发者指南【M】. 美国国家仪器公司,2012.

1