摘 要:為了滿足飛行管理系統(tǒng)小型化應(yīng)用的需要,提出了一種基于PowerPC和FPGA的小型化飛行管理計(jì)算機(jī)系統(tǒng)設(shè)計(jì)方法,該設(shè)計(jì)以PowerPC微處理器MPC8270為核心,PowerPC多任務(wù)軟件基于Vxworks實(shí)時(shí)操作系統(tǒng),采用現(xiàn)場(chǎng)可編程門(mén)陣列FPGA進(jìn)行地址譯碼和邏輯控制,并在其外圍進(jìn)行了模擬量接口、離散量接口、總線接口以及存儲(chǔ)器的擴(kuò)展,豐富了系統(tǒng)硬件接口資源。基于PowerPC和FPGA的飛行器管理計(jì)算機(jī)具有體積小、功耗低、實(shí)時(shí)性好和處理能力強(qiáng)的特點(diǎn)。實(shí)踐證明,該設(shè)計(jì)方法結(jié)構(gòu)簡(jiǎn)單、功能強(qiáng)大,能夠滿足系統(tǒng)控制的要求,具有較好的實(shí)用性。
關(guān)鍵詞:PowerPC;FPGA;小型化;飛行管理計(jì)算機(jī)
中圖分類號(hào):TP368.11
當(dāng)前飛行管理計(jì)算機(jī)多采用基于PC104處理器的結(jié)構(gòu)[1-2],PC104處理器通常采用X86架構(gòu),其存在處理性能較低、功耗大和接口不豐富的問(wèn)題。PowerPC是由IBM、Apple和Motorola公司共同設(shè)計(jì)和開(kāi)發(fā)的,采用RISC架構(gòu),具有可伸縮性好和方便靈活的特點(diǎn)。PowerPC體系結(jié)構(gòu)吸收了大多數(shù)RISC的特征,將定點(diǎn)計(jì)算、浮點(diǎn)計(jì)算和程序流控制分開(kāi),允許各個(gè)功能單元執(zhí)行獨(dú)立的指令,以完成任務(wù)所需時(shí)間最短為目標(biāo)。
FPGA作為一種專用集成電路ASIC領(lǐng)域中出現(xiàn)的一種半定制電路,解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)量有限的缺點(diǎn),具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)[3]。
將PowerPC和FPGA結(jié)合的小型化飛行管理計(jì)算機(jī)能夠充分利用PowerPC的高性能處理能力和FPGA的ASIC定制電路設(shè)計(jì)能力,同時(shí)兼顧功耗、成本、設(shè)計(jì)周期等因素,是解決體積小、功耗低、處理能力強(qiáng)的小型化飛行管理計(jì)算機(jī)的有效解決方法[4]。
1 飛管計(jì)算機(jī)系統(tǒng)設(shè)計(jì)
1.1 功能需求
飛行管理計(jì)算機(jī)一般包括處理器模塊、信號(hào)調(diào)理與接口模塊、通訊模塊和數(shù)個(gè)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)模塊??刂破鞯暮诵氖翘幚砥髂K,該模塊的功能和接口決定了飛管計(jì)算機(jī)的性能[5]。飛管計(jì)算機(jī)應(yīng)該達(dá)到以下要求:
(1)具有多路模擬信號(hào)的高精度采集能力,可以對(duì)三軸角速率陀螺傳感器輸出的角速率信號(hào),垂直陀螺輸出的飛機(jī)姿態(tài)信號(hào),發(fā)動(dòng)機(jī)轉(zhuǎn)速、溫度,電源電壓等模擬信號(hào),進(jìn)行高精度采集及處理。
(2)具有多路模擬信號(hào)和PWM脈沖等形式的控制信號(hào)輸出能力,以適應(yīng)油門(mén)、舵機(jī)等執(zhí)行機(jī)構(gòu)的控制要求。
(3)具有多個(gè)通信接口,以便能與GPS慣導(dǎo)系統(tǒng)、無(wú)線電高度表系統(tǒng)、遙控/遙測(cè)系統(tǒng)、地面檢測(cè)等系統(tǒng)進(jìn)行通信。
(4)具有定時(shí)器、看門(mén)狗和電源監(jiān)視能力以及數(shù)據(jù)斷電保護(hù)能力,具有較大的程序存儲(chǔ)空間以滿足復(fù)雜控制軟件的開(kāi)發(fā)。
(5)具有多路離散量輸入輸出接口的能力。
(6)具有較大的飛行參數(shù)存儲(chǔ)能力。
1.2 總體設(shè)計(jì)
采用基于PowerPC和FPGA的小型化飛行管理計(jì)算機(jī)功能結(jié)構(gòu)如圖1所示。系統(tǒng)采用MPC8270處理器作為主控制器,處理器MPC8270和FPGA通過(guò)PCI總線和60X總線進(jìn)行通信。FPGA邏輯完成地址譯碼、復(fù)位邏輯、各接口控制邏輯等,外圍擴(kuò)展了存儲(chǔ)器、模擬量、離散量和總線接口。該設(shè)計(jì)將MPC8270處理器的高速處理能力和FPGA的豐富外圍接口結(jié)合在一起,實(shí)現(xiàn)了優(yōu)勢(shì)互補(bǔ),提高了資源利用率。
圖1 飛行管理計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
2 飛管計(jì)算機(jī)硬件設(shè)計(jì)
2.1 MPC8270處理器簡(jiǎn)介
MPC8270是Freescale公司PowerUICC II系列的一款高性能通信處理器,內(nèi)部集成了一個(gè)高性能PowerPC RISC微處理器,一個(gè)通信處理模塊CPM和系統(tǒng)接口單元(SIU)[6]。MPC8270核心G2_LE是一個(gè)嵌入式MPC603e微處理器,帶有16K字節(jié)指令cache和16K字節(jié)數(shù)據(jù)cache[7]。CPM包括一個(gè)嵌入式32位RISC架構(gòu)的通信處理器,主要完成底層外圍通信任務(wù)的處理,使G2_LE能更加專注于管理高端的任務(wù)。CPM外圍接口有2個(gè)多通道控制器MCC、3個(gè)快速通信控制器FCC、4個(gè)串行通信控制器SCC、2個(gè)串行管理控制器SMC、1個(gè)SPI控制器和1個(gè)I2C總線控制器。系統(tǒng)接口單元(SIU)主要由60X-to-PCI橋、60X-to-Local橋和存儲(chǔ)器控制器組成。MPC8270外部總線有32位local bus和64位60X bus(64位數(shù)據(jù)總線、32根地址線),總線時(shí)鐘最大支持100MHz;具有32位PCI v2.2總線,時(shí)鐘33/66 MHz,支持主從模式。
2.2 FPGA邏輯設(shè)計(jì)
FPGA芯片選用XILINX推出的XC4VLX60-10FF668I,屬于Virtex-4系列的產(chǎn)品,該芯片包含59904個(gè)邏輯單元、26624個(gè)slice和160個(gè)塊狀RAM,最大用戶I/O可達(dá)640個(gè),其邏輯資源豐富,滿足外圍接口需求。PROM芯片選用32MBits容量芯片,以并行方式為FPGA加載邏輯。FPGA邏輯開(kāi)發(fā)在ISE13.3環(huán)境下進(jìn)行,它可以完成FPGA開(kāi)發(fā)的全部流程,包括設(shè)計(jì)輸入、仿真、綜合、布局布線、生成BIT文件和配置。FPGA邏輯采用硬件描述語(yǔ)言VHDL編寫(xiě),調(diào)試過(guò)程中采用ModelSim仿真器仿真。
FPGA邏輯內(nèi)部功能框圖如圖2所示。FPGA主要完成如下功能:(1)存儲(chǔ)器空間分配及地址譯碼;(2)復(fù)位邏輯;(3)模擬量A/D和數(shù)字電位計(jì)控制邏輯;(4)離散量和PWM控制邏輯;(5)串口UART邏輯;(6)電子盤(pán)邏輯。
圖2 FPGA邏輯內(nèi)部功能框圖
2.3 存儲(chǔ)器電路設(shè)計(jì)
飛管計(jì)算機(jī)上設(shè)計(jì)有SDRAM存儲(chǔ)器、系統(tǒng)FLASH存儲(chǔ)器、用戶FLASH存儲(chǔ)器和NVRAM存儲(chǔ)器,采用MPC8270 SDRAM控制器實(shí)現(xiàn)處理器與內(nèi)存的通信,通過(guò)60X總線實(shí)現(xiàn)對(duì)FLASH和NVRAM的訪問(wèn)。
SDRAM存儲(chǔ)器具有64位寬度256Mbytes容量,MPC8270內(nèi)置SDRAM存儲(chǔ)器控制器,提供SDRAM的時(shí)序控制邏輯,訪問(wèn)方式及時(shí)序控制可以控制PC8270內(nèi)部的寄存器來(lái)實(shí)現(xiàn)。
系統(tǒng)FLASH具有16位寬度64Mbytes容量,按16位工作方式訪問(wèn)。系統(tǒng)FLASH用于存儲(chǔ)引導(dǎo)程序、PUBIT測(cè)試程序和操作系統(tǒng)等。用戶FLASH具有16位寬度64Mbytes容量,按16位工作方式訪問(wèn)。用戶FLASH存儲(chǔ)器用于儲(chǔ)存用戶程序。本設(shè)計(jì)提供8G字節(jié)的飛行參數(shù)存儲(chǔ)能力,控制邏輯通過(guò)FPGA實(shí)現(xiàn)。
2.4 時(shí)鐘和電源電路設(shè)計(jì)
CPU模塊上時(shí)鐘源有66MHz、25MHz、58.9824 MHz、50MHz五種晶振,其中66MHz時(shí)鐘晶振輸出后,通過(guò)時(shí)鐘驅(qū)動(dòng)器后,1路輸入到PC8270,同時(shí)也給4個(gè)SDRAM提供66MHz的時(shí)鐘,并且在PC8270內(nèi)部通過(guò)鎖相環(huán)電路產(chǎn)生1路33MHz時(shí)鐘給PCI總線提供時(shí)鐘。SDRAM和PCI部分速度較快,電路設(shè)計(jì)要注意PCB布線選擇合適的拓?fù)浣Y(jié)構(gòu)和布線策略,以保證信號(hào)完整性。SDRAM部分的時(shí)鐘要注意4條SDRAM時(shí)鐘線路,盡量保證長(zhǎng)度相等。PCI部分的時(shí)鐘要注意管腳PCI_SYSC_OUT和PCI_SYSC_IN之間的布線長(zhǎng)度和PCI_CLK相等[8]。CPU模塊時(shí)鐘連接關(guān)系圖如圖3所示。
圖3 CPU模塊時(shí)鐘連接關(guān)系圖
電源是任何一個(gè)電路系統(tǒng)至關(guān)重要的部分,所有的信號(hào)傳輸都是基于準(zhǔn)確而穩(wěn)定的電源基礎(chǔ)上的。CPU模塊設(shè)計(jì)有5種電源,其中1.2V為FPGA核心電壓,1.5V為CPU核心電壓,1.8V為PROM芯片的供電電壓,2.5V為FPGA的供電電壓,3.3V為I/O接口電路的供電電壓。對(duì)于1.8V和2.5V的電源設(shè)計(jì)比較簡(jiǎn)單,選擇合適額定電流的LDO就能滿足要求。但是其余電壓電流需求大,電源穩(wěn)定性較高,該設(shè)計(jì)采用LINEAR公司的DC/DC開(kāi)關(guān)電源芯片實(shí)現(xiàn)供電電源5V到1.2V、1.5V和3.3V的電壓轉(zhuǎn)換,每路最大供電電流為8A。該DC/DC開(kāi)關(guān)電源芯片簡(jiǎn)化了電源設(shè)計(jì),具有高功率、高效率、尺寸小和重量輕等特點(diǎn)。
2.5 模擬量處理電路
模擬量輸入信號(hào)先通過(guò)比例求差電路和一階濾波將交流模擬信號(hào)轉(zhuǎn)換成直流信號(hào),多路選通器在FPGA邏輯控制下選擇某一路直流信號(hào),經(jīng)過(guò)電壓跟隨器送至過(guò)壓保護(hù)電路后,由A/D轉(zhuǎn)換電路完成模擬向數(shù)字信號(hào)的轉(zhuǎn)換[9]。電壓跟隨器輸入阻抗非常大,輸出阻抗非常小。模擬信號(hào)為低頻信號(hào),易受到外圍高頻設(shè)備的干擾,所以還需進(jìn)行低通濾波。模擬量輸入處理電路框圖如圖4所示。
圖4 模擬量輸入處理電路框圖
2.6 離散量處理電路
離散量輸出信號(hào)包括PWM信號(hào)和離散量信號(hào),兩者設(shè)計(jì)原理相同。脈寬調(diào)制(PWM)輸出信號(hào)可調(diào)節(jié)周期寬度和脈寬占空比,設(shè)計(jì)上主要由計(jì)數(shù)器、存儲(chǔ)器和比較器組成。離散量輸出功能的測(cè)試可通過(guò)回繞測(cè)試實(shí)現(xiàn),但在設(shè)計(jì)時(shí)應(yīng)考慮測(cè)試電路對(duì)正常輸出電路負(fù)載能力的影響[10]。
離散量輸入信號(hào)包括PWM信號(hào)和離散量信號(hào),兩者設(shè)計(jì)原理相同。測(cè)量PWM輸入信號(hào)時(shí),首先檢測(cè)到輸入波形的上升沿,然后分別測(cè)量PWM信號(hào)高電平脈寬和周期寬度。離散量輸入功能的測(cè)試可通過(guò)施加激勵(lì)信號(hào)驗(yàn)證離散量輸入部分電路的正確性。
2.7 總線接口
該設(shè)計(jì)提供6路隔離RS232接口,波特率可以調(diào)節(jié)到921600bit;提供6路隔離RS422接口,波特率可以調(diào)節(jié)到2Mbit;提供1路隔離RS485接口,波特率可以調(diào)節(jié)到2Mbit。以上總線接口的FPGA邏輯均采用通用UART IP核實(shí)現(xiàn),其配置操作是由處理器通過(guò)60X總線對(duì)其進(jìn)行訪問(wèn)控制。
該設(shè)計(jì)提供2路10MB/100MB以太網(wǎng)接口,該接口由MPC8270處理器的FCC控制器和以太網(wǎng)收發(fā)器實(shí)現(xiàn)。
3 飛管計(jì)算機(jī)軟件設(shè)計(jì)
飛行管理系統(tǒng)在執(zhí)行飛行任務(wù)過(guò)程中需要進(jìn)行大量的復(fù)雜運(yùn)算,而飛行管理計(jì)算機(jī)的硬件資源有限,因此飛行管理軟件必須滿足多任務(wù)。實(shí)時(shí)性、可靠性和穩(wěn)定性的要求。
選用VxWorks作為飛管計(jì)算機(jī)PowerPC的嵌入式實(shí)時(shí)操作系統(tǒng),VxWorks操作系統(tǒng)是美國(guó)Wind River公司1983年開(kāi)發(fā)的專門(mén)為嵌入式微處理器設(shè)計(jì)的一種硬實(shí)時(shí)操作系統(tǒng),具有高性能、高度模塊化、多任務(wù)、高可靠性、很好的安全性及系統(tǒng)靈活性,在航空、航天、通信等領(lǐng)域有諸多成功的應(yīng)用。
圖5 基于VxWorks的飛行管理計(jì)算機(jī)PowerPC軟件結(jié)構(gòu)
飛行管理計(jì)算機(jī)系統(tǒng)PowerPC的VxWorks軟件包含與硬件相關(guān)的軟件和與硬件無(wú)關(guān)的軟件,軟件結(jié)構(gòu)如圖5所示。飛行管理系統(tǒng)應(yīng)用程序位于軟件頂層,在開(kāi)發(fā)環(huán)境下編譯好后生成目標(biāo)鏡像文件下載到飛行管理計(jì)算機(jī)中的FLASH存儲(chǔ)器中。
4 結(jié)束語(yǔ)
基于PowerPC和FPGA的小型化飛行管理計(jì)算機(jī)具有體積小、功耗低、實(shí)時(shí)性好和處理能力強(qiáng)的特點(diǎn)。該設(shè)計(jì)充分發(fā)揮了PowerPC的高性能處理能力和FPGA的ASIC定制電路設(shè)計(jì)能力,擴(kuò)展了模擬量、離散量、總線接口等功能,使得整個(gè)系統(tǒng)的集成度和實(shí)時(shí)性進(jìn)一步得到提高。目前,該飛管計(jì)算機(jī)的電路已經(jīng)完成了初步的設(shè)計(jì)和調(diào)試,下面的工作是進(jìn)一步改進(jìn)和優(yōu)化飛管計(jì)算機(jī)軟件設(shè)計(jì),以提高系統(tǒng)的穩(wěn)定性和可靠性。
參考文獻(xiàn):
[1]Ludington Ben, Johnson Eric,Vachtsevanos George.Augmenting UAV Autonomy[J].IEEE Robotics Automation Magazine,2006(03):63-71.
[2]D.Shim,H.Chung.Autonomous Exploration in Unknown Urban Environment for Unmanned Aerial Vehicles[A].AIAA Guidance, Navigation, and Control Conference[C].V8,6381-6388,2005.
[3]任愛(ài)鋒.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.
[4]潘越,宋萍,李科杰.基于PowerPC和FPGA的小型無(wú)人直升機(jī)飛行控制計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013(01):112-115.
[5]李厚春,張小林.小型無(wú)人機(jī)飛控計(jì)算機(jī)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012(02):100-102.
[6]Freescale Semiconductor. MPC8280 PowerQUICCII Family Reference Manual[Z].2005.
[7]沈華,湯彥飛,李喬楊.PowerPC處理器的發(fā)展歷程[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013(12):73-74.
[8]劉麗君,賀占莊,李灝.基于PowerPC的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008(02):251-253.
[9]曲昱,曹輝.基于FPGA的無(wú)人機(jī)控制器設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2013(06):21-23.
[10]周欣.基于CPLD的可編程PWM控制器的設(shè)計(jì)[J].電子科技,2013(04):124-128.
作者簡(jiǎn)介:邊慶(1986-),男,河北衡水人,碩士,研究方向:嵌入式計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。
作者單位:中航工業(yè)西安航空計(jì)算技術(shù)研究所,西安 710119
基金項(xiàng)目:分布式飛控飛行管理計(jì)算機(jī)系統(tǒng)技術(shù)研究(編號(hào):20121931002)。