基于某型舰炮的数据采集系统设计与试验*
2015-03-14谈芳吟孙宽雷
谈芳吟 孙宽雷 韩 峻
(1.海军工程大学 武汉 430033)(2.92056部队 桂平 537200)
基于某型舰炮的数据采集系统设计与试验*
谈芳吟1孙宽雷2韩 峻1
(1.海军工程大学 武汉 430033)(2.92056部队 桂平 537200)
随着舰炮一体化程度的提高,其结构越来越精密,这对故障检测及诊断提出了更高的要求。为了适应这一需要,在深入研究某型舰炮结构的基础上,利用现代测试技术,结合单片机技术和Labwindows/CVI开发平台,设计出了某型舰炮自动机运行数据采集系统,并将其应用于现役的某型舰炮上。实际应用结果表明,它可稳定地采集舰炮及自动机有效信息,并能通过上位机准确地还原舰炮运动过程,为故障诊断提供了坚实基础和可靠依据。
数据采集; 系统设计; 单片机技术; Labwindows/CVI
Class Number TJ391
1 引言
由于现代舰炮自动化程度的提高,其结构更加紧密复杂,加之较为恶劣的使用环境,其故障率也随之升高[1]。传统的故障检测方法效率低下且难以认知其故障规律,以预测可能发生的故障[2],故现代舰炮亟需更先进的检测手段及检测设备。
随着兵器动态测试技术的发展,声发射技术在故障诊断中愈加凸显出其优越性[3]。鉴于此,笔者设计的舰炮数据采集系统,在全方位地采集舰炮电气信号的同时,还可实时采集舰炮运行时的声信号,并通过后续的分析处理提取舰炮各状态的特征信息,为舰炮运行状态声学特征数据库的建立奠定一个坚实的基础。
2 系统总体构成
该舰炮数据采集系统采用计算机嵌入式控制、分布式设计,由采集盒和显示处理器两部分构成,采集盒由两个模块构成:电气信号模块和声信号模块。电气信号模块通过CAN总线与舰炮各控制箱保持实时通信,以采集并存储舰炮各传感器、旋钮及开关的电信号,如:在射控回路中安装霍尔电流传感器,通过采集、校对传感器和射击开关信号,可以检测舰炮射控系统工作是否正常,并将结果实时显示在操作界面。声信号模块在时钟上与电气信号模块保持同步,并通过安置在采集盒内的两路声传感器,利用优化算法,采集并储存舰炮自动机运行时产生的声信号。
显示处理器是一台平板计算机,在其系统内装载基于Labwindows/CVI平台编写的上位机软件,以用于分析处理采集盒中提取的电气信号和声频信号,从而实现对舰炮的运行状态进行实时监测,以及对电气故障进行判别。
3 系统硬件设计
一般的数采系统并不考虑声信号的采集、分析,而本系统将电气信号和声信号有机结合,进行同步采集、处理,以更全面地呈现舰炮的运动状态,由此也在硬件及软件设计方面带来了挑战。
本数据采集系统的硬件设计主要是采集盒功能板的设计,包括电气信号和声信号采集两个模块的硬件电路设计,功能板如图1所示。
图1 采集板硬件实物图
采集板主要功能是高效地采集、存储、传输电气及声信号等,为实现这些功能,根据实际需求对各个子模块进行了科学设计。
C8051F060单片机具有多接口、操作简单、工作稳定等优点,其集成有两个1Msps、16位分辨率的ADC,以及两个可工作在同/异步、全/半双工方式的串行通信模块UART0和UART1。由于舰炮机械特征信息即声信号多集中在2KHz以下[2],而采集板内部及采集板与上位机之间采用串行通信,故该单片机的各项技术指标均能满足采集板的需求。
每块采集板选用两片C8051F060单片机,分别作为电气信号和声信号模块的核心。通过将两单片机的UART0对应引脚相连,实现电气信号和声信号模块间的异步通信,以便声信号模块获得电气信号模块采集的开闩信号。两单片机的UART1共享一个串口电平转换芯片,即共用一个端口与上位机进行通信。两模块的单片机通过按优先级访问其共用的PCF8563芯片,来获取当前系统时间,从而保证两模块在时钟上的一致。
由于NAND Flash作为一种非易失性存储器,具有体积小、功耗小、读写速度快等优点。综合考虑采样率、舰炮持续工作时间、数据提取速度等因素,两模块均选用容量为8Gb的NAND08GW3C2A flash,并与单片机引脚直接相连,如图2所示,NAND Flash的8位总线接单片机P2口,相应控制接口接在单片机P3口上。
图2 存储器接线框图
声信号模块与电气信号模块不同之处在于,其涉及传声器的选择、滤波放大电路的设计等。选取结构简单、体积小、频响好、输出电平较高的驻极体式传声器,作为声传感器;由于舰炮在运行时的最大声强在140分贝左右,故选取EPE9767型传声器,其可测声强达150分贝,经验证,其满足该型舰炮对测试设备最大声强的具体要求。采用二阶有源低通滤波,以降低系统频率混叠[5]。选用音质好、电压范围宽的功率放大器TDA2822,对其接线时采用立体声式电路形式,以方便外围电阻取值及后续信号的测量、处理。
4 系统软件设计
系统软件设计包括下位机软件设计和上位机软件设计,从而实现两模块准确、高效地运行及对采得信号的有效处理。
4.1 下位机软件设计
通过对单片机编程,对数据采集方案和存储方案等进行设计,其总流程如图3所示。
声信号模块采用变频采样方式[6]——系统在检测到舰炮开闩信号之前,采用低频采样,而之后则采用高频采样——这是本系统设计的一个特色,可在存储空间有限的情况下,提高有效数据的存储量。为提高采样速率,采用单片机的系统时钟且不分频,同时使用单片机定时器的自动重载方式。为使采集数据存储快速稳定,通过配置DMA接口相关寄存器,使ADC0转换的数据由DMA接口直接存至XRAM,从而避免了通过调用软件操作的弊端。
图3 系统下位机软件总流程图
存储方案的设计是本系统的另一特色。系统将NAND Flash分为目录区和数据区两部分[7],以方便对数据的管理。目录区为flash的前64页,每页使用2100字节的存储空间,其余页为数据区。
如表1所示,每条目录由10字节组成,前6个字节为舰炮通电时间即数据采集结点,即每次数据提取时的单文件名,由年月日时分秒组成;后4个字节为16进制表示的地址索引,用来表征单文件在数据区的起始地址。数据区每页的2112个字节被分为四块,如表2所示,除了10个字节的目录标志和1个字节的高频采样标志以及53个字节备用,其余2K字节用于存储采集的数据。
表1 目录区存储格式
表2 数据区存储格式
由于单片机的处理器和DMA不能同时访问片内XRAM[6],故需进行处理器和DMA接口交叉访问XRAM方案的设计。即使数据要先通过DMA接口暂存至片内XRAM,每当采满2KB数据,单片机内核便将片内XRAM的数据读取出来,转存至NAND Flash中。因A/D转换不需要单片机内核的参与,故将单片机内核访问片内XRAM设为系统的主程序,同时设定每当ADC0完成一次转换,便自动产生一个中断,使内核处理器进入一个空的服务程序,而此时DMA接口可以访问片内XRAM,如此交叉进行,保证了两个过程互不干扰。系统每次中断过程共需12个系统周期,而DMA转存2字节数据需要8个系统周期,故此设计得以实现。
4.2 上位机软件设计
上位机软件包括舰炮综合检测系统GUI和数据提取与分析系统GUI,本处主要介绍后者的设计。软件通过调用Labwindows/CVI中的RS-232库函数,实现串口配置及与下位机的通信。如图4,打开串口1,将波特率配置为115200bps,命令如下:
OpenComConfig (1,"",115200,0,8,1,0,0);
打开串口后,点击用户界面上的“刷新列表”按钮,程序响应“获取事件时间列表回调”函数,此时,通过串口向下位机声信号采集系统依次发送读页指令Y00000000~Y00000039,直到所有事件的目录信息全部返回,然后程序会将采集到的目录信息识别、整合并显示在用户界面的下拉列表控件中,供用户选择,如图4右侧框图所示。
图4 声信号提取显示及目录区获取流程图
为充分利用单片机的空闲时间,系统采用多线程技术来执行提取音频数据回调函数,实现如下:
CmtScheduleThreadPoolFunction(DEFAULT_THREAD_POOL_HANDLE,ACQUIREThreadFunction,NULL,&acquireThreadID);
在函数中,首先查到要提取事件在Flash中的内存地址,并以其为文件名创建WAVE格式文件,然后把地址首、末页分别赋给FIRST_PAGE和LAST_PAGE,据此提取数据。每提取一页数据(2059字节),其中前2049字节—2048字节音频数据+1字节高采标志—转存至刚创建的文件中;关闭文件,文件自动保存。在上述过程中,主程序一直检测主面板的“停止”按钮,点击按钮,停止标志被置位;而在ACQUIREThreadFunction中每进行一次读写循环,都会检查该标志位,检测到其被置位时便关闭并保存文件。
5 监测数据显示及处理
主程序将数据提取完毕后,首先打开电气信号数据,此时程序会将各项电气信号保存在不同的指针数组里,以便调用plot函数时的分类显示。待电气信号显示完毕,主程序读取声信号数据文件,每次读取2049字节,并判断最后一个字节的值,值为0代表低频采样,值为1代表高频采样,然后按照采样率将其整合至一个数组中,并同步显示在主面板上,显示效果如图5所示。
图5 数据同步显示界面
此外,主面板还增加了信号的播、缩放能。通过播放主面板信号,可以较为直观地再现舰炮的运动形态,如何时开闩何时击发以及射击弹量等,亦可以通过缩放功能,对声信号数据波形进行局部细节查看,以发现较为明显的异常。
采用离线方式对采得数据进行进一步分析,即利用小波分析方法、盲源分离方法及Matlab软件,对声信号数据进行处理,从而得到不同时刻、不同状态下的频率信息,结合舰炮的工作状态,可形成舰炮的频率特征库。
6 结语
作为基于现代测试技术而设计的监测系统,本系统不仅能稳定、高效地实时采集舰炮的电气信号和声信号,而且能准确、全面地将其在上位机还原。试验结果表明,该系统不仅满足了设计初衷,而且为之后利用声信号进行故障分析,以及故障数据库的建立,提供了较为详细准确的数据支持,更为今后复杂的实时诊断系统的建立,提供了依据。
[1] 王英凯.基于声信号的舰炮运动状态监测和故障诊断的研究[D].武汉:海军工程大学,2013:8-10.
[2] 王宝元,衡刚,周发明,等.火炮测试技术进展[M].北京:国防工业出版社,2011:27-29.
[3] 吉小军,施文康,张自嘉,等.基于噪声信号的声源检测与故障诊断[J].计算机测量与控制,2003,11(12):918-920.
[4] 董志刚.基于NAND非易失性闪存芯片的固态存储技术的应用及性能提升的研究[D].上海:复旦大学,2011:35-37.
[5] 郑君里,应启珩,杨为理.信号与系统[M].第二版.北京:高等教育出版社,2000:120-123.
[6] 王英凯,韩峻.一种低成本高速高精度采样大容量记录器的设计[J].舰船电子工程,2013,11:80-81.
[7] Han Jun, Wang Yingkai. An Improved Real-Time Data Collection Algorithmwith Increased Recording Duration[C]//IEEE, INTERNATIONAL CONFERENCE ON COMPUTATIONAL PROBLEM-SOLVING, Leshan, China,2012,9:380-382.
[8] 任勇峰,张时华,刘广军.基于C8051F060单片机的数据采集系统[J].电子技术,2009(8):72-75.
[9] 许文斌,曾全胜.单片机实时数据采集系统设计[J].机械与电子,2009(5):130-133.
[10] 程建鑫,何玉珠,向复生.通用数据采集系统的设计[J].电子测量技术,2008(5):264-267.
Design and Test for Data Acquisition System of Naval Gun
TAN Fangyin1SUN Kuanlei2HAN Jun1
(1. Naval University of Engineering, Wuhan 430033)(2. No. 92056 Troops of PLA, Guiping 537200)
As the integrative degree of naval gun improves, its structure becomes more precision, which puts forward higher standards for failure detection and diagnose. In order to catch up these standards, based on the deep research of certain naval gun, with modern testing technology, combined with the technology of microcontroller and the Labwindows/CVI development platform, the data acquisition system of running automaton for a certain type of naval gun is designed, and is applied on a certain type of active naval gun. The result shows that the system can collect effective information of naval gun stably and its automatic mechanism, and can also restore the naval gun’s working stateaccurately, providing a solid foundation and reliable basis for fault diagnosis.
data acquisition, system design, single-chip microcomputer technology, Labwindows/CVI
2015年4月7日,
2015年5月26日
谈芳吟,女,硕士研究生,研究方向:兵器测试技术。孙宽雷,男,硕士,研究方向:兵器测试技术。韩峻,男,硕士生导师,研究方向:兵器测试技术。
TJ391
10.3969/j.issn.1672-9730.2015.10.028