談芳吟 孫寬雷 韓 峻
(1.海軍工程大學(xué) 武漢 430033)(2.92056部隊(duì) 桂平 537200)
?
基于某型艦炮的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與試驗(yàn)*
談芳吟1孫寬雷2韓 峻1
(1.海軍工程大學(xué) 武漢 430033)(2.92056部隊(duì) 桂平 537200)
隨著艦炮一體化程度的提高,其結(jié)構(gòu)越來(lái)越精密,這對(duì)故障檢測(cè)及診斷提出了更高的要求。為了適應(yīng)這一需要,在深入研究某型艦炮結(jié)構(gòu)的基礎(chǔ)上,利用現(xiàn)代測(cè)試技術(shù),結(jié)合單片機(jī)技術(shù)和Labwindows/CVI開(kāi)發(fā)平臺(tái),設(shè)計(jì)出了某型艦炮自動(dòng)機(jī)運(yùn)行數(shù)據(jù)采集系統(tǒng),并將其應(yīng)用于現(xiàn)役的某型艦炮上。實(shí)際應(yīng)用結(jié)果表明,它可穩(wěn)定地采集艦炮及自動(dòng)機(jī)有效信息,并能通過(guò)上位機(jī)準(zhǔn)確地還原艦炮運(yùn)動(dòng)過(guò)程,為故障診斷提供了堅(jiān)實(shí)基礎(chǔ)和可靠依據(jù)。
數(shù)據(jù)采集; 系統(tǒng)設(shè)計(jì); 單片機(jī)技術(shù); Labwindows/CVI
Class Number TJ391
由于現(xiàn)代艦炮自動(dòng)化程度的提高,其結(jié)構(gòu)更加緊密復(fù)雜,加之較為惡劣的使用環(huán)境,其故障率也隨之升高[1]。傳統(tǒng)的故障檢測(cè)方法效率低下且難以認(rèn)知其故障規(guī)律,以預(yù)測(cè)可能發(fā)生的故障[2],故現(xiàn)代艦炮亟需更先進(jìn)的檢測(cè)手段及檢測(cè)設(shè)備。
隨著兵器動(dòng)態(tài)測(cè)試技術(shù)的發(fā)展,聲發(fā)射技術(shù)在故障診斷中愈加凸顯出其優(yōu)越性[3]。鑒于此,筆者設(shè)計(jì)的艦炮數(shù)據(jù)采集系統(tǒng),在全方位地采集艦炮電氣信號(hào)的同時(shí),還可實(shí)時(shí)采集艦炮運(yùn)行時(shí)的聲信號(hào),并通過(guò)后續(xù)的分析處理提取艦炮各狀態(tài)的特征信息,為艦炮運(yùn)行狀態(tài)聲學(xué)特征數(shù)據(jù)庫(kù)的建立奠定一個(gè)堅(jiān)實(shí)的基礎(chǔ)。
該艦炮數(shù)據(jù)采集系統(tǒng)采用計(jì)算機(jī)嵌入式控制、分布式設(shè)計(jì),由采集盒和顯示處理器兩部分構(gòu)成,采集盒由兩個(gè)模塊構(gòu)成:電氣信號(hào)模塊和聲信號(hào)模塊。電氣信號(hào)模塊通過(guò)CAN總線(xiàn)與艦炮各控制箱保持實(shí)時(shí)通信,以采集并存儲(chǔ)艦炮各傳感器、旋鈕及開(kāi)關(guān)的電信號(hào),如:在射控回路中安裝霍爾電流傳感器,通過(guò)采集、校對(duì)傳感器和射擊開(kāi)關(guān)信號(hào),可以檢測(cè)艦炮射控系統(tǒng)工作是否正常,并將結(jié)果實(shí)時(shí)顯示在操作界面。聲信號(hào)模塊在時(shí)鐘上與電氣信號(hào)模塊保持同步,并通過(guò)安置在采集盒內(nèi)的兩路聲傳感器,利用優(yōu)化算法,采集并儲(chǔ)存艦炮自動(dòng)機(jī)運(yùn)行時(shí)產(chǎn)生的聲信號(hào)。
顯示處理器是一臺(tái)平板計(jì)算機(jī),在其系統(tǒng)內(nèi)裝載基于Labwindows/CVI平臺(tái)編寫(xiě)的上位機(jī)軟件,以用于分析處理采集盒中提取的電氣信號(hào)和聲頻信號(hào),從而實(shí)現(xiàn)對(duì)艦炮的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),以及對(duì)電氣故障進(jìn)行判別。
一般的數(shù)采系統(tǒng)并不考慮聲信號(hào)的采集、分析,而本系統(tǒng)將電氣信號(hào)和聲信號(hào)有機(jī)結(jié)合,進(jìn)行同步采集、處理,以更全面地呈現(xiàn)艦炮的運(yùn)動(dòng)狀態(tài),由此也在硬件及軟件設(shè)計(jì)方面帶來(lái)了挑戰(zhàn)。
本數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)主要是采集盒功能板的設(shè)計(jì),包括電氣信號(hào)和聲信號(hào)采集兩個(gè)模塊的硬件電路設(shè)計(jì),功能板如圖1所示。
圖1 采集板硬件實(shí)物圖
采集板主要功能是高效地采集、存儲(chǔ)、傳輸電氣及聲信號(hào)等,為實(shí)現(xiàn)這些功能,根據(jù)實(shí)際需求對(duì)各個(gè)子模塊進(jìn)行了科學(xué)設(shè)計(jì)。
C8051F060單片機(jī)具有多接口、操作簡(jiǎn)單、工作穩(wěn)定等優(yōu)點(diǎn),其集成有兩個(gè)1Msps、16位分辨率的ADC,以及兩個(gè)可工作在同/異步、全/半雙工方式的串行通信模塊UART0和UART1。由于艦炮機(jī)械特征信息即聲信號(hào)多集中在2KHz以下[2],而采集板內(nèi)部及采集板與上位機(jī)之間采用串行通信,故該單片機(jī)的各項(xiàng)技術(shù)指標(biāo)均能滿(mǎn)足采集板的需求。
每塊采集板選用兩片C8051F060單片機(jī),分別作為電氣信號(hào)和聲信號(hào)模塊的核心。通過(guò)將兩單片機(jī)的UART0對(duì)應(yīng)引腳相連,實(shí)現(xiàn)電氣信號(hào)和聲信號(hào)模塊間的異步通信,以便聲信號(hào)模塊獲得電氣信號(hào)模塊采集的開(kāi)閂信號(hào)。兩單片機(jī)的UART1共享一個(gè)串口電平轉(zhuǎn)換芯片,即共用一個(gè)端口與上位機(jī)進(jìn)行通信。兩模塊的單片機(jī)通過(guò)按優(yōu)先級(jí)訪(fǎng)問(wèn)其共用的PCF8563芯片,來(lái)獲取當(dāng)前系統(tǒng)時(shí)間,從而保證兩模塊在時(shí)鐘上的一致。
由于NAND Flash作為一種非易失性存儲(chǔ)器,具有體積小、功耗小、讀寫(xiě)速度快等優(yōu)點(diǎn)。綜合考慮采樣率、艦炮持續(xù)工作時(shí)間、數(shù)據(jù)提取速度等因素,兩模塊均選用容量為8Gb的NAND08GW3C2A flash,并與單片機(jī)引腳直接相連,如圖2所示,NAND Flash的8位總線(xiàn)接單片機(jī)P2口,相應(yīng)控制接口接在單片機(jī)P3口上。
圖2 存儲(chǔ)器接線(xiàn)框圖
聲信號(hào)模塊與電氣信號(hào)模塊不同之處在于,其涉及傳聲器的選擇、濾波放大電路的設(shè)計(jì)等。選取結(jié)構(gòu)簡(jiǎn)單、體積小、頻響好、輸出電平較高的駐極體式傳聲器,作為聲傳感器;由于艦炮在運(yùn)行時(shí)的最大聲強(qiáng)在140分貝左右,故選取EPE9767型傳聲器,其可測(cè)聲強(qiáng)達(dá)150分貝,經(jīng)驗(yàn)證,其滿(mǎn)足該型艦炮對(duì)測(cè)試設(shè)備最大聲強(qiáng)的具體要求。采用二階有源低通濾波,以降低系統(tǒng)頻率混疊[5]。選用音質(zhì)好、電壓范圍寬的功率放大器TDA2822,對(duì)其接線(xiàn)時(shí)采用立體聲式電路形式,以方便外圍電阻取值及后續(xù)信號(hào)的測(cè)量、處理。
系統(tǒng)軟件設(shè)計(jì)包括下位機(jī)軟件設(shè)計(jì)和上位機(jī)軟件設(shè)計(jì),從而實(shí)現(xiàn)兩模塊準(zhǔn)確、高效地運(yùn)行及對(duì)采得信號(hào)的有效處理。
4.1 下位機(jī)軟件設(shè)計(jì)
通過(guò)對(duì)單片機(jī)編程,對(duì)數(shù)據(jù)采集方案和存儲(chǔ)方案等進(jìn)行設(shè)計(jì),其總流程如圖3所示。
聲信號(hào)模塊采用變頻采樣方式[6]——系統(tǒng)在檢測(cè)到艦炮開(kāi)閂信號(hào)之前,采用低頻采樣,而之后則采用高頻采樣——這是本系統(tǒng)設(shè)計(jì)的一個(gè)特色,可在存儲(chǔ)空間有限的情況下,提高有效數(shù)據(jù)的存儲(chǔ)量。為提高采樣速率,采用單片機(jī)的系統(tǒng)時(shí)鐘且不分頻,同時(shí)使用單片機(jī)定時(shí)器的自動(dòng)重載方式。為使采集數(shù)據(jù)存儲(chǔ)快速穩(wěn)定,通過(guò)配置DMA接口相關(guān)寄存器,使ADC0轉(zhuǎn)換的數(shù)據(jù)由DMA接口直接存至XRAM,從而避免了通過(guò)調(diào)用軟件操作的弊端。
圖3 系統(tǒng)下位機(jī)軟件總流程圖
存儲(chǔ)方案的設(shè)計(jì)是本系統(tǒng)的另一特色。系統(tǒng)將NAND Flash分為目錄區(qū)和數(shù)據(jù)區(qū)兩部分[7],以方便對(duì)數(shù)據(jù)的管理。目錄區(qū)為flash的前64頁(yè),每頁(yè)使用2100字節(jié)的存儲(chǔ)空間,其余頁(yè)為數(shù)據(jù)區(qū)。
如表1所示,每條目錄由10字節(jié)組成,前6個(gè)字節(jié)為艦炮通電時(shí)間即數(shù)據(jù)采集結(jié)點(diǎn),即每次數(shù)據(jù)提取時(shí)的單文件名,由年月日時(shí)分秒組成;后4個(gè)字節(jié)為16進(jìn)制表示的地址索引,用來(lái)表征單文件在數(shù)據(jù)區(qū)的起始地址。數(shù)據(jù)區(qū)每頁(yè)的2112個(gè)字節(jié)被分為四塊,如表2所示,除了10個(gè)字節(jié)的目錄標(biāo)志和1個(gè)字節(jié)的高頻采樣標(biāo)志以及53個(gè)字節(jié)備用,其余2K字節(jié)用于存儲(chǔ)采集的數(shù)據(jù)。
表1 目錄區(qū)存儲(chǔ)格式
表2 數(shù)據(jù)區(qū)存儲(chǔ)格式
由于單片機(jī)的處理器和DMA不能同時(shí)訪(fǎng)問(wèn)片內(nèi)XRAM[6],故需進(jìn)行處理器和DMA接口交叉訪(fǎng)問(wèn)XRAM方案的設(shè)計(jì)。即使數(shù)據(jù)要先通過(guò)DMA接口暫存至片內(nèi)XRAM,每當(dāng)采滿(mǎn)2KB數(shù)據(jù),單片機(jī)內(nèi)核便將片內(nèi)XRAM的數(shù)據(jù)讀取出來(lái),轉(zhuǎn)存至NAND Flash中。因A/D轉(zhuǎn)換不需要單片機(jī)內(nèi)核的參與,故將單片機(jī)內(nèi)核訪(fǎng)問(wèn)片內(nèi)XRAM設(shè)為系統(tǒng)的主程序,同時(shí)設(shè)定每當(dāng)ADC0完成一次轉(zhuǎn)換,便自動(dòng)產(chǎn)生一個(gè)中斷,使內(nèi)核處理器進(jìn)入一個(gè)空的服務(wù)程序,而此時(shí)DMA接口可以訪(fǎng)問(wèn)片內(nèi)XRAM,如此交叉進(jìn)行,保證了兩個(gè)過(guò)程互不干擾。系統(tǒng)每次中斷過(guò)程共需12個(gè)系統(tǒng)周期,而DMA轉(zhuǎn)存2字節(jié)數(shù)據(jù)需要8個(gè)系統(tǒng)周期,故此設(shè)計(jì)得以實(shí)現(xiàn)。
4.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件包括艦炮綜合檢測(cè)系統(tǒng)GUI和數(shù)據(jù)提取與分析系統(tǒng)GUI,本處主要介紹后者的設(shè)計(jì)。軟件通過(guò)調(diào)用Labwindows/CVI中的RS-232庫(kù)函數(shù),實(shí)現(xiàn)串口配置及與下位機(jī)的通信。如圖4,打開(kāi)串口1,將波特率配置為115200bps,命令如下:
OpenComConfig (1,"",115200,0,8,1,0,0);
打開(kāi)串口后,點(diǎn)擊用戶(hù)界面上的“刷新列表”按鈕,程序響應(yīng)“獲取事件時(shí)間列表回調(diào)”函數(shù),此時(shí),通過(guò)串口向下位機(jī)聲信號(hào)采集系統(tǒng)依次發(fā)送讀頁(yè)指令Y00000000~Y00000039,直到所有事件的目錄信息全部返回,然后程序會(huì)將采集到的目錄信息識(shí)別、整合并顯示在用戶(hù)界面的下拉列表控件中,供用戶(hù)選擇,如圖4右側(cè)框圖所示。
圖4 聲信號(hào)提取顯示及目錄區(qū)獲取流程圖
為充分利用單片機(jī)的空閑時(shí)間,系統(tǒng)采用多線(xiàn)程技術(shù)來(lái)執(zhí)行提取音頻數(shù)據(jù)回調(diào)函數(shù),實(shí)現(xiàn)如下:
CmtScheduleThreadPoolFunction(DEFAULT_THREAD_POOL_HANDLE,ACQUIREThreadFunction,NULL,&acquireThreadID);
在函數(shù)中,首先查到要提取事件在Flash中的內(nèi)存地址,并以其為文件名創(chuàng)建WAVE格式文件,然后把地址首、末頁(yè)分別賦給FIRST_PAGE和LAST_PAGE,據(jù)此提取數(shù)據(jù)。每提取一頁(yè)數(shù)據(jù)(2059字節(jié)),其中前2049字節(jié)—2048字節(jié)音頻數(shù)據(jù)+1字節(jié)高采標(biāo)志—轉(zhuǎn)存至剛創(chuàng)建的文件中;關(guān)閉文件,文件自動(dòng)保存。在上述過(guò)程中,主程序一直檢測(cè)主面板的“停止”按鈕,點(diǎn)擊按鈕,停止標(biāo)志被置位;而在A(yíng)CQUIREThreadFunction中每進(jìn)行一次讀寫(xiě)循環(huán),都會(huì)檢查該標(biāo)志位,檢測(cè)到其被置位時(shí)便關(guān)閉并保存文件。
主程序?qū)?shù)據(jù)提取完畢后,首先打開(kāi)電氣信號(hào)數(shù)據(jù),此時(shí)程序會(huì)將各項(xiàng)電氣信號(hào)保存在不同的指針數(shù)組里,以便調(diào)用plot函數(shù)時(shí)的分類(lèi)顯示。待電氣信號(hào)顯示完畢,主程序讀取聲信號(hào)數(shù)據(jù)文件,每次讀取2049字節(jié),并判斷最后一個(gè)字節(jié)的值,值為0代表低頻采樣,值為1代表高頻采樣,然后按照采樣率將其整合至一個(gè)數(shù)組中,并同步顯示在主面板上,顯示效果如圖5所示。
圖5 數(shù)據(jù)同步顯示界面
此外,主面板還增加了信號(hào)的播、縮放能。通過(guò)播放主面板信號(hào),可以較為直觀(guān)地再現(xiàn)艦炮的運(yùn)動(dòng)形態(tài),如何時(shí)開(kāi)閂何時(shí)擊發(fā)以及射擊彈量等,亦可以通過(guò)縮放功能,對(duì)聲信號(hào)數(shù)據(jù)波形進(jìn)行局部細(xì)節(jié)查看,以發(fā)現(xiàn)較為明顯的異常。
采用離線(xiàn)方式對(duì)采得數(shù)據(jù)進(jìn)行進(jìn)一步分析,即利用小波分析方法、盲源分離方法及Matlab軟件,對(duì)聲信號(hào)數(shù)據(jù)進(jìn)行處理,從而得到不同時(shí)刻、不同狀態(tài)下的頻率信息,結(jié)合艦炮的工作狀態(tài),可形成艦炮的頻率特征庫(kù)。
作為基于現(xiàn)代測(cè)試技術(shù)而設(shè)計(jì)的監(jiān)測(cè)系統(tǒng),本系統(tǒng)不僅能穩(wěn)定、高效地實(shí)時(shí)采集艦炮的電氣信號(hào)和聲信號(hào),而且能準(zhǔn)確、全面地將其在上位機(jī)還原。試驗(yàn)結(jié)果表明,該系統(tǒng)不僅滿(mǎn)足了設(shè)計(jì)初衷,而且為之后利用聲信號(hào)進(jìn)行故障分析,以及故障數(shù)據(jù)庫(kù)的建立,提供了較為詳細(xì)準(zhǔn)確的數(shù)據(jù)支持,更為今后復(fù)雜的實(shí)時(shí)診斷系統(tǒng)的建立,提供了依據(jù)。
[1] 王英凱.基于聲信號(hào)的艦炮運(yùn)動(dòng)狀態(tài)監(jiān)測(cè)和故障診斷的研究[D].武漢:海軍工程大學(xué),2013:8-10.
[2] 王寶元,衡剛,周發(fā)明,等.火炮測(cè)試技術(shù)進(jìn)展[M].北京:國(guó)防工業(yè)出版社,2011:27-29.
[3] 吉小軍,施文康,張自嘉,等.基于噪聲信號(hào)的聲源檢測(cè)與故障診斷[J].計(jì)算機(jī)測(cè)量與控制,2003,11(12):918-920.
[4] 董志剛.基于NAND非易失性閃存芯片的固態(tài)存儲(chǔ)技術(shù)的應(yīng)用及性能提升的研究[D].上海:復(fù)旦大學(xué),2011:35-37.
[5] 鄭君里,應(yīng)啟珩,楊為理.信號(hào)與系統(tǒng)[M].第二版.北京:高等教育出版社,2000:120-123.
[6] 王英凱,韓峻.一種低成本高速高精度采樣大容量記錄器的設(shè)計(jì)[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] 任勇峰,張時(shí)華,劉廣軍.基于C8051F060單片機(jī)的數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù),2009(8):72-75.
[9] 許文斌,曾全勝.單片機(jī)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].機(jī)械與電子,2009(5):130-133.
[10] 程建鑫,何玉珠,向復(fù)生.通用數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),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日
談芳吟,女,碩士研究生,研究方向:兵器測(cè)試技術(shù)。孫寬雷,男,碩士,研究方向:兵器測(cè)試技術(shù)。韓峻,男,碩士生導(dǎo)師,研究方向:兵器測(cè)試技術(shù)。
TJ391
10.3969/j.issn.1672-9730.2015.10.028