基于PC/104脈沖高度表綜合檢測系統(tǒng)的研制
關(guān)鍵詞:脈沖高度表PC/104可編程邏輯器件多線程
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)移到實驗臺上進(jìn)行,便于采用多種手段實施全方位系統(tǒng)測試;又可以對單個設(shè)備進(jìn)行定性檢查和排故,為部隊和工廠提供了方便的測試手段。
2 高度表綜合檢測系統(tǒng)的簡介
高度表綜合檢測系統(tǒng)以PC/104工業(yè)控制計算機(jī)為核心,通過PC機(jī)的地址總線和數(shù)據(jù)總線聯(lián)接不同功能的接口板進(jìn)行自動與人工相結(jié)合的檢測完成整個測試過程。檢測系統(tǒng)功能如方框圖1。
圖1 檢測系統(tǒng)功能方框圖
兩個高度表有許多檢測項目是相同或相近的,設(shè)計的重點和難點應(yīng)該放在РВ-21高度表檢測部分的設(shè)計上。兩個檢測設(shè)計中的有些部分可以復(fù)用,如速度/范圍模擬單元模塊和電壓測量的A/D模塊。在軟件設(shè)計中則分別設(shè)計了兩個檢測界面,并根據(jù)測試項目和測試流程的不同而編寫了檢測程序。檢測設(shè)計方面,在完成所有單項檢測的基礎(chǔ)上增加了多個檢測項目的連續(xù)檢測,并對檢測結(jié)果提供了保存、查閱和打印等功能。
3 系統(tǒng)硬件電路的設(shè)計
3.1系統(tǒng)的組成及功能
檢測儀硬件部分主要由PC/104核心控制系統(tǒng)、串并行碼轉(zhuǎn)換單元、檢驗組合單元、速率/范圍模擬單元、電壓測量單元等幾部分組成。
串并行碼轉(zhuǎn)換單元功能主要是將來自PB-21高度表的32位串行碼(或者是由檢驗組合單元產(chǎn)生的32位模擬串行碼)轉(zhuǎn)換城并行的二進(jìn)制碼,一路經(jīng)PC/104處理后,送入顯示單元顯示,另一路送檢查碼位電平的檢查孔做人工檢查。
檢驗組合單元由串行碼模擬電路和譯碼電路兩部分組成,串行碼模擬電路的功用是模擬PB-21高度表工作時產(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實現(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處理后到顯示單元顯示。
圖2 串并轉(zhuǎn)換單元設(shè)計結(jié)構(gòu)圖
其中jpmc(節(jié)拍脈沖)和fzmc(輔助脈沖)在“進(jìn)位脈沖和清零脈沖提取模塊”中將4位間歇期用8位計數(shù)器計數(shù),在計數(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è)計
調(diào)整范圍實現(xiàn)高度表測距范圍程控距離調(diào)整。對速率進(jìn)行模擬時,采用可編程器件和數(shù)模轉(zhuǎn)換器產(chǎn)生頻率可調(diào)的三角波電壓發(fā)生器,通過調(diào)整三角波的頻率,就可調(diào)整測距脈沖延遲變化的速率。速率和范圍模擬電路設(shè)計中共用了一個D/A數(shù)模轉(zhuǎn)換器件(美國AD公司的AD569)。圖4為控制電路的設(shè)計框圖。整個控制電路的設(shè)計思想主要是把模擬信號設(shè)計數(shù)字化。
圖3 串并碼轉(zhuǎn)換仿真圖
圖4 控制電路的設(shè)計框圖
電路進(jìn)行范圍模擬時,D/A轉(zhuǎn)換電路接收計算機(jī)16位程控數(shù)據(jù)輸入;進(jìn)行速率模擬時,D/A轉(zhuǎn)換電路接收計數(shù)器16位數(shù)據(jù)輸入。
3.4電壓測量單元的設(shè)計
電壓測量單元主要用于完成對PB-21高度表(或WG-6高度表)規(guī)定需檢測電壓的測量,并將測量數(shù)據(jù)及時準(zhǔn)確的返回給PC/104核心控制系統(tǒng),經(jīng)PC/104處理后,送入顯示單元實時顯示。電壓測量單元。圖5為電壓測量原理圖。
圖5 電壓測量原理圖
以測量交流115V電壓為例,對測量流程做簡要說明。當(dāng)對交流115V電壓進(jìn)行測量時,首先由計算機(jī)發(fā)出指令,控制繼電器組把115V電壓接入測量電路,然后,由計算機(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ìn)行修正和處理,最后送到顯示單元實時顯示。
4 軟件系統(tǒng)的設(shè)計
采用Borland公司C++Builder 6.0軟件開發(fā)環(huán)境,在面向?qū)ο蟮拈_發(fā)思想下,著重強(qiáng)化軟件的可靠性,有效性,智能性和自動化的特點,并在覆蓋了大修檢測設(shè)備全部設(shè)備的基礎(chǔ)上,增加了一些重要的輔助檢測功能,比如報表打印,操作權(quán)限機(jī)制,工藝參數(shù)標(biāo)準(zhǔn)定義等。
4.1 人機(jī)交互部分
進(jìn)入調(diào)度主程序后,針對РВ-21高度表和WG-6高度表檢測而分別設(shè)計了兩個檢測界面。每個管理主程序大致可分為操作界面設(shè)計、狀態(tài)信號檢測模塊、控制信號產(chǎn)生模塊、數(shù)據(jù)庫管理模塊、顯示管理模塊、硬件操作模塊等若干部分,具體組成見圖6所示。
圖6 檢測軟件結(jié)構(gòu)圖
按檢測要求,在每個主模塊下面設(shè)計功能選項。對軟件中的各個模塊進(jìn)行功能編寫,為每個模塊中的功能檢測項分配PC/104地址、數(shù)據(jù)端口,形成子程序。然后在主程序中采取調(diào)用子程序的方法完成整個軟件。
4.2多線程檢測設(shè)計
軟件編寫采用了多線程的結(jié)構(gòu)體系,讓外部檢測始終運行,數(shù)據(jù)通過子線程的執(zhí)行來進(jìn)行測量、顯示。從TThread類繼承而來的新類TThreadReadMeter,并新建一個實例對象,然后編寫函數(shù)完成檢測РВ-21高度表傳來的32位串行碼(或16位并行碼)信息和РВ-21(或WG-6)高度表狀態(tài)信息實時顯示;同樣從TThread類繼承而來的新類TThreadReadVol,并新建一個實例對象,編寫函數(shù)完成對檢測項目中對需測電壓信號實時測量和顯示,所以在檢測過程設(shè)計三個線程:
(1)主線程:提供友好的人機(jī)對話界面,響應(yīng)用戶的操作指令,集中顯示測量的各種信息;
(2)高度、狀態(tài)信息測量線程:通過數(shù)據(jù)接口板接收來自轉(zhuǎn)換后的高度表32位串行碼和16位并行碼以及狀態(tài)指令,將其按一定各式轉(zhuǎn)換成高度、狀態(tài)信息,并實時在操作面板上顯示;
(3)電壓、電流測量顯示檢測線程:在檢測中對各各需要測量的電壓信號實時測量并在操作面板上顯示。
4.3 接口設(shè)計
考慮到本檢測系統(tǒng)對硬件訪問的復(fù)雜度,本文采用了基本的C語言進(jìn)行對硬件的端口訪問。這是因為軟件中對硬件的操作僅止于對端口的讀寫,而沒有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ī)為平臺,采用PC-104總線技術(shù)使系統(tǒng)具有軟、硬件設(shè)計易于擴(kuò)展和易于升級等優(yōu)點。硬件電路中數(shù)字電路部分的設(shè)計采用VHDL語言和FPGA器件來實現(xiàn),降低了電路設(shè)計的復(fù)雜性,提高了系統(tǒng)集成度和抗干擾能力。利用C++ Builder 6.0先進(jìn)的技術(shù)在完成單項單項檢測的基礎(chǔ)上,實現(xiàn)了對多個檢測項目的連續(xù)自動檢測,提高了檢測的效率。
參考文獻(xiàn)
[1] 揭華. WG-6高度表檢測儀數(shù)字電路和檢測軟件的設(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è)計[M]. 北京:清華大學(xué)出版社,2004.
[6] 程展鵬.Borland C++Builder 6.0應(yīng)用開發(fā)技術(shù)解析[M]. 北京:清華大學(xué)出版社,2003.
[7] 夏萬林,李 擎,劉志東.基于嵌入式計算機(jī)PC/104的某火箭彈自動測試儀[J]. 微計算機(jī)信息2006,2(2):P109-110
評論