梅云華
(中國西南電子技術(shù)研究所,四川 成都 610036)
綜合模塊化航空電子(Integrity Module Avionics,IMA)設(shè)備中,嵌入式計(jì)算機(jī)實(shí)現(xiàn)的應(yīng)用功能復(fù)雜、任務(wù)多并且功能耦合較緊。為滿足IMA航空電子設(shè)備的性能及可靠性等要求,需要在傳統(tǒng)嵌入式計(jì)算機(jī)的基礎(chǔ)上,針對(duì)IMA航空電子設(shè)備的特殊要求提升性能,強(qiáng)化設(shè)計(jì),研制出相應(yīng)的嵌入式計(jì)算機(jī)平臺(tái)。
本文通過分析“綜合模塊化航空電子設(shè)備設(shè)計(jì)手冊(cè)”(也稱ARINC651報(bào)告),總結(jié)出IMA航空電子設(shè)備中的嵌入式計(jì)算機(jī)的設(shè)計(jì)要求,提出一種能夠滿足設(shè)計(jì)要求的嵌入式計(jì)算機(jī)平臺(tái)設(shè)計(jì)設(shè)計(jì)方案。
ARINC651報(bào)告舉例描述了5種IMA航電系統(tǒng)架構(gòu)中IMA航空電子設(shè)備的組成、功能及工作方式,各設(shè)備對(duì)其中的嵌入式計(jì)算機(jī)要求不完全相同。
類型A的航空電子設(shè)備中要求嵌入式計(jì)算模塊能夠獨(dú)立實(shí)現(xiàn)一個(gè)航空功能,具備數(shù)據(jù)平面的數(shù)據(jù)采集、分發(fā)和處理平面的控制邏輯實(shí)現(xiàn)、算法處理的資源及能力,具有一定容錯(cuò)能力。
類型B的航空電子設(shè)備中要求每個(gè)嵌入式計(jì)算模塊實(shí)現(xiàn)多個(gè)航空功能,多個(gè)航空功能間相互獨(dú)立、互不影響[1],硬件要求高集成度、高性能、大容量內(nèi)存及固態(tài)存儲(chǔ),集成背板總線、系統(tǒng)總線等,能夠支持系統(tǒng)級(jí)及整機(jī)級(jí)容錯(cuò)設(shè)計(jì),模塊內(nèi)部硬件具有一定的容錯(cuò)能力,系統(tǒng)軟件能夠支持應(yīng)用軟件進(jìn)行容錯(cuò)設(shè)計(jì)。
類型C和類型D的航空電子設(shè)備中對(duì)嵌入式計(jì)算機(jī)模塊的要求與類型B基本類似。類型E在類型B的硬件要求基礎(chǔ)上,明確要求嵌入式計(jì)算機(jī)模塊支持多個(gè)應(yīng)用功能分區(qū),實(shí)現(xiàn)應(yīng)用功能分區(qū)調(diào)度、健康監(jiān)控和應(yīng)用功能分區(qū)間通信管理等功能[1]。
綜上所述,類型A中的嵌入式計(jì)算機(jī)的設(shè)計(jì)要求相對(duì)簡單,類型E中的嵌入式計(jì)算機(jī)的設(shè)計(jì)要求最為復(fù)雜和全面。而類型E的計(jì)算機(jī)設(shè)計(jì)要求能夠基本滿足以上5種類型的系統(tǒng)設(shè)計(jì)要求。
因此,IMA航空電子設(shè)備中嵌入式計(jì)算機(jī)的設(shè)計(jì)要求總結(jié)如下:
(1)能夠?qū)崿F(xiàn)復(fù)雜航空功能,不同功能運(yùn)行時(shí)狀態(tài)獨(dú)立、互不影響;
(2)硬件資源要求高性能、存儲(chǔ)容量大,能夠集成背板總線、系統(tǒng)總線及對(duì)外IO接口等資源;
(3)采用應(yīng)用分區(qū)管理航空功能,分區(qū)間采取嚴(yán)格的隔離措施,支持應(yīng)用分區(qū)加載、調(diào)度、健康監(jiān)控和應(yīng)用分區(qū)間通信管理等;
(4)具備故障自檢測、診斷及隔離能力,關(guān)鍵電路進(jìn)行容錯(cuò)設(shè)計(jì)。
本方案以PowerPC處理器為例,從處理器選型、軟件及硬件組成等方面對(duì)IMA航空電子設(shè)備中嵌入式計(jì)算機(jī)設(shè)計(jì)進(jìn)行介紹。
PowerPC處理器是一種精簡指令集的中央處理器,采用了超標(biāo)量和超流水線結(jié)構(gòu),處理能力強(qiáng)、性能高并且功耗低[2],目前在航空機(jī)載設(shè)備中得到較為廣泛的應(yīng)用。PowerPC處理器器件按照PowerPC處理器芯片功能特點(diǎn)可以粗略分成主處理器系列以及集成式主處理器系列兩大類。集成式主處理器在主處理器的基礎(chǔ)上集成了橋接控制邏輯、常用外圍通信接口以及總線資源等。
處理器的選型需要根據(jù)設(shè)備的使用需求和應(yīng)用環(huán)境而定,主要考慮以下方面:
(1)處理性能。
處理器性能需根據(jù)IMA設(shè)備的功能及性能要求綜合確定,確定方法與傳統(tǒng)嵌入式計(jì)算機(jī)基本類似。但由于IMA設(shè)備中嵌入式計(jì)算機(jī)需要保證額外的分區(qū)管理等系統(tǒng)消耗,因此,實(shí)現(xiàn)相同的功能,IMA設(shè)備中嵌入式計(jì)算機(jī)的處理性能要求比傳統(tǒng)嵌入式計(jì)算機(jī)更高。根據(jù)應(yīng)用環(huán)境的需要,選用的嵌入式處理器可以集成一些特殊處理單元,比如浮點(diǎn)處理單元和向量處理單元等。
(2)功耗。
與傳統(tǒng)設(shè)備不同,IMA設(shè)備功能復(fù)雜,模塊數(shù)量多,設(shè)備發(fā)熱量大,內(nèi)部的嵌入式計(jì)算機(jī)模塊主頻較高,所允許的功耗余地比傳統(tǒng)嵌入式計(jì)算機(jī)模塊小,因此,處理器選型時(shí),應(yīng)根據(jù)IMA設(shè)備的散熱手段和分配的功耗值重點(diǎn)考慮處理器的功耗指標(biāo)。
(3)集成度。
IMA設(shè)備中的嵌入式計(jì)算機(jī)要求具有較高的集成度,因此,IMA設(shè)備中的嵌入式處理器優(yōu)先選用集成式主處理器。
綜合以上分析,本設(shè)計(jì)方案處理器選擇MPC8640。該處理器為一款集成式PowerPC主處理器,內(nèi)部集成了向量處理單元,處理性能優(yōu)越[3],可以滿足大部分IMA航空電子設(shè)備的的應(yīng)用需求。如果實(shí)際應(yīng)用中對(duì)處理性能要求不高,也可選用其他型號(hào)集成式PowerPC處理器,方案設(shè)計(jì)基本類似。
嵌入式計(jì)算機(jī)的硬件采用處理器加FPGA電路的架構(gòu),該架構(gòu)具有較好的擴(kuò)展性。處理器的最小系統(tǒng)主要實(shí)現(xiàn)模塊的計(jì)算及控制資源,用于運(yùn)行應(yīng)用軟件,側(cè)重于處理平面,同時(shí)集成處理器內(nèi)部集成的接口資源也可用作模塊的對(duì)外接口資源。FPGA具有很強(qiáng)的設(shè)計(jì)靈活性,能夠?qū)崿F(xiàn)各種存儲(chǔ)、邏輯處理及接口資源,主要用于模塊的硬件資源及對(duì)外接口資源的補(bǔ)充,側(cè)重于數(shù)據(jù)平面。整個(gè)嵌入式計(jì)算機(jī)的硬件主要包括:(1)電源電路;(2)時(shí)鐘電路;(3)處理器單元電路;(4)FPGA單元電路;(5)對(duì)外接口電路;(6)故障處理電路。
計(jì)算機(jī)系統(tǒng)的硬件組成框圖如圖1所示。
圖1 硬件組成框圖
電源電路用于實(shí)現(xiàn)模塊內(nèi)部各功能電路的加電控制及電源變換,包括電源電路1和電源電路2,電源電路2設(shè)計(jì)簡單,但基本可靠性較高,主要為故障處理電路及總線隔離電路提供電源輸入。時(shí)鐘電路用于產(chǎn)生及分發(fā)內(nèi)部各電路所需要的時(shí)鐘,并實(shí)現(xiàn)時(shí)鐘輸出的控制。處理器單元電路包括PowerPC處理器的最小系統(tǒng)設(shè)計(jì),計(jì)算機(jī)的處理性能及存儲(chǔ)資源主要由該部分電路設(shè)計(jì)確定,該電路設(shè)計(jì)與選用的Power-PC處理器密切相關(guān),可參考該處理器相關(guān)設(shè)計(jì)資料。
對(duì)外接口電路主要用于實(shí)現(xiàn)計(jì)算機(jī)模塊與其他模塊或設(shè)備的通信接口,需要根據(jù)計(jì)算機(jī)模塊的應(yīng)用環(huán)境靈活配置,在圖1中用虛線標(biāo)示。在本方案中,對(duì)外接口電路分為兩類,一類直接由PowerPC處理器集成實(shí)現(xiàn),直接通過接口電路引出模塊,為接口A;另一類由FPGA實(shí)現(xiàn),通過隔離電路后引出模塊,為接口B。接口A無法實(shí)現(xiàn)與外部的隔離,實(shí)現(xiàn)的接口類型及數(shù)量直接由PowerPC處理器決定,本方案采用MPC8640處理器,實(shí)現(xiàn)的接口A包括:一個(gè)并行的Local bus接口,總線頻率設(shè)置為100MHz,32位數(shù)據(jù)寬度;一個(gè)x4的RapidIO接口;一個(gè)x1的PCI-E接口以及4個(gè)千兆以太網(wǎng)接口。接口A主要用來連接其他背板模塊,擴(kuò)展計(jì)算機(jī)模塊功能,也可用來作為設(shè)備或系統(tǒng)的對(duì)外接口。接口B全部經(jīng)過隔離電路后引出,可以控制是否與外部隔離,經(jīng)常用作設(shè)備或系統(tǒng)的對(duì)外接口。接口B可以根據(jù)應(yīng)用環(huán)境的要求實(shí)現(xiàn)不同的接口類型,包括常用的同步串口、異步串口、429接口及CAN總線接口等。
故障處理電路用于實(shí)現(xiàn)計(jì)算機(jī)平臺(tái)的故障狀態(tài)感知、判別、控制以及電路隔離等,包括故障檢測電路、故障控制電路以及監(jiān)控通道等。故障檢測電路主要檢測處理器單元電路和FPGA單元電路的工作狀態(tài),并把工作狀態(tài)發(fā)送給故障控制電路和其他電路。故障控制電路給出控制信號(hào)用于控制接口隔離電路、處理器單元和FPGA單元的工作狀態(tài)。監(jiān)控通道用于嵌入式計(jì)算機(jī)模塊間交換狀態(tài)及參數(shù),作為模塊故障檢測和判斷的輔助手段。
因此,使用該設(shè)計(jì)方案,嵌入式計(jì)算機(jī)模塊支持向量處理,具有較強(qiáng)的計(jì)算能力,能夠提供豐富的對(duì)外通信接口,具有較強(qiáng)的硬件擴(kuò)展能力及一定的容錯(cuò)能力。通過對(duì)以上硬件資源進(jìn)行裁剪,可以滿足一般的IMA航空電子設(shè)備中的嵌入式計(jì)算機(jī)硬件需求。
嵌入式計(jì)算機(jī)系統(tǒng)軟件主要包括應(yīng)用軟件和平臺(tái)系統(tǒng)軟件。應(yīng)用軟件用于實(shí)現(xiàn)具體的設(shè)備功能,而平臺(tái)系統(tǒng)軟件位于應(yīng)用軟件和硬件資源之間,主要對(duì)硬件平臺(tái)的資源進(jìn)行合理調(diào)度和管理以滿足各應(yīng)用軟件要求,同時(shí)對(duì)應(yīng)用軟件進(jìn)行管理,為應(yīng)用軟件的正常運(yùn)行提供支持和服務(wù)。
平臺(tái)系統(tǒng)軟件通常選用成熟的商用操作系統(tǒng),直接移植到硬件平臺(tái)上。IMA航空電子設(shè)備通常需要實(shí)現(xiàn)多個(gè)航空功能,要求嵌入式計(jì)算機(jī)能夠?qū)崿F(xiàn)對(duì)多個(gè)航空功能的協(xié)調(diào)、管理及控制等,要求各航空功能運(yùn)行可靠、相互獨(dú)立并且互不影響,建議采用應(yīng)用分區(qū)實(shí)現(xiàn)航空功能。因此,選用的操作系統(tǒng)要求能夠支持多個(gè)應(yīng)用分區(qū),多個(gè)應(yīng)用分區(qū)間必須提供嚴(yán)格的隔離,同時(shí)支持應(yīng)用分區(qū)加載、調(diào)度、健康監(jiān)控和應(yīng)用分區(qū)間通信管理等。傳統(tǒng)嵌入式計(jì)算機(jī)選用的多任務(wù)操作系統(tǒng),比如 WindRiver公司的 VxWorks操作系統(tǒng),比較適用于相對(duì)簡單功能的航空電子設(shè)備,應(yīng)用于復(fù)雜功能的航空電子設(shè)備可能會(huì)帶來開發(fā)難度增加、設(shè)備可靠性降低等一系列問題。
因此,本設(shè)計(jì)方案中,平臺(tái)系統(tǒng)軟件選用WindRiver公司的 VxWorks653操作系統(tǒng)。VxWorks653操作系統(tǒng)由VxWorks嵌入式操作系統(tǒng)發(fā)展而來,與應(yīng)用軟件間的接口滿足“航空電子設(shè)備應(yīng)用軟件標(biāo)準(zhǔn)接口”(也稱ARINC653規(guī)范)要求,并通過了美國聯(lián)邦航空管理部門(FAA)制定的DO-178B安全標(biāo)準(zhǔn)的認(rèn)證[4]。因此,整個(gè)嵌入式計(jì)算機(jī)的軟件主要包括:(1)板級(jí)支持包;(2)核心操作系統(tǒng);(3)分區(qū)操作系統(tǒng);(4)應(yīng)用程序接口;(5)應(yīng)用軟件分區(qū)。
計(jì)算機(jī)系統(tǒng)的軟件組成框圖如圖2所示。
圖2 軟件組成框圖
板級(jí)支持包位于軟件最底層,主要實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的初始化以及搭建軟件運(yùn)行環(huán)境的功能;核心操作系統(tǒng)的管理對(duì)象主要是各功能分區(qū),實(shí)現(xiàn)各功能分區(qū)的安全隔離、分時(shí)調(diào)度、空間和狀態(tài)管理、通信及健康監(jiān)控等功能;分區(qū)操作系統(tǒng)運(yùn)行于用戶態(tài),管理對(duì)象是用戶應(yīng)用軟件,實(shí)現(xiàn)對(duì)用戶軟件中各任務(wù)間的任務(wù)調(diào)度、通信方式及狀態(tài)管理等功能;應(yīng)用程序接口使系統(tǒng)可以兼容多種語言和標(biāo)準(zhǔn)的應(yīng)用程序,便于應(yīng)用程序的移植和系統(tǒng)集成;應(yīng)用分區(qū)給應(yīng)用軟件提供了一個(gè)獨(dú)立的運(yùn)行環(huán)境,保證了應(yīng)用軟件之間的設(shè)計(jì)、運(yùn)行完全獨(dú)立。
從圖2可看出,嵌入式計(jì)算機(jī)系統(tǒng)可以實(shí)現(xiàn)多個(gè)功能分區(qū),每個(gè)功能分區(qū)的功能由應(yīng)用軟件、操作系統(tǒng)軟件和硬件平臺(tái)資源共同實(shí)現(xiàn),可用的硬件資源越多,可實(shí)現(xiàn)的功能分區(qū)也越多,一般情況下,每個(gè)功能分區(qū)實(shí)現(xiàn)設(shè)備的一個(gè)子功能。
因此,通過在計(jì)算機(jī)硬件平臺(tái)上移植和運(yùn)行Vx-Works653操作系統(tǒng),計(jì)算機(jī)系統(tǒng)虛擬成了多個(gè)相互獨(dú)立的嵌入式計(jì)算機(jī)平臺(tái),每個(gè)虛擬的計(jì)算機(jī)平臺(tái)實(shí)現(xiàn)一個(gè)設(shè)備子功能,故障在設(shè)備子功能間不能傳播,從而提高IMA航空電子設(shè)備航空功能的可靠性和運(yùn)行效率,能夠滿足IMA航空電子設(shè)備的應(yīng)用需求。
本文通過研究ARINC651報(bào)告,總結(jié)出IMA航空電子設(shè)備中嵌入式計(jì)算機(jī)的技術(shù)要求,提出一種能夠滿足設(shè)計(jì)要求的嵌入式計(jì)算機(jī)平臺(tái)設(shè)計(jì)方案,為IMA航空電子設(shè)備中嵌入式計(jì)算機(jī)的工程應(yīng)用設(shè)計(jì)提供參考。
目前,該技術(shù)方案已經(jīng)在某綜合控制管理設(shè)備和某IMA無線電設(shè)備的嵌入式計(jì)算機(jī)的設(shè)計(jì)中采用。通過設(shè)備功能聯(lián)試及測試,表明該嵌入式計(jì)算機(jī)具有較高的硬件集成度,能夠提供較為充足的計(jì)算能力,實(shí)現(xiàn)較為復(fù)雜的系統(tǒng)功能;應(yīng)用分區(qū)的軟件實(shí)現(xiàn)方式可以降低復(fù)雜系統(tǒng)的軟件設(shè)計(jì)難度,提高調(diào)試工作效率;同時(shí)具有一定的容錯(cuò)能力,能夠支持設(shè)備更高層次的容錯(cuò)設(shè)計(jì),可以滿足一般IMA航空電子設(shè)備的應(yīng)用需求。
應(yīng)用中的主要問題是,隨著FPGA集成實(shí)現(xiàn)的接口B的種類和數(shù)量的上升,F(xiàn)PGA的功耗也在進(jìn)一步上升。因此,實(shí)際設(shè)計(jì)過程中,為了控制模塊的功耗,防止給設(shè)備的散熱設(shè)計(jì)造成過大壓力,需要綜合權(quán)衡接口B的集成度和處理器性能。
[1]651-1,Design Guidance for Integrated Moudular Avionics[S].
[2][美]Jerry Young.Power PC體系結(jié)構(gòu)[M].周予濱譯.北京:海洋出版社,1995.
[3]Freescale Semiconductor.MPC8640 and MPC8640D Integrated Host Processor Hardware Specifications[DB/OL].http://www.freescale.com/files/32bit/doc/data_sheet/MPC8640DEC.pdf,2009-03-07.
[4]Wind River.Wind River VxWorks 653 Platform[DB/OL].http://www.windriver.com/products/platforms/safety_critical_arinc_653/,2010-02-10.
[5]Freescale Semiconductor.MPC8641D Integrated Host Processor Family Reference Manual[DB/OL].http://www.freescale.com/files/32bit/doc/ref_manual/MPC8641DRM.pdf,2008-02-07
[6]Freescale Semiconductor.MPC8548 PowerQUICCTMIII Integrated Processor Family Reference Manual[DB/OL].http://www.freescale.com/files/32bit/doc/ref_manual/MPC8548ERM.pdf,2007-02-10.
[7]Freescale Semiconductor.MPC8260 PowerQUICCTMII Family Reference Manual[DB/OL].http://www.freescale.com/files/product/doc/MPC8260UM.pdf,2005-12-10.
[8]Wind River Systems.VxWorks 653 Programmers Guide 2.2[R].USA:Wind River Systems Inc.,2007.
[9]Wind River Systems.VxWorks 653 Configuration and Build Guide[R].USA:Wind River Systems Inc.,2007.
[10]Wind River Systems.BSP Migration Guidelines for Platform Safety Critical ARINC653[R].USA:Wind River Systems Inc,2007.
[11]喬乃強(qiáng),徐濤,谷青范.ARINC653分區(qū)調(diào)度算法的研究與改進(jìn)[J].計(jì)算機(jī)工程,2011,37(20):249-251.
[12]梅云華.基于MPC8265的嵌入式計(jì)算機(jī)工程化設(shè)計(jì)[J].電訊技術(shù),2012,52(3):375-378.
[13][英]Ian Moird,等.軍用航空電子系統(tǒng)[M].吳漢平,等譯.北京:電子工業(yè)出版社,2008.
[14]周啟平,張楊.VxWorks下設(shè)備驅(qū)動(dòng)程序及BSP開發(fā)指南[M].北京:中國電力出版社,2004.