《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 基于嵌入式微處理器的自行高炮火控監(jiān)測系統(tǒng)研究

基于嵌入式微處理器的自行高炮火控監(jiān)測系統(tǒng)研究

2009-06-24
作者:鐘秋發(fā), 朱新華, 段修生, 溫

??? 摘??要: 基于ARM和WINCE的自行高炮火控系統(tǒng)狀態(tài)監(jiān)測技術(shù)的總體結(jié)構(gòu),完成了硬件設(shè)計(jì)和軟件開發(fā),實(shí)現(xiàn)了對(duì)自行高炮火控系統(tǒng)的模擬、數(shù)字與軸角信號(hào)的采集。該系統(tǒng)簡單便攜,易于擴(kuò)展,可廣泛應(yīng)用于各種需要數(shù)據(jù)采集及處理的系統(tǒng)中。?

??? 關(guān)鍵詞: 火控系統(tǒng); ARM; WINCE; 狀態(tài)監(jiān)測

?

??? 我軍現(xiàn)裝備的某自行高炮系統(tǒng)組成復(fù)雜、技術(shù)先進(jìn),對(duì)其技術(shù)保障的難度大、要求高[1]。無論維修保障,還是平時(shí)訓(xùn)練使用、裝備檢查,研制其火控系統(tǒng)狀態(tài)監(jiān)測設(shè)備,為系統(tǒng)提供正常工作時(shí)的監(jiān)測手段,都尤為必要。本文介紹了一種基于ARM的火控狀態(tài)監(jiān)測系統(tǒng)方案,該系統(tǒng)可實(shí)現(xiàn)對(duì)火控系統(tǒng)的狀態(tài)信息、故障信息和性能參數(shù)信息等重要參數(shù)的采集、存儲(chǔ)、分析和處理。?

1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)?

??? 監(jiān)測系統(tǒng)的主要功能是對(duì)目標(biāo)跟蹤系統(tǒng)、火控系統(tǒng)、隨動(dòng)系統(tǒng)和導(dǎo)航系統(tǒng)等的工作狀態(tài)進(jìn)行監(jiān)控,對(duì)火控計(jì)算機(jī)、跟蹤計(jì)算機(jī)、車體信息機(jī)、隨動(dòng)控制箱、激光測距機(jī)、電視跟蹤器等主要單體通信信號(hào)進(jìn)行監(jiān)控和測試。采用靜止方式對(duì)電氣系統(tǒng)的工作狀態(tài)進(jìn)行全面監(jiān)測,采用多點(diǎn)同時(shí)監(jiān)測的手段實(shí)施,對(duì)系統(tǒng)工作過程中的各個(gè)環(huán)節(jié)進(jìn)行詳細(xì)監(jiān)測和分析。即在自行高炮靜止?fàn)顟B(tài)下進(jìn)行各種靜態(tài)和動(dòng)態(tài)監(jiān)測,適用于日常操作訓(xùn)練、裝備技術(shù)狀態(tài)檢查、故障檢測與診斷等。在行進(jìn)過程中的監(jiān)測主要限于關(guān)鍵部位的狀態(tài),主要包括目標(biāo)跟蹤狀態(tài)監(jiān)測、火控計(jì)算機(jī)諸元解算過程監(jiān)測、隨動(dòng)系統(tǒng)工作狀態(tài)監(jiān)測、導(dǎo)航系統(tǒng)工作狀態(tài)監(jiān)測等。此時(shí)監(jiān)測的主要目的是反映裝備的整體工作狀況,及時(shí)發(fā)現(xiàn)異常或故障。監(jiān)測系統(tǒng)主要采用分布式、小型的監(jiān)測裝置,提供狀態(tài)顯示和報(bào)警功能。?

2 系統(tǒng)硬件設(shè)計(jì)?

??? 系統(tǒng)硬件部分主要由四部分組成:嵌入式系統(tǒng)平臺(tái)、數(shù)據(jù)采集電路、顯示控制模塊和報(bào)警電路。嵌入式系統(tǒng)平臺(tái)主要負(fù)責(zé)整個(gè)系統(tǒng)的運(yùn)行,數(shù)據(jù)采集電路主要用于采集火控系統(tǒng)的數(shù)據(jù),顯示控制模塊用于人機(jī)交互和狀態(tài)顯示,報(bào)警電路用于對(duì)裝備故障發(fā)出警報(bào)。其硬件構(gòu)成如圖1所示。?

?

?

2.1 嵌入式系統(tǒng)平臺(tái)?

??? 嵌入式系統(tǒng)平臺(tái)采用以Samsung公司的S3C2440A高性能嵌入式微處理器作為系統(tǒng)的硬件平臺(tái)核心,以S3C2440A處理器為ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,ARM920T核由ARM9TDMI、存儲(chǔ)管理單元(MMU)和高速緩存三部分組成。在此基礎(chǔ)上擴(kuò)展了系統(tǒng)管理單元(SDRAM控制器等)、3通道UART、4通道DMA、GPIO口實(shí)時(shí)時(shí)鐘(RTC)、8通道10位精度ADC和觸摸屏控制器等[2]。配合以64 MB Nand-Flash、64 MB SDRAM。嵌入式平臺(tái)結(jié)構(gòu)如圖2所示[3]。?

?

?

2.2? 數(shù)據(jù)采集電路?

??? 數(shù)據(jù)采集電路與自行高炮火控系統(tǒng)采用三通電纜連接,根據(jù)信號(hào)類別采用不同的數(shù)據(jù)采集電路,一般的模擬信號(hào)經(jīng)過幅度調(diào)整、隔離、濾波等調(diào)理后采用模擬多路開關(guān)進(jìn)行采集通道分配。對(duì)于軸角信號(hào)則采用2個(gè)變壓器進(jìn)行降壓隔離并實(shí)現(xiàn)三相變二相,1個(gè)變壓器用于提取激勵(lì)信號(hào),然后采用多通道同步采集。對(duì)于數(shù)字信號(hào)采集電路則采用FPGA設(shè)計(jì)專門的接口電路,實(shí)現(xiàn)對(duì)各種采集方法的靈活切換和裝備接口與采集通道的動(dòng)態(tài)管理。數(shù)據(jù)采集電路組成如圖3所示。?

?

?

??? 由于ARM自帶的ADC為8通道,觸摸屏控制器占用4個(gè)通道,余下4個(gè)通道的采集范圍和通道數(shù)量無法滿足要求,因此,擴(kuò)展1片Maxim公司的ADC芯片MAX197。MAX197是多電壓量程模數(shù)轉(zhuǎn)換芯片,分辨率為12位,工作電壓為+5 V,有8路模擬輸入通道,具有5 MHz帶寬的采樣保持,100 KS/s采樣速率。MAX197與ARM連接電路如圖4所示。?

?

?

??? 模擬信號(hào)CH0~CH7經(jīng)過MAX197后變成數(shù)字信號(hào),總線收發(fā)器74HC245用于保護(hù)ARM處理器,D0~D7直接接到ARM的數(shù)據(jù)總線,AD結(jié)束信號(hào)INT#一路送到總線D0供查詢,另一路送到外部中斷EINT1。?

2.3? 顯示控制模塊和報(bào)警電路?

??? 報(bào)警電路主要采用蜂鳴器和LED閃爍的方式,由ARM的GPIO控制。為了減小系統(tǒng)體積提高便攜性,顯示控制模塊采用觸摸屏。?

3 系統(tǒng)軟件設(shè)計(jì)?

??? 系統(tǒng)軟件設(shè)計(jì)采用Microsoft公司的Windows CE 5.0嵌入式操作系統(tǒng),它源自桌面型Windows操作系統(tǒng),具有緊湊、高效、實(shí)時(shí)性能好和通信能力強(qiáng)的特點(diǎn),使用Microsoft公司的Platform Builder 5.0定制符合所需要的系統(tǒng)。軟件開發(fā)平臺(tái),使用Microsoft公司的專用于WINCE軟件開發(fā)的EVC(Embedded Visiual C++)開發(fā)工具,它與Visual C++開發(fā)工具具有一定的相似之處,可充分利用Microsoft的32位基于Windows的開發(fā)工具的全部的函數(shù)[4]。監(jiān)控系統(tǒng)中主要用到Windows CE操作系統(tǒng)中對(duì)ARM的GPIO的操作、ARM外部中斷的實(shí)現(xiàn)及多線程編程等。軟件功能主要分為信號(hào)特征數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)采集功能實(shí)現(xiàn)、實(shí)時(shí)信號(hào)特征提取與分析功能實(shí)現(xiàn)及決策處理功能實(shí)現(xiàn)。?

3.1 Windows CE 5.0中自定義中斷的實(shí)現(xiàn)?

??? Windows CE 5.0的中斷處理是3個(gè)映射關(guān)系:中斷服務(wù)請(qǐng)求(ISQ)-->邏輯中斷號(hào)(Interrupt)-->Event對(duì)象。?

??? 當(dāng)中斷發(fā)生時(shí),中斷服務(wù)例程(ISR)返回該中斷號(hào)對(duì)應(yīng)的邏輯中斷號(hào),然后盡可能快地返回ISR;接著Windows CE就設(shè)置該邏輯中斷號(hào)對(duì)應(yīng)的Event對(duì)象(如果有的話),以喚醒在該Event等待的中斷服務(wù)線程(IST),大部分工作都是由IST來完成[5]。一般來說,IST是存放在驅(qū)動(dòng)程序中,也可以存放在應(yīng)用程序里,尤其是對(duì)應(yīng)只有一個(gè)應(yīng)用程序使用的特殊硬件時(shí)更方便。?

??? 首先要修改BSP包的ISR部分,IST直接在應(yīng)用程序里實(shí)現(xiàn)。步驟如下:?

??? (1) 在BSP的oalintr.h里定義自定義中斷的邏輯中斷值,如:?

??? #define SYSINTR_MYINTR(SYSINTR_RIRMWARE+10)?

??? (2) 修改KERNELHALcfw.c中的3個(gè)函數(shù):OEMInterruptEnable( )、OEMInterruptDisable( )、OEMInterruptDone( ),增加對(duì)自定義中斷的啟用和禁用代碼。?

??? (3)修改KERNELHALARMarmint.c中的OEMInterruptHandler( ),對(duì)irq返回邏輯中斷號(hào),如:?

??? else if (IntPendVal == INTSRC_EINT2)?

???????? return (SYSINTR_MYINTR)?

??? (4) 在PlatformBuilder中重新生成nk.bin,下載運(yùn)行。此時(shí),內(nèi)核已經(jīng)支持自定義中斷SYSINTR_MYINT了,在應(yīng)用程序中就可以把這個(gè)SYSINTR_MYINTR與一個(gè)Event對(duì)象關(guān)聯(lián)起來,然后在一個(gè)線程IST里等待這個(gè)Event就可以了。?

??? (5)在IST里用InterruptInitialize( )將自定義中斷和Event關(guān)聯(lián)起來,并運(yùn)行WaitForSingleObject( )。在線程里(即IST)里寫入下列代碼:?

??? hEvent = CreateEvent(NULL, FALSE,FALSE, NULL);?

??? InterruptInitialize(SYSINTR_MYINTR, hEvent, NULL, 0) ;?

??? OEMInterruptEnable( ) //若沒有修改,這個(gè)調(diào)用就會(huì)失敗?

??? While ( TRUE )?

??? {?

??????? WaitForSingleObject(hEvent, INFINITE);?

??????? //在這里加上讀取ADC數(shù)據(jù)的代碼,實(shí)現(xiàn)中斷所?

??????? //需實(shí)現(xiàn)的相關(guān)功能?

??? }?

3.2? 信號(hào)特征數(shù)據(jù)庫設(shè)計(jì)?

??? 信號(hào)特征數(shù)據(jù)庫是對(duì)信號(hào)進(jìn)行分類采集和分析處理的前提,也是故障定位的根據(jù)。采用專用于WinCE的SQL Server CE進(jìn)行開發(fā),用ADOCE進(jìn)行訪問。在系統(tǒng)中主要設(shè)計(jì)兩類表:一類用一個(gè)表存儲(chǔ)所要監(jiān)測的火控系統(tǒng)中電纜的編號(hào)、芯數(shù)和所連接兩端的名稱,主要用于選擇要監(jiān)測的電纜;另一類表是每條電纜有一個(gè)表用于存儲(chǔ)電纜中各個(gè)針的信號(hào)內(nèi)容、類型、幅度、頻率、占空比、流向及信號(hào)說明,是信號(hào)分析和故障定位的依據(jù)。?

3.3? 監(jiān)測部分功能實(shí)現(xiàn)?

3.3.1數(shù)據(jù)采集功能實(shí)現(xiàn)?

??? 針對(duì)火控系統(tǒng)的特點(diǎn),對(duì)于不同的監(jiān)測點(diǎn)采用不同的數(shù)據(jù)采集方法,主要包括定時(shí)采集、連續(xù)動(dòng)態(tài)采集兩種方式。具體方法是根據(jù)信號(hào)特點(diǎn)分別采用預(yù)先觸發(fā)采集、滯后觸發(fā)采集和實(shí)時(shí)觸發(fā)采集三種方式,以保證數(shù)據(jù)采集的正確時(shí)機(jī)。在采集過程中,必須進(jìn)行多點(diǎn)時(shí)鐘同步,以達(dá)成多點(diǎn)采集的同時(shí)性。在程序中主要依靠定時(shí)器中斷和多線程來實(shí)現(xiàn)。?

3.3.2 實(shí)時(shí)信號(hào)特征提取與分析?

??? 采用時(shí)域分析和頻域分析相結(jié)合的方法實(shí)現(xiàn)信號(hào)特征提取。對(duì)于不同的信號(hào)采用不同的方法,對(duì)狀態(tài)信號(hào)和電平信號(hào)等一般的模擬信號(hào)和數(shù)字信號(hào)采用簡單的時(shí)域分析,通過查詢和對(duì)比信號(hào)特征數(shù)據(jù)庫判斷其幅度與當(dāng)前值是否相符;對(duì)數(shù)據(jù)和地址等并行通信信號(hào)則必須采用時(shí)域多路信號(hào)并行處理的方法,與信號(hào)特征數(shù)據(jù)特征數(shù)據(jù)庫對(duì)比的同時(shí)還必須對(duì)整體值進(jìn)行分析,判斷其是否相符;對(duì)脈沖信號(hào)判定其占空比是否符合要求;對(duì)于軸角信號(hào)與激勵(lì)信號(hào)等頻帶信號(hào)則應(yīng)采取頻域分析的方法,判斷周期與相位是否符合要求。部分信號(hào)還需要進(jìn)行時(shí)頻分析。?

3.3.3 決策處理功能實(shí)現(xiàn)?

??? 通過以上實(shí)時(shí)信號(hào)特征的提取和分析,對(duì)分析結(jié)果進(jìn)行判斷。若正常則不進(jìn)行處理;若信號(hào)異常則啟動(dòng)蜂鳴器和LED閃爍進(jìn)行報(bào)警,通過查詢數(shù)據(jù)庫顯示信號(hào)相關(guān)信息以便于故障定位,并顯示信號(hào)的波形。?

??? 系統(tǒng)總體流程如圖5所示。?

?

?

??? 本文簡單介紹了某自行高炮狀態(tài)監(jiān)測系統(tǒng)的總體結(jié)構(gòu),討論了系統(tǒng)的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)設(shè)計(jì)的問題。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)運(yùn)行可靠,能夠?qū)崿F(xiàn)對(duì)自行高炮火控系統(tǒng)的數(shù)據(jù)采集和狀態(tài)監(jiān)控,為進(jìn)一步實(shí)現(xiàn)對(duì)火控系統(tǒng)故障診斷及性能評(píng)估提供了很好的條件。?

參考文獻(xiàn)?

[1] 朱新華.火控系統(tǒng)構(gòu)造[M].石家莊:軍械工程學(xué)院,2007.?

[2] Samsung Electronics. S3C2440A user’s manual(Z). 2004.?

[3] 沈文斌.嵌入式硬件系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解[M].北京:電子工業(yè)出版社,2005.?

[4] 汪兵.EVC高級(jí)編程及其應(yīng)用開發(fā)[M].北京:中國水利水電出版社,2005.?

[5] 田 澤.ARM9嵌入式開發(fā)實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天出版社,2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。