朱望純,唐衛(wèi)國,謝小建,李 智
(1.桂林電子科技大學,桂林 541004;2.中國航天科工集團801廠,柳州 545012;3.91872部隊,北京 102442)
基于VXI總線的車載導彈發(fā)射控制記錄系統(tǒng)研制①
朱望純1,唐衛(wèi)國2,謝小建3,李 智1
(1.桂林電子科技大學,桂林 541004;2.中國航天科工集團801廠,柳州 545012;3.91872部隊,北京 102442)
為了快速、可靠、安全地獲得導彈飛行試驗中發(fā)射時的各信號連續(xù)無遺漏數(shù)據(jù),研制了基于VXI總線且具有事后數(shù)據(jù)回放及數(shù)據(jù)分析等功能的車載導彈發(fā)射控制記錄系統(tǒng)。經(jīng)靶場飛行試驗證明,系統(tǒng)各測試信號的絕對誤差為±4.99 mV,信號之間的時間差測量誤差為±0.1 ms,發(fā)射窗口誤差為0.01 s,連續(xù)記錄時間不小于5 min;系統(tǒng)操作方便,運行穩(wěn)定,高效可靠。
車載導彈;地面發(fā)射;控制記錄系統(tǒng);VXI總線
在導彈的研制過程中,要通過飛行試驗來獲得導彈地面發(fā)射時的飛行數(shù)據(jù),從而更好地分析導彈的設計缺陷,以便改進。傳統(tǒng)的堆積式測試,所需儀器數(shù)量多,體積大,展開不方便;需多人協(xié)作記錄,容易操作出錯,輕則影響試驗的順利完成,重則造成飛行試驗安全事故;或關鍵信號沒有記錄,達不到飛行試驗目的。因此,研制機動性強、體積小、展開方便、安全性好及高效的車載導彈發(fā)射控制記錄系統(tǒng)十分重要。
系統(tǒng)采用模塊化設計和VXI總線技術,具有靈活的模塊化配置和擴展功能,較小的體積,較高的吞吐量,極強的防振抗沖性能和良好的電磁兼容性[1-3];采用虛擬儀器設計思想,通過軟件定義通用硬件功能,具有良好的擴展性,并可通過修改軟件快速適應其他測試應用場合的需求[4]。
根據(jù)車載導彈飛行試驗發(fā)射控制任務需求,研制基于VXI總線的車載導彈發(fā)射控制記錄系統(tǒng),實現(xiàn)導彈飛行試驗的全程發(fā)射控制及數(shù)據(jù)采集和記錄。
該車載導彈發(fā)射控制記錄系統(tǒng)可對導彈飛行試驗的發(fā)射進行全程控制,并對各種信號進行實時、連續(xù)、無遺漏的數(shù)據(jù)采集和記錄。在導彈飛行試驗后,該系統(tǒng)能回放導彈發(fā)射時的各種信號,查看和計算導彈發(fā)射時的各種參數(shù),并可進行飛行數(shù)據(jù)分析。對于故障導彈,能通過對各種信號、指令的時序和幅值分析,準確定位導彈故障,進而分析其故障原因。
根據(jù)系統(tǒng)總體功能要求和具體的導彈信號種類,提出了由控制計算機、C尺寸6槽E1421B VXI總線機箱、被測信號預處理器及導彈發(fā)射架組成,其結構框圖如圖1所示。
圖1 系統(tǒng)硬件結構框圖Fig.1 Block diagram of the system hardware structure
0槽模塊為VXI系統(tǒng)的控制器,負責VXI資源管理;1槽和2槽模塊為自行研制的VXI總線A24/D16 8通道連續(xù)并行AD采集模塊。其中1槽模塊負責啟動、過航路捷點、靶彈起飛、發(fā)動機點火、待發(fā)充電、燃發(fā)點火、解鎖指令、光信號等信號和指令的連續(xù)數(shù)字電平記錄;2槽模塊負責載波、電鎖輸出、跟蹤、時統(tǒng)、+20 V電壓、-20 V電壓、+20 V電流、-20 V電流等信號的連續(xù)模擬電平記錄;3槽模塊提供16通道數(shù)字輸出和16通道數(shù)字輸入,實現(xiàn)脫落、頻率重調(diào)、時限OC門、供氣/停氣、迎攻/尾追、高速/低速、自動/手動等指令和控制輸出,退擋彈銷、安全/待發(fā)反饋、頻率重調(diào)反饋、時限OC門反饋、供氣反饋、脫落指令反饋、迎攻/尾追反饋、高速/低速反饋、自動/手動反饋、供氣反饋、燃發(fā)點火反饋、過航路捷點、靶彈起飛等信號和指令反饋輸入。導彈發(fā)射時刻的發(fā)射架水平、高低方位角,通過485輸入到485串口卡中。
本系統(tǒng)研制的重點和難點是實現(xiàn)高速、大容量的數(shù)據(jù)傳輸,為此研制VXI總線A24/D16 8通道連續(xù)并行AD采集模塊。因為在A16寄存器基模塊中,其訪問空間限制在64字節(jié)內(nèi),而且每次訪問都必須對寄存器的狀態(tài)進行讀取判斷,很難滿足高速、大容量的數(shù)據(jù)傳輸要求。采用A24空間加硬件中斷方式,設計8通道連續(xù)并行AD采集模塊。中斷功能硬件電路采用CPLD(復雜可編程邏輯器件)技術實現(xiàn),在該模塊的設計中,考慮到連續(xù)采集的需要和降低成本,數(shù)據(jù)緩存采用SRAM。同一片SRAM在同一時間只能進行讀操作或寫操作,要實現(xiàn)連續(xù)的數(shù)據(jù)采集,采用 2片IS61LV25616 SRAM切換的方式來實現(xiàn)數(shù)據(jù)的同時讀/寫。存儲的數(shù)據(jù)前四位為采集的通道號代碼,后12位為轉換數(shù)據(jù)。轉換數(shù)據(jù)經(jīng)CPLD控制首先寫入SRAM1,當SRAM1數(shù)據(jù)存滿后,產(chǎn)生硬件中斷信號SRQ,由VXI接口通知主機系統(tǒng)數(shù)據(jù)準備好,并打開采集模塊與 VXI接口之間的數(shù)據(jù)通道,可由主機從SRAM1取回數(shù)據(jù)放入主機緩沖區(qū);與此同時,SRQ通知CPLD控制邏輯關閉鎖存數(shù)據(jù)與SRAM1之間的數(shù)據(jù)通道,同時開啟鎖存數(shù)據(jù)與SRAM2之間的數(shù)據(jù)通道,后續(xù)數(shù)據(jù)得以連續(xù)無間斷的存入SRAM2,此時,SRAM1的數(shù)據(jù)正被主機讀出;當SRAM2數(shù)據(jù)存滿后,同樣產(chǎn)生硬件中斷信號SRQ,如此交替循環(huán)便可實現(xiàn)采集數(shù)據(jù)長時間連續(xù)無間斷存儲。其電路框圖如圖2所示。
圖2 8通道連續(xù)并行AD采集模塊電路框圖Fig.2 Channel continuous parallel AD acquisition module circuit diagram
在測控軟件開發(fā)中有兩類流行的開發(fā)環(huán)境:一類以是LabView為代表的圖形化編程環(huán)境,另一類是以VC++為代表的面向對象的可視編程環(huán)境。LabView等為專業(yè)圖形化編程工具,使用其開發(fā)測控軟件較為直觀,但是在集成其他技術如多線程,第三方控件、動態(tài)鏈接庫、數(shù)據(jù)庫等方面不如以VC++為代表的面向對象可視編程環(huán)境。面向對象可視編程環(huán)境可以將各種技術靈活,方便,快速地融為一體,有較高的編程效率,更適合較大系統(tǒng)或大型系統(tǒng)軟件開發(fā)。本系統(tǒng)軟件使用VC++為開發(fā)集成開發(fā)環(huán)境,使用NI公司的ComponentWorks控件為界面、波形等顯示控件,使用SQL server作為數(shù)據(jù)庫存儲采集數(shù)據(jù),使用Agilent VI-SA庫作為底層儀器通信軟件,并采用多線程技術將用戶界面操作和發(fā)射控制及數(shù)據(jù)的采集分開,保障發(fā)射控制和數(shù)據(jù)采集的實時性。
系統(tǒng)軟件流程框圖如圖3所示。
圖3 系統(tǒng)軟件流程框圖Fig.3 System software process diagram
系統(tǒng)軟件主要實現(xiàn)導彈的試驗時的發(fā)射全程控制和各種信號的實時連續(xù)無遺漏數(shù)據(jù)采集記錄。試驗分為2個階段:訓練程序為第一階段,實現(xiàn)對操作人員發(fā)射控制操作的培訓。第二階段為正式試驗階段,分為四步:模擬器試驗在不供氣的情況檢查車載系統(tǒng)各單元是否正常,工藝彈試驗檢查系統(tǒng)是否正確給出彈上發(fā)控指令,實彈地面聯(lián)試進行飛行試驗前的飛行導彈正常和系統(tǒng)各單元正常的綜合檢驗,最后進行飛行試驗。試驗結束后,系統(tǒng)軟件能進行導彈發(fā)射時的各種信號的回放,發(fā)射時的各種參數(shù)的查看和計算,進行飛行數(shù)據(jù)分析。對于故障導彈,能通過對各種信號、指令的時序和幅值分析,準確定位導彈故障,進而分析其故障原因。
3.2.1 連續(xù)數(shù)據(jù)采集與記錄存儲
系統(tǒng)軟件專門設計了發(fā)射控制及數(shù)據(jù)采集線程,它與用戶界面操作線程下相互獨立,使得戶界面操作不影響數(shù)據(jù)的采集,保障發(fā)射控制及數(shù)據(jù)采集的實時性。在用戶界面的初始化函數(shù)中,初始化VXI模塊后,設置第一塊和第二塊并行AD為8通道并行工作模式,采樣頻率為10k,配置SRAM存儲深度為2k,安裝中斷句柄,使能中斷后啟動第一塊和第二塊模塊AD轉換,并啟動發(fā)射控制及采集線程。當有中斷到來時表明存儲深度為2k數(shù)據(jù)轉換完畢,則在AD模塊的中斷事件處理函數(shù)中,設置相應的模塊可讀標記為true。
在采集線程中,先等待第一塊AD的可讀標記為true。當?shù)谝粔KAD的可讀標記為true時,先將可讀標記復位為false,再從第一塊AD中讀出8通道,每通道2K的數(shù)據(jù),并將數(shù)據(jù)轉換相應的電壓值。由于第一塊模塊記錄的是數(shù)字電平,因此根據(jù)大于等于3為高電平,小于為低電平轉換為數(shù)字電平,顯示在NI的圖形控件中,并根據(jù)數(shù)字電平的高低點亮相應的指示燈。
再等待第二塊AD的可讀標記為true。當?shù)诙KAD的可讀標記為true時,先將可讀標記復位為false,再從第二塊AD中讀出8通道,每通道2K的數(shù)據(jù),并將數(shù)據(jù)轉換相應的電壓值,顯示在NI的圖形控件中,同時計算并顯示各模擬信號的有效值。
然后使用控制模塊進行供氣和根據(jù)發(fā)射窗口進行輸出控制,以及指令反饋輸入讀取。
當試驗結束時,終止連續(xù)數(shù)據(jù)采集,并將記錄的數(shù)據(jù)一次寫入SQL Server中。由于數(shù)據(jù)量比較大,故采用image字段來存儲,為了不使得數(shù)據(jù)無限大,限定記錄時間不超過5 min。存儲的數(shù)據(jù)的格式為第一個模塊通道1數(shù)據(jù),通道2數(shù)據(jù)……;第二個模塊通道1數(shù)據(jù),通道2數(shù)據(jù)……。
3.2.2 歷史數(shù)據(jù)管理與查看子系統(tǒng)
(1)數(shù)據(jù)管理
系統(tǒng)軟件具有數(shù)據(jù)管理功能,可根據(jù)時間或導彈彈號進行歷史記錄查找,以及歷史記錄刪除,并可選定特定的記錄進入歷史記錄數(shù)據(jù)查看。
(2)數(shù)據(jù)回放
在兩種情況下,可進行測試數(shù)據(jù)回放,將從飛行試驗開始到飛行試驗結束連續(xù)記錄的全程數(shù)據(jù)回放出來。一種情況是測試完成后,可立即對當前測試數(shù)據(jù)進行回放;另外是飛行試驗后可通過歷史數(shù)據(jù)子系統(tǒng),從數(shù)據(jù)庫中選擇要查看導彈的飛行試驗數(shù)據(jù)進行回放。根據(jù)實際情況設計了向前和向后播放,每種播放有快、中、慢3種播放放速度。
(3)波形查看/波形放大/波形平移動
波形查看功能可快速搜索、定位所關心的時間段內(nèi)信號波形數(shù)據(jù)。在波形查看中通過設置查看波形的時間起點時間起點和要查看的波形時間長度來顯示制定的時間段內(nèi)波形數(shù)據(jù)。如圖4所示。波形查看和如果想進一步看清更局部的波形,可進行波形放大。首先使放大/平移塊處于處于“放大”位置,然后點擊左鍵選擇要展開放大數(shù)據(jù)段的起始點,拖動鼠標到數(shù)據(jù)段的結束點,將選中的數(shù)據(jù)進行放大。當拖動滑動塊處于“平移”位置,可通過拖動黃色光標來查看信號光標處的有效值。
(4)時間測量與時序分析
波形查看后,通過局部放大,可很清楚地看清各數(shù)字信號之間的時序。選擇光標1和光標2后,移動光標可測2個光標之間的時間差,如圖5所示。
圖4 波形查看圖Fig.4 Waveform check figure
3.2.3 系統(tǒng)安全性設計
(1)多線程安全設計
在多線程運行時,如果主線程要退出,那么工作者(采集)線程也必須退出。如果程序已經(jīng)退出了,而某個線程卻沒有退出,很可能造成嚴重的后果,特別是在緊急情況退出時。因此,工作者(采集)線程必須與主線程實現(xiàn)某種方式的通信,保證主線程退出前,特別是緊急情況退出時,所有子線程都能得到完全退出。
為此專門設計了工作線程超類,該工作者線程的超類中有一個事件句柄成員,用來通知線程退出。KillThread函數(shù)用來結束線程,當主線程要退出前,通過工作線程的句柄調(diào)用該函數(shù)來殺死工作線程。
當主線程調(diào)用KillThread函數(shù)時,該函數(shù)首先設置m_hEventKill為有信號,通知結束子線程。然后等待子線程是否已經(jīng)結束,如果已經(jīng)結束的話,刪除線程。在等待線程結束的過程中,不能使用 WaitForMultipleObjects來等待。因為在工作(采集)線程中會調(diào)用SendMessage來通知主線程處理事務,SendMessage函數(shù)必須等消息處理完才能返回,也即線程會在此處掛起,直至主線程處理完該消息。而如果又恰好主線程調(diào)用KillThread函數(shù),KillThread又會調(diào)用WaitForMultipleObjects函數(shù)來等待線程結束,那么主線程又會被掛起。這樣主線程和工作線程都被掛起,從而造成死鎖(dead-lock)。使用 MsgWaitForMultipleObjects不僅可以等待線程的結束,還可在等待期間處理消息,不會造成等待期間程序得不到響應。通過反復的試驗證明,該方法確實能夠確保在主線程退出之前子線程能夠完全退出。
(2)發(fā)射窗口
設計發(fā)射窗口的目的是在試驗時只允許在計算過的發(fā)射窗口所指定的發(fā)射時機內(nèi)發(fā)射導彈。發(fā)射窗口上限時間到(t0為起點),時限OC門截止,允許發(fā)射;下限時間到來時,時限OC門接通,不能進行發(fā)射。當迎攻試驗時,起點t0為靶彈起飛;當尾攻試驗時,起點t0為過航捷點。
(3)NI控件的安全性
NI控件為單線程安全線程,因此要避免多線程并發(fā)操作NI控件,否則會引起程序崩潰。解決的方法是對NI控件操作加鎖,線程只有在獲得鎖后,才能操作NI控件。
系統(tǒng)研制成功后,進行了大量的標準信號源、模擬器、工藝彈及實彈地面聯(lián)試,對系統(tǒng)的穩(wěn)定性、可靠性和精度進行測試。
試驗結果表明,系統(tǒng)各測試信號的絕對誤差在±4.99 mV,信號之間的時間差測量誤差為 ±0.1 ms,發(fā)射窗口誤差為0.01 s,連續(xù)記錄時間不小于5 min,滿足系統(tǒng)的研制要求;系統(tǒng)各功能正常、穩(wěn)定、安全可靠。
該車載導彈發(fā)射控制記錄系統(tǒng)可以在15 min內(nèi)完成實驗準備工作,操作只需2人,可將人為操作出錯率降為0,其事后分析系統(tǒng)可幫助快速故障分析和故障定位。該系統(tǒng)提高了飛行試驗的試驗成功率和效率,降低飛行試驗費用;在危險情況下可進行緊急停車,提高了試驗安全性。
[1]李智.VXI總線軍用發(fā)動機自動測試系統(tǒng)軟件設計[J].桂林電子工業(yè)學院學報,1997(1).
[2]陳光ネ禹.VXI總線測試平臺技術[M].電子科技大學出版社,1996.
[3]程傳浩,劉勇志,等.基于VXI總線的某型導彈慣性平臺自動測試系統(tǒng)[J].上海航天,2002(1):59-62.
[4]李行善,等.自動測試系統(tǒng)集成技術[M].電子工業(yè)出版社,2004.
Developing of a launch control recording system based on VXI bus for vehicular missile
ZHU Wang-chun1,TANG Wei-guo2,XIE Xiao-jian3,LI Zhi1
(1.Guilin University of Electornic Technology,Guilin 541004,China;2.Factory 801 of China Aerospace Science and Industry Corporation,Liuzhou 545012,China;3.Army 91872,Beijing 102442,China)
In order to quickly,reliably,safely obtain continuous flight data in the process of launching missile,a ground launch control recording system of vehicular missile based on VXI bus was developed,which has the function of data playback and data analysis etc.The flight test in shooting range proves that the absolute error of every test signal in system is ± 4.99 mV,the measurement error of time difference between the signals is ± 0.1 ms,the error of the launch window is 0.01 s and the continuous recording time is not less than 5 min.Moreover,the system is easy to operate,stable,reliable and efficient.
vehicular missile;ground launch;control recording system;VXI bus
V556
A
1006-2793(2012)04-0565-04
2011-10-06;
2011-12-12。
朱望純(1976—),副教授,主要從事自動測試總線與系統(tǒng)、虛擬儀器研究。E-mail:zhwch@guet.edu.cn
(編輯:呂耀輝)