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