楊 光,朱宏飛
(北京航天測(cè)控技術(shù)有限公司,北京 100041)
?
基于PXI總線多通道時(shí)序監(jiān)測(cè)電路系統(tǒng)設(shè)計(jì)
楊 光,朱宏飛
(北京航天測(cè)控技術(shù)有限公司,北京 100041)
通過(guò)對(duì)箭載發(fā)動(dòng)機(jī)的時(shí)序監(jiān)測(cè)方法進(jìn)行研究、分析,設(shè)計(jì)出一款基于PXI總線多通道時(shí)序檢測(cè)電路系統(tǒng);介紹了系統(tǒng)的軟硬件結(jié)構(gòu)和功能,設(shè)計(jì)了輸入光電隔離電路、數(shù)字消顫電路、數(shù)字跳變檢測(cè)電路、計(jì)時(shí)器電路、FIFO存儲(chǔ)器電路和PXI總線接口電路,在Labwindows/CVI環(huán)境下開(kāi)發(fā)了測(cè)試系統(tǒng)軟件,并通過(guò)控制測(cè)試設(shè)備實(shí)現(xiàn)對(duì)箭載發(fā)動(dòng)機(jī)的時(shí)序監(jiān)測(cè);時(shí)序監(jiān)測(cè)電路系統(tǒng)已經(jīng)應(yīng)用在導(dǎo)彈和火箭發(fā)射地面測(cè)試發(fā)射控制系統(tǒng)中,經(jīng)過(guò)多次測(cè)試和發(fā)射場(chǎng)真實(shí)發(fā)射試驗(yàn)驗(yàn)證,達(dá)到了預(yù)期效果。
時(shí)序監(jiān)測(cè);PXI總線;監(jiān)測(cè)技術(shù)
隨著國(guó)防現(xiàn)代化程度的提高,大型發(fā)射系統(tǒng)中對(duì)于發(fā)動(dòng)機(jī)時(shí)序在線監(jiān)測(cè)提出了更高的要求。發(fā)動(dòng)機(jī)時(shí)序控制系統(tǒng)的工作狀態(tài)正確與否,關(guān)系到導(dǎo)彈和火箭發(fā)射成敗,所以在地面檢測(cè)時(shí)對(duì)其充分的檢測(cè)是非常必要的,發(fā)動(dòng)機(jī)時(shí)序控制電路檢測(cè)是地面測(cè)試發(fā)射控制系統(tǒng)重要工作之一?;赑XI總線的多通道時(shí)序監(jiān)測(cè)系統(tǒng)作為一種自動(dòng)實(shí)時(shí)時(shí)序監(jiān)測(cè)及計(jì)時(shí)電路裝置,實(shí)現(xiàn)了發(fā)動(dòng)機(jī)時(shí)序控制電路全過(guò)程自動(dòng)檢查、判讀、累計(jì)計(jì)數(shù)并保持記錄,對(duì)于導(dǎo)彈和火箭發(fā)動(dòng)機(jī)時(shí)序測(cè)量起到了至關(guān)重要性,在軍用裝備中得到大量應(yīng)用。
以往對(duì)彈上和箭上發(fā)動(dòng)機(jī)時(shí)序測(cè)量只局限于盲測(cè)和單路人工測(cè)試比對(duì),需要耗費(fèi)大量人力、物力和時(shí)間成本。而且測(cè)試可靠性較低,一旦系統(tǒng)出現(xiàn)故障后,不能精確定位,給后期維修及查找原因都帶來(lái)了大量工作。
本文設(shè)計(jì)時(shí)序監(jiān)測(cè)電路系統(tǒng)采用PXI總線結(jié)構(gòu),擁有在線監(jiān)測(cè)和相對(duì)計(jì)時(shí)兩種功能,并且設(shè)計(jì)1 MHz或1 KHz兩種采樣頻率,計(jì)時(shí)器寬度為32位的72通道全雙線輸入方式,支持查詢和中斷兩種工作方式,輸入電壓為0V~42V,可以滿足目前彈上和箭上信號(hào)通用的時(shí)序測(cè)量范圍。
系統(tǒng)按照模塊化設(shè)計(jì)思路,重點(diǎn)攻關(guān)消顫、計(jì)時(shí)和保持記錄等功能。本設(shè)計(jì)采用成熟器件組成標(biāo)準(zhǔn)模塊的設(shè)計(jì)架構(gòu)模式,將全部設(shè)計(jì)分為輸入光電隔離模塊、數(shù)字消顫電路模塊、數(shù)字跳變檢測(cè)電路模塊、計(jì)時(shí)器模塊、FIFO存儲(chǔ)器模塊和PXI總線接口電路模塊等組成。其系統(tǒng)原理框圖如圖1所示。
圖1 時(shí)序檢測(cè)電路系統(tǒng)框圖
其中PXI總線接口模塊、32位計(jì)時(shí)器模塊、狀態(tài)和時(shí)間寄存器模塊以及輸入跳變檢測(cè)電路在一片Altera公司的FPGA芯片EP1C6Q240上實(shí)現(xiàn)。
每一次輸入端口數(shù)據(jù)跳變時(shí)系統(tǒng)都會(huì)將輸入端口狀態(tài)和當(dāng)前計(jì)時(shí)器時(shí)間保存到一組時(shí)間和狀態(tài)寄存器以及FIFO存儲(chǔ)器、置位一個(gè)狀態(tài)位并向PXI總線控制器發(fā)出中斷請(qǐng)求。通??梢酝ㄟ^(guò)寄存器組實(shí)時(shí)監(jiān)測(cè)輸入端口變化,F(xiàn)IFO存儲(chǔ)器中記錄輸入端口數(shù)據(jù)變化的過(guò)程細(xì)節(jié)。
1.1 隔離電路模塊的設(shè)計(jì)
隔離電路主要用于信號(hào)接受后的隔離,避免箭載或彈上系統(tǒng)和地面檢查系統(tǒng)互相干擾,在隔離電路前增加了RC濾波電路、穩(wěn)壓電路和消除反流信號(hào)電路。隔離后對(duì)信號(hào)進(jìn)行整形和電平信號(hào)的轉(zhuǎn)換,為后續(xù)電路提供標(biāo)準(zhǔn)方波輸入信號(hào)。如圖2所示。
圖2 隔離電路圖
1.2 數(shù)字消顫電路模塊的設(shè)計(jì)
這里舉例說(shuō)明,對(duì)1 ms以下抖動(dòng)窄脈沖的濾除采用如下方法:用1 kHz的時(shí)鐘對(duì)輸入信號(hào)進(jìn)行連續(xù)采樣,當(dāng)連續(xù)采樣2次有效后才在事件寄存器中保存該次事件。這樣就能保證模塊對(duì)1 ms以下窄脈沖不做響應(yīng)。
1.3 邊沿監(jiān)測(cè)電路設(shè)計(jì)
系統(tǒng)在檢測(cè)到輸入信號(hào)跳變時(shí)鎖存輸入信號(hào)狀態(tài)及輸入信號(hào)跳變的時(shí)間。如果直接用輸入信號(hào)跳變來(lái)鎖存輸入信號(hào)狀態(tài)及輸入信號(hào)跳變的時(shí)間可能會(huì)在計(jì)時(shí)器改變時(shí)鎖存到錯(cuò)誤的時(shí)間值。解決的辦法就是用計(jì)時(shí)器的時(shí)鐘信號(hào)同步輸入信號(hào),在時(shí)鐘信號(hào)的上升沿采樣輸入信號(hào)并且計(jì)時(shí)器加一,而在時(shí)鐘信號(hào)的下降沿判斷是否鎖存輸入信號(hào)及計(jì)時(shí)器的時(shí)間值。
PXI中斷器的工作機(jī)制是通過(guò)PXI總線中斷請(qǐng)求信號(hào)線向位于控制器模塊上的中斷處理器發(fā)送中斷請(qǐng)求,位于控制器模塊上的中斷處理器在收到中斷請(qǐng)求后會(huì)啟動(dòng)相應(yīng)得中斷應(yīng)答周期,而發(fā)送中斷請(qǐng)求的PXI中斷器會(huì)響應(yīng)中斷應(yīng)答,返回系統(tǒng)的中斷向量并且清除中斷請(qǐng)求。控制器模塊及相應(yīng)的設(shè)備驅(qū)動(dòng)及VISA庫(kù)會(huì)將收到的中斷向量發(fā)送給相應(yīng)的應(yīng)用程序,調(diào)用相應(yīng)的中斷服務(wù)程序[1]。
系統(tǒng)時(shí)間計(jì)時(shí)器模塊功能結(jié)構(gòu)框圖如圖3所示。
圖3 計(jì)時(shí)器模塊功能結(jié)構(gòu)圖
1.4 FIFO計(jì)數(shù)器設(shè)計(jì)
在系統(tǒng)設(shè)計(jì)中,為了增加數(shù)據(jù)傳輸率、處理大量數(shù)據(jù)流、匹配不同傳輸率而采用FIFO存儲(chǔ)器,從而提高了系統(tǒng)性能。
1) FIFO存儲(chǔ)器是系統(tǒng)的緩沖環(huán)節(jié),如果沒(méi)有FIFO存儲(chǔ)器對(duì)系統(tǒng)采集到的連續(xù)的數(shù)據(jù)流進(jìn)行緩存,就有可能造成數(shù)據(jù)丟失。
2) 采用FIFO設(shè)計(jì)可避免頻繁的總線操作,減輕CPU的負(fù)擔(dān),允許系統(tǒng)進(jìn)行DMA操作,提高數(shù)據(jù)的傳輸速度。
本系統(tǒng)在FIFO設(shè)計(jì)使用中,我們使用了半滿標(biāo)志,即寫入到FIFO 數(shù)據(jù)到了半滿時(shí)產(chǎn)生中斷,上位機(jī)響應(yīng)中斷讀數(shù)據(jù)的時(shí)候,還可以向FIFO 中寫數(shù)據(jù),數(shù)據(jù)的讀寫操作互相不沖突,很好的實(shí)現(xiàn)了數(shù)據(jù)讀寫時(shí)鐘的異步匹配。例如:FIFO的一端是AD數(shù)據(jù)采集,另一端是計(jì)算機(jī)的PCI總線,假設(shè)其AD采集的速率為16位 100 KSPS,那么每秒的數(shù)據(jù)量為100 k×16 bit=1.6 Mbps,而PCI總線的速度為33 MHz,總線寬度32 bit,其最大傳輸速率為1 056 Mbps,在兩個(gè)不同的時(shí)鐘域間就可以采用FIFO作為數(shù)據(jù)緩沖。
本系統(tǒng)提供符合VXIplug&play規(guī)范的軟面板驅(qū)動(dòng)程序及函數(shù)庫(kù),兼容Windows2000/XP操作系統(tǒng),可用于Visual C++6.0軟件編程及Labwindows/CVI軟件編程[2]。
2.1 軟件函數(shù)功能介紹及設(shè)計(jì)流程
本系統(tǒng)所使用的驅(qū)動(dòng)函數(shù)名稱及函數(shù)說(shuō)明詳見(jiàn)表1。測(cè)試軟件流程圖如圖4所示。
表1 驅(qū)動(dòng)程序函數(shù)列表
圖4 軟件流程圖
編程事例:
本示例主要完成模塊工作于查詢方式下,讀取FIFO數(shù)據(jù)的過(guò)程。
include "AMCxxx.h"
include
main( )
{
ViSession instrG;
ViStatus status;
ViBoolean empty,half_full,full;
//初始化,假設(shè)該模塊邏輯地址為PXI0::12::INSTR,復(fù)位并獲得模塊句柄
status = AMCxxx_init (“PXI0::12::INSTR”, 0, 1, &instrG);
if (status<0)
{
printf ("初始化失??!/n");
return 0;
}
//設(shè)置計(jì)時(shí)分辨率為mS,測(cè)試方式立即啟動(dòng)
status = AMCxxx_mode (instrG, 1, 0, 0);
//啟動(dòng)采集
status = AMCxxx_start (instrG, 1);
……
//停止采集
status = AMCxxx_start (instrG, 0);
//讀取半滿標(biāo)志位有效后退出
while(1)
{
status = AMCxxx_readFIFOFlag(instrG, &empty, &hfull, &full);
if(empty==0) break;
Status = AMCxxx_readFIFODataTime (instrG, data,&time);
if (status < VI_SUCCESS )
{
printf ("讀取數(shù)據(jù)失??!/n");
}
}
printf ("讀取數(shù)據(jù)完畢!/n");
status = AMCxxx_reset(instrG) ; //模塊復(fù)位
status = AMCxxx_close(instrG); //關(guān)閉儀器
return 0;
}
2.2 系統(tǒng)軟件界面功能說(shuō)明
系統(tǒng)軟件界面包含以下功能:
1)邏輯地址:顯示受控模塊的VISA資源名;
2)連接:指示燈。當(dāng)儀器運(yùn)行時(shí)呈現(xiàn)“綠色”,未找到儀器時(shí)指示燈滅;
3)當(dāng)前時(shí)間 —〉狀態(tài):顯示中斷或查詢收到的72通道的時(shí)間和狀態(tài)數(shù)據(jù);
4)FIFO時(shí)間 —〉狀態(tài):顯示從FIFO中取回的72通道的時(shí)間和狀態(tài)數(shù)據(jù);
5)時(shí)鐘選擇:選擇模塊測(cè)量時(shí)序的時(shí)鐘;
6)模式選擇:選擇中斷或查詢模式接收數(shù)據(jù);
7)查詢:查詢模式時(shí)使能/禁止查詢定時(shí)器;
8)測(cè)試模式:選擇是否輸出自檢信號(hào),在“自檢”模式時(shí)模塊輸出一個(gè)10Hz的0/1信號(hào)到1、33通道;
9)啟動(dòng)方式:選擇“立即啟動(dòng)”還是“觸發(fā)啟動(dòng)”;“立即啟動(dòng)”方式下單擊“采集”/ “停止 ”控制模塊;“觸發(fā)啟動(dòng)”方式下,單擊“采集”以后需要再單擊“觸發(fā)0”才能啟動(dòng)模塊;單擊“觸發(fā)0”操作將在PXI 背板TRIG0上產(chǎn)生一個(gè)觸發(fā)信號(hào),可用于啟動(dòng)其它模塊;
10)讀FIFO:?jiǎn)螕簟白xFIFO”時(shí)將模塊FIFO中的取回顯示在FIFO時(shí)間 —〉狀態(tài);
11)顯示數(shù)據(jù)格式:時(shí)間—〉低32路狀態(tài),33-64路狀態(tài),65-72路狀態(tài)。
3.1 仿真測(cè)試
為了驗(yàn)證系統(tǒng)的所有功能都能夠?qū)崿F(xiàn),并保證各項(xiàng)功能都正常,通過(guò)Quartus II 軟件進(jìn)行仿真驗(yàn)證,得到的仿真圖和邏輯分析儀圖如圖5~6所示。
圖5 仿真圖
圖6 邏輯分析儀圖
3.2 軟件測(cè)試結(jié)果及分析
對(duì)實(shí)驗(yàn)測(cè)試結(jié)果進(jìn)行分析,下面所示的圖列為對(duì)系統(tǒng)的功能進(jìn)行實(shí)際測(cè)量所得的測(cè)試結(jié)果。其中,圖7為系統(tǒng)自檢測(cè)試結(jié)果,實(shí)時(shí)監(jiān)測(cè)的結(jié)果與最后從FIFO中取回的數(shù)據(jù)完全相同;圖8為毫秒計(jì)時(shí)功能測(cè)試結(jié)果,t=1/f/2變化一次狀態(tài),并且顯示的狀態(tài)值與輸入信號(hào)的通道數(shù)一致;圖9為微秒計(jì)時(shí)功能測(cè)試結(jié)果,t=1/f/2變化一次狀態(tài),并且顯示的狀態(tài)值與輸入信號(hào)的通道數(shù)一致;圖10為計(jì)時(shí)范圍測(cè)試結(jié)果,模塊計(jì)時(shí)3 600秒后仍然可以進(jìn)行測(cè)量,證明模塊計(jì)時(shí)范圍為3 600秒;圖11為存儲(chǔ)深度測(cè)試,F(xiàn)IFO欄所顯示的數(shù)據(jù)個(gè)數(shù)大于1 k,證明模塊存儲(chǔ)深度大于1 kSam。
圖7 自檢時(shí)序檢測(cè)功能測(cè)試結(jié)果
圖8 毫秒計(jì)時(shí)功能測(cè)試示意圖
圖9 微秒計(jì)時(shí)功能測(cè)試示意圖
圖10 計(jì)時(shí)范圍測(cè)試示意圖
圖11 存儲(chǔ)深度測(cè)試
本文所提供的檢測(cè)方案,已應(yīng)用在多型號(hào)彈載和箭載地面測(cè)發(fā)射系統(tǒng)中,實(shí)現(xiàn)對(duì)彈箭載發(fā)動(dòng)機(jī)時(shí)序控制系統(tǒng)的精確測(cè)量。并能通過(guò)測(cè)試程序?qū)Τ霈F(xiàn)的異常數(shù)據(jù),進(jìn)行精確的定位及處理,在與導(dǎo)彈及火箭其他測(cè)試程序同時(shí)工作時(shí)沒(méi)有出現(xiàn)不兼容的問(wèn)題。
本系統(tǒng)的成功實(shí)現(xiàn),對(duì)于彈箭載發(fā)動(dòng)機(jī)控制時(shí)序可信測(cè)量,提供較好的技術(shù)保障[4]。在方案的設(shè)計(jì)實(shí)現(xiàn)上,利用FPGA實(shí)現(xiàn)了部分計(jì)時(shí)、計(jì)數(shù)和監(jiān)測(cè)電路設(shè)計(jì),提高了系統(tǒng)集成度。在工程應(yīng)用中還可以基于此設(shè)計(jì)方案進(jìn)行其它總線的研究,使小型化導(dǎo)彈和火箭地面測(cè)試系統(tǒng)改造在規(guī)范化、標(biāo)準(zhǔn)化上更加完善。
[1] 韓大偉,周 軍,于曉周. 基于PXI總線的導(dǎo)彈自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2008(11):1650-1652.
[2]沈 輝,關(guān)振宏. 基于PXI的虛擬儀器測(cè)試技術(shù)[J].現(xiàn)代科學(xué)儀器,2004(6):16-18.
[3]冉隆燧. 運(yùn)載火箭測(cè)試發(fā)控工程學(xué)[M].北京:中國(guó)宇航出版社,1989.
[4]樊尚春,周浩敏.信號(hào)與測(cè)試技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,2002.
Multi-channel PXI Bus System Based on Timing Monitor Circuit
Yang Guang, Zhu Hongfei
(Beijing Aerospace Control Technology Co., Ltd. Beijing 100041,China)
Through the research and analysis of the time series monitoring method of the engine, a PXI bus based multi-channel sequential detection circuit system is designed. The hardware and software structure and functions of the system are introduced. The input circuit, digital circuits, FIFO memory circuit and PXI bus interface circuit are designed. The time series monitoring circuit system has been applied in the ground test and launch control system of missile and rocket launching, and it has been verified by the test of many times on the launching field, and achieved the expected results.
Timing monitoring; PXI bus; monitoring technology
2015-09-16;
2015-10-26。
楊 光(1986-),男,河北唐山人,主要從事VXI、PXI測(cè)試技術(shù),綜合保障工程方向的研究。
1671-4598(2016)03-0214-04
10.16526/j.cnki.11-4762/tp.2016.03.058
TP311
A