作者:李厚春,張小林 西北工業大學 0 引言 小型無人機在現代軍事和民用領域的應用已越來越廣泛。在經歷了早期的遙控飛行后,目前其導航控制方式已經發展為自主飛行和智能飛行。導航方式的改變對飛行控制計算機的精度提出了更高的要求;隨著小型無人機執行任務復雜程度的增加,對飛控計算機運算速度的要求也更高;而小型化的要求對飛控計算機的功耗和體積也提出了很高的要求。高精度不僅要求計算機的控制精度高,而且要求能夠運行復雜的控制算法,小型化則要求無人機的體積小,機動性好,進而要求控制計算機的體積越小越好。 1 概述 目前,隨著微電子技術的飛速發展,市場上出現了眾多功能強大,功耗、體積大大縮小的集成電路。芯片制造工藝的進步,像ARM,DSP等集成眾多外圍電路的CPU芯片以及EPLD,FPGA等大規模邏輯器件也已經出現,其性能比以前的芯片增強,外部電路也大為精簡。其中,數字信號處理器(DSP)以強大的指令系統、接口功能以及友好的開發環境顯示出功能完善,速度快,開發方便等優勢,能夠有效解決小型飛控計算機中高速與微型的矛盾,從而使為微、小型無人機量身設計的集高速度、高精度和小型化于一體的新型飛控計算機成為可能。 在眾多處理器芯片中,最適合小型飛控計算機CPU的芯片當屬TI公司的TMS320LF2407,其運算速度以及眾多的外圍接口電路很適合用來完成對小型無人機的實時控制功能。它采用哈佛結構、多級流水線操作,對數據和指令同時進行讀取,片內自帶資源包括16路10位A/D轉換器且帶自動排序功能,保證最多16路有轉換在同一轉換期間進行,而不會增加CPU的開銷;40路可單獨編程或復用的通用輸入/輸出通道;5個外部中斷;集成的串行通信接口(SCI),可使其具備與系統內其他控制器進行異步(RS 485)通信的能力;16位同步串行外圍接口(SPI)能方便地用來與其他的外圍設備通信;還提供看門狗定時器模塊(WDT)和CAN通信模塊。TMS320LF2407豐富的片內資源配合LATTICE公司的EPLD以及串口擴展芯片28C94使飛控機實現較復雜的飛行控制與飛行管理功能,同時還滿足了小型無人機的小體積和低功耗的要求。CPU提供192 KWord字的可擴展外部存儲空間,能夠裝載較大的應用程序,進一步增強對外部電路的控制能力。系統開發語言選擇BC 3.1,能方便地開發應用程序,并使之有良好的可移植性。集成開發工具CC2000能很方便友好地實現系統的調試。 2 系統硬件設計 2.1 組成模塊 飛控系統實時采集各傳感器測量的飛行狀態數據、接收無線電測控終端傳輸的由地面測控站上行信道送來的控制命令及數據,經計算處理,輸出控制指令給執行機構,實現對無人機中各種飛行模態的控制和對任務設備的管理與控制;同時將無人機的狀態數據及發動機、機載電源系統、任務設備的工作狀態參數實時傳送給機載無線電數據終端,經無線電下行信道發送回地面測控站。按照功能劃分,該飛控系統的硬件包括:主控制模塊、信號調理及接口模塊、數據采集模塊以及舵機驅動模塊等。具體的硬件構成原理如圖1所示。 2.2 模塊功能 各個功能模塊組合在一起,構成飛行控制系統的核心,而主控制模塊是飛控系統核心,它與信號調理模塊、接口模塊和舵機驅動模塊相組合,在只需要修改軟件和簡單改動外圍電路的基礎上可以滿足一系列小型無人機的飛行控制和飛行管理功能要求,從而實現一次開發,多型號使用,降低系統開發成本的目的。系統主要完成如下功能: (1)完成多路模擬信號的高精度采集,包括陀螺信號、航向信號、舵偏角信號、發動機轉速、缸溫信號、動靜壓傳感器信號、電源電壓信號等。由于CPU自帶A/D的精度和通道數有限,所以使用了另外的數據采集電路,其片選和控制信號是通過EPLD中譯碼電路產生的。 (2)輸出開關量信號、模擬信號和PWM脈沖信號等能適應不同執行機構(如方向舵機、副翼舵機、升降舵機、氣道和風門舵機等)的控制要求。 (3)利用多個通信信道,分別實現與機載數據終端、GPS信號、數字量傳感器以及相關任務設備的通信。由于CPU自身的SCI通道配置的串口不能滿足系統要求,設計中使用多串口擴展芯片28C94來擴展8個串口。 3 系統軟件設計 該系統的軟件設計分為2部分,即邏輯電路芯片EPLD譯碼電路的程序設計和飛控系統的應用程序設計。 3.1 邏輯電路程序設計 EPLD用來構成數字邏輯控制電路,完成譯碼和隔離以及為A/D,D/A,28C94提供片選信號和讀/寫控制信號的功能。該軟件的設計采用原理圖輸入和VERILOG HDL語言編程的混合設計方式,遵循設計輸入→設計實現→設計校驗→器件編程的流程。系統使用了兩片ispLSI1048芯片,分別用來實現對A/D,D/A的控制和對串口擴展芯片28C94的控制。 3.2 系統應用程序設計 由于C語言不但能夠編寫應用程序、系統程序,還能像匯編語言一樣直接對計算機硬件進行控制,編寫的程序可移植性強。由于以DSP為核心設計的系統中涉及到大量對外設端口的操作,以及考慮后續程序移植的工作,所以飛控系統的應用程序選用BC 3.1來設計,分別實現飛行控制和飛行管理功能。 軟件按照功能劃分為4個模塊:時間管理模塊、數據采集與處理模塊、通信模塊、控制律解算模塊。通過時間管理模塊在毫秒級時間內對無人機進行實時控制;數據采集模塊采集無人機的飛行狀態、姿態參數以及飛行參數、飛行狀態及飛行參數進行遙測編碼并通過串行接口傳送至機載數據終端,通過無線數據信道發送到地面控制站進行飛行監控;姿態參數通過軟件內部接口送控制律解算模塊進行解算,并將結果通過D/A通道送機載伺服系統,控制舵機運行,達到調整、飛機飛行姿態的目的;通信模塊完成飛控計算機與其他機載外設之間的數據交換功能。 4 結語 利用高速DSP控制芯片在控制律計算和數據處理方面的優勢及其豐富的外部資源,配合大規模可編程邏輯器件CPLD以及串行接口擴展芯片28C94設計小型機載飛控計算機,以其為核心設計的小型無人機飛控系統具有功能全,體積小,重量輕,功耗低的特點,很好地滿足了小型無人機對飛控計算機高精度、小型化、低成本的要求。該設計已成功應用于某驗證無人機系統。 |