国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理研究

2021-09-18 02:05:08孫小舒劉立士臧晶沈峙宇
科技資訊 2021年14期
關(guān)鍵詞:驗證數(shù)據(jù)處理

孫小舒 劉立士 臧晶 沈峙宇

摘? 要:隨著中國航天科技事業(yè)的快速發(fā)展,各類航天的需求量不斷增加,使用正確的工作方法,使航天器件各部分之間的數(shù)據(jù)處理更加易于控制、辨析、檢驗就顯得尤為重要。該文以航天器信息物理測試系統(tǒng)的開發(fā)為基礎(chǔ),通過接口化的程序設(shè)計實現(xiàn)數(shù)據(jù)處理的組包解包功能,最終通過半物理仿真任務(wù)進行數(shù)據(jù)處理的相關(guān)驗證。

關(guān)鍵詞:數(shù)據(jù)處理? 組包? 解包? 驗證

中圖分類號:V55? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:1672-3791(2021)05(b)-0059-03

Abstract: With the rapid development of China's aerospace science and technology, the demand for various types of aerospace is increasing. It is particularly important to use correct working methods to make the data processing between various parts of aerospace devices easier to control, analyze, and inspect. Based on the development of the spacecraft cyber-physical test system, this paper realizes the function of data processing grouping and unpacking through the interface programming, and finally performs the relevant verification of the data processing through the semi-physical simulation task.

Key Words: Data processing; Grouping; Unpacking; Verification

衛(wèi)星遙測遙控數(shù)據(jù)處理的方式有基于文本、基于配置文件、基于XML和基于XTCE等方式,但是都需要開發(fā)人員維護數(shù)據(jù)庫,并且XML語言相對復(fù)雜,語言解析速率相對較慢[1-3]。該文采用JSON數(shù)據(jù)描述語言,實現(xiàn)航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理。

1? 航天器信息物理測試系統(tǒng)

航天器信息物理測試系統(tǒng)在開發(fā)過程中主要分為兩部分:一是基于模型仿真驗證平臺;二是對硬件資源進行調(diào)配的終端系統(tǒng)。該系統(tǒng)是通過對衛(wèi)星各類器件或各個分系統(tǒng)進行數(shù)字化模型創(chuàng)建并連接星載航天器件的協(xié)同仿真實現(xiàn)的[4-6]。因此,在航天器信息物理測試系統(tǒng)中,遙測遙控數(shù)據(jù)傳輸硬件是仿真過程中的重要部分。

2? 數(shù)據(jù)處理的設(shè)計方法

航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理模塊在接收到存儲有遙控遙測數(shù)據(jù)協(xié)議配置信息的JSON語言后,調(diào)用組包程序?qū)I(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為二進制數(shù)據(jù),或調(diào)用解包模塊將二進制數(shù)據(jù)轉(zhuǎn)化為業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)處理模塊接收到JSON串后,會將解析出的所有協(xié)議抽象為一個庫,定義為平臺協(xié)議庫,由統(tǒng)一的接口函數(shù)進行調(diào)用。

根據(jù)相關(guān)的JSON協(xié)議,航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理模塊調(diào)用組/解包程序,將接收到的業(yè)務(wù)數(shù)據(jù)或者二進制數(shù)據(jù)按照協(xié)議信息周期性地進行數(shù)據(jù)轉(zhuǎn)化與處理,其程序流程如圖1所示。

在航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理研究中,組/解包程序設(shè)計流程的關(guān)鍵點是在組/解包過程中使用了遞歸函數(shù)來完成對協(xié)議各節(jié)點的遍歷,并且使用了等待的方法代替判斷用來監(jiān)測數(shù)據(jù)接收接口,這樣可以減少占用CPU資源[6]。

3? 數(shù)據(jù)處理的實現(xiàn)與驗證

該文中,因遙測遙控數(shù)據(jù)的組包協(xié)議與解包協(xié)議的構(gòu)建基本相同,因此在協(xié)議配置過程中,采用了配置一次生成兩種模型的設(shè)計方案。組包過程與解包過程的實現(xiàn)流程也大致形同,以解包過程的實現(xiàn)為例,偽代碼如下:

void EPOLL::ThreadEntry() //接收硬件數(shù)據(jù)并通知解包模塊

int ProtocolImple::OnReceive(const char* buff, size_tlen) {? //解包的入口

LOGGING_DEBUG("ProtocolID[%d] Recv Data:\n", protocol_id_);

if (PkgSrhType::kNoSch == type_container_.root_attr.srh_type) {

Decode(buff, len); } else {...}}

//確定所有位置和分支,并獲取所有值.

auto get_attr = [this](int id) { return param_attr_list_.find(id); };

auto get_value = [this](int id) { return param_value_list_.find(id); };

package_tree_->Decode(bc, get_attr, get_value, 0);

Print();

//通知接收到的數(shù)據(jù)

cb_(protocol_id_, param_value_list_);

//遞歸函數(shù)遍歷所有節(jié)點

size_tPackageTree::Decode(const core::BitContainer&bc, GetParamAttrget_attr,

GetParamValueget_value, size_t pos) {

TreeNode&attr = get_attr(data_.param_id)->second;...}

for (const auto&sub_node : children_) {

if (sub_node->data_.is_branch_invalid) {

data_.len += sub_node->Decode(bc, get_attr, get_value, pos + data_.len);

attr.len = data_.len; } }

return data_.len;}

該代碼使用遞歸遍歷“協(xié)議樹”的所有節(jié)點。以一個半物理組包測試仿真任務(wù)為例,針對組包數(shù)據(jù)的一致性進行實驗結(jié)果對比。組包初始化輸入數(shù)據(jù)如圖2所示,在終端log打印中以十六進制數(shù)據(jù)顯示,組包數(shù)據(jù)以1acffc1d開始以0001結(jié)束。調(diào)用組包程序,將數(shù)據(jù)進行組包處理,并通過平臺系統(tǒng)的數(shù)據(jù)顯控功能將組包完成數(shù)據(jù)進行過濾回傳。組包完成數(shù)據(jù)以十六進制顯示,如圖3所示。

經(jīng)過對比圖2的組包初始化輸入數(shù)據(jù)和圖3的組包完成數(shù)據(jù),可以發(fā)現(xiàn)數(shù)據(jù)大小、數(shù)據(jù)長度和數(shù)據(jù)位置3個方面均相同,該實驗結(jié)果證明了航天器信息物理測試系統(tǒng)的數(shù)據(jù)交互和數(shù)據(jù)處理模塊能夠完成數(shù)據(jù)的正確轉(zhuǎn)換。

4? 結(jié)語

該文首先闡述了航天器信息物理測試系統(tǒng)的功能與應(yīng)用,實現(xiàn)了FMU模型的業(yè)務(wù)數(shù)據(jù)與實物硬件的二進制數(shù)據(jù)之間的相互轉(zhuǎn)換,并將其統(tǒng)一為遙控遙測數(shù)據(jù)處理的組包與解包過程。最終通過實驗證明,航天器信息物理測試系統(tǒng)的數(shù)據(jù)處理結(jié)果正確。

參考文獻

[1] 何舒.基于XML的協(xié)議動態(tài)測試工具設(shè)計[J].軟件,2021,42(2):108-111.

[2] 張東,楊軍.XTCE在遙測事后數(shù)據(jù)處理中的應(yīng)用研究[J].電子設(shè)計工程,2021,29(4):159-163.

[3] 劉慧君,吳家菊,紀斌.基于數(shù)據(jù)模型的通用數(shù)據(jù)處理方法研究[J].電腦與信息技術(shù),2020,28(3):22-25.

[4] 玉紹康,關(guān)世杰,蘇一博.基于Java環(huán)境下的Redis發(fā)布訂閱的設(shè)計與實現(xiàn)[J].科技創(chuàng)新導(dǎo)報,2019,16(14):3,5.

[5] 陳永恒,韓東奇.利用Redis進行數(shù)據(jù)通信的研究與測試[J].科技創(chuàng)新導(dǎo)報,2018,15(14):173-174.

[6] 余思維.低成本的電機硬件在環(huán)實時仿真平臺設(shè)計[D].長沙理工大學(xué),2018.

猜你喜歡
驗證數(shù)據(jù)處理
認知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補與極大似然估計法*
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
合理猜想,有效驗證
晶閘管關(guān)斷特性的驗證解析
小題也可大做
彈藥保障需求分析實驗?zāi)P洼敵鰯?shù)據(jù)的驗證研究
價值工程(2016年30期)2016-11-24 14:19:29
汽車外后視鏡抖動問題模型的試驗驗證
汽車科技(2016年5期)2016-11-14 08:08:15
HPGe γ譜儀無源效率刻度軟件驗證
科技視界(2016年18期)2016-11-03 20:31:07
MATLAB在化學(xué)工程與工藝實驗數(shù)據(jù)處理中的應(yīng)用
Matlab在密立根油滴實驗數(shù)據(jù)處理中的應(yīng)用
金坛市| 剑河县| 怀宁县| 大兴区| 无锡市| 赤峰市| 铜鼓县| 遂平县| 西乌珠穆沁旗| 建宁县| 哈密市| 泾川县| 宜君县| 资源县| 乌拉特前旗| 武义县| 天全县| 河间市| 延津县| 治多县| 喀喇沁旗| 虞城县| 滁州市| 济宁市| 富民县| 桑日县| 美姑县| 陕西省| 琼结县| 稻城县| 五寨县| 威信县| 北宁市| 金堂县| 大同县| 长葛市| 东丽区| 龙游县| 山东省| 信宜市| 楚雄市|