PCI5565 PCI-5565 PMC5565 VMIC5565 反射內(nèi)存 反射內(nèi)存卡 GE反射內(nèi)存
1引言
半實物仿真是評價反艦導(dǎo)彈抗干擾性能的一種有效技術(shù)手段,在導(dǎo)彈武器系統(tǒng)作戰(zhàn)效能評估的整個過程中占有重要地位。在導(dǎo)彈半實物仿真中,實時數(shù)據(jù)采集系統(tǒng)發(fā)揮著重要作用,一方面,在仿真運行過程中需要實時采集導(dǎo)引頭及各仿真設(shè)備的輸出數(shù)據(jù)用于解算彈道模型,實現(xiàn)閉環(huán)仿真另一方面,在實驗結(jié)果分析過程中,需要豐富、詳實的實驗過程數(shù)據(jù)作為支撐,以保證實驗結(jié)論的準確、可靠。鑒于導(dǎo)彈半實物仿真數(shù)據(jù)采集的實際需求,需要綜合考慮體系結(jié)構(gòu)、軟硬件組成及技術(shù)實現(xiàn)細節(jié)等多個方面的因素,設(shè)計實時數(shù)據(jù)采集系統(tǒng)以滿足數(shù)據(jù)采集的準確性、實時性和靈活性要求。本文以主動式雷達制導(dǎo)反艦導(dǎo)彈半實物仿真系統(tǒng)為應(yīng)用背景,分析數(shù)據(jù)采集任務(wù)特點,通過軟硬件體系結(jié)構(gòu)設(shè)計和實時性優(yōu)化設(shè)計,實現(xiàn)對實驗數(shù)據(jù)的實時采集,以滿足反艦導(dǎo)彈半實物仿真的數(shù)據(jù)采集需求。
2實時數(shù)據(jù)采集任務(wù)分析
2.1數(shù)據(jù)采集的內(nèi)容
反艦導(dǎo)彈半實物仿真系統(tǒng)采用分布式體系結(jié)構(gòu),利用通信網(wǎng)絡(luò)將被試雷達導(dǎo)引頭、三軸飛行轉(zhuǎn)臺、射頻環(huán)境模擬器和仿真主機相連,基于通用計算機和通用操作系統(tǒng)實現(xiàn)導(dǎo)彈閉環(huán)仿真,系統(tǒng)組成結(jié)構(gòu)見圖1。在半實物仿真中,依據(jù)信息的來源不同,可將待采集的信息分為以下幾類l2I【:被試雷達導(dǎo)引頭工作狀態(tài)信息及目標檢測信息;三軸飛行轉(zhuǎn)臺角位置反饋信息;射頻環(huán)境模擬器目標信號及干擾信號控制信息;模型解算所得彈道及控制信息;以及實驗過程狀態(tài)信息?梢姡鞠到y(tǒng)的采集數(shù)據(jù)具有來源分散、形式多樣、實時性要求高、記錄內(nèi)容多變等特點。

圖1反艦導(dǎo)彈半實物仿真系統(tǒng)結(jié)構(gòu)圖
2.2數(shù)據(jù)采集實時性分析
數(shù)據(jù)的實時采集、處理和交互,是實現(xiàn)閉環(huán)仿真實驗的必要前提。而在仿真系統(tǒng)中由于實物(導(dǎo)引頭)的引入,要求仿真的推進應(yīng)該與實時的外部事件相適應(yīng)…。因此,數(shù)據(jù)的采集與處理應(yīng)該在仿真模型解算要求的時限內(nèi)完成,從而對數(shù)據(jù)采集系統(tǒng)的實時性提出了很高的要求。在仿真運行過程中,仿真系統(tǒng)在每一個幀周期內(nèi)需要完成數(shù)據(jù)的采集、處理、交互和保存等工作,于是可將仿真運行幀周期大致劃分為六個部分,如圖2所示。

圖2仿真運行幀周期組成圖
在圖2所示的幀周期中,有效工作內(nèi)容包括:以A/D轉(zhuǎn)換為核心的數(shù)據(jù)采集、節(jié)點的數(shù)據(jù)處理、數(shù)據(jù)傳輸與交互、數(shù)據(jù)保存等。如果系統(tǒng)采用非實時操作系統(tǒng),會因為任務(wù)調(diào)度及資源分配等因素導(dǎo)致進程掛起,形成操作系統(tǒng)打斷時間。為了彌補操作系統(tǒng)打斷時間等不確定性,結(jié)合系統(tǒng)實時性需求,一般設(shè)置幀周期稍大于有效工作時間,形成幀等待時間。半實物仿真中的實時性問題,可以從快速性、穩(wěn)定性和同步性三個方面進行考慮:
1)在快速性方面,數(shù)據(jù)的采集和傳輸部分可通過高性能硬件提高A/D轉(zhuǎn)換效率,減少數(shù)據(jù)傳輸時間;在數(shù)據(jù)保存部分,寫人數(shù)據(jù)庫一般耗時較多,需要在軟件設(shè)計與實現(xiàn)中進行優(yōu)化設(shè)計,提高數(shù)據(jù)保存效率。
2)數(shù)據(jù)采集時間的穩(wěn)定性,主要是指數(shù)據(jù)采集、傳輸和存儲過程所用時間的穩(wěn)定性。在本系統(tǒng)中,由于采用通用計算機平臺和非實時操作系統(tǒng)(WindowsNT),必然帶來操作系統(tǒng)打斷問題,影響數(shù)據(jù)采集時間的穩(wěn)定性。
3)數(shù)據(jù)采集的同步性,是指各仿真節(jié)點所采集數(shù)據(jù)在時間上的一致性。導(dǎo)彈半實物仿真實驗采用固定幀周期控制,為數(shù)據(jù)采集的同步性提供了實現(xiàn)基礎(chǔ)。針對系統(tǒng)分布式結(jié)構(gòu)特征,分解數(shù)據(jù)采集任務(wù),并可通過幀周期內(nèi)部的時間片劃分可以實現(xiàn)時間同步的數(shù)據(jù)采集。
3系統(tǒng)體系結(jié)構(gòu)設(shè)計
3.1系統(tǒng)體系結(jié)構(gòu)
導(dǎo)彈半實物仿真按工作時序可劃分為實驗準備、仿真運行和實驗后結(jié)果分析三個階段,在實驗準備和實驗后結(jié)果分析兩個階段,要求數(shù)據(jù)交互形式靈活,但實時性要求較低;在仿真運行階段,數(shù)據(jù)交互內(nèi)容可事先確定,但需要嚴格按照系統(tǒng)工作幀周期進行,對實時性要求嚴格。鑒于此,實時數(shù)據(jù)采集系統(tǒng)的通信網(wǎng)絡(luò)采用以太網(wǎng)和實時網(wǎng),以太網(wǎng)用于實驗準備和實驗后結(jié)果分析兩個非實時工作階段,滿足數(shù)據(jù)傳輸靈活的需求;實時網(wǎng)用于仿真運行階段,滿足數(shù)據(jù)傳輸?shù)膹妼崟r要求。系統(tǒng)其它硬件主要包括:數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)采集上位機及I/O接口子系統(tǒng),其中,數(shù)據(jù)庫服務(wù)器為實驗數(shù)據(jù)存儲及管理的平臺;數(shù)據(jù)采集上位機通過I/O接口子系統(tǒng)與導(dǎo)引頭進行信息的實時交互,系統(tǒng)硬件組成如圖3所示。

圖3采集系統(tǒng)硬件組成示意圖
3.2硬件選型
為滿足系統(tǒng)數(shù)據(jù)采集準確性和實時性指標要求,選取系統(tǒng)主要硬件配置如下:
1)數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)采集上位機均采用工控機,其CPU為PD一3.2G,內(nèi)存為DDR2—1G,和160G硬盤存儲器高配置工控機強大的運算能力可以有效縮短數(shù)據(jù)處理時間提高數(shù)據(jù)采集的快速性。
2)I/O接口子系統(tǒng)利用32路D/A、32路A/D高速接口進行模擬量處理,32路DI、32路DO高速接口進行開關(guān)量處理,8路串行接口進行數(shù)字量傳輸。其中,模擬量采集通過
l2位的ADS7805完成,其A/D轉(zhuǎn)換時間不超過lO微秒,實現(xiàn)了對數(shù)據(jù)的快速采集。
3)實時網(wǎng)由美國VMIC公司生產(chǎn)的5565系列反射內(nèi)存卡組成。利用該反射內(nèi)存卡加上光纖傳輸介質(zhì),可實現(xiàn)174M字節(jié)/秒的數(shù)據(jù)傳輸速率,同時保證網(wǎng)絡(luò)傳輸延遲不超過400納秒,使得網(wǎng)絡(luò)傳輸時間主要取決于共享內(nèi)存讀寫時間,保證了數(shù)據(jù)傳輸?shù)目焖傩浴?/span>
4數(shù)據(jù)采集流程設(shè)計
在本系統(tǒng)中,物理設(shè)備的分布式特征決定了數(shù)據(jù)采集任務(wù)的分布實現(xiàn);數(shù)據(jù)的時間一致性、管理使用的復(fù)雜性又要求集中、統(tǒng)一的綜合數(shù)據(jù)管理。因此,系統(tǒng)軟件結(jié)構(gòu)在設(shè)計上呈現(xiàn)分布采集與集中管理相結(jié)合的特征;跀(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)源分散特征,可將數(shù)據(jù)采集任務(wù)分解為各仿真節(jié)點的數(shù)據(jù)采集和數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)存儲兩個部分,采集數(shù)據(jù)通過反射內(nèi)存網(wǎng)絡(luò)送至數(shù)據(jù)庫進行存儲。為保證數(shù)據(jù)采集的實時性,在流程主要進行了以下優(yōu)化設(shè)計:
1)利用反射內(nèi)存網(wǎng)絡(luò)中斷機制實現(xiàn)精確的幀同步。
VMIC反射內(nèi)存卡支持多個中斷事件,利用中斷事件可以實現(xiàn)快速的節(jié)點通信,推進各仿真節(jié)點按幀周期同步運行,有效保證采集數(shù)據(jù)的時問一致性。
2)通過時間片劃分避免讀寫沖突。由于反射內(nèi)存機制的特殊性,不同仿真節(jié)點有可能同時對同一地址進行操作,發(fā)生讀寫沖突。為了避免讀寫沖突問題,在統(tǒng)一幀周期的基礎(chǔ)上進行時間片劃分:在同一幀周期內(nèi)部,負責數(shù)據(jù)采集的節(jié)點先進行自身的運算處理,在幀周期后半部分采集數(shù)據(jù)并寫入反射內(nèi)存網(wǎng);負責數(shù)據(jù)存儲的節(jié)點則在幀周期前半部分讀取實時網(wǎng)數(shù)據(jù),然后進行存儲。通過這種時間片劃分機制,可以避免讀寫沖突,而且不會影響各仿真節(jié)點的運行效率。
3)實驗后數(shù)據(jù)入庫,提高仿真運行實時性。對于數(shù)據(jù)存儲節(jié)點,相對于仿真運行幀周期,寫入數(shù)據(jù)庫花費時間較長;同時,數(shù)據(jù)記錄長度的靈活多變也給數(shù)據(jù)入庫時間帶來了不確定性。為了保證在幀周期內(nèi)完整記錄實驗數(shù)據(jù),采用如下方法:數(shù)據(jù)存儲節(jié)點首先開辟一塊較大內(nèi)存區(qū);然后在仿真運行幀周期內(nèi),讀取實時網(wǎng)數(shù)據(jù),通過內(nèi)存拷貝記錄到已開辟內(nèi)存區(qū)內(nèi);仿真運行結(jié)束后,將內(nèi)存區(qū)數(shù)據(jù)寫入數(shù)據(jù)庫。
通過以上技術(shù)措施,形成優(yōu)化后的數(shù)據(jù)采集流程如圖4。
5通用操作系統(tǒng)實時性優(yōu)化設(shè)計

圖4優(yōu)化的實時采集流程圖
為提高系統(tǒng)通用性和可擴展性,本系統(tǒng)采用了通用計算機平臺和WindowsNT操作系統(tǒng)。通常情況下,作為非實時操作系統(tǒng),WindowsNT在任務(wù)調(diào)度、內(nèi)存管理等機制上難以滿足導(dǎo)彈半實物仿真實驗的實時性需求。為完成嚴格的實時數(shù)據(jù)采集任務(wù),系統(tǒng)在設(shè)計與實現(xiàn)過程中,主要在以下幾個方面進行優(yōu)化設(shè)計:
5.1中斷管理
在WindowsNT操作系統(tǒng)中,中斷主要由I/O設(shè)備、處理器時鐘或定時器產(chǎn)生,可以被啟用(打開)或禁用(關(guān)閉)。WindowsNT采用基于優(yōu)先級可搶先的中斷管理機制,通過“中斷請求級”(IRQL)可以將中斷源按優(yōu)先級排序,較高優(yōu)先級的中斷可搶先較低優(yōu)先級中斷得到服務(wù)l5J。在默認狀態(tài)下,WindowsNT的外部中斷大部分都是開啟的,而且其優(yōu)先級高于任何用戶進程。因此,對于實時性要求較高的應(yīng)用場合,需要屏蔽非必要的外部中斷,保證實時進程對CPU資源的優(yōu)先使用權(quán)。
每個處理器都有一個IRQL設(shè)置,其值決定了處理器可以接收哪些中斷。在WindowsNT系統(tǒng)中,核心態(tài)線程可以通過內(nèi)核函數(shù)KeRaiseIrql()提高它所使用的處理器的IRQL優(yōu)先級,從而可以封鎖所有等于或低于此IRQL的中斷,確保正在服務(wù)于該中斷的的處理器不會被同級或較低級的中斷搶先。被屏蔽的中斷將被另一個處理器處理或阻擋,直到IRQL降低。在本系統(tǒng)中,通過核心態(tài)的設(shè)備驅(qū)動程序設(shè)置處理器IRQL優(yōu)先級來屏蔽非必要中斷,保證相應(yīng)服務(wù)的實時性。
5.2優(yōu)先級控制
通過中斷管理可以屏蔽非必要中斷,在一定程度上減少了操作系統(tǒng)的不確定性;但WindowsNT是搶先式多任務(wù)操作系統(tǒng),采用基于優(yōu)先級的搶先式調(diào)度策略,從而給線程的執(zhí)行帶來了不可預(yù)測性,因此有必要進行優(yōu)先級控制。在操作系統(tǒng)內(nèi)部,WindowsNT使用32個線程優(yōu)先級,范圍從0到31。依據(jù)Win32API觀點,Win32API首先依據(jù)在創(chuàng)建進程時分配的優(yōu)先級等級(實時級、高級、中級或空閑級)組織進程,然后依據(jù)進程中各個線程的相對優(yōu)先級(時間緊要級、最高級、中上級、中級、中下級、最低級和空閑級)組織線程。WindowsNT以線程為單位進行調(diào)度,而不考慮給予調(diào)度的線程屬于哪個進程。
在本系統(tǒng)中,通過win32函數(shù)SetPriorityClass()和SetThreadPriority()設(shè)置線程優(yōu)先級為時間關(guān)鍵級J,在系統(tǒng)調(diào)度意義上保證數(shù)據(jù)讀寫的實時性。
5.3虛擬內(nèi)存管理
WindowsNT采用基于平面32位地址空間的虛擬內(nèi)存系統(tǒng),頁面的換入/換出會影響實時系統(tǒng)的可預(yù)測性?紤]到實時應(yīng)用需求,WindowsNT通過以下措施減小影響:實時優(yōu)先級線程不采用內(nèi)存交換,不受換頁影響;NT允許應(yīng)用程序把自己鎖到內(nèi)存(使用VirtualLock()API),免受換頁的影響。
因此,在本系統(tǒng)中,通過頁面鎖定方法將關(guān)鍵頁面鎖定到內(nèi)存中,不被交換出內(nèi)存。Win32API函數(shù)VirtualLock()可將VirtualAlloc()指定的內(nèi)存區(qū)域進行鎖定;當不在需要鎖定時,通過VirtualUnlock()進行解鎖,最后通過VirrualFree()進行釋放。
6仿真結(jié)果分析
為了驗證所設(shè)計數(shù)據(jù)采集系統(tǒng)的實時性,設(shè)計如下條件開展數(shù)字仿真:
1)利用一個仿真節(jié)點進行數(shù)據(jù)采集,數(shù)據(jù)庫服務(wù)器完成數(shù)據(jù)存儲;
2)為統(tǒng)計實際的數(shù)據(jù)采集時間,仿真以幀同步方式推進。即完成一次數(shù)據(jù)采集之后,通過中斷事件進行節(jié)點間通信,進入下一幀;
3)每個幀周期采集數(shù)據(jù)量為30個double型數(shù)據(jù),采集次數(shù)為30萬次;
4)仿真運行中,在數(shù)據(jù)庫服務(wù)器上運行其它程序作為干擾因素,考察數(shù)據(jù)采集的穩(wěn)定性。設(shè)置計時區(qū)間為實時網(wǎng)寫入數(shù)據(jù)、數(shù)據(jù)傳輸、讀取實時網(wǎng)數(shù)據(jù)和內(nèi)存拷貝的總時間,開展仿真試驗,得結(jié)果如圖5所示。

圖5數(shù)據(jù)采集時間統(tǒng)計結(jié)果圖
由圖5可知,在同時運行其它程序的干擾條件下,一次數(shù)據(jù)采集時間不超過100微秒,均方差為1.17微秒,表明該實時數(shù)據(jù)采集系統(tǒng)能夠?qū)崿F(xiàn)快速、穩(wěn)定的數(shù)據(jù)采集、傳輸和存儲。
另外,在相同條件下屏蔽針對操作系統(tǒng)的優(yōu)化程序,發(fā)現(xiàn)一次數(shù)據(jù)采集時間最大可達4.5毫秒,超過了系統(tǒng)幀周期要求,從而驗證了通用操作系統(tǒng)實時性優(yōu)化設(shè)計的有效性。
7結(jié)束語
通過針對性的系統(tǒng)軟硬件結(jié)構(gòu)設(shè)計,優(yōu)化數(shù)據(jù)采集工作流程,以及通用操作系統(tǒng)實時性優(yōu)化設(shè)計等步驟,實現(xiàn)了功能完備的實時數(shù)據(jù)采集系統(tǒng)。實踐應(yīng)用表明,該系統(tǒng)能夠適應(yīng)半實物仿真嚴格的幀周期控制,且運行性能穩(wěn)定,未出現(xiàn)丟幀或數(shù)據(jù)錯誤現(xiàn)象,滿足了反艦導(dǎo)彈半實物仿真系統(tǒng)的實時數(shù)據(jù)采集與管理需求。
應(yīng)用通用計算機平臺和成熟的反射內(nèi)存網(wǎng)絡(luò)產(chǎn)品構(gòu)建
實時數(shù)據(jù)采集系統(tǒng),可以有效利用電子、信息技術(shù)的最新成果,方便系統(tǒng)的升級和改造,本文的設(shè)計思想也可為類似系統(tǒng)建設(shè)提供一定的參考和借鑒。
|