方威, 李德尚, 鄒泉
(中國飛行試驗研究院 中航工業飛行仿真航空科技重點實驗室, 陜西 西安 710089)
一種高實時性無人機數據鏈幀處理技術
方威, 李德尚, 鄒泉
(中國飛行試驗研究院 中航工業飛行仿真航空科技重點實驗室, 陜西 西安 710089)
為滿足無人機遙控飛行試驗中數據鏈傳輸的高實時性和可靠性要求,提出了數據幀設計和處理技術,加入拼幀機制并改進了數據鏈傳輸性能。通過在理想仿真環境、半實物仿真環境和真實飛行中對幀處理技術的研究,總結了拼幀設計思路和方法。最后,通過分析遙控飛行試驗的測試數據,驗證了幀設計及處理技術的正確性和可靠性。
無人機; 數據鏈; 時間延遲; 幀處理
在空地通信系統發展的初期,系統主要傳送話音數據。此時,空地通信采用甚高頻(VHF)空地通信系統和短波(HF)通信系統。這種通信手段存在一定的局限性,例如話音傳送速度慢、通信質量不穩定以及容易出錯等。因此,20世紀70年代,美國ARINC公司開發了一種基于VHF的空地數據通信系統,它具有通信速度快、抗干擾能力強、誤碼率低等特點,彌補了話音通信的缺點。21世紀以來,無人機技術取得了長足的發展,而其中的數據鏈(空地數據通信)成為連接無人機與指揮控制站的紐帶,使得此項技術變得更為關鍵。
本文側重于無人機數據鏈的軟件設計,針對數據鏈通訊技術,基于某軍用級數據鏈路平臺,研究了上下行通訊中數據幀的設計和處理技術。
1.1 數據鏈組成
無人機數據鏈一般由機載部分和地面部分組成,如圖1所示。機載部分包括機載數據終端和天線,地面部分包含地面數據終端和一付或幾付天線。

圖1 無人機數據鏈的組成Fig.1 Composition of UAV’s data link
從功能方面講,無人機數據鏈分為上行鏈路和下行鏈路。上行鏈路主要傳輸地面站至無人機的遙控指令,下行鏈路主要傳輸無人機至地面終端的遙測數據,一般下行鏈路的傳輸速率遠遠高于上行鏈路[1-2]。
1.2 數據幀設計方法
建立數據鏈平臺后,要確定數據以何種格式傳輸,即數據幀設計。數據幀要結合無人機使用功能來設計,需同時考慮實時性要求、傳輸方式以及數據傳輸對數據鏈路上下行帶寬的要求。帶寬代表了數據鏈的傳輸性能,決定了數據傳輸的時間長短和數據量大小,所以要盡可能地利用帶寬,設計滿足使用要求的數據幀協議。
數據鏈根據傳輸長度一般分為兩種:一種為面向比特型傳輸,例如美軍戰術數據鏈,數據傳輸的最小單位為一個比特位[3-4];另一種為面向字符型傳輸,例如點對點的軍用數據鏈、民用數傳電臺等,數據傳輸的最小單位為一個字節(8個比特位),一般由422總線或232總線傳輸。由于第二種傳輸方式應用廣泛,因此,本文討論面向字符型幀協議。
圖2介紹了兩種幀格式,其共同點是均有同步字和校驗碼。設置同步字是為了標明幀頭位置,校驗碼用于檢驗誤碼。圖2(a)端對端幀格式簡單、長度固定,最大程度地實現了多數據同時傳輸,特別適用于端對端、要求實時性高的遙控操縱;其不足之處
是所有數據都有其固定位置、不夠靈活,且對帶寬有一定的要求。圖2(b)廣播幀格式較為復雜、長度變化,除數據段外還有發送端和接收端號、信息種類、數據長度等信息,適用于廣播式發送、要求實時性一般的場合;其缺點是數據沒有固定位置,軟件處理復雜[5]。

圖2 數據鏈幀格式Fig.2 Frame format of UAV’s data link
2.1 概述
本文基于實時性要求較高的遙控飛行,對幀處理技術的研究均基于端對端數據幀格式。數據幀處理技術包括幀發送和幀接收處理。數據幀發送參照幀協議要求,在發送緩沖區中對應位置填上同步字、數據位和校驗字即可;幀接收相對復雜,不僅要參考幀協議要求,還要考慮硬件設備及其應用環境。以下結合無人機遙控飛行的試驗過程,介紹幀處理技術以及加入拼幀機制的處理方法。不同仿真環境下的幀處理方式如圖3所示。

圖3 仿真環境Fig.3 Simulation environment
2.2 理想仿真環境中的幀處理技術
圖3(a)中,兩臺工控機分別運行串口發送軟件和接收軟件,設置定時器為15 ms,循環發送和循環接收。測試在理想仿真環境下數據傳輸的丟幀率、時間延遲。試驗中取出接收緩沖區中的數據,根據幀協議判斷同步字頭、幀長和校驗碼分析測試結果。在沒有作任何接收處理技術時,所有接收幀與發送幀完全一致,數據解包正確、丟幀率為零,時間延遲為15 ms(等于程序運行周期)。反映出在有線連接條件下,422總線之間的通訊正常,數據傳輸結果理想。
2.3 實物仿真環境中的幀處理技術
圖3(b)中,數據鏈地面終端和機載終端分別連接工控機上串口,地面終端和機載終端用同軸電纜相連。取出接收緩沖區中的數據,根據幀協議判斷同步字頭、幀長和校驗碼。從結果看,接收數據長度不等于發送數據長度,且長度不斷變化,導致數據無法解包。分析原因,由于此種環境下系統參與的硬件較多,每個硬件有各自的時鐘,數據發送和接收在時序上不能保證精確統一,所以接收到的數據長度會不斷變化,解決方式是采用拼幀機制。拼幀機制如圖4所示。

圖4 拼幀示意圖Fig.4 Schematic diagram of frame piecing
圖4中,軟件中設置一個固定長度緩沖區(長度設置足夠大),并為該緩沖區設置輸入和輸出兩個指針。輸入指針始終指向該緩沖區中最新接收數據段尾,輸出指針始終指向前一次取出一個完整幀的幀尾對應在固定緩沖區的位置。實際應用中,當串口接收到數據后,取出接收緩沖區中的數據,將其放入固定緩沖區中,同時累加輸入指針指向新數據段尾。接下來,從輸出指針和輸入指針之間的緩沖區數據中,即圖中顯示待處理幀數據段,根據同步字、幀長和校驗碼取出一個完整的幀數據,即圖中顯示的一個完整幀,再根據幀協議解出對應參數。最后更新輸出指針位置到字節N+1位置。
加入了拼幀機制之后,解決了接收長度不斷變化的問題,最終可以得到一個完整正確的幀數據。
2.4 真實飛行環境中的幀處理技術
圖3(c)中,進行人在環地面閉環試驗時,出現了操縱延遲隨時間累積的現象?,F象描述為開始操縱和響應的時間延遲較小,約為300 ms(數據鏈路延遲和飛機本體操縱響應延遲之和),但隨著試驗的進行,時間延遲開始逐漸增加,達到2 s左右的時間延遲,且仍有增加趨勢,此時的遙控飛行操縱根本無法進行。
分析其原因,現有拼幀機制雖然保證可以接收到完整幀,但并沒有考慮到實時性要求。例如,當固定緩沖區中輸入指針和輸出指針間的數據段長度較長時,采用先入先出(FIFO)順序取出一個完整幀,此時在時間上靠后的數據即便也形成了一個完整幀(圖4中實線輸出指針和輸入指針間的數據段),也不會提取出來,而是等待到下一個循環接收處理時再取出。所以接收到最新的數據要等到一個循環周期或多個循環周期才被取出,且循環周期會隨時間不斷累加,最終出現了操縱延遲隨時間累積的現象。
解決方法是采用后入先出(LIFO)順序取出一個完整幀。即在新數據段中找出所有的幀同步字,并作標記。首先判斷數據段尾部的幀同步字是否能構成一個完整幀,如果是一個完整幀則取出,同時解出對應參數,此時這些參數即最新一次接收的數據,滿足了實時性要求;如果不是一個完整幀(幀長度不夠或校驗碼出錯),則取該幀之前的一幀數據,滿足了減少丟幀率的要求。拼幀機制流程如圖5所示。

圖5 拼幀機制流程圖Fig.5 Flow chart of frame piecing
與前次試驗結果相比,數據鏈時間延遲約為110 ms,且沒有了操縱延遲隨時間累積的現象,遙控飛行操縱基本可以進行。但從記錄數據來看,會出現間歇性時間延遲變大和解出參數出錯問題,后又恢復正常。
分析數據源,發現串口接收數據長度會突然增加很大,原因與機載飛控計算機的串口卡緩沖區設置及雙余度管理、數據鏈終端的發送或接收緩沖區的數據堆積有關。解決方式是將接收緩沖區數據放入固定緩沖區之前,加入接收長度判斷。若長度超過限定最大長度,則認為此組數據無效,丟棄不做處理,參數值維持在前一幀狀態,直到接收到下一幀數據,狀態才會改變。
經過上述對拼幀機制的改進,進行了多次的空中遙控飛行試驗,試驗結果滿足飛行要求。
3.1 數據鏈時間延遲
圖6為數據鏈時間延遲結果圖。圖中:實線為地面站接收信號test-rx;虛線為地面站發送信號test-tx;橫軸為時間;縱軸為測試信號參數值(無量綱)。

圖6 數據鏈時間延遲Fig.6 Time delay of UAV’s datalink
根據信號傳輸路徑和硬件數據刷新率,可計算出理論時間延遲85 ms[6]。由于忽略了信號在其他介質中傳播花費的時間,實際的時間延遲略大于85 ms。分析圖6,選取每個鋸齒波頂端為分析點,實線滯后虛線,觀察多個頂端點,滯后時間基本相同,可知時間延遲固定無累加。從圖中測量時間延遲范圍在90~110 ms,與理論計算基本相符。
圖7和圖8給出了遙控飛行時的橫向和縱向操縱時間延遲。操縱信號we和wa為地面站側桿指令;p和q為回傳到地面站的飛機滾轉角速度和俯仰角速度;橫向和縱向操縱時間延遲分別為324 ms和365 ms,是數據鏈和飛機本體時間延遲之和,基本滿足遙控飛行。

圖7 橫向操縱時間延遲Fig.7 Time delay of lateral control

圖8 縱向操縱時間延遲Fig.8 Time delay of longitudinal control
3.2 系統丟幀率
系統丟幀率包括整個鏈路受到干擾丟幀、終端處理丟幀以及為滿足實時性而主動丟幀,如圖9所示。圖中每個點表示一幀數據,數據幀從1以一個單位遞增到100。統計可得1~100單位中丟失的數據幀大多為22~27個,所以系統丟幀率范圍為22%~27%。

圖9 系統丟幀率Fig.9 System frame loss rate
幀缺失計數是指當程序每周期接收中出現接收零字節、接收緩沖區中無幀頭、接收幀長度錯誤及接收幀校驗碼出錯時的幀缺失計數累加。當上述任一條件不滿足時,幀缺失計數清零。加入拼幀機制后,可知程序運行1~2個周期即可形成一個完整幀。幀缺失計數如圖10所示??梢钥闯?幀缺失計數在0~1之間,與前述結果相符。遙控飛行時,地面虛擬視景畫面運動連續,飛機狀態參數顯示數值連續,基本滿足地面操作員觀察的需要。

圖10 幀缺失計數Fig.10 Frame loss count
本文提出的數據幀設計和處理技術加入了拼幀機制,并結合實時性要求作了進一步改進。對飛行試驗數據統計分析表明,數據鏈上下行時間延遲約為110 ms,遙控操縱時間延遲約為350 ms,丟幀率約為25%。該幀處理技術已經過多次遙控飛行試
驗驗證,其實時性和可靠性基本滿足飛行員提出的遙控駕駛要求。
[1] 王俊,周樹道,程龍,等.無人機數據鏈關鍵技術發展趨勢[J].飛航導彈,2011(3):62-65.
[2] 羅敏.數據鏈技術的發展及其應用[J].電子工程師,2008,34(9):51-52.
[3] 彭輝,相曉嘉,吳立珍.有人機/無人機協同任務控制系統[J].航空學報,2008,29(S1):135-141.
[4] 余昀.無人機數據鏈協議研究[J].艦船電子工程,2008, 28(9):50-54.
[5] 黃高陽,黃英君,駱志剛,等.數據鏈可靠傳輸協議的設計與仿真[J].系統仿真學報,2009,21(S2):218-225.
[6] 方威,王鋒,丁團結.無人機數據鏈性能研究[J].飛行力學,2010,28(6):68-71.
(編輯:李怡)
UAV’s data link frame processing technology with high real time
FANG Wei, LI De-Shang, ZOU Quan
(AVIC Aeronautical Science and Technology Key Laboratory of Flight Simulation, CFTE, Xi’an 710089, China)
To meet the requirements of good real-time and high reliability for data-link transmission in UAV remote control flight tests, the data frame design and processing technology with frame piecing mechanism were introduced. The technology could improve data-link transmission performance. The frame piecing design concept and method were summarized through the research on the frame processing technology in the ideal simulation, semi physical simulation and actual fight test environments. Finally, feasibility and reliability of the frame design and processing technology were validated based on the analysis of remote control fight test data.
UAV; data link; time delay; frame process
2014-05-19;
2014-09-10;
時間:2014-11-04 08:27
方威(1983-),男,江蘇徐州人,工程師,主要從事飛行控制、無人機數據鏈路通信研究。
V279; V217
A
1002-0853(2015)01-0087-05