關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 基于天脈1型嵌入式操作系統(tǒng)光纖航姿軟件開發(fā)

基于天脈1型嵌入式操作系統(tǒng)光纖航姿軟件開發(fā)

作者:張 斌 (陜西寶成航空儀表有限責(zé)任公司,陜西 寶雞 721006) 時間:2021-04-27 來源:電子產(chǎn)品世界 收藏
編者按:本文介紹了基于國產(chǎn)天脈1型操作系統(tǒng)的光纖航姿軟件開發(fā)。在充分分析國產(chǎn)天脈1型操作系統(tǒng)特點、開發(fā)環(huán)境和任務(wù)調(diào)度方式的基礎(chǔ)上,結(jié)合光纖航姿軟件的功能需求和結(jié)構(gòu)組成,重點進行了軟件周期的劃分、設(shè)計和實現(xiàn)。測試和試驗結(jié)果表明,基于國產(chǎn)天脈1型操作系統(tǒng)的光纖航姿軟件具備強實時、穩(wěn)定性高并支持多任務(wù)的特點。

作者簡介:張斌(1973—),男,碩士,高級工程師,現(xiàn)從事嵌入式系統(tǒng)航空軟件開發(fā)及機載慣性導(dǎo)航技術(shù)研究。

本文引用地址:http://butianyuan.cn/article/202104/424951.htm

0   引言

斯諾登的棱鏡門和中興事件曝光后,如何在國防裝備中采用國產(chǎn)系統(tǒng)以提高裝備自主性、安全性,防范可能存在的漏洞和后門,已經(jīng)成為國防裝備戰(zhàn)線迫切需要解決的問題。

型嵌入式操作系統(tǒng)(簡稱:,英文名:)是航空工業(yè)西安航空計算所研發(fā)的針對航空、航天應(yīng)用需求而設(shè)計的具有完全自主知識版權(quán)的嵌入式國產(chǎn)操作系統(tǒng)[1];是在航空、航天等對系統(tǒng)實時性、安全性、可靠性有極高需求的領(lǐng)域中使用的嵌入式操作系統(tǒng)。目前, 嵌入式操作系統(tǒng)已在我國多型軍、民用航空裝備上得到廣泛應(yīng)用。本文介紹了基于天脈1 操作系統(tǒng)設(shè)計的光纖航姿系統(tǒng)的組成和原理,描述了的任務(wù)劃分、任務(wù)調(diào)度。

1   天脈1操作系統(tǒng)簡介

天脈1 采用標準C 語言與匯編語言混合開發(fā),按照GJB 和DO-178B 進行研發(fā)和測試,是一款面向多任務(wù)應(yīng)用的強實時嵌入式系統(tǒng)平臺,能夠協(xié)助編程者管理嵌入式系統(tǒng)硬件資源,顯著降低應(yīng)用軟件開發(fā)和維護難度。

天脈1 主要有如下功能:

●   采用微內(nèi)核設(shè)計,組件可配置、裁剪;

●   支持PPC、x86、ARM 等主流處理器,支持龍芯、飛騰等國產(chǎn)處理器;

●   采用層次化微結(jié)構(gòu),微內(nèi)核和硬件相隔離開來,方便硬件平臺的升級;

●   存儲管理支持MMU 存儲保護,關(guān)鍵數(shù)據(jù)區(qū)用戶可進行防篡改保護;

●   采用實時多任務(wù)調(diào)度,支持優(yōu)先級搶占和時間片輪轉(zhuǎn),任務(wù)切換以及中斷響應(yīng)可達到微秒級;

●   提供消息隊列、環(huán)形緩沖等多種任務(wù)間通信機制,提供信號量、事件等任務(wù)同步機制;

●   支持對高速數(shù)據(jù)/ 指令緩存(CACHE)的管理;

●   支持周期任務(wù);

●   提供與VxWorks 兼容的API 接口。

天脈1 在應(yīng)用系統(tǒng)中處于硬件層和應(yīng)用層之間的中間位置,如圖1 所示,其主要任務(wù)是管理計算機板軟、硬件資源,并為應(yīng)用軟件的運行提供服務(wù)。

對于CPU 硬件,天脈1 提供MSL 層軟件管理計算機板硬件設(shè)備;對于應(yīng)用軟件,操作系統(tǒng)負責(zé)應(yīng)用軟件的管理,主要實現(xiàn)應(yīng)用任務(wù)的調(diào)度、系統(tǒng)硬件資源的分配,為應(yīng)用軟件提供必要的運行設(shè)備。天脈1 依據(jù)ASAAC 標準所定義三層軟件架構(gòu)進行設(shè)計開發(fā)而成,其包含硬件模塊支持層(MSL),操作系統(tǒng)層(OSL)及應(yīng)用軟件層(APL)。三層結(jié)構(gòu)相互獨立,互相分隔,OSL 層和OSL 層組件可配置、裁剪,提供靈活的硬件及空間配置,開發(fā)人員可根據(jù)軟件及硬件特點進行針對性開發(fā)設(shè)計[2]。

image.png

圖1 天脈1操作系統(tǒng)體統(tǒng)結(jié)構(gòu)

天脈1 相比其它操作系統(tǒng)具有以下幾個核心優(yōu)勢。

(1) 實時性強

天脈1 的任務(wù)切換和中斷響應(yīng)時間可達微秒級;其采用了優(yōu)先級搶占、同優(yōu)先級時間片輪轉(zhuǎn)算法,確保任務(wù)的實時性;采用優(yōu)先級位圖法、最小化任務(wù)法切換開銷;通過匯編實現(xiàn)的中斷處理代碼以及中斷嵌套機制,實現(xiàn)對外部事件的實時響應(yīng)及處理要求。

(2) 可裁剪性

天脈1 開發(fā)環(huán)境采用中文的圖形界面,使用圖形化界面進行環(huán)境配置和裁剪,最小可運行環(huán)境配置不大于256 kb;提供的圖形、網(wǎng)絡(luò)協(xié)議棧、多種文件系統(tǒng)、USB、SATA 等常用組件裁剪、配置。

(3) 可靠性

天脈1 采用基于存儲管理單元(MMU) 的存儲保護機制,用戶可以對指定的區(qū)域的代碼/ 數(shù)據(jù)空間進行讀/ 寫保護,可以從內(nèi)核層面阻止地址空間的非法訪問;提供錯誤接管機制,支持用戶對操作系統(tǒng)和應(yīng)用軟件的錯誤加以接管;采用優(yōu)先級天花板和優(yōu)先級繼承策略處理任務(wù)優(yōu)先級翻轉(zhuǎn),確保高優(yōu)先級任務(wù)優(yōu)先執(zhí)行;提供硬件資源泄露預(yù)防措施和空間冗余策略,保證硬件資源的回收和配置數(shù)據(jù)的正確性。

(4) 可移植性

天脈1 向用戶提供VxWorks 兼容包,方便用戶將原先運行在VxWorks 操作系統(tǒng)上的應(yīng)用軟件移植到天脈1 上,代碼修改比例一般不超過千分之四,提供C/C++ 語言支持,用戶可以根據(jù)項目構(gòu)架的設(shè)計自由選擇。

(5) 適應(yīng)性強

天脈1 支持PPC、x86、ARM 等主流處理器,支持龍芯、飛騰等國產(chǎn)處理器,提供典型的設(shè)備驅(qū)動模塊可為/ 協(xié)助用戶定制專用驅(qū)動模塊,并向用戶提供可擴展接口,針對異常處理提供用戶自行擴展;天脈1 中應(yīng)用程序、操作系統(tǒng)分別位于APL 層和OSL 層,模塊支持層(MSL)將兩者相連接,各層可獨立升級、維護。這樣使用戶可以專注于應(yīng)用軟件的開發(fā)。

2   光纖航姿的組成和原理

光纖航姿系統(tǒng)是基于光纖陀螺感測技術(shù)以及捷聯(lián)計算技術(shù)而設(shè)計的航向姿態(tài)系統(tǒng)。系統(tǒng)采用光纖陀螺、加速度計和捷聯(lián)磁傳感器作為敏感元件來感測飛機飛行過程中沿機體三個軸向上的運動角速率、線加速度信號及地磁信號分量,經(jīng)相應(yīng)電子線路量化、補償后傳輸給產(chǎn)品中的航姿解算計算機,由航姿解算計算機解算得出飛機的航向、姿態(tài)等信號。同時系統(tǒng)通過總線接口接收機上北斗系統(tǒng)輸出緯度等數(shù)據(jù),并將捷聯(lián)解算得到的航向、姿態(tài)以及系統(tǒng)工作狀態(tài)字等數(shù)字信號通過RS422 接口發(fā)送至機上其它設(shè)備,系統(tǒng)組成結(jié)構(gòu)見圖2 所示。

image.png

捷聯(lián)計算的原理框圖如圖3 所示。

image.png

3   應(yīng)用軟件設(shè)計

由光纖航姿的組成和原理可知,光纖陀螺輸出的角速率信號必須通過精確定時積分計算才能獲得正確航向和姿態(tài)數(shù)據(jù)。

應(yīng)用軟件分成5 個模塊:初始化模塊、IMU 數(shù)據(jù)采集模塊、周期BIT 模塊、捷聯(lián)解算模塊和數(shù)據(jù)I/O 模塊[3]

image.png

同時采用天脈系統(tǒng)特有的周期任務(wù)將IMU 數(shù)據(jù)采集任務(wù),捷聯(lián)解算任務(wù),數(shù)據(jù)輸入/ 輸出任務(wù)以及周期BIT 任務(wù)分別設(shè)計為4 個周期任務(wù),如表1。

image.png

所謂的周期任務(wù)是指每隔相等的時間間隔就必須就緒的任務(wù);天脈中的周期任務(wù)時間間隔具有硬時限,周期的值被認為是恒定不變的,并且任務(wù)兩次就緒的時間只能等于周期。在周期任務(wù)中,操作的對象是“任務(wù)”。周期任務(wù)調(diào)度與普通調(diào)度的區(qū)別在于:普通的調(diào)度側(cè)重維護一個獨立的執(zhí)行體——任務(wù),使其作為一個獨立的邏輯單元,維護其走走停停執(zhí)行的正確性;而周期任務(wù)調(diào)度的側(cè)重點不僅是維護這樣一個邏輯單位,周期任務(wù)增加了一個更重要、更核心的屬性——周期,有了周期的要求后,系統(tǒng)的所有行為,比如狀態(tài)轉(zhuǎn)換、調(diào)度切換都是圍繞“周期”這個核心發(fā)生的[4]。

4 個任務(wù)在同步啟動時刻(初始化完成后的0 時刻)都就緒,然后根據(jù)優(yōu)先級搶占的調(diào)度方式開始運行(IMU數(shù)據(jù)采集周期任務(wù)、捷聯(lián)解算周期任務(wù)、數(shù)據(jù)I/O 周期任務(wù)、周期BIT 周期任務(wù)依次運行)。

周期任務(wù)使用注意事項:

●   任務(wù)的預(yù)期執(zhí)行時間必須小于任務(wù)周期;

●   任務(wù)之間不能存在同步和競爭。

4   結(jié)語

本文對天脈1 的內(nèi)核特點、應(yīng)用開發(fā)環(huán)境和多任務(wù)調(diào)度方式進行了分析,結(jié)合光纖航姿系統(tǒng)功能需求,對光纖航姿軟件的功能模塊進行了劃分與設(shè)計,采用天脈1 特有的周期任務(wù)對光纖航姿軟件的任務(wù)進行了劃分和優(yōu)先級的設(shè)置。經(jīng)地面測試和飛行試驗驗證,基于天脈1 的光纖航姿軟件穩(wěn)定可靠、實時性強,可滿足光纖航姿系統(tǒng)功能、性能、可靠性、安全性要求。采用本文介紹的方法、思路進行導(dǎo)航類軟件設(shè)計、開發(fā),能夠明顯降低軟件設(shè)計難度、有效保證產(chǎn)品實時性和可靠性,對相似嵌入式軟件開發(fā)具有一定借鑒意義。

參考文獻:

[1] 天脈技術(shù)白皮書[Z].

[2] ACoreOS機載嵌入式實時操作系統(tǒng)參考手冊[Z].

[3] 徐海榮,趙鳴,陳閩葉,等.嵌入式軟件系統(tǒng)的一種層次設(shè)計方法[J].現(xiàn)代電子技術(shù),2005(16):29-30,36.

[4] ACoreOS機載嵌入式實時操作系統(tǒng)程序員手冊[Z].

(本文來源于《電子產(chǎn)品世界》雜志2021年3月期)



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉