徐 茜,宮海波,葉 冰
(中國飛行試驗(yàn)研究院,西安 710089)
?
一種新型的RS-422總線數(shù)據(jù)處理算法研究與實(shí)現(xiàn)
徐茜,宮海波,葉冰
(中國飛行試驗(yàn)研究院,西安710089)
為了滿足某型機(jī)試飛數(shù)據(jù)中新型RS-422總線參數(shù)的實(shí)時監(jiān)控和事后數(shù)據(jù)處理需求,提出了針對該新型RS-422總線參數(shù)的算法設(shè)計(jì)和實(shí)現(xiàn)方案;通過分析該新型RS-422總線參數(shù)的通信協(xié)議及數(shù)據(jù)包格式,決定采用調(diào)整機(jī)載格柵中數(shù)據(jù)的幀結(jié)構(gòu)排放以及重置帶頭中參數(shù)采樣率的方式,實(shí)現(xiàn)了參數(shù)的解析及還原算法,并設(shè)計(jì)了相應(yīng)的實(shí)時監(jiān)控以及事后處理軟件;該軟件已經(jīng)成功應(yīng)用于該型機(jī)的飛行試驗(yàn)中,為飛機(jī)飛行安全監(jiān)控以及事后數(shù)據(jù)處理分析提供了有力保障。
RS-422;實(shí)時監(jiān)控;數(shù)據(jù)處理;算法
隨著航空技術(shù)的不斷進(jìn)步,飛行試驗(yàn)技術(shù)也在不斷發(fā)展。在飛行試驗(yàn)中,通過對飛機(jī)上各子系統(tǒng)發(fā)送的數(shù)據(jù)進(jìn)行采集、記錄,并將采集到的飛行數(shù)據(jù)進(jìn)行遙測監(jiān)控來保障飛行安全[1-2]。飛行結(jié)束后,通過對機(jī)載記錄的數(shù)據(jù)進(jìn)行處理和分析,以鑒定飛行任務(wù)執(zhí)行情況和飛機(jī)各項(xiàng)性能指標(biāo)[3]。
隨著航空電子技術(shù)日新月異的發(fā)展,機(jī)載通信設(shè)備的復(fù)雜性也越來越高,設(shè)備間通信采用的各種總線技術(shù)也在不斷發(fā)展[4]。飛機(jī)各個系統(tǒng)間總線傳輸?shù)臄?shù)據(jù)對飛機(jī)各項(xiàng)性能指標(biāo)的評定起著至關(guān)重要的作用,因此,對飛機(jī)各類總線數(shù)據(jù)的采集、記錄和處理是飛行試驗(yàn)中的關(guān)鍵環(huán)節(jié)?,F(xiàn)有的總線類型包括RS-422、429、1553B和光纖總線等[5]。在某型機(jī)的科研試飛任務(wù)中,相對于1553B、429等總線參數(shù),RS-422總線參數(shù)占所有采集參數(shù)的比重達(dá)到70%,對該型機(jī)的試飛鑒定起著舉足輕重的作用。與以往的422總線參數(shù)相比,該新型422總線的通信及數(shù)據(jù)包格式有很大改變,因此,如何將該新型422總線參數(shù)進(jìn)行準(zhǔn)確解算,并進(jìn)行實(shí)時監(jiān)控和事后處理是本文研究的關(guān)鍵問題。
該422總線的數(shù)據(jù)通信協(xié)議為自定義協(xié)議,與以往的422總線相比,具有不同的通信及數(shù)據(jù)包格式。其數(shù)據(jù)包結(jié)構(gòu)為:SS,L,O,DDDDDDDDDDDDDDDD…,C,每個部分的具體定義如下:
1)SS:同步碼(U8*2),值為0xaa,0xaa;
2)L:數(shù)據(jù)包長度(U8*1),值為L+O+D+C;
3)O:命令代碼(U8*1),值為0~255;
4)D:長度不定,表示數(shù)據(jù)包信息內(nèi)容;
5)C:校驗(yàn)值(U8*1),其值為將L,O,D進(jìn)行異或和校驗(yàn)后得到的8位校驗(yàn)碼。
數(shù)據(jù)包信息內(nèi)容如表1所示。
表1 數(shù)據(jù)包信息內(nèi)容
每個數(shù)據(jù)包包含8個參數(shù)數(shù)值,每個數(shù)值占2個字,低位在前,高位在后。每64個數(shù)據(jù)包的數(shù)值組成一幀,每幀的幀頭為0x0247,0x05B8,0x0A47,0x0DB8其中的一個,為同步頭,每4個幀組成一大包,包中每個幀幀頭的排列順序依次為0x0247,0x05B8,0x0A47,0x0DB8。
包序號表示當(dāng)前包在整個數(shù)據(jù)包中的序號,取值為0~255,即包序號為0~63的數(shù)據(jù)包組成第一幀,包序號為64~127、128~191、192~255的數(shù)據(jù)包分別為第二至第四幀,總數(shù)值數(shù)為2048(8*256)。
2.1軟件的算法及關(guān)鍵代碼
2.1.1采樣點(diǎn)的幀結(jié)構(gòu)排放及采樣率設(shè)置
該422總線上記錄的是飛參數(shù)據(jù),參數(shù)數(shù)值分布在2048個采樣點(diǎn)上。采樣點(diǎn)的編號從0開始,表示參數(shù)在整個數(shù)據(jù)包中的采樣位置。每個采樣點(diǎn)由兩個字的數(shù)據(jù)組成,每個字的高8位是有效位。
參數(shù)的采樣率由其采樣點(diǎn)信息決定,如參數(shù)“幀同步字符”,其采樣點(diǎn)為4個,則在全部2048個采樣點(diǎn)中,參數(shù)“幀同步字符”的值分布在4個采樣點(diǎn)內(nèi)。如何將這4個采樣點(diǎn)的值作為一個參數(shù)“幀同步字符”的數(shù)值提取出來,是需要解決的首要問題。經(jīng)過對ICD的反復(fù)分析,決定將全部2048個采樣點(diǎn)放在格柵中的某一連續(xù)位置,并將每個參數(shù)對應(yīng)的采樣點(diǎn)放在同一列內(nèi)。設(shè)計(jì)采用的幀格式為每秒16個長周,每個長周32個短周,每個短周256個字。排列方式是:2048個采樣點(diǎn)按要求放在從第0行第114列~第31行第248列的對應(yīng)位置。以參數(shù)“幀同步字符”為例,由于其采樣點(diǎn)為4個,編號分別為0、512、1024、1536,每個采樣點(diǎn)由兩個字組成,則將其0號采樣點(diǎn)放在第0行第114列、115列,512號采樣點(diǎn)放在第8行第114列、115列,1024號采樣點(diǎn)放在第16行第114列、115列,1536號采樣點(diǎn)放在第24行第114列、115列。然后,再將帶頭中的0號采樣點(diǎn)對應(yīng)參數(shù)的長周采樣率改為4,則在處理數(shù)據(jù)時,可以通過0號采樣點(diǎn)對應(yīng)參數(shù)將相關(guān)采樣點(diǎn)的值全部取出,0號采樣點(diǎn)對應(yīng)的參數(shù)值將作為參數(shù)“幀同步字符”的值輸出。表2給出了參數(shù)“幀同步字符”的幀結(jié)構(gòu)排放位置。
表2 “幀同步字符”的幀結(jié)構(gòu)
其中,短周號指幀結(jié)構(gòu)中的行號,字號指幀結(jié)構(gòu)中的列號;采樣點(diǎn)n_ DW0、采樣點(diǎn)n_DW1代表參數(shù)的n號采樣點(diǎn)對應(yīng)的兩個字。
以此類推,其它參數(shù)的幀結(jié)構(gòu)及長周采樣率也同樣進(jìn)行設(shè)置。
2.1.2采樣點(diǎn)拼位
由該422參數(shù)定義所知,每個采樣點(diǎn)由兩個字組成,采樣點(diǎn)的低位在前1個字、高位在后1個字,由于422參數(shù)是高8位有效,因此需將兩個字分別取高8位,顛倒字序后拼成一個16位參數(shù)字。例如,組成某個采樣點(diǎn)的兩個字的數(shù)值分別為0x3EAA、0x0BCC,則進(jìn)行拼位等計(jì)算后的采樣點(diǎn)的數(shù)值是0x0B3E。
2.1.3參數(shù)類型解析
參數(shù)采樣點(diǎn)的后續(xù)點(diǎn)類型有7種。不同的后續(xù)點(diǎn)類型決定了該參數(shù)包含的采樣點(diǎn)個數(shù)、采樣點(diǎn)的取位及組合方式。根據(jù)不同的后續(xù)點(diǎn)類型,調(diào)用不同的函數(shù)對組成參數(shù)的采樣點(diǎn)進(jìn)行取位、拼位計(jì)算,對應(yīng)的代碼如下:
switch(afterPoint)
{
case 0:
afterPoint0(); //調(diào)用后續(xù)點(diǎn)類型0對應(yīng)函數(shù);
break;
case 1:
afterPoint1(); //調(diào)用后續(xù)點(diǎn)類型1對應(yīng)函數(shù);
break;
……
case 6:
afterPoint6(); //調(diào)用后續(xù)點(diǎn)類型6對應(yīng)函數(shù);
break;
default:
afterPoint0(); //調(diào)用后續(xù)點(diǎn)類型0對應(yīng)函數(shù);
}
2.1.4有效位掩碼運(yùn)算
將參數(shù)類型解析后得到的參數(shù)值與給定的有效位掩碼進(jìn)行“位與運(yùn)算”,得到新的參數(shù)值。
2.1.5數(shù)據(jù)還原
根據(jù)不同的數(shù)據(jù)還原類型,需要對有效位掩碼運(yùn)算后得到的數(shù)據(jù)進(jìn)行不同的運(yùn)算,將參數(shù)原碼值轉(zhuǎn)換成物理量后輸出。數(shù)據(jù)還原分以下5種情況:
a)無:不需要進(jìn)行還原;
b)線性還原:即原碼值與物理量之間的關(guān)系為線性關(guān)系,采用線性插值法將原碼值換算成物理量;
c)離散還原:將離散量換算成對應(yīng)的含義。
d)多段組合還原:將數(shù)值中不同位解算出對應(yīng)含義后再進(jìn)行組合。
e)公式計(jì)算還原:將原碼值按給定公式計(jì)算得到相應(yīng)的物理量。
2.2算法流程圖
該新型422總線參數(shù)的處理算法流程如圖1所示。
圖1 算法流程圖
如圖1所示,第一步,首先在格柵中根據(jù)2.1.1節(jié)的要求排放參數(shù)的幀結(jié)構(gòu),這是后續(xù)正確進(jìn)行數(shù)據(jù)提取的前提;然后在格柵轉(zhuǎn)換成數(shù)據(jù)處理帶頭文件的過程中,對該422總線參數(shù)進(jìn)行采樣率重新設(shè)置。第二步,讀取數(shù)據(jù)中422總線參數(shù)的原碼,根據(jù)ICD的定義進(jìn)行采樣點(diǎn)拼位計(jì)算。第三步,根據(jù)參數(shù)采樣點(diǎn)的后續(xù)點(diǎn)類型的定義,調(diào)用不同的后續(xù)點(diǎn)類型函數(shù)進(jìn)行計(jì)算。第四步,將第三步計(jì)算得到的參數(shù)值與給定的有效位掩碼進(jìn)行“位與運(yùn)算”,得到新的參數(shù)值。第五步,根據(jù)不同的數(shù)據(jù)還原類型,將第四步計(jì)算的數(shù)據(jù)轉(zhuǎn)換成物理量后輸出。
2.3軟件界面設(shè)計(jì)
實(shí)時監(jiān)控軟件采用小系統(tǒng)和Magali系統(tǒng)雙接口的形式,在監(jiān)控時可靈活選用小系統(tǒng)或Magali系統(tǒng)進(jìn)行實(shí)時監(jiān)控。由于該422總線參數(shù)超過200個,無法在一幅畫面上完全顯示,因此根據(jù)參數(shù)的分類不同,將監(jiān)控畫面分為主畫面、發(fā)動機(jī)主畫面、發(fā)動機(jī)輔助畫面、APU畫面、振動畫面和測溫畫面等幾個卡片頁顯示。實(shí)時監(jiān)控軟件如圖2所示。
圖2 實(shí)時監(jiān)控軟件界面圖
圖2畫面中的70%的參數(shù)取自該新型RS-422總線,如基本飛行參數(shù)(氣壓高度、偏航角等)、告警燈、發(fā)動機(jī)轉(zhuǎn)速等參數(shù)。因此,正確地解算出該422總線參數(shù)對于飛行的實(shí)時監(jiān)控起著至關(guān)重要的作用,對飛行安全的保障、機(jī)載設(shè)備的性能評定具有重要的意義。
該422總線參數(shù)事后處理軟件如圖3所示。
圖3所示軟件中,首先在“原始文件”處選擇原始數(shù)據(jù)文件,該文件指將抽引到PCM流中的該422數(shù)據(jù)包的原始數(shù)據(jù)經(jīng)由“PCM處理軟件”處理后提取出來的數(shù)據(jù)文件;在“結(jié)果文件”處選擇結(jié)果文件的存放路徑并指定結(jié)果文件的名字;然后在需要處理的參數(shù)組前打鉤,可以選擇需要處理的不同參數(shù)組,也可以選擇全部參數(shù)進(jìn)行處理;最后點(diǎn)擊“開始處理”按鈕,程序開始運(yùn)行。在處理過程中通過進(jìn)度條顯示處理進(jìn)度,進(jìn)度條顯示100%時,彈出對話框并發(fā)出提示音提示數(shù)據(jù)處理完成。
圖3 事后處理軟件界面圖
與傳統(tǒng)的422總線參數(shù)算法相比,本文研究的422總線算法編程難度高、程序設(shè)計(jì)復(fù)雜、計(jì)算數(shù)據(jù)量大。通過對該422總線的通信協(xié)議及數(shù)據(jù)包結(jié)構(gòu)的深入理解和正確分析,設(shè)計(jì)實(shí)現(xiàn)了該422總線參數(shù)的實(shí)時監(jiān)控和事后處理軟件。經(jīng)過在型號任務(wù)中的多次使用驗(yàn)證,本文設(shè)計(jì)實(shí)現(xiàn)的實(shí)時監(jiān)控及事后處理軟件能夠穩(wěn)定、可靠地運(yùn)行,對于該型機(jī)試飛安全的保障、飛機(jī)各項(xiàng)性能指標(biāo)的評定具有十分重要的作用。另外,該422總線算法的設(shè)計(jì)與實(shí)現(xiàn)亦能應(yīng)用于其它型號。
[1] 劉瑜,王海維,柳勇. 最小操縱速度飛行試驗(yàn)技術(shù)研究[J]. 科學(xué)技術(shù)與工程,2012,12(3):607-611.
[2] 劉尚民,趙磊. 電傳飛機(jī)模型自由飛試驗(yàn)飛行控制技術(shù)研究[J].飛行力學(xué),2012,30(1):83-86.
[3] 李林,趙明莉.某機(jī)載顯示處理機(jī)測試設(shè)備設(shè)計(jì)與實(shí)現(xiàn)[J].測控技術(shù),2012,31(8):117-119.
[4] 張鵬飛,李鵬,沈三民,等.一種遙測數(shù)據(jù)采編器設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2011,(2):468-470.
[5] 劉正升,萬程亮,蔣志忠,等.自動測試系統(tǒng)中新技術(shù)的發(fā)展及應(yīng)用[J].中國測試,2009,35(4):58-61.
Research and Implementation of a New Type of RS-422 Bus Data Processing Algorithm
Xu Qian,Gong Haibo,Ye Bing
(Chinese Flight Test Establishment,Xi′an710089,China)
In order to meet the requirements of real-time monitoring and post processing of the new RS-422 bus parameters in flight test data of a certain type aircraft,the algorithm design and implementation scheme for the new RS-422 bus parameters is proposed. By analyzing the communication protocol and data packet format of the new RS-422 bus parameters,the method of adjusting the frame structure and resetting the sampling rate is adopted to realize the analysis and reduction algorithm of the parameters,and the corresponding real-time monitoring and post processing software were designed. The software has been successfully used in the flight test of the aircraft,which provides a strong guarantee for the flight safety monitoring and data processing analysis.
RS-422; real-time monitoring; data processing; algorithm
1671-4598(2016)04-0244-03DOI:10.16526/j.cnki.11-4762/tp.2016.04.070
TP277
A
2015-10-27;
2015-11-08。
徐茜(1984-),女,陜西省西安市人,碩士,工程師,主要從事飛行試驗(yàn)、遙測與數(shù)據(jù)處理方向的研究。