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

        ?

        基于μC/OS-II 的通用星務(wù)軟件框架設(shè)計(jì)

        2023-02-10 04:27:54陳世淼王紹山程凌峰倪淑燕
        電子設(shè)計(jì)工程 2023年3期
        關(guān)鍵詞:系統(tǒng)

        陳世淼,王紹山,程凌峰,倪淑燕

        (1.航天工程大學(xué)研究生院,北京 101407;2.北京跟蹤與通信技術(shù)研究所,北京 100000;3.航天工程大學(xué)電子與光學(xué)工程系,北京 101407)

        微小衛(wèi)星具有質(zhì)量輕、體積小、發(fā)射周期短、性能高、成本低等諸多優(yōu)點(diǎn),在通信、遙感、導(dǎo)航、軍事等各領(lǐng)域得到廣泛應(yīng)用[1],是全球航天發(fā)展的熱點(diǎn)。隨著商業(yè)航天的興起,微小衛(wèi)星的發(fā)射數(shù)量正在逐漸增加,因此需要采用新的技術(shù)來縮短衛(wèi)星的研制周期[2]。星務(wù)軟件是衛(wèi)星系統(tǒng)的核心,用于對(duì)各個(gè)分系統(tǒng)進(jìn)行管理和數(shù)據(jù)交互,具有功能模塊多、代碼規(guī)模大、測試任務(wù)重的特點(diǎn)[3-4],星務(wù)軟件的研制進(jìn)度極大地影響了衛(wèi)星的研制周期。

        隨著星載綜合電子系統(tǒng)性能的大幅提升,采用實(shí)時(shí)操作系統(tǒng)是發(fā)展的必然趨勢。星載計(jì)算機(jī)是一個(gè)嵌入式系統(tǒng),應(yīng)選用高效、高可靠的嵌入式操作系統(tǒng)內(nèi)核[5]。目前國內(nèi)外開發(fā)了很多實(shí)時(shí)操作系統(tǒng),比如軍事和航天領(lǐng)域應(yīng)用比較多的VxWorks 系統(tǒng)、μC/OS-II 系統(tǒng)等、發(fā)展迅速并具有大量使用者的FreeRTOS 系統(tǒng)以及國產(chǎn)新興的大型實(shí)時(shí)SylixOS 系統(tǒng)。VxWorks 操作系統(tǒng)在航天領(lǐng)域應(yīng)用廣泛,其性能好、穩(wěn)定性高,但該系統(tǒng)不開源,需要針對(duì)芯片開發(fā)BSP[6]。SylixOS 系統(tǒng)是一款國產(chǎn)操作系統(tǒng),性能和穩(wěn)定性都很高,但是應(yīng)用較少。μC/OS-II 系統(tǒng)和FreeRTOS 系統(tǒng)是目前應(yīng)用在微小衛(wèi)星上最多的兩款操作系統(tǒng),有著很高的實(shí)時(shí)性和可靠性,但μC/OS-II 實(shí)時(shí)操作系統(tǒng)具有更高的實(shí)時(shí)性和穩(wěn)定性,其配備有高效的微內(nèi)核,已在多個(gè)微小衛(wèi)星上成功應(yīng)用。

        文中基于μC/OS-II 實(shí)時(shí)操作系統(tǒng),結(jié)合星務(wù)軟件功能需求,重點(diǎn)圍繞“通用化”特點(diǎn)進(jìn)行星務(wù)軟件框架設(shè)計(jì)。

        1 星務(wù)軟件功能需求

        星務(wù)軟件是星載計(jì)算機(jī)對(duì)星上任務(wù)進(jìn)行集中管理的核心部分[7-10],文中根據(jù)星務(wù)軟件的功能將其概括為星務(wù)管理、姿態(tài)控制和載荷控制三個(gè)模塊。在傳統(tǒng)的衛(wèi)星軟件研制過程中,星務(wù)管理和姿態(tài)控制是由兩個(gè)星載計(jì)算機(jī)分別實(shí)現(xiàn)的[11-13],這樣的設(shè)計(jì)方式雖然可以減低衛(wèi)星軟件設(shè)計(jì)的難度,但是會(huì)造成硬件資源的浪費(fèi),不符合一體化、小型化的設(shè)計(jì)理念,所以文中在一個(gè)星載計(jì)算機(jī)上實(shí)現(xiàn)星務(wù)管理和姿態(tài)控制。

        星務(wù)管理負(fù)責(zé)整星運(yùn)行時(shí)任務(wù)的調(diào)度與管理,是衛(wèi)星的核心控制部分,包括時(shí)間管理模塊、遙測管理模塊、遙控管理模塊、程控管理模塊和設(shè)備管理模塊等[14-16]。時(shí)間管理模塊負(fù)責(zé)整星時(shí)間的獲取、修正和廣播,是整星運(yùn)行的基準(zhǔn)。遙測管理模塊負(fù)責(zé)整星遙測數(shù)據(jù)的采集、組包和發(fā)送。遙控管理模塊負(fù)責(zé)地面遙控指令的接收、處理、存儲(chǔ)和執(zhí)行等操作。程控管理模塊負(fù)責(zé)程序控制指令的存儲(chǔ)和執(zhí)行。設(shè)備管理模塊是星載計(jì)算機(jī)根據(jù)各單機(jī)狀態(tài)進(jìn)行加斷電的模塊。

        姿態(tài)控制負(fù)責(zé)整星運(yùn)行過程中姿態(tài)的控制。星務(wù)軟件通過總線獲取姿控敏感器的數(shù)據(jù)信息,并進(jìn)行數(shù)據(jù)的解析和存儲(chǔ)。然后根據(jù)姿控敏感器的參數(shù)計(jì)算當(dāng)前衛(wèi)星姿態(tài),并通過姿控算法調(diào)整到期望姿態(tài)所需的執(zhí)行參數(shù)。最后將得出的執(zhí)行數(shù)據(jù)傳輸給姿控執(zhí)行器,進(jìn)而實(shí)現(xiàn)衛(wèi)星姿態(tài)的調(diào)整。

        載荷控制負(fù)責(zé)載荷任務(wù)的自主規(guī)劃調(diào)度,該模塊需要根據(jù)衛(wèi)星的功能需求進(jìn)行定制化設(shè)計(jì)。

        2 星載總線通信架構(gòu)

        星載總線通信架構(gòu)是星務(wù)軟件設(shè)計(jì)的基礎(chǔ),為了便于對(duì)后續(xù)星務(wù)軟件框架設(shè)計(jì)進(jìn)行分析,下面介紹文中采用的總線通信架構(gòu)。

        文中采用兩級(jí)雙冗余CAN 總線和RS422 相結(jié)合的方式實(shí)現(xiàn)各分系統(tǒng)指令和數(shù)據(jù)的交互,圖1 所示為文中采用的總線通信架構(gòu)。一級(jí)總線用于連接與星務(wù)分系統(tǒng)相關(guān)的載荷、GNSS、測控?cái)?shù)傳一體機(jī)和電源分系統(tǒng)等,傳輸?shù)臄?shù)據(jù)主要為其他分系統(tǒng)的遙測遙控?cái)?shù)據(jù);二級(jí)總線用于連接動(dòng)量輪、星敏感器、太陽敏感器和磁強(qiáng)計(jì)等姿控部組件,傳輸?shù)臄?shù)據(jù)為各個(gè)姿控部組件的遙測遙控?cái)?shù)據(jù)。RS422 異步串口用于連接星載計(jì)算機(jī)和測控?cái)?shù)傳一體機(jī)、載荷以及只支持串口通信的陀螺。以上總線通信架構(gòu)是文中后續(xù)展開星務(wù)軟件框架設(shè)計(jì)的前提,但采用文中設(shè)計(jì)的星務(wù)軟件框架并不一定要用以上總線通信架構(gòu)。

        圖1 總線通信架構(gòu)

        3 星務(wù)軟件框架設(shè)計(jì)

        完成了星務(wù)軟件功能需求分析后,下面基于μC/OS-II 操作系統(tǒng)進(jìn)行星務(wù)軟件架構(gòu)設(shè)計(jì)。

        3.1 任務(wù)創(chuàng)建及優(yōu)先級(jí)劃分

        實(shí)時(shí)操作系統(tǒng)中任務(wù)的優(yōu)先級(jí)直接影響星務(wù)軟件的效率和穩(wěn)定性,所以應(yīng)嚴(yán)格根據(jù)星務(wù)軟件的功能需求進(jìn)行任務(wù)的創(chuàng)建及優(yōu)先級(jí)劃分。

        首先分析CAN 總線上數(shù)據(jù)傳輸?shù)墓δ埽珻AN 總線上數(shù)據(jù)的接收主要通過輪詢的方式,該功能對(duì)實(shí)時(shí)性要求高,應(yīng)嚴(yán)格避免由于總線數(shù)據(jù)處理慢導(dǎo)致數(shù)據(jù)丟失或出錯(cuò)的情況,所以應(yīng)設(shè)計(jì)兩個(gè)任務(wù)來完成兩級(jí)CAN 總線上數(shù)據(jù)的接收和處理。由于一級(jí)總線上部組件重要性較高,所以一級(jí)CAN 總線數(shù)據(jù)接收任務(wù)優(yōu)先級(jí)應(yīng)高于二級(jí)CAN 總線數(shù)據(jù)接收任務(wù)。此外,CAN 總線上要進(jìn)行設(shè)備識(shí)別廣播幀、設(shè)備識(shí)別允許幀、輪詢指令、時(shí)間廣播的發(fā)送,實(shí)時(shí)性要求相對(duì)較高,所以應(yīng)設(shè)計(jì)一個(gè)任務(wù)進(jìn)行CAN 總線上數(shù)據(jù)的發(fā)送。

        設(shè)備管理功能是根據(jù)星務(wù)軟件的設(shè)計(jì)對(duì)下位機(jī)進(jìn)行故障處理及加斷電操作,應(yīng)該由優(yōu)先級(jí)較高的任務(wù)來實(shí)現(xiàn)。其次,遙測和遙控功能負(fù)責(zé)衛(wèi)星與地面的通信,是保證衛(wèi)星與地面通信的基本功能,所以遙測和遙控任務(wù)優(yōu)先級(jí)僅次于設(shè)備管理任務(wù)。衛(wèi)星的姿態(tài)控制具有數(shù)據(jù)量大、占用資源多等特點(diǎn),為避免姿態(tài)控制所在任務(wù)占用CPU 時(shí)間過長導(dǎo)致其他任務(wù)響應(yīng)不及時(shí)的情況,應(yīng)該將姿控任務(wù)設(shè)置為最低的優(yōu)先級(jí)。

        此外,衛(wèi)星載荷任務(wù)的調(diào)度與以上功能相對(duì)獨(dú)立,應(yīng)當(dāng)設(shè)置成獨(dú)立的任務(wù)。

        基于以上分析,將任務(wù)具體劃分為Task_CAN Read_1、Task_CANRead_2、Task_CANSend、Task_Device、Task_TTC、Task_RemoteControl、Task_Load和Task_ACDS,并為不同的任務(wù)劃分優(yōu)先級(jí),使各任務(wù)的實(shí)時(shí)性要求得以滿足,具體的任務(wù)劃分如表1所示。

        表1 星務(wù)軟件任務(wù)劃分

        3.2 多任務(wù)調(diào)度

        星務(wù)軟件中各個(gè)任務(wù)都是獨(dú)立的無限死循環(huán)程序,為保證星務(wù)軟件的高效運(yùn)行,需要對(duì)多個(gè)任務(wù)進(jìn)行良好的調(diào)度。該系統(tǒng)程序通過設(shè)置任務(wù)優(yōu)先級(jí)和多個(gè)信號(hào)量,實(shí)現(xiàn)了系統(tǒng)程序的任務(wù)調(diào)度,任務(wù)調(diào)度關(guān)系如圖2 所示。其中系統(tǒng)中斷優(yōu)先級(jí)最高,多個(gè)任務(wù)同時(shí)處于就緒態(tài)時(shí)按照任務(wù)優(yōu)先級(jí)進(jìn)行任務(wù)調(diào)度。

        圖2 多任務(wù)調(diào)度關(guān)系

        該設(shè)計(jì)采用的信號(hào)量有Sem_CANRead_1、Sem_CANRead_2、Sem_CANSend、Sem_Device、Sem_TTC、Sem_RemoteControl、Sem_Load 和Sem_ACDS。一 個(gè)中斷可以發(fā)送多個(gè)信號(hào)量,從而調(diào)度多個(gè)任務(wù),同時(shí)一個(gè)任務(wù)也可以由多個(gè)中斷發(fā)送同一個(gè)信號(hào)量進(jìn)行調(diào)度。

        Task_CANSend 任務(wù)負(fù)責(zé)CAN 總線上數(shù)據(jù)的發(fā)送,該任務(wù)可以在多種情況下調(diào)度。CAN 總線由于接收到設(shè)備識(shí)別申請(qǐng)幀而產(chǎn)生中斷后,發(fā)送信號(hào)量Sem_CANSend,調(diào)度任務(wù)Task_CANSend 進(jìn)行設(shè)備識(shí)別允許幀的發(fā)送;定時(shí)器1 s 中斷和800 ms 中斷觸發(fā)后,發(fā)送信號(hào)量Sem_CANSend,分別調(diào)度任務(wù)Task_CANSend 進(jìn)行時(shí)間廣播和輪詢指令的發(fā)送。

        一級(jí)CAN 總線接收到數(shù)據(jù)傳輸幀后發(fā)送信號(hào)量Sem_CANRead_1,調(diào)度任務(wù)Task_CANRead_1 進(jìn)行數(shù)據(jù)的處理和解析。二級(jí)CAN 總線接收到數(shù)據(jù)傳輸幀后發(fā)送信號(hào)量Sem_CANRead_2,調(diào)度任務(wù)Task_CANRead_2 進(jìn)行數(shù)據(jù)的處理和解析。

        定時(shí)器1 s 中斷觸發(fā)后,發(fā)送信號(hào)量Sem_Dev ice、Sem_TTC、Sem_RemoteControl、Sem_Load 和Sem_ACDS,分別調(diào)度任務(wù)Task_Device、Task_TTC、Task_RemoteControl、Task_Load 和Task_ACDS,實(shí)現(xiàn)以上任務(wù)的周期執(zhí)行。

        3.3 任務(wù)間通信

        星務(wù)軟件不同任務(wù)或中斷之間的信息傳遞過程為任務(wù)間的通信。在該文設(shè)計(jì)中,任務(wù)間的通信主要通過全局變量來實(shí)現(xiàn)。星務(wù)軟件進(jìn)行數(shù)據(jù)交互的下位機(jī)多、任務(wù)復(fù)雜、任務(wù)間的通信量較大,因此為了更加高效地對(duì)星務(wù)軟件上的通信數(shù)據(jù)進(jìn)行管理,軟件部分進(jìn)行了全局變量的設(shè)計(jì),全局變量含義如表2 所示。

        表2 全局變量含義

        星務(wù)軟件中各任務(wù)間的通信關(guān)系如圖3 所示。CAN 總線中斷將通信數(shù)據(jù)存儲(chǔ)在全局變量CANReceiveBuffer_1[10] 和 CANReceiveBuffer_2[10]中,任務(wù)Task_CANRead_1 和Task_CANRead_2 對(duì)上述兩個(gè)全局變量進(jìn)行數(shù)據(jù)處理后,將設(shè)備遙測信息存儲(chǔ)在全局變量CAN_StrQ 中,將姿控部組件信息存儲(chǔ)在全局變量DEVINTER 中,將設(shè)備的狀態(tài)信息存儲(chǔ)在全局變量Device_1[10]和Device_2[10]中,之后分別由任務(wù)Task_TTC、Task_ACDS 和Task_Device 對(duì)所關(guān)聯(lián)的全局變量進(jìn)行調(diào)用。RS422 中斷后將接收到的數(shù)據(jù)存儲(chǔ)在全局變量UartReceiveBuffer[512]中,任務(wù)Task_RemoteControl 從數(shù)據(jù)中提取載荷任務(wù)信息并存儲(chǔ)在全局變量LoadTaskBuffer 中,之后由任務(wù)Task_Load 對(duì)全局變量LoadTaskBuffer 進(jìn)行調(diào)用。全局變量SystemTime 可通過定時(shí)器中斷、任務(wù)Task_RemoteControl 和任務(wù)Task_CANRead_1進(jìn)行數(shù)據(jù)的賦值及修改,并且在任務(wù)Task_CANSend、Task_TTC 和Task_ACDS 中進(jìn)行了調(diào)用。

        圖3 任務(wù)間通信關(guān)系

        3.4 軟件流程及主要函數(shù)

        系統(tǒng)軟件運(yùn)行流程如圖4 所示。星載計(jì)算機(jī)上電后,星務(wù)軟件依次進(jìn)行系統(tǒng)參數(shù)初始化、系統(tǒng)模塊初始化、通信總線初始化、創(chuàng)建μC/OS-II 系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)、創(chuàng)建μC/OS-II 系統(tǒng)的任務(wù)和啟動(dòng)多任務(wù)調(diào)度。

        系統(tǒng)參數(shù)初始化由Date_Init()函數(shù)完成,初始化星務(wù)軟件中的工作參數(shù)包括姿控軌道參數(shù)、單機(jī)狀態(tài)、CAN 總線數(shù)據(jù)緩沖區(qū)等。

        系統(tǒng)模塊初始化由RTC_initial()、GPIO_init()、OSInit()等多個(gè)函數(shù)完成,對(duì)星載計(jì)算機(jī)上的計(jì)時(shí)器模塊、I/O 接口等進(jìn)行初始化操作。

        通信總線初始化由MSSCan_Init()函數(shù)、SJACan_Init_PELICAN()函數(shù)和UART0_Init()函數(shù)完成,分別對(duì)CAN 總線和RS422 總線進(jìn)行初始化,對(duì)總線的工作模式進(jìn)行配置。同時(shí)通過ID_Broad()函數(shù)在CAN總線上發(fā)送設(shè)備識(shí)別廣播幀。

        創(chuàng)建μC/OS-II 系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)由OSSemCreate()函數(shù)和OSMutexCreate()函數(shù)完成,主要進(jìn)行信號(hào)量和互斥信號(hào)量的創(chuàng)建,所創(chuàng)建的信號(hào)量已在3.2 小節(jié)中論述。

        創(chuàng)建μC/OS-II 系統(tǒng)的任務(wù)由Task_Create()函數(shù)完成,根據(jù)任務(wù)優(yōu)先級(jí)、任務(wù)地址、任務(wù)堆??臻g的大小等參數(shù)創(chuàng)建圖4 所示的任務(wù)。

        圖4 系統(tǒng)軟件運(yùn)行流程

        啟動(dòng)多任務(wù)調(diào)度由OSStart()函數(shù)完成,該函數(shù)運(yùn)行后,軟件將由μC/OS-II 系統(tǒng)的內(nèi)核進(jìn)行管理,并根據(jù)任務(wù)的狀態(tài)及優(yōu)先級(jí)進(jìn)行多任務(wù)的調(diào)度。

        4 可靠性驗(yàn)證

        為了對(duì)文中設(shè)計(jì)的星務(wù)軟件進(jìn)行可靠性驗(yàn)證,在星務(wù)軟件框架上進(jìn)一步完善星務(wù)軟件,同時(shí)搭建衛(wèi)星半實(shí)物仿真系統(tǒng),進(jìn)行模飛測試。半實(shí)物仿真系統(tǒng)將衛(wèi)星仿真系統(tǒng)的一部分以實(shí)物的形式引入到控制回路,如采用實(shí)時(shí)仿真機(jī)將運(yùn)動(dòng)模型引入控制系統(tǒng),姿態(tài)敏感器和控制器采用模擬的方式,同時(shí)將難以建立數(shù)學(xué)模型的反作用飛輪和PCDU 模塊引入到閉環(huán)中,從而模擬衛(wèi)星軌道、飛行姿態(tài)和工作模式的變化。

        在模飛測試過程中,實(shí)時(shí)監(jiān)測總線的數(shù)據(jù)傳輸、遙測數(shù)據(jù)、系統(tǒng)任務(wù)調(diào)度情況、遙控指令執(zhí)行情況等。實(shí)驗(yàn)結(jié)果表明,星務(wù)軟件能夠長期穩(wěn)定運(yùn)行,滿足星務(wù)軟件功能需求,驗(yàn)證了星務(wù)軟件框架設(shè)計(jì)的合理性。

        5 結(jié)論

        文中根據(jù)星務(wù)軟件的功能需求,基于μC/OS-II實(shí)時(shí)操作系統(tǒng)進(jìn)行了通用星務(wù)軟件框架設(shè)計(jì),并搭建半實(shí)物仿真系統(tǒng)進(jìn)行了可靠性驗(yàn)證。該框架對(duì)任務(wù)的創(chuàng)建、優(yōu)先級(jí)劃分、任務(wù)通信和任務(wù)調(diào)度進(jìn)行了詳細(xì)設(shè)計(jì),可作為星務(wù)軟件設(shè)計(jì)的通用框架,對(duì)快速研制星務(wù)軟件具有重要參考意義。

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        99re66在线观看精品免费| 国产精品国产三级国产三不| 91青青草视频在线播放| 亚洲悠悠色综合中文字幕| 国产成+人欧美+综合在线观看| 国产免费久久精品国产传媒| jiZZ国产在线女人水多| 国产乱子伦一区二区三区国色天香| 久久偷看各类wc女厕嘘嘘偷窃| 日本精品人妻无码77777| 亚洲精品中文字幕观看| 午夜一区二区三区福利视频| 国产亚州精品女人久久久久久| 国产成人精品日本亚洲11| 国产自产av一区二区三区性色| 亚洲性av少妇中文字幕| 欧美激情一区二区三区成人 | 亚洲无线码一区二区三区| 国产精品久久久久久麻豆一区| aⅴ色综合久久天堂av色综合| 男性av天堂一区二区| 日本高清视频永久网站www| 国产在线丝袜精品一区免费| 日韩精品中文字幕人妻中出| 在线观看亚洲第一黄片| 久久aⅴ人妻少妇嫩草影院| 九九99国产精品视频| 极品少妇一区二区三区四区视频| 亚洲日韩小电影在线观看| 中日av乱码一区二区三区乱码 | 亚洲二区精品婷婷久久精品| 国产大屁股视频免费区| 2019最新国产不卡a| 久久亚洲精彩无码天堂 | 中文字幕人妻互换激情| 欧美精品国产综合久久| 学生妹亚洲一区二区| 亚洲国产日韩综一区二区在性色 | 99精品视频在线观看| 久久免费网站91色网站| 亚洲成人免费av影院|