摘 要:分析了РВ-21高度表和WG-6高度表的檢測需求,構(gòu)建了以PC/104嵌入式計(jì)算機(jī)為控制核心的自動檢測系統(tǒng),給出了系統(tǒng)的軟、硬件的設(shè)計(jì)和實(shí)現(xiàn)方法。
關(guān)鍵詞:脈沖高度表 PC/104 可編程邏輯器件 多線程
Abstract: Paper firstly analyses the check-up requirement of the РВ-21 and WG-6 echo altimeter.Then a military pulsed echo altimeter integrated check-up system Based on PC/104 embeded computer has been designed.The realizing method in hardware and software was provided.
Keywords: military pulse echo altimeter; PC/104; CPLD; multi_thread
1 引言
高度表綜合檢測系統(tǒng)是國產(chǎn)和俄制軍用體制脈沖高度表的自動檢測系統(tǒng)。該檢測系統(tǒng)可對機(jī)載高度表系統(tǒng)(包括PB-21型高度表系統(tǒng)和雙座機(jī)WG-6高度表系統(tǒng))進(jìn)行綜合性能檢查和調(diào)試,是飛機(jī)大修廠必備的檢測設(shè)備。它既可以將飛機(jī)上高度表系統(tǒng)的通電檢查轉(zhuǎn)移到實(shí)驗(yàn)臺上進(jìn)行,便于采用多種手段實(shí)施全方位系統(tǒng)測試;又可以對單個設(shè)備進(jìn)行定性檢查和排故,為部隊(duì)和工廠提供了方便的測試手段。
2 高度表綜合檢測系統(tǒng)的簡介
高度表綜合檢測系統(tǒng)以PC/104工業(yè)控制計(jì)算機(jī)為核心,通過PC機(jī)的地址總線和數(shù)據(jù)總線聯(lián)接不同功能的接口板進(jìn)行自動與人工相結(jié)合的檢測完成整個測試過程。檢測系統(tǒng)功能如方框圖1。
[align=center]
圖1 檢測系統(tǒng)功能方框圖[/align]
兩個高度表有許多檢測項(xiàng)目是相同或相近的,設(shè)計(jì)的重點(diǎn)和難點(diǎn)應(yīng)該放在РВ-21高度表檢測部分的設(shè)計(jì)上。兩個檢測設(shè)計(jì)中的有些部分可以復(fù)用,如速度/范圍模擬單元模塊和電壓測量的A/D模塊。在軟件設(shè)計(jì)中則分別設(shè)計(jì)了兩個檢測界面,并根據(jù)測試項(xiàng)目和測試流程的不同而編寫了檢測程序。檢測設(shè)計(jì)方面,在完成所有單項(xiàng)檢測的基礎(chǔ)上增加了多個檢測項(xiàng)目的連續(xù)檢測,并對檢測結(jié)果提供了保存、查閱和打印等功能。
3 系統(tǒng)硬件電路的設(shè)計(jì)
3.1系統(tǒng)的組成及功能
檢測儀硬件部分主要由PC/104核心控制系統(tǒng)、串并行碼轉(zhuǎn)換單元、檢驗(yàn)組合單元、速率/范圍模擬單元、電壓測量單元等幾部分組成。
串并行碼轉(zhuǎn)換單元功能主要是將來自PB-21高度表的32位串行碼(或者是由檢驗(yàn)組合單元產(chǎn)生的32位模擬串行碼)轉(zhuǎn)換城并行的二進(jìn)制碼,一路經(jīng)PC/104處理后,送入顯示單元顯示,另一路送檢查碼位電平的檢查孔做人工檢查。
檢驗(yàn)組合單元由串行碼模擬電路和譯碼電路兩部分組成,串行碼模擬電路的功用是模擬PB-21高度表工作時(shí)產(chǎn)生的32位串行碼,譯碼電路的功用是把從串并行碼轉(zhuǎn)換單元過來的并行二進(jìn)制“地址”碼送到地址信號譯碼器形成地址信號。
速率/范圍模擬單元主要用于模擬PB-21高度表(或WG-6高度表)輸出測距脈沖延遲變化的速率和高度范圍。
電壓測量單元的功能主要是將被測電壓信號取樣后,送入模數(shù)轉(zhuǎn)換電路,經(jīng)轉(zhuǎn)換后,數(shù)據(jù)由PC-104總線送入PC/104控制系統(tǒng),經(jīng)相應(yīng)優(yōu)化處理,送到顯示單元按數(shù)字方式直接顯示。
3.2 串并行碼轉(zhuǎn)換的CPLD實(shí)現(xiàn)
串并行碼轉(zhuǎn)換單元電路主要是將來自РВ-21高度表或者是由綜合檢測儀產(chǎn)生的32位雙極性串行碼轉(zhuǎn)換成并行的二進(jìn)制碼,串并行碼轉(zhuǎn)換單元電路包括節(jié)拍脈沖產(chǎn)生模塊、碼型變換模塊、分頻模塊、進(jìn)位脈沖和清零脈沖進(jìn)提取模塊、移位寄存器和存儲寄存器等幾部分。如圖4所示,32位雙極性碼經(jīng)電路濾波成單極性碼a碼和b碼后,a碼和b碼相或形成50KHz的連續(xù)節(jié)拍脈沖。在節(jié)拍脈沖的觸發(fā)下依次將輸入數(shù)據(jù)送入移位寄存器,在進(jìn)位脈沖的觸發(fā)下數(shù)據(jù)經(jīng)移位寄存器存放至存儲寄存器中,然后數(shù)據(jù)經(jīng)數(shù)據(jù)總線送入PC/104處理后到顯示單元顯示。
[align=center]
圖2 串并轉(zhuǎn)換單元設(shè)計(jì)結(jié)構(gòu)圖[/align]
其中jpmc(節(jié)拍脈沖)和fzmc(輔助脈沖)在“進(jìn)位脈沖和清零脈沖提取模塊”中將4位間歇期用8位計(jì)數(shù)器計(jì)數(shù),在計(jì)數(shù)的第5位形成jwmc(進(jìn)位脈沖)、第8位形成qlmc(清零脈沖)。在jpmc觸發(fā)下將32位串行數(shù)據(jù)依次送入移位寄存器中,而后在jwmc觸發(fā)下將移位寄存器中的數(shù)據(jù)一次并行送入存儲寄存器中,形成32位并行碼。最后在jpmc和qlmc觸發(fā)下將“移位寄存器”清零,等候下一個32位數(shù)據(jù)的輸入。圖3顯示了串并碼轉(zhuǎn)換仿真波形。
3.3速率/范圍模擬單元的設(shè)計(jì)
調(diào)整范圍實(shí)現(xiàn)高度表測距范圍程控距離調(diào)整。對速率進(jìn)行模擬時(shí),采用可編程器件和數(shù)模轉(zhuǎn)換器產(chǎn)生頻率可調(diào)的三角波電壓發(fā)生器,通過調(diào)整三角波的頻率,就可調(diào)整測距脈沖延遲變化的速率。速率和范圍模擬電路設(shè)計(jì)中共用了一個D/A數(shù)模轉(zhuǎn)換器件(美國AD公司的AD569)。圖4為控制電路的設(shè)計(jì)框圖。整個控制電路的設(shè)計(jì)思想主要是把模擬信號設(shè)計(jì)數(shù)字化。
[align=center]
圖3 串并碼轉(zhuǎn)換仿真圖
圖4 控制電路的設(shè)計(jì)框圖[/align]
電路進(jìn)行范圍模擬時(shí),D/A轉(zhuǎn)換電路接收計(jì)算機(jī)16位程控?cái)?shù)據(jù)輸入;進(jìn)行速率模擬時(shí),D/A轉(zhuǎn)換電路接收計(jì)數(shù)器16位數(shù)據(jù)輸入。
3.4電壓測量單元的設(shè)計(jì)
電壓測量單元主要用于完成對PB-21高度表(或WG-6高度表)規(guī)定需檢測電壓的測量,并將測量數(shù)據(jù)及時(shí)準(zhǔn)確的返回給PC/104核心控制系統(tǒng),經(jīng)PC/104處理后,送入顯示單元實(shí)時(shí)顯示。電壓測量單元。圖5為電壓測量原理圖。
[align=center]
圖5 電壓測量原理圖[/align]
以測量交流115V電壓為例,對測量流程做簡要說明。當(dāng)對交流115V電壓進(jìn)行測量時(shí),首先由計(jì)算機(jī)發(fā)出指令,控制繼電器組把115V電壓接入測量電路,然后,由計(jì)算機(jī)進(jìn)行交直流判斷,并發(fā)出接通交流開關(guān)指令,交流115V電壓被接入交流取樣電路,取樣后的交流電壓被送入交直流轉(zhuǎn)換電路完成交直轉(zhuǎn)換和濾波,轉(zhuǎn)換后的直流電壓送入A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換后的數(shù)據(jù)經(jīng)PC-104總線接口送入計(jì)算機(jī)進(jìn)行修正和處理,最后送到顯示單元實(shí)時(shí)顯示。
4 軟件系統(tǒng)的設(shè)計(jì)
采用Borland公司C++Builder 6.0軟件開發(fā)環(huán)境,在面向?qū)ο蟮拈_發(fā)思想下,著重強(qiáng)化軟件的可靠性,有效性,智能性和自動化的特點(diǎn),并在覆蓋了大修檢測設(shè)備全部設(shè)備的基礎(chǔ)上,增加了一些重要的輔助檢測功能,比如報(bào)表打印,操作權(quán)限機(jī)制,工藝參數(shù)標(biāo)準(zhǔn)定義等。
4.1 人機(jī)交互部分
進(jìn)入調(diào)度主程序后,針對РВ-21高度表和WG-6高度表檢測而分別設(shè)計(jì)了兩個檢測界面。每個管理主程序大致可分為操作界面設(shè)計(jì)、狀態(tài)信號檢測模塊、控制信號產(chǎn)生模塊、數(shù)據(jù)庫管理模塊、顯示管理模塊、硬件操作模塊等若干部分,具體組成見圖6所示。
[align=center]
圖6 檢測軟件結(jié)構(gòu)圖[/align]
按檢測要求,在每個主模塊下面設(shè)計(jì)功能選項(xiàng)。對軟件中的各個模塊進(jìn)行功能編寫,為每個模塊中的功能檢測項(xiàng)分配PC/104地址、數(shù)據(jù)端口,形成子程序。然后在主程序中采取調(diào)用子程序的方法完成整個軟件。
4.2多線程檢測設(shè)計(jì)
軟件編寫采用了多線程的結(jié)構(gòu)體系,讓外部檢測始終運(yùn)行,數(shù)據(jù)通過子線程的執(zhí)行來進(jìn)行測量、顯示。從TThread類繼承而來的新類TThreadReadMeter,并新建一個實(shí)例對象,然后編寫函數(shù)完成檢測РВ-21高度表傳來的32位串行碼(或16位并行碼)信息和РВ-21(或WG-6)高度表狀態(tài)信息實(shí)時(shí)顯示;同樣從TThread類繼承而來的新類TThreadReadVol,并新建一個實(shí)例對象,編寫函數(shù)完成對檢測項(xiàng)目中對需測電壓信號實(shí)時(shí)測量和顯示,所以在檢測過程設(shè)計(jì)三個線程:
?。?)主線程:提供友好的人機(jī)對話界面,響應(yīng)用戶的操作指令,集中顯示測量的各種信息;
?。?)高度、狀態(tài)信息測量線程:通過數(shù)據(jù)接口板接收來自轉(zhuǎn)換后的高度表32位串行碼和16位并行碼以及狀態(tài)指令,將其按一定各式轉(zhuǎn)換成高度、狀態(tài)信息,并實(shí)時(shí)在操作面板上顯示;
?。?)電壓、電流測量顯示檢測線程:在檢測中對各各需要測量的電壓信號實(shí)時(shí)測量并在操作面板上顯示。
4.3 接口設(shè)計(jì)
考慮到本檢測系統(tǒng)對硬件訪問的復(fù)雜度,本文采用了基本的C語言進(jìn)行對硬件的端口訪問。這是因?yàn)檐浖袑τ布牟僮鲀H止于對端口的讀寫,而沒有DMA,中斷等復(fù)雜的操作。所以只要地址正確,就可保證訪問的安全性。讀寫I/O端口總線的程序如下:
寫I/O端口:端口地址為380,nData380為所要寫到端口的數(shù)據(jù)變量:
_Outp(0x380,nData380);
讀I/O端口:端口地址為386,從端口所讀的數(shù)據(jù)賦給變量nData386:
_Inp(0x386,nData386);
5 結(jié)束語
綜合檢測儀以PC/104嵌入式計(jì)算機(jī)為平臺,采用PC-104總線技術(shù)使系統(tǒng)具有軟、硬件設(shè)計(jì)易于擴(kuò)展和易于升級等優(yōu)點(diǎn)。硬件電路中數(shù)字電路部分的設(shè)計(jì)采用VHDL語言和FPGA器件來實(shí)現(xiàn),降低了電路設(shè)計(jì)的復(fù)雜性,提高了系統(tǒng)集成度和抗干擾能力。利用C++ Builder 6.0先進(jìn)的技術(shù)在完成單項(xiàng)單項(xiàng)檢測的基礎(chǔ)上,實(shí)現(xiàn)了對多個檢測項(xiàng)目的連續(xù)自動檢測,提高了檢測的效率。
參考文獻(xiàn)
[1] 揭華. WG-6高度表檢測儀數(shù)字電路和檢測軟件的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安:空軍工程學(xué)院,2003.
[3] 李建海,畢篤彥,陳高平.綜合無線電導(dǎo)航系統(tǒng)(上冊)[M]. 西安:空軍工程學(xué)院,2002.
[3] 鄧明武,鄧勇等.無線電設(shè)備原理(WG-6型雷達(dá)高度表)[M]. 西安:空軍工程學(xué)院,1996.
[4] 趙曙光等.可編程邏輯器件原理、開發(fā)與應(yīng)用[M]. 西安:西安電子科技大學(xué)出版社,2001.
[5] 趙世霞,楊豐,劉揭生.VHDL與微機(jī)接口設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2004.
[6] 程展鵬.Borland C++Builder 6.0應(yīng)用開發(fā)技術(shù)解析[M]. 北京:清華大學(xué)出版社,2003.
[7] 夏萬林,李 擎,劉志東.基于嵌入式計(jì)算機(jī)PC/104的某火箭彈自動測試儀[J]. 微計(jì)算機(jī)信息2006,2(2):P109-110