遙控數(shù)據(jù)轉換方法
【技術領域】
[0001]本發(fā)明涉及網(wǎng)絡數(shù)據(jù)格式轉換領域,更具體地,涉及一種用于真星綜合測試系統(tǒng)軟件和衛(wèi)星模擬器之間的遙控網(wǎng)絡數(shù)據(jù)格式轉換方法。
【背景技術】
[0002]應了解,衛(wèi)星模擬器作為衛(wèi)星項目的配套產(chǎn)品,主要完成以下任務:
[0003]一、對地面測控中心遙控接收和遙控指令發(fā)送的工作狀態(tài)進行檢查;
[0004]二、在仿真的環(huán)境下,培訓操作、指揮人員,使他們在衛(wèi)星發(fā)射前,熟悉衛(wèi)星的飛行程序,掌握重要事件的操作和處理,以減少執(zhí)行任務中的風險;
[0005]三、在執(zhí)行衛(wèi)星測控任務前進行演練,以檢驗、修正和改進實戰(zhàn)軟件;以及
[0006]四、對衛(wèi)星可能出現(xiàn)的主要故障進行仿真,培訓指揮、操作人員處理應急情況的能力。
[0007]衛(wèi)星控制中心(Satellite Control Center,以下簡稱為SCC)是衛(wèi)星模擬器用戶的地面控制系統(tǒng),用來給衛(wèi)星模擬器的發(fā)送遙控數(shù)據(jù)給衛(wèi)星模擬器。衛(wèi)星模擬器包含兩大部分:姿軌控仿真軟件和衛(wèi)星仿真軟件,兩者協(xié)同工作仿真衛(wèi)星的工作狀態(tài)。
[0008]圖1是衛(wèi)星模擬器的測試連接圖。如圖1所示,當衛(wèi)星模擬器通過網(wǎng)絡與地面測試設備通信時,衛(wèi)星模擬器工作在控制中心工作模式,衛(wèi)星模擬器通過網(wǎng)絡接口與地面測試系統(tǒng)通信,接收遙控數(shù)據(jù)(Teleco_and,以下簡稱為TC)。
[0009]真星綜合測試系統(tǒng)軟件是用來進行真星測試的軟件,通過局域網(wǎng)采用傳輸控制協(xié)議(Transfer Control Protocol,以下簡稱為TCP)協(xié)議給地面測控平臺發(fā)送遙控數(shù)據(jù)。地面測控平臺將接收到的遙控數(shù)據(jù)調制成視頻、中頻、射頻遙控信號通過電纜發(fā)送給衛(wèi)星。測控分系統(tǒng)是衛(wèi)星上的一個分系統(tǒng),按照相關規(guī)定接收、解調遙控信號,然后執(zhí)行相應的動作。
[0010]圖2是真星綜合測試系統(tǒng)軟件的測試連接圖。如圖2所示,真星綜合測試系統(tǒng)軟件通過網(wǎng)絡與地面測控平臺通信,通過網(wǎng)絡給地面測控平臺發(fā)送遙控數(shù)據(jù)。地面測控平臺接收到遙控數(shù)據(jù)后,調制成視頻、中頻、射頻信號發(fā)送給真。
[0011]因為真星綜合測試系統(tǒng)軟件與衛(wèi)星模擬器的網(wǎng)絡通信接口協(xié)議不同,所以真星綜合測試系統(tǒng)軟件不能直接發(fā)送遙控數(shù)據(jù)給控制中心模式下的衛(wèi)星模擬器。如果為衛(wèi)星模擬器測試重新開發(fā)一套測試系統(tǒng)軟件,不僅工作量太大,而且正確性無法得到保證。通過遙控接口進行轉換遙控數(shù)據(jù)格式,可直接將真星綜合測試系統(tǒng)軟件用于衛(wèi)星模擬器測試。
[0012]同時,由于衛(wèi)星型號繁多,在設計中還需要考慮通用性,即可根據(jù)不同型號的配置文件,使得遙控轉換接口實現(xiàn)適用于不同型號的衛(wèi)星模擬器。
【發(fā)明內容】
[0013]為了解決現(xiàn)有技術中的問題,本發(fā)明提出一種遙控網(wǎng)絡數(shù)據(jù)轉換的方法,使得真星綜合測試系統(tǒng)軟件能夠給衛(wèi)星模擬器發(fā)送遙控數(shù)據(jù),同時還在設計中考慮到通用性,即可通過修改配置文件,使得遙控轉換接口實現(xiàn)適用于不同型號的衛(wèi)星模擬器。
[0014]本發(fā)明提供了一種遙控數(shù)據(jù)轉換方法,用于使真星綜合測試系統(tǒng)軟件能夠通過通用轉換接口向衛(wèi)星模擬器發(fā)送遙控數(shù)據(jù)。該方法包括以下步驟:步驟一,讀取通用轉換接口的配置文件并建立網(wǎng)絡連接,從而接收線程對網(wǎng)絡進行監(jiān)聽以接收遙控數(shù)據(jù);步驟二,當接收到遙控數(shù)據(jù)時,接收線程通知發(fā)送線程,將接收到的遙控數(shù)據(jù)轉換成統(tǒng)一格式并將轉換后的遙控數(shù)據(jù)存入數(shù)據(jù)緩存區(qū)中;步驟三,接收到接收線程的通知后,發(fā)送線程從數(shù)據(jù)緩存區(qū)中讀取轉換后的遙控數(shù)據(jù);步驟四,根據(jù)配置文件中的配置參數(shù)判斷遙控數(shù)據(jù)的類型,并按照配置參數(shù)和相應協(xié)議完成自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包;以及步驟五,根據(jù)自環(huán)時延和轉發(fā)時延,按時發(fā)送相應的數(shù)據(jù)包,并在發(fā)送出去后,將遙控數(shù)據(jù)的轉發(fā)個數(shù)加一。
[0015]優(yōu)選地,遙控數(shù)據(jù)的長度可變并且發(fā)送時間隨機。
[0016]具體地,在步驟一中執(zhí)行:讀取通用轉換接口的配置文件,從而獲取配置參數(shù);在通用轉換接口上確認配置參數(shù)是否正確;如果配置參數(shù)不正確,則重新讀取配置文件,否則確認配置參數(shù)正確;以及接收線程監(jiān)聽網(wǎng)絡,以接收網(wǎng)絡數(shù)據(jù),從而接收完整的遙控數(shù)據(jù)。
[0017]在步驟一中,當監(jiān)聽網(wǎng)絡時,如果接收到遙控數(shù)據(jù),則檢查遙控數(shù)據(jù)是否完整,如果是不完整的遙控數(shù)據(jù),則持續(xù)接收直至收到完整的遙控數(shù)據(jù)。
[0018]在步驟二中還包括:再次檢測所接收的網(wǎng)絡數(shù)據(jù)中是否還存在遙控數(shù)據(jù);如果還存在遙控數(shù)據(jù),則持續(xù)對遙控數(shù)據(jù)進行格式轉換并存放到數(shù)據(jù)緩存區(qū)中,接收線程通知發(fā)送線程已經(jīng)有新的遙控數(shù)據(jù);以及如果不存在遙控數(shù)據(jù),則繼續(xù)監(jiān)聽網(wǎng)絡。
[0019]在步驟四中執(zhí)行:根據(jù)配置文件中的配置參數(shù),判斷遙控數(shù)據(jù)是非執(zhí)行指令數(shù)據(jù)還是執(zhí)行令數(shù)據(jù);如果是非執(zhí)行指令數(shù)據(jù),則按照配置參數(shù)和相應協(xié)議完成自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包;以及如果是執(zhí)行指令數(shù)據(jù),則計算執(zhí)行脈寬和執(zhí)行周期,然后按照配置參數(shù)和相應協(xié)議完成自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包。
[0020]額外地,根據(jù)本發(fā)明的遙控數(shù)據(jù)轉換方法還包括:查看數(shù)據(jù)緩存區(qū)中是否還存在緩存數(shù)據(jù);如果還存在緩存數(shù)據(jù),則發(fā)送線程繼續(xù)讀取緩存數(shù)據(jù);以及如果不存在緩存數(shù)據(jù),則發(fā)送線程等待接收線程的通知。
[0021 ] 當網(wǎng)絡數(shù)據(jù)不完整時,持續(xù)接收網(wǎng)絡數(shù)據(jù),并對所接收的網(wǎng)絡數(shù)據(jù)進行拼接,從而形成一個完整的網(wǎng)絡數(shù)據(jù)包。
[0022]定義一個程序內容的統(tǒng)一遙控數(shù)據(jù)格式以緩沖遙控數(shù)據(jù),從而保證衛(wèi)模接收(轉換接口發(fā)送)的遙控格式與真星測試系統(tǒng)軟件發(fā)送的遙控格式之間沒有直接關系,從而可以任意組合。然后,根據(jù)衛(wèi)星型號變化的量,在配置文件中配置所接收的遙控數(shù)據(jù)格式和所發(fā)送的遙控數(shù)據(jù)格式。
[0023]協(xié)調接收線程和發(fā)送線程,并對數(shù)據(jù)緩存區(qū)進行保護,從而防止通用轉換接口損壞數(shù)據(jù),當發(fā)生意外事件時,以明顯方式通知使用者并告知原因,并同時釋放系統(tǒng)資源。
[0024]因此,通過本發(fā)明,可以實現(xiàn)以下的有益效果:
[0025]——實用性:通過衛(wèi)星模擬器遙控通用轉換接口,真星綜合測試系統(tǒng)軟件可以用于衛(wèi)星模擬器的測試,既提高了衛(wèi)星模擬器測試系統(tǒng)的搭建速度,又保證了衛(wèi)星模擬器測試系統(tǒng)的正確性。
[0026]—通用性:已經(jīng)在多個型號的衛(wèi)星模擬器的測試中使用,經(jīng)歷多個型號衛(wèi)星模擬器的測試,充分證明了衛(wèi)星模擬器遙控轉換接口的通用性。
[0027]——易用性:能夠實時顯示當前網(wǎng)絡連接狀態(tài)、遙控數(shù)據(jù)轉發(fā)計數(shù),方便觀察網(wǎng)絡通信情況和衛(wèi)星模擬器發(fā)出的遙控情況。
【附圖說明】
[0028]圖1是現(xiàn)有技術中的衛(wèi)星模擬器的測試連接圖;
[0029]圖2是現(xiàn)有技術中的真星綜合測試系統(tǒng)軟件的測試連接圖;
[0030]圖3是根據(jù)本發(fā)明的衛(wèi)星模擬器與真星綜合測試系統(tǒng)軟件的連接示意圖;
[0031]圖4是根據(jù)本發(fā)明的【具體實施方式】的衛(wèi)星模擬器遙控通用轉換接口的工作流程圖;
[0032]圖5是根據(jù)本發(fā)明的【具體實施方式】的衛(wèi)星模擬器遙控通用轉換接口的配置文件的示圖;以及
[0033]圖6是根據(jù)本發(fā)明的【具體實施方式】的衛(wèi)星模擬器遙控通用轉換接口實例的顯示頁面的示意圖。
【具體實施方式】
[0034]下面結合附圖及【具體實施方式】對本發(fā)明進行詳細說明。
[0035]首先,介紹衛(wèi)星模擬器遙控通用轉換接口的主要步驟。然而,應了解,遙控指令數(shù)據(jù)長度變化大,發(fā)送時間也是隨機的,因此遙控數(shù)據(jù)處理相對比較復雜,因此,遙控數(shù)據(jù)接收轉發(fā)的主要步驟如下:
[0036]I)讀取配置文件,建立網(wǎng)絡連接;
[0037]2)接收線程監(jiān)聽網(wǎng)絡,如果接收到遙控數(shù)據(jù),則檢查收到的數(shù)據(jù)是否完整,如果是不完整的數(shù)據(jù),則繼續(xù)接收直到收到完整的數(shù)據(jù)包;
[0038]3)將接收到的遙控數(shù)據(jù)轉換成統(tǒng)一的內部格式,并存放在緩存區(qū)中,并通知轉發(fā)線程已經(jīng)有新遙控數(shù)據(jù),開始步驟4),同時再次檢測接收到的網(wǎng)絡數(shù)據(jù)包中是否還有遙控數(shù)據(jù),如果還有遙控數(shù)據(jù),則重復步驟3),如果沒有遙控數(shù)據(jù),則接收線程執(zhí)行步驟2),繼續(xù)監(jiān)聽網(wǎng)絡;
[0039]4)從緩存區(qū)中讀取遙控數(shù)據(jù),并根據(jù)配置文件中的參數(shù),判斷遙控數(shù)據(jù)是非執(zhí)行指令數(shù)據(jù)還是執(zhí)行指令數(shù)據(jù),如果是非執(zhí)行指令數(shù)據(jù),按照配置參數(shù)和相應的協(xié)議完成兩個數(shù)據(jù)包(自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包),而如果是執(zhí)行指令數(shù)據(jù),則需要計算執(zhí)行脈寬和執(zhí)行周期,計算完成后,按照配置參數(shù)和相應協(xié)議完成兩個數(shù)據(jù)包(自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包);
[0040]5)自環(huán)數(shù)據(jù)包和轉發(fā)數(shù)據(jù)包完成后,根據(jù)自環(huán)時延和轉發(fā)時延的兩個參數(shù),按時將相應的數(shù)據(jù)包發(fā)送出去,轉發(fā)數(shù)據(jù)包發(fā)送出去后,遙控指令轉發(fā)個數(shù)加I ;以及
[0041]6)查看緩存區(qū)中是否還有緩存數(shù)據(jù),如果有重復步驟4),如果沒有等待接收線程的通知。
[0042]接下來,重點介紹衛(wèi)星模擬器遙控通用轉換接口的關鍵技術。
[0043]遙控通用轉換接口的設計最主要是以下三方面:
[0044]IH確、完整地接收遙控數(shù)據(jù)
[0045]首先,遙控指令的數(shù)據(jù)長度是不定的,對于衛(wèi)星最短的是幾ms脈沖寬度的執(zhí)行指令,長度為二十幾個字節(jié);最長的是上萬ms脈沖寬度的執(zhí)行指令,長度為一萬多個字節(jié)。再考慮到一個網(wǎng)絡數(shù)據(jù)包中可能有N個遙控數(shù)據(jù)包。因此有時接收到的遙控數(shù)據(jù)包會非