水声探测器测试系统设计与实现

2020-06-06 06:56白志科
计算机测量与控制 2020年5期
关键词:水声接收机发射机

赵 昕,白志科,朱 健

(西安精密机械研究所,西安 710075)

0 引言

近些年,水声探测有针对体积小、动态、活动海域广的目标需求,这样带来了探测时间短、目标回波信号强度明显下降,海平面反射信号等情况更为复杂,以上情况使得水声探测难度加大,最终导致水声探测器的接收机组件、数字机组件、发射机组件在性能和功能上均需要大幅提升,从而整个水声探测器的复杂度有了明显增加,此时再利用标准台式仪器对其进行测试,需要使用中高端的示波器,信号源,经核算所需以上仪器总成本高昂,同时在测试的过程中,由于测试的项目众多,指标分析更深入,操作繁琐,检测周期过长。

针对上述问题,文章利用虚拟仪器技术开发了一套自动化测试系统,系统硬件由基于PXIe总线的机箱、零槽、采集卡、CAN卡、多路复用开关、单刀双掷开关、以及衰减器和适配箱组成,上位机测试软件利用Labwindows/CVI[1-2]开发,其中引入了自功率谱函数,实现了对信号幅度和频率的快捷计算;利用Database Editor机制回避了用代码创建CAN会话句柄的繁琐方式,以及采用stream模式,提高了CAN帧数据接收效率;采用多线程结合通道触发的方法,实现了对短调制脉冲信号准确测试;通过以上设计开发,很理想的完成了水声探测器的自动化测试。

1 系统原理设计

水声探测器测试系统主要是对接收机组件,数字机组件,发射机组件进行测试,它需要D/A、A/D、DI/O、多路复用开关,单刀双掷开关,CAN通信接口,衰减器等功能设备,原理框图如图1所示。

图1 水声探测器测试系统原理

D/A设备一方面用于模拟目标回波信号,产生不同频率、不同幅度、不同回波延时和不同脉宽的目标反射回波,另一方面模拟不同频率和不同幅度的目标辐射噪声,经衰减后分别输出给接收机组件的输入通道;CAN通信设备用于收发命令数据,模拟水下航行体中探测与各个系统之间的信息交互;DI/O设备主要采集数字机组件输出的指示信号,以及输出数字控制信号作为接收机的数字激励信号;A/D设备用于采集接收机组件输出的输出信号、数字机组件输出的指示信号、XOUT信号、混频信号、发射机组件输出的发射信号;多路复用开关用于切换被采集的通道;单刀双掷开关实现控制两种电源供电。

2 系统硬件设计

在硬件设计方面,主要是选用机箱、零槽、采集卡、CAN卡、多路复用开关卡、单刀双掷开关卡。目前PXIe总线相比PXI总线在传输带宽和兼容性方面具有明显优势,因此以上均选用基于PXIe总线的设备。采集卡的选择主要是依据:生成模拟信号的频率范围、幅度范围、输出通道数;被采集模拟信号的频率范围、幅度范围、采集通道数、采样率、采样精度;数字信号输入输出的通道数以及是否需要同步采集。本设计采用了2块4个差分采集通道、16 bit分辨率、单通道最高4 MS/s、输入量程±10 V、24通道DI/O、可支持56 MB板载存储器的采集卡。在CAN卡方面,按照标准配置即可,因此选用了1块1 M bit/s的CAN接口卡。在多路复用开关方面,因为处理的是微弱信号,要求多路复用开关具有尽量低的阻抗,另外参考每个采集通道要切换的被测通道数,选择了具有24x1 线制多路复用,完整通路阻抗<1 Ω的多路复用卡。在单刀双掷开关卡方面,由于需要能支持40 V供电,以及需要为3个组件和整个装置供电,采用了独立4路且最高120 VDC,120 VAC的单刀双掷开关。在机箱零槽方面,根据选用的板卡数量及考虑后期的可扩展性,选择了8槽机箱;根据处理速度和存储需求,采用了具有2.3 GHz双核Intel Core i7-3610QE处理器、8 GB (2×4 GB) DDR31600 MHz RAM、1 TB的嵌入式零槽。

由于生成模拟信号的板卡最小输出信号幅度为5.64 mVpp,不满足激励的要求,所以需要对输出信号进行衰减,这里采用了常用的π型电阻衰减网络对信号进行分压衰减,同时衰减器要与探测器具有相同的检测通道,各通道的衰减系数相同。另外设计了信号适配箱,目地是将测试系统中各板卡的接线端子集成为电缆,便于测试系统与探测器的连接;同时可将模拟负载集成在内,方便管理。

3 系统软件设计

水声探测器的测试软件设计是分别对接收机组件、数字机组件、发射机组件进行设计,利用labwindows/CVI平台完成开发。

3.1 接收机组件测试软件设计

接收机测试软件流程如图2所示,根据模拟回波参数,编辑模拟回波数据,对接收机组建上的增益用控制码进行设定,并加载混频信号进行模拟回波信号调制[3],前期工作准备好后,闭合第一通道开关,加载模拟回波信号,采集接收机输出信号,在计算信号幅度和频率方面,由于自功率谱函数[4],可同时直接得到所有信号幅度的有效值以及频谱上的频率间隔,因有用信号幅度有效值最大,所以只要再利用寻找最值函数,便可得到有用信号幅度有效值及其在所有信号中的序号,序号乘以频率间隔既是频率,因此采用自功率谱函数,来计算输出信号幅度和频率参数比较简便,测完一个通道后,切换多路复用开关,直到接收机输出通道全部测完为止。

图2 接收机组件测试软件流程

3.2 数字机组件测试软件设计

数字机组件测试软件流程与接收机组件测试软件流程一致,只是加载的激励信号为接收机输出信号和激励命令,测试的信号是XOUT信号,指示信号、混频信号,发射输入信号,然后计算出各信号的幅度的峰值和频率,对于模拟信号的输出,开关切换,模拟信号采集及计算与上节编程思路一致,不再做赘述,对于激励命令输出是通过CAN[6-7]接口卡来实现。

在CAN通信前,需要创建CAN会话句柄[8],传统的创建首先要用nxdbOpenDatabase函数创建Database标识符,然后将其传给nxdbCreatObject函数创建Cluster标识符,再将Cluster标识符传给nxdbCreatObject创建CAN Frame标识符,最后还要调用nxdbSetPropertyp函数配置CAN帧格式、帧ID、数据段长度,这些完成后,才能调用nxCreateSession函数来创建CAN会话,因此这种用代码编写创建相对麻烦,为了简化创建过程,应用了Database Edior的方法,具体实现方法是: 利用Database Editor创建一个Database文件,然后直接利用菜单按钮继续创建Cluster和CAN Frame,便得到了图3所示界面,CAN帧格式、帧ID、数据段长度等参数可直接配置,配置完成后,点击保存该文件,创建CAN会话时,直接将该文件名赋给nxCreateSession函数,便可得到CAN会话句柄。

图3 Database Editor创建CAN会话句柄

在CAN通信时,采用了stream模式。因Stream模式不是只读最近时刻且希望获取类型的CAN帧,它不检测总线上是什么类型的CAN帧,只检测总线上在某一时刻所有的CAN帧,然后一次性取回,后期用户再根据自身需求处理各类CAN帧,由于本测试系统模拟水下航行体中探测与各个系统之间的信息交互,所以对各系统发来的CAN帧数据都关心,这样采用stream模式,减少读取次数,提高了接收效率。具体实现方法是:在nxCreateSession函数中设置成nxMode_FrameInStream模式,并将帧类型参数设置为NULL,按照CAN协议设置一个结构体类型struct can_frame,其成员包括:时间戳、ID、帧类型、标志位、状态信息、数据段长度,数据缓冲区。开辟一个该类型的结构体数组,将创建的CAN会话句柄,结构体数组首地址赋给nxReadFrame,调用此函数进行数据读取。

3.3 发射机组件测试软件设计

发射机组件测试主要是检测负载箱输出,由于此输出为一段短调制脉冲信号,激励信号加载后,立即输出,然后结束。为了能够准确测试此信号的参数,需要在调制脉冲信号内采集一段小于该信号脉宽的数据,所以将采集状态用线程的方式先启动起来,并当信号输出时,再触发采集,即通道触发采集[9]。发射机组件激励信号为方波信号,因为负载箱输出有固定的判断正常与否的标准,所以计算出负载箱输出信号的频率和幅度与判据比较,得出信号输出正常与否。软件设计流程如图4所示。

图4 发射机组件测试软件流程图

利用DAQmxCfgAnlgEdgeStartTrig函数配置通道触发,将其触发源参数设置成本通道,触发沿参数设置成上升沿,触发电平根据输出幅度范围设置,这样通道有信号并超过触发电平便开始采集。利用CmtScheduleThreadPoolFunction函数创建线程,然后定义一个函数,由此函数完成具体操作,将该函数的指针赋给CmtScheduleThreadPoolFunction函数的参数,因此要将DAQmxReadAnalogF64函数和计算输出信号的频率和幅度置于自定义的函数中。对于多线程编程[10],线程管理需考虑全面,在整个发射机组件检测完毕后,需要关闭线程,释放相关资源,但有时操作异常,也导致程序即将退出,因此要在启动线程后设置线程启动标识,测试程序结束前,如果判断出线程真实启动,再进行线程关闭,首先需要调用CmtWaitForThreadPoolFunctionCompletion函数等待线程结束,然后调用函数CmtReleaseThreadPoolFunctionID将线程关闭。

4 测试验证与分析

将各板卡的接线盒附件安装到板卡上,板卡另一端用电缆将信号引出,接到适配箱后面板上,将电源也连接到后面板上,前面板通过电缆与水声探测器相连,运行上位机测试软件,测试软件由接收机检查、数字机检查,发射机检查3部分组成,每部分有配置区域和显示区域,显示通过表格形式完成,在水声探测增加了图形显示。配置区域有测试手自一体功能,在接收机测试和发射机测试中,手动是各通道单独测试,自动是各通道一次测完,对于数字机测试,手动是针对单项输出信号测试,自动是所有项输出信号测试,另外配置成自动模式,配置区及其他各项检测为不可操作模式,防止错误操作。将各组件测试配置成自动,分别点击接收机按钮、自动按钮,负载箱输出按钮,便完成了水声探测器各项指标的测试。

对以上测试进行分析,利用文章提出的设计方案及开发方法,能够精准地实现水声探测器所有指标测试,同时大幅缩短了测试周期,从过去需要近50分钟下降到仅需几分钟;测试操作得到简化了,并且具有误操作防止功能;测试结果显示更加直观,并更方便比较各通道的性能指标情况;后期在外场工作中,温度、湿度等环境因素变化的情况下,多次利用本测试系统对水声探测器进行测试,测试系统功能良好,运行可靠,无故障发生。工程应用效果相比基于传统的标准台式仪器明显更具优势。

5 结束语

应用虚拟仪器技术,开发了一套自动化测试系统,实现了高效且快捷地对水声探测器的测试,本文引入了自功率谱函数实现信号频率和幅度快速计算,在CAN通信开发方面;提出了应用Database Editor机制,简化了CAN会话句柄的创建过程,采用了Stream读取模式,提升了CAN数据接收效率;为了能够准确测试短调制脉冲信号,提出了多线程结合通道触发的方法;同时涵盖了模拟信号激励和采集、数字信号激励和采集、各类开关切换等测试测量领域里常用功能单元设计,为利用Labwindows/CVI开发自动化测试系统提供了有价值的参考。

猜你喜欢
水声接收机发射机
低成本GNSS接收机监测应用精度分析
功率放大器技术结构及在雷达接收机中的应用
GNSS接收机FLASHADC中比较器的设计
基于最小二乘法的超短基线水声定位系统校准方法
宽带发射机IQ不平衡的矫正方法
10kW DAM中波广播发射机的故障分析及处理
中波发射机双频共塔天线调配网络改造简析
基于频率引导的ESM/ELINT接收机的设计与实现
有些水声,像乡音
DAM-10kW中波广播发射机原理与故障排除