亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        衛(wèi)星載荷軟件的層次化設計

        2012-03-18 08:09:50黎佩南
        電訊技術(shù) 2012年5期
        關(guān)鍵詞:鏈表遙測載荷

        黎佩南

        (中國西南電子技術(shù)研究所, 成都610036)

        1 引 言

        隨著數(shù)字化技術(shù)和器件水平不斷發(fā)展,一個任務系統(tǒng)中越來越多的功能依賴軟件來實現(xiàn),航天載荷也不例外。但是,航天系統(tǒng)任務固有特點使載荷軟件在可靠性上具有比其他類型軟件更高的要求,同時,隨著技術(shù)的發(fā)展和應用的需要,近年來,學術(shù)界提出了快速響應、軟件星等技術(shù),要求載荷軟件具有快速開發(fā)、臨時組裝、使用靈活等特性。而傳統(tǒng)的航天產(chǎn)品軟件開發(fā)以結(jié)構(gòu)化設計為主,軟件完全依據(jù)載荷任務而定制,通用性差,即使是功能相同的模塊,在不同平臺之間也難以移植,使載荷軟件在研發(fā)周期、成本、測試遍歷覆蓋等方面難以滿足未來任務的高節(jié)奏要求。

        本文針對未來軟件星、快響衛(wèi)星載荷的可能需求,提出一種基于模塊的分層綜合軟件設計思路,通過對載荷可能功能的梳理,提煉成若干功能模塊,按照組合化思路構(gòu)建系統(tǒng)軟件體系,方便功能裁減、設計驗證、分塊測試。這樣,一些已經(jīng)經(jīng)過使用驗證的模塊可以方便地在不同平臺間移植,不僅縮短了載荷軟件研發(fā)時間,降低了開發(fā)測試成本,而且有效地提高了可靠性。

        2 衛(wèi)星載荷軟件的功能分析

        不同的衛(wèi)星,其載荷完成的任務各不相同,但對于載荷軟件來說,其功能卻有相同或相似之處??偟膩碚f,載荷軟件可看做一個信息交換中心,實現(xiàn)有效載荷與星務平臺及星間鏈路之間的數(shù)據(jù)交換,因此在設計時可以采取“弱化載荷實體功能、強化信息管理與交換功能” 的思路,將載荷軟件的任務模型提煉為“接收、發(fā)送、執(zhí)行”,即:接收和解釋星務平臺下發(fā)的指令,根據(jù)指令調(diào)度和控制載荷各設備去執(zhí)行相應任務;接收并封裝各載荷設備在工作中產(chǎn)生的數(shù)據(jù),上報星務平臺??梢詫⑤d荷軟件功能模塊進行如圖1 所示的劃分。

        圖1 載荷軟件的功能劃分Fig.1 Function partitioning of payload software

        3 載荷軟件的層次化設計

        層次化設計的關(guān)鍵在于對軟件所實現(xiàn)功能和任務的分解,上層設計只需要底層軟件部件的功能和接口,低層軟件部件內(nèi)部工作所需的信息保持隱藏狀態(tài)[1]。通過對載荷軟件功能的分析,可將其分為如圖2 所示的層次。

        圖2 載荷軟件的功能劃分Fig.2 Hierarchical partitioning of payload software function

        根據(jù)軟件各部分實現(xiàn)的功能,整個軟件分為3層,即系統(tǒng)層、協(xié)議層、應用層。

        3.1 系統(tǒng)層

        系統(tǒng)層包括操作系統(tǒng)和端口驅(qū)動,是整個軟件運行的支撐平臺,提供實時多任務環(huán)境,實現(xiàn)整個軟件與硬件的接口。

        3.1.1 操作系統(tǒng)

        20 世紀90 年代以來,實時多任務的操作系統(tǒng)(以VxWorks 和RTEMS 兩大系統(tǒng)為主)開始大量應用在衛(wèi)星平臺上,這兩種操作系統(tǒng)都具有實時性強、占用系統(tǒng)資源少、支持多任務、內(nèi)核可裁剪等特點,是當前航空航天和軍工領域主流的嵌入式操作系統(tǒng)。以VxWorks 為例,它是由400 多個相對獨立、短小精煉的模塊組成,包括多任務環(huán)境(Kernel)、文件系統(tǒng)、虛擬內(nèi)存管理、網(wǎng)絡協(xié)議棧、I/O 系統(tǒng)接口等,可根據(jù)實際使用情況進行裁剪和組合,甚至可以裁剪到只剩下最簡內(nèi)核(任務的管理與調(diào)度,稱為納核,可以只有8k)。

        3.1.2 端口驅(qū)動層

        端口驅(qū)動層用于對具體的硬件設備進行管理和服務, 封裝各種硬件接口(如RS422、CAN 總線、LVDS、1533B、1394 等)的讀出和寫入操作,使上層軟件完全不必考慮硬件類型、地址、時序等,只需要調(diào)用端口驅(qū)動層提供的讀寫函數(shù)。端口驅(qū)動程序主要完成以下工作:相關(guān)設備的初始化、底層輸入輸出函數(shù)與上層標準輸入輸出函數(shù)的掛接、相關(guān)設備與對應驅(qū)動程序的掛接。為了降低軟件內(nèi)部模塊的耦合度及提高效率,該層的函數(shù)應只針對單一接口進行讀寫,不提倡在這一層進行組幀、優(yōu)先級判斷等其他操作。為提高適應性,可將硬件接口的地址做為輸入?yún)?shù),這樣,針對不同的平臺,只需改變地址,就可實現(xiàn)同類型接口的讀寫,而不必對軟件進行修改。

        系統(tǒng)層各部分與硬件緊密相關(guān),不同的主板,甚至不同的芯片所對應的軟件都不一樣,但是由于星載設備一般優(yōu)先使用成熟技術(shù)的特性,技術(shù)的沿用性很強,因此相對來說,這一部分的變化反而是最小的,只需針對不同的系統(tǒng)進行簡單修改即可。

        3.2 協(xié)議層

        包括輸入輸出和數(shù)據(jù)處理,用于實現(xiàn)整個系統(tǒng)的數(shù)據(jù)接收、發(fā)送、分拆、封裝等。

        3.2.1 輸入輸出層

        輸入輸出層調(diào)用端口驅(qū)動層提供的函數(shù),實現(xiàn)對不同接口的讀出和寫入數(shù)據(jù)。不同的衛(wèi)星平臺,其接口有所不同,在輸入輸出層按照接口進行模塊化設計,便于裁剪,可以完成不同衛(wèi)星平臺硬件接口的完全封裝[2]。

        數(shù)據(jù)輸入一般采用中斷(實時性要求高,如上位機下發(fā)的OC 指令、任務包指令、存儲指令等)和定時讀取(實時性要求低、設備狀態(tài)和參數(shù)等)兩種方式,為了保證系統(tǒng)的高效運行和模塊化,一般只將數(shù)據(jù)存放在接收鏈表中,而不做任何處理。需要注意的是,每次向鏈表中插入新的數(shù)據(jù)時,必須遍歷鏈表,根據(jù)其優(yōu)先級來確定插入的位置,以確保優(yōu)先級高的數(shù)據(jù)在鏈表中的位置始終比優(yōu)先級低的數(shù)據(jù)靠前,以提高實時性,如圖3 所示。

        圖3 數(shù)據(jù)按優(yōu)先級插入鏈表Fig.3 PRI data insertion chain

        數(shù)據(jù)輸出一般遍歷消息隊列、鏈表,對其中的數(shù)據(jù)進行順序發(fā)送,而不判斷其優(yōu)先級。

        3.2.2 數(shù)據(jù)處理層

        數(shù)據(jù)處理層完成對數(shù)據(jù)的解包和封裝,即將從數(shù)據(jù)鏈表或消息隊列中讀取的數(shù)據(jù)按協(xié)議解包,取出有效數(shù)據(jù),或?qū)⒂行?shù)據(jù)按協(xié)議進行封裝,插入數(shù)據(jù)鏈表或消息隊列。一般來說,同一硬件接口的數(shù)據(jù),其封裝結(jié)構(gòu)都是一致的,為降低模塊之間的耦合度,可按不同接口或協(xié)議分別編寫解包和封裝模塊。

        數(shù)據(jù)處理層完成對數(shù)據(jù)協(xié)議的隔離,使應用層和輸入輸出層可以直接使用有效數(shù)據(jù),而不必關(guān)心具體的協(xié)議,這樣,一些與協(xié)議無關(guān)的過程可以最大限度地復用和移植。

        3.3 應用層

        該層實現(xiàn)載荷軟件的具體應用,在對其功能和任務進行抽象后,可將載荷軟件劃分遙測輪詢、任務調(diào)度、存儲管理、設備管理、故障處理、公用模塊等。

        3.3.1 遙測輪詢模塊

        定時查詢各設備狀態(tài),并將查詢的結(jié)果按照協(xié)議要求封裝并上報。遙測輪詢模塊包含兩個功能,遙測響應和定時輪詢。

        (1)遙測響應:對星務平臺各類遙測指令的響應,收到遙測指令后,從緩沖區(qū)中取出需要的數(shù)據(jù)進行拼裝,發(fā)送給星務平臺。

        (2)定時輪詢:定時查詢所監(jiān)控設備的狀態(tài)、參數(shù)等,將數(shù)據(jù)存放在緩沖區(qū)中,在收到遙測指令時可隨時組裝。

        3.3.2 任務調(diào)度

        任務調(diào)度是整個軟件的核心,與衛(wèi)星所執(zhí)行的具體任務密切相關(guān)。該模塊完成優(yōu)先級調(diào)度、流程控制、內(nèi)存管理等功能,幾乎不具有通用性。

        3.3.3 存儲管理

        衛(wèi)星下行通道帶寬有限,星上采集的數(shù)據(jù)往往不能及時傳回地面,需要在星上進行存儲。該模塊拼裝待存儲的數(shù)據(jù),調(diào)用相應存儲接口的輸出函數(shù),實現(xiàn)對數(shù)據(jù)的存儲。

        3.3.4 設備管理

        該模塊實現(xiàn)對各種設備的控制處理,可根據(jù)所屬設備的類型分為若干子模塊,如接收機、天線、望遠鏡、紅外線等設備控制、設備的加斷電、主備切換等。對一些用于組網(wǎng)或系列發(fā)射的衛(wèi)星,由于其功能具有相似性或延續(xù)性,一些相同設備的控制模塊可以重復使用。

        3.3.5 故障處理

        由于衛(wèi)星所處環(huán)境的特殊性(高真空、超低溫、強輻射等,復雜的空間環(huán)境可能導致硬件故障、程序跑飛、應用程序數(shù)據(jù)錯誤、內(nèi)部操作系統(tǒng)數(shù)據(jù)錯誤以及由于數(shù)據(jù)錯誤帶來的其他不可預料的后果[3])和星載軟件本身的特性(嵌入式為主、實時性要求高、自動化程度高、維修困難),星載軟件有著遠高于其他軟件的可靠性要求和獨特的故障處理模式。故障處理模塊完成軟件的查錯、容錯、糾錯等功能,通常采用的方法有指令冗余、軟件陷阱、軟件看門狗、數(shù)字濾波等。

        3.3.6 公用模塊

        公用模塊用于實現(xiàn)軟件中一些被多次使用的功能,如鏈表管理、校驗計算等、內(nèi)存拷貝、數(shù)據(jù)比較等。

        應用層是實現(xiàn)載荷軟件功能的關(guān)鍵,與衛(wèi)星本身的任務密切相關(guān),不同的衛(wèi)星其應用層的實現(xiàn)千差萬別,因此在設計時將任務管理單獨列出,使載荷軟件的差異化設計盡量限制在一個模塊中,同時由其他模塊完成相對通用的功能。由于星載應用的特殊性,星載產(chǎn)品設計的第一原則是盡量采用成熟技術(shù),一些共用的技術(shù)甚至是接口協(xié)議,具有很強的延續(xù)性,特別是用于組網(wǎng)的系列衛(wèi)星,這樣的層次和模塊劃分可以使其他模塊能夠最大程度地被移植和復用。

        4 結(jié)束語

        隨著衛(wèi)星應用的發(fā)展,載荷的功能越來越強大,載荷軟件的也隨之日趨復雜,其架構(gòu)成為制約其質(zhì)量的重要因素。在軟件代碼實現(xiàn)前合理規(guī)劃軟件架構(gòu),設計嵌入式軟件框架,有利于分工協(xié)作和聯(lián)合調(diào)試[5]。本文提出的衛(wèi)星載荷軟件層次化設計方法已在某系列實驗衛(wèi)星中使用,采用這樣的設計方法,使整個軟件架構(gòu)清晰、接口明確、高內(nèi)聚、低耦合,系統(tǒng)層、協(xié)議層無需修改即可移植,大大縮短了開發(fā)和測試時間。因此,這樣的方法具有工程實踐指導意義,也可供其他系統(tǒng)借鑒。

        [ 1] 湯銘瑞.航天型號軟件研制過程[M] .北京:宇航出版社,1999.

        TANG Ming -rui.Aerospace Program Software Developing Process[ M] .Beijing:China Astronautic Pub lishing House,1999.(in Chinese)

        [ 2] 王磊,袁利.衛(wèi)星綜合軟件的體系結(jié)構(gòu)研究[ J] .空間控制技術(shù)與應用,2010, 36(1):31-36.

        WANG Lei, YUAN Li.Integrated Software Architecture for Satellites[ J] .Aerospace Control and Application, 2010, 36(1):31-36.(in Chinese)

        [ 3] 李新明,李小將, 李藝,等.分布式衛(wèi)星嵌入式計算機系統(tǒng)結(jié)構(gòu)設計方法[J] .中國空間科學技術(shù),2010(4):1-8.

        LI Xin-ming, LI Xiao-jiang, LI Yi, et al.M ethod of Designing Embedded Computer System Architecture in Distributed Satellite[ J] .Chinese Space Science and Technology,2010(4):1-8.(in Chinese)

        [4] 黃琪, 姜濤.星載計算機中實時多任務軟件的設計[ J] .通信對抗,2009(1):58-61.

        HUANG Qi, JIANG Tao.Real-Time Multi-Task Software Design of Spaceborne Computer[ J] .Communication Countermeasures, 2009(1):58-61.(in Chinese)

        [5] 程敬原.VxWorks 軟件開發(fā)項目實例完全解析[M] .北京:中國電力出版社,2005.

        CHENG Jing -yuan.VxWorks software development project case study[M] .Beijing:China Electric Power Press, 2005.(in Chinese)

        猜你喜歡
        鏈表遙測載荷
        交通運輸部海事局“新一代衛(wèi)星AIS驗證載荷”成功發(fā)射
        水上消防(2022年2期)2022-07-22 08:45:00
        基于二進制鏈表的粗糙集屬性約簡
        自適應模糊PID控制的遙測方艙溫度調(diào)節(jié)方法
        電子制作(2019年11期)2019-07-04 00:34:40
        跟麥咭學編程
        某小型無人機遙測軟件設計
        電子測試(2018年13期)2018-09-26 03:30:00
        基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
        滾轉(zhuǎn)機動載荷減緩風洞試驗
        淺談如何提高遙測狀態(tài)估計合格率
        一種基于白噪聲響應的隨機載荷譜識別方法
        鏈表方式集中器抄表的設計
        電測與儀表(2014年1期)2014-04-04 12:00:22
        中文字幕人妻丝袜成熟乱| 日本一区二区三区在线| av有码在线一区二区三区| 国产极品裸体av在线激情网| 日产亚洲一区二区三区| 无码不卡高清毛片免费| 极品美女销魂一区二区三| av手机在线观看不卡| 人妻哺乳奶头奶水| 99爱这里只有精品| 亚洲国产高清在线一区二区三区 | 亚洲综合久久中文字幕专区一区| 色天使久久综合网天天| 中国丰满熟妇xxxx| 中文无码日韩欧免费视频| 国产视频在线观看一区二区三区| 国产成人a∨激情视频厨房| 又黄又爽的成人免费视频| AV无码人妻一区二区三区牛牛| 亚洲视频一区二区免费看| 亚洲av无码av在线播放| 岛国AV一区二区三区在线观看| 国产综合一区二区三区av| 日韩人妻中文字幕高清在线| 欧美黑人性暴力猛交喷水黑人巨大| 亚洲av美女在线播放啊| 色综合久久精品中文字幕| 暖暖 免费 高清 日本 在线| 亚洲av永久无码一区| 日本一区二区三区中文字幕视频| 中文字幕av永久免费在线| 国语对白嫖老妇胖老太| 国内精品伊人久久久久av| 女同在线视频一区二区| 又粗又黑又大的吊av| 免费无码av片在线观看网址| 亚洲免费视频一区二区三区| 中文字幕在线亚洲三区| 青青久在线视频免费观看| 亚洲国产成人无码电影| 很黄很色的女同视频一区二区 |