黃丹
摘 要:由于傳統(tǒng)網(wǎng)絡(luò)搭建的飛控系統(tǒng)仿真試驗(yàn)平臺有一定的延遲性,所以文章提出用反射內(nèi)存網(wǎng)來搭建飛控系統(tǒng)的通訊網(wǎng)絡(luò)。文章首先簡單介紹了該設(shè)備的特點(diǎn),然后根據(jù)飛控系統(tǒng)仿真平臺環(huán)境選擇硬件載體,在硬件載體的基礎(chǔ)上設(shè)計硬件和軟件,最后提出在設(shè)計過程中地址分配和實(shí)時性兩個關(guān)鍵技術(shù)的解決辦法。
關(guān)鍵詞:反射內(nèi)存網(wǎng);飛控系統(tǒng)仿真;實(shí)時性
中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)11-0152-02
Abstract: Due to the flight control system simulation test platform built by traditional network has certain delay, this paper proposes to build the communication network of flight control system by using reflective memory network. This paper first introduces the characteristics of the equipment, then selects the hardware carrier according to the simulation platform environment of the flight control system, and designs the hardware and software on the basis of the hardware carrier. Finally, the solution of two key technologies in the design process, address allocation and real-time, is put forward.
Keywords: reflective memory network; flight control system simulation; real-time
1 概述
飛控系統(tǒng)是飛機(jī)上的關(guān)鍵功能系統(tǒng),其性能優(yōu)劣直接影響飛機(jī)的操作品質(zhì)和飛機(jī)性能的發(fā)揮。因此為了減小飛控系統(tǒng)設(shè)計周期,降低研制成本,在試飛之前做半實(shí)物仿真試驗(yàn)已成為必備步驟。所謂半實(shí)物仿真,是指在仿真試驗(yàn)系統(tǒng)的回路中接入部分實(shí)物,以考核飛控系統(tǒng)關(guān)鍵設(shè)備的性能。由于回路中接入了實(shí)物,仿真模型的時間推進(jìn)與物理系統(tǒng)的時間推進(jìn)同步,即必須實(shí)時運(yùn)行[1-3]。文獻(xiàn)[4]和文獻(xiàn)[5]對飛控系統(tǒng)半實(shí)物仿真系統(tǒng)的實(shí)時性指標(biāo)進(jìn)行了詳細(xì)分析,并指出傳統(tǒng)的半實(shí)物仿真平臺對于高性能的飛行器有延時,建議采用實(shí)時性更高的仿真系統(tǒng),因此本文提出用反射內(nèi)存網(wǎng)來搭建飛控系統(tǒng)仿真試驗(yàn)的通訊系統(tǒng)以此來提高該系統(tǒng)的實(shí)時性。
2 反射內(nèi)存網(wǎng)的特點(diǎn)
反射內(nèi)存網(wǎng)(Reflective memory network)是一種基于高速網(wǎng)絡(luò)的共享存儲器技術(shù)的實(shí)時網(wǎng)絡(luò)。它主要是由反射內(nèi)存板卡通過光纖或同軸電纜等傳輸介質(zhì)按照星型或環(huán)型拓?fù)浣Y(jié)構(gòu)連接而成,能夠在異構(gòu)的總線結(jié)構(gòu)和操作系統(tǒng)之間以確定的速率實(shí)時傳輸數(shù)據(jù)。它與傳統(tǒng)的網(wǎng)絡(luò)技術(shù)相比,除了具有嚴(yán)格的傳輸確定性和可預(yù)測性外,還具有速度高、通信協(xié)議簡單、宿主機(jī)負(fù)載輕、軟硬件平臺適應(yīng)性強(qiáng)、支持中斷信號的傳輸?shù)忍攸c(diǎn)[6-7]。
3 反射內(nèi)存網(wǎng)實(shí)時通訊系統(tǒng)的設(shè)計
3.1 硬件設(shè)計
飛控系統(tǒng)仿真試驗(yàn)實(shí)時通訊系統(tǒng)采用反射內(nèi)存網(wǎng),硬件載體為VMIPCI-5565,該硬件載體具有高速、易用、標(biāo)準(zhǔn)總線方式,支持最大256個網(wǎng)絡(luò)節(jié)點(diǎn)等特點(diǎn),通過使用反射內(nèi)存通訊卡可以實(shí)現(xiàn)多個網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)交互,數(shù)據(jù)傳輸速率最高可達(dá)到174Mbyte/sec。
實(shí)時通訊網(wǎng)絡(luò)主要是通過反射內(nèi)存卡由光纖連接而成,每個節(jié)點(diǎn)的反射內(nèi)存卡上的存儲器保存實(shí)時通訊網(wǎng)絡(luò)上其它節(jié)點(diǎn)的共享數(shù)據(jù)。每個節(jié)點(diǎn)上的反射內(nèi)存卡采用雙口內(nèi)存工作方式,節(jié)點(diǎn)自身可以讀寫這些內(nèi)存,當(dāng)數(shù)據(jù)被寫入自身相應(yīng)內(nèi)存后會自動通過光纖傳輸至網(wǎng)絡(luò)其它節(jié)點(diǎn)的內(nèi)存中,實(shí)時通訊網(wǎng)絡(luò)上所有節(jié)點(diǎn)訪問數(shù)據(jù)時,只要訪問本地的反射內(nèi)存卡中的內(nèi)存即可。實(shí)時通訊網(wǎng)絡(luò)系統(tǒng)組成圖如圖1所示。
3.2 軟件設(shè)計
反射內(nèi)存通訊載體VMIPCI-5565提供了完整的底層驅(qū)動程序,包括設(shè)備的打開、設(shè)備的關(guān)閉、數(shù)據(jù)的讀寫等各種操作,該反射內(nèi)存通訊載體的操作流程如圖2所示。
反射內(nèi)存通訊設(shè)備開啟主要程序設(shè)計如下所示:
RFM2G_STATUS result;
result = RFM2gOpen("\\\\.\\rfm2g1", &Handle;);
if(result != RFM2G_SUCCESS)
{
MessageBox("實(shí)時網(wǎng)卡打開失敗","系統(tǒng)提示");
}
反射內(nèi)存通訊設(shè)備數(shù)據(jù)讀取主要程序設(shè)計如下所示:
offset = offset + sizeof(double) * j;
u.ul = ((ULONG *)((void*)rfm))[offset/4];
mathChannel[startnum + j] = u.f;
反射內(nèi)存通訊設(shè)備數(shù)據(jù)寫入主要程序設(shè)計如下所示:
u.f=(float)mathChannel[realNetOutDescribe->m_channelnum];
pattern = u.ul;
RFM2gPoke32(Handle,offset,pattern);
offset += 4;
4 關(guān)鍵技術(shù)
4.1 網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)存地址的分配
飛控系統(tǒng)仿真試驗(yàn)實(shí)時通訊系統(tǒng)由多個網(wǎng)絡(luò)分支節(jié)點(diǎn)組成,如何合理分配各網(wǎng)絡(luò)節(jié)點(diǎn)的內(nèi)存地址,避免在運(yùn)行過程中出現(xiàn)地址沖突,是確保實(shí)時通訊系統(tǒng)成功建立的關(guān)鍵點(diǎn)之一。
在構(gòu)建實(shí)時通訊系統(tǒng)時,采用了網(wǎng)絡(luò)節(jié)點(diǎn)的內(nèi)存地址容錯技術(shù),在該技術(shù)中,設(shè)立內(nèi)存地址的獨(dú)立存儲區(qū),在各網(wǎng)絡(luò)節(jié)點(diǎn)確定自身內(nèi)存地址分配前先讀取獨(dú)立內(nèi)存存儲區(qū)的內(nèi)容,通過分析處理該讀取結(jié)果來合理分配自身的內(nèi)存地址,同時對自身確定的內(nèi)存地址進(jìn)行獨(dú)立內(nèi)存存儲區(qū)的標(biāo)識處理,當(dāng)自身確定的內(nèi)存地址出現(xiàn)與其它分支節(jié)點(diǎn)內(nèi)存地址發(fā)生沖突時可提示操作人員對當(dāng)前分配的內(nèi)存地址進(jìn)行修改,直至所確定的內(nèi)存地址不與其它分支節(jié)點(diǎn)內(nèi)存地址沖突為止,操作流程如下圖3所示。
4.2 網(wǎng)絡(luò)節(jié)點(diǎn)通訊實(shí)時性
飛控系統(tǒng)仿真試驗(yàn)實(shí)時通訊系統(tǒng)中各網(wǎng)絡(luò)節(jié)點(diǎn)間存在相互的數(shù)據(jù)傳輸,且對數(shù)據(jù)傳輸?shù)膶?shí)時性要求高,數(shù)據(jù)量大,因此確保各網(wǎng)絡(luò)節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)膶?shí)時性、準(zhǔn)確性也是實(shí)時通訊系統(tǒng)系統(tǒng)成功建立的關(guān)鍵點(diǎn)之一。
在實(shí)時通訊軟件設(shè)計中采用了系統(tǒng)高精度定時器、數(shù)據(jù)讀寫后臺線程機(jī)制相結(jié)合的技術(shù)手段來保證各網(wǎng)絡(luò)節(jié)點(diǎn)通訊實(shí)時準(zhǔn)確的同時不影響其它軟件進(jìn)程的正常運(yùn)行,確保飛控系統(tǒng)仿真試驗(yàn)各項(xiàng)任務(wù)不沖突,運(yùn)行合理。
高精度定時器開啟主要程序設(shè)計如下:
timeGetDevCaps(&tc;, sizeof(TIMECAPS);
wTimerRes=min(max(tc.wPeriodMin,1),tc.wPeriodMax);
timeBeginPeriod(wTimerRes);
timeSetEvent(m_frequency,1, OneShotTimer,NULL, TI
ME_PERIODIC);
數(shù)據(jù)讀取后臺線程主要程序設(shè)計如下:
::AfxBeginThread((AFX_THREADPROC)Send,this,THR
EAD_PRIORITY_TIME_CRITICAL,CREATE_SUSPENDED,0);
::AfxBeginThread((AFX_THREADPROC)Recv,this,TH
READ_PRIORITY_TIME_CRITICAL,0,0);
5 結(jié)束語
與傳統(tǒng)的以太網(wǎng)通訊系統(tǒng)比較,反射內(nèi)存網(wǎng)具有更低的傳輸延遲、更快的傳輸速度,更簡單靈活的使用操作,可以滿足實(shí)時系統(tǒng)快速響應(yīng)周期的要求。自2012年開始,由反射內(nèi)存網(wǎng)搭建的實(shí)時通訊系統(tǒng)已成功應(yīng)用于飛控系統(tǒng)半實(shí)物仿真平臺中。通過幾年的試驗(yàn)驗(yàn)證,由該平臺得到試驗(yàn)數(shù)據(jù)可靠有效,滿足試驗(yàn)任務(wù)要求。
參考文獻(xiàn):
[1]劉菊紅,袁紅眼.飛機(jī)飛行控制系統(tǒng)仿真平臺建設(shè)[J].測控技術(shù),2013:135-139.
[2]廖瑛,梁加紅,等.實(shí)時仿真理論與支撐技術(shù)[M].長沙:國防科技大學(xué)出版社,2002.
[3]彭曉源.系統(tǒng)仿真技術(shù)[M].北京:北京航空航天大學(xué)出版社,2016.
[4]鄧紅德,鮑鑫,吳佳楠.小型無人機(jī)飛控系統(tǒng)半實(shí)物仿真平臺實(shí)時性研究[J].測控技術(shù),2012,31(1):121-123.
[5]姚新宇,黃柯棣.半實(shí)物仿真系統(tǒng)的實(shí)時性分析[J].計算機(jī)仿真,1999,16(4):51-54.
[6]郭翠珍,郭劍,梁穎紅,等.分布式飛行仿真中通信方案的設(shè)計和實(shí)現(xiàn)[J].蘇州市職業(yè)大學(xué)學(xué)報,2011:14-16.
[7]鄭銳,傅鵬,何詩英.反射內(nèi)存網(wǎng)在EAST極向場電源控制系統(tǒng)中的實(shí)現(xiàn)[J].化工自動化及儀表,2009,36(3):64-66.