- 相關(guān)推薦
飛控系統半物理仿真平臺通訊網(wǎng)絡(luò )構建論文
1、前言
飛控系統半物理仿真是型號研制和試驗過(guò)程中的一個(gè)重要環(huán)節,飛控系統作為一種強實(shí)時(shí)性的系統,其半實(shí)物仿真是時(shí)間約束非常強的過(guò)程,其計算、數據通訊和關(guān)鍵信號的處理如果出現超時(shí)將可能導致整個(gè)仿真實(shí)驗的失敗。因此,實(shí)時(shí)算法和通訊技術(shù)的研究是半實(shí)物仿真系統的關(guān)鍵技術(shù)。
隨著(zhù)計算機技術(shù)和通訊技術(shù)的迅速發(fā)展,仿真主機的速度大大提高,為飛行器非線(xiàn)性動(dòng)力學(xué)方程的高速、高精度求解提供了條件;其次,采用實(shí)時(shí)網(wǎng)絡(luò )通訊技術(shù),可以實(shí)現兩結點(diǎn)數據傳輸時(shí)延遲為納秒級或微秒級。
2、仿真平臺構建
為保證飛控系統半物理仿真平臺的可擴展性,系統構建時(shí)引入分布式布局的思想,不同于傳統一對一的宿主機-目標機模式,設計一對多的分布式模式;窘Y構如圖1所示。采用RTW-xPC作為實(shí)時(shí)仿真的框架(仿真主計算機-仿真目標計算機模式),子任務(wù)被分布在系統的各個(gè)成員上,成員之間通過(guò)網(wǎng)絡(luò )連接在一起,通過(guò)各子任務(wù)并發(fā)運行來(lái)提高解算速度,滿(mǎn)足實(shí)時(shí)應用的要求。
飛控計算機一般每10ms讀取一幀數據,這要求飛控仿真系統的仿真周期遠小于10ms。最初的設計是通過(guò)以太網(wǎng)絡(luò )完成計算機之間的數據傳輸,但是難以保證該飛控仿真系統強實(shí)時(shí)性的要求。以任一仿真目標機為例,若每毫秒產(chǎn)生1000個(gè)數據,按每數據大小4字節計算,其數據量4KB,按照千兆以太網(wǎng)的數據傳輸率,則在以太網(wǎng)絡(luò )上的時(shí)間延遲32ms,無(wú)法滿(mǎn)足系統實(shí)時(shí)性要求。反射內存網(wǎng)具有可高達170MB/s的數據傳輸率,在反射內存網(wǎng)上傳輸的時(shí)間延遲為24us,遠低于1ms的要求。
圖1 仿真平臺基本結構組成
本方案采用標準以太網(wǎng)和反射內存網(wǎng)(內存映射網(wǎng))結合的方法進(jìn)行通訊。系統中對實(shí)時(shí)性要求不高的部分采用普通的以太網(wǎng)絡(luò )傳輸;系統中實(shí)時(shí)性要求較高的部分采用反射內存網(wǎng)搭建。以太網(wǎng)卡實(shí)現計算機與局域網(wǎng)傳輸介質(zhì)之間的物理連接和電信號匹配,主要針對飛控系統仿真過(guò)程中仿真主機-仿真目標機的網(wǎng)絡(luò )通訊檢測,以及實(shí)時(shí)仿真過(guò)程中接受控制信號和發(fā)送各種控制命令信號。反射內存網(wǎng)作為一種快速的實(shí)時(shí)網(wǎng)絡(luò ),用來(lái)實(shí)現仿真目標計算機和信號轉換計算機的數據交互。這樣做的好處是既可以保證系統實(shí)時(shí)性要求,又能夠節省建設費用,減少系統復雜度。
3、實(shí)時(shí)網(wǎng)絡(luò )通訊系統
3.1反射內存網(wǎng)
3.1.1反射內存的概念
反射內存光纖網(wǎng)絡(luò )采用了先進(jìn)特殊的技術(shù),具備很強的支持分布實(shí)時(shí)系統的數據傳輸能力。在每個(gè)需要實(shí)時(shí)通訊的節點(diǎn)上插入反射內存網(wǎng)卡(節點(diǎn)卡),反射內存卡上有一塊專(zhuān)門(mén)的存儲器,并且它們都映射在同一個(gè)地址空間,構成了分布式共享存儲器。用戶(hù)可以在分布式共享存儲器中定義多個(gè)全局公用的數據存儲區。當某個(gè)節點(diǎn)的處理器對存儲器進(jìn)行了“寫(xiě)”操作,接口板將修改的數據通過(guò)光纖自動(dòng)實(shí)時(shí)的寫(xiě)到另一節點(diǎn)的對應存儲器中,這樣,另一節點(diǎn)的用戶(hù)只需讀取本地接口板上的相應的存儲器就可以獲得修改的數據。采用反射內存通訊方式的好處是:數據傳輸速度快,讀/寫(xiě)操作延時(shí)為納秒級,能夠大大降低總的網(wǎng)絡(luò )延時(shí),減小仿真周期,滿(mǎn)足系統的實(shí)時(shí)性要求。在反射內存網(wǎng)上,節點(diǎn)之間的通訊對軟件是透明的。用戶(hù)不需采用消息傳遞方式進(jìn)行節點(diǎn)間的通訊,只需在本機系統中對共享存儲器進(jìn)行直接讀寫(xiě)操作就可實(shí)現多機之間的通訊,大大簡(jiǎn)化了應用軟件結構的復雜度,減少了用戶(hù)的編程負擔,能準確地算出節點(diǎn)之間通訊的最大延遲時(shí)間。
3.1.2反射內存網(wǎng)絡(luò )構建
本方案采用的VMIC5565反射內存(RFM)是基于環(huán)狀/星狀的,高速復制的共享內存網(wǎng)絡(luò )。它支持不同總線(xiàn)結構的多計算機系統,并且可以使用不同的操作系統來(lái)共享高速的、穩定速率的實(shí)時(shí)數據。
VMIPCI-5565反射內存卡可以不通過(guò)HUB直接構成環(huán)形拓撲結構的連接,也可以通過(guò)HUB構成星型拓撲結構的連接,每個(gè)結點(diǎn)的TX接口同下一個(gè)結點(diǎn)的RX接口交叉連接。這種環(huán)形拓撲結構的連接可靠性不如星型拓撲結構的連接,因為環(huán)網(wǎng)中任一個(gè)節點(diǎn)出現故障會(huì )造成整個(gè)實(shí)時(shí)網(wǎng)絡(luò )聯(lián)接中斷,而星型拓撲結構下不存在這樣的問(wèn)題,考慮到平臺節點(diǎn)較多,故采用星型拓撲結構的連接。
3.1.3反射內存卡使用
VMIPCI-5565反射內存卡之間或與智能型HUB之間通過(guò)兩條光纖進(jìn)行數據傳送。其中TX插口連接發(fā)送光纖,RX插口連接接收光纖。在組網(wǎng)前,需要對每塊反射內存卡進(jìn)行統一編址,不同計算機擴展槽內的VMIPCI-5565板卡必須具有不同的地址,此地址的分配是通過(guò)板卡上的跳線(xiàn)來(lái)選擇的。地址跳線(xiàn)總共有8條,通過(guò)這8條地址跳線(xiàn)可以選擇0~255總共256個(gè)地址范圍。
建立反射內存網(wǎng)絡(luò )的通訊設計,在WindowsXP系統下安裝反射內存卡驅動(dòng)程序,然后在C++ Builder 6.0開(kāi)發(fā)環(huán)境中添加VMIPCI-5565反射內存卡的頭文件:rfm2g_windows.h,rfm2g_api.h和庫文件rfm2gdll_stdc.lib到工程文件路徑。至此完成了反射內存網(wǎng)配置。
在C++ Builder控件中添加時(shí)鐘控件,利用時(shí)鐘周期性(周期可設置)工作的原理,在時(shí)鐘控件下進(jìn)行程序設計,實(shí)時(shí)的通過(guò)反射內存卡完成數據通訊,具體方法:
a)先自定義反射內存卡設備名稱(chēng),再申明句柄RFM2GHANDLE RFM2gHandle;
b)系統啟動(dòng)完成后,打開(kāi)反射內存卡端口,調用函數:RFM2gOpen(char *DevicePath,&RFM2gHandle);
c)在時(shí)鐘控件中通過(guò)執行函數語(yǔ)句RFM2gRead(RFM2GHANDLE rh,RFM2G_UINT32 Offset,void *Buffer,RFM2G_UINT32 Length)從卡地址讀取指定長(cháng)度的數據,至此完成了數據的獲取;
d)同樣,如果用戶(hù)需要給反射內存卡地址寫(xiě)入數據達到數據共享,只需執行函數語(yǔ)句RFM2gWrite(RFM2GHANDLE rh,RFM2G_UINT32 Offset,void *Buffer,RFM2G_UINT32 Length)即可;
e)數據校驗:當通過(guò)反射內存網(wǎng)接收實(shí)時(shí)數據時(shí),對每個(gè)節點(diǎn)的參數變量值進(jìn)行求和方法計算,將得到和值與接收到的校驗和信號值進(jìn)行比較,如果兩個(gè)值差值的絕對值小于10-4,則認為數據接收正確,否則丟掉這一包數據。
3.2標準以太網(wǎng)
由于標準以太網(wǎng)已普及使用,在此不對其概念做詳細說(shuō)明。建立以太網(wǎng)的通訊設計,需要先在網(wǎng)絡(luò )連接中的TCP/IP屬性中設置協(xié)議約定好的IP地址,子網(wǎng)掩碼和默認網(wǎng)關(guān)。然后用C++Builder的網(wǎng)絡(luò )通訊控件IdUDPServer和IdUDPClient,以及IdIcmpClient建立通訊。
a)作為客戶(hù)端應該在程序設計中設置IdUDPClient需要請求連接目標機的地址和端口,即設置控件的Host和Port屬性,并用Open函數打開(kāi)IdUDPClient控件或者將Active屬性設置為true。
b)作為服務(wù)器端,需要設置接收數據端口,必須與客戶(hù)端端口一致才能正確建立通訊,同時(shí)還必須用Open函數打開(kāi)IdUDPServer控件或者將Active屬性設置為true。建立客戶(hù)服務(wù)器之間連接之后,就可在程序設計上實(shí)現數據通訊了。
c)IdIcmpClient主要是在網(wǎng)絡(luò )通訊檢測中用到?梢栽O置該控件IP地址屬性,然后調用ping函數,在Reply事件中得到返回值進(jìn)行網(wǎng)絡(luò )連通性檢測判斷。
4、結論
本文主要介紹了飛控系統半物理仿真平臺通訊網(wǎng)絡(luò )構建,并給出了具體的通訊協(xié)議及注意事項。該半實(shí)物仿真平臺經(jīng)使用驗證,具有通信實(shí)時(shí)性好,數據傳輸速度快,傳輸可靠性高的特點(diǎn),滿(mǎn)足實(shí)時(shí)仿真需要,取得了良好的效果,被實(shí)踐證明是一種成熟、有效的方法。
【飛控系統半物理仿真平臺通訊網(wǎng)絡(luò )構建論文】相關(guān)文章:
關(guān)于構建基于色紡紗產(chǎn)品與技術(shù)的網(wǎng)絡(luò )服務(wù)平臺論文11-26
計算機通信系統的構建論文11-16
網(wǎng)絡(luò )教育資源服務(wù)平臺設計論文12-04
急診醫學(xué)精品網(wǎng)絡(luò )課程構建論文04-21
構建電子電池仿真器12-07
下一代網(wǎng)絡(luò )中的PSTN/ISDN仿真系統03-18
高中物理解題方法的策略構建的論文11-20