基于FPGA的無人機控制器設(shè)計與實現(xiàn)
摘要:根據(jù)無人機系統(tǒng)的控制特點,提出了一種基于FPGA的無人機控制器設(shè)計方案,并完成了該方案的軟硬件設(shè)計。該方案將鍵盤掃描、AD采樣、指令編碼與顯示和指令異步串行發(fā)送等功能模塊集成到FPGA內(nèi)部,簡化了控制器硬件結(jié)構(gòu)。實際應(yīng)用表明,該無人機控制器具有指令群延時低、功能可擴展性強等優(yōu)點,能夠滿足使用要求。
關(guān)鍵詞:無人機控制器;FPFG;鍵盤掃描;UART
無人機的飛行控制和機載電子設(shè)備的控制指令主要通過地面控制計算機中的軟件或者無人機控制器產(chǎn)生,這兩種相互獨立的控制方式互為備份。而無人機控制器主要由硬件電路和嵌入式軟件設(shè)計實現(xiàn),不依賴于計算機,因此具有可靠性高、穩(wěn)定性好等優(yōu)點,是實現(xiàn)無人機遠程遙控的主要方式之一。傳統(tǒng)的無人機控制器主要由單片機、ARM和8279等芯片設(shè)計實現(xiàn),具有系統(tǒng)結(jié)構(gòu)簡單等優(yōu)點,但是對于無人機控制
系統(tǒng)對指令時延要求和測控系統(tǒng)時序同步等問題,該設(shè)計方法增加了測控設(shè)備軟件的設(shè)計復(fù)雜度,特別針對滑跑起降型無人機遙控信道低延時數(shù)據(jù)傳輸?shù)膶嶋H應(yīng)用要求,傳統(tǒng)無人機控制器產(chǎn)生的指令延時難以滿足無人機起降控制要求。
采用基于FPGA設(shè)計的無人機控制器,充分利用了FPGA并行數(shù)據(jù)處理能力和同步設(shè)計優(yōu)勢,將鍵盤掃描、指令編碼與顯示、指令異步串行發(fā)送等功能模塊都集成在FPGA內(nèi)部,外圍電路僅包含AD采樣、電平轉(zhuǎn)換和驅(qū)動芯片等簡單電路,避免了MCU等單指令周期芯片的時序缺點,系統(tǒng)的硬件結(jié)構(gòu)更為簡單,擴展性更強,遙控指令的觸發(fā)到輸出的指令數(shù)據(jù)群延時小于80 ms,能夠滿足各種類型無人機的實時遠程控制要求。
1 系統(tǒng)硬件設(shè)計方案
無人機控制器主要由控制鍵盤、數(shù)碼顯示板和控制器數(shù)據(jù)處理板組成。控制鍵盤由8x8開關(guān)矩陣鍵盤和航向控制器構(gòu)成,主要實現(xiàn)無人機控制器鍵盤掃描代碼和航向模擬量的產(chǎn)生。數(shù)碼顯示板由6個16進制數(shù)碼管組成,主要實現(xiàn)控制指令代碼和航向數(shù)據(jù)的同步顯示。作為無人機遙控控制器的核心部件,控制器數(shù)據(jù)處理板采用Altera公司的低成本Cyclone4系列FPGA芯片EP4CE10作為指令和數(shù)據(jù)處理的核心芯片;為降低FPGA硬件資源消耗,AD芯片選用MAXIM公司的串行12Bits AD采樣芯片MAX11105,理論航向傳感器控制精度可達0.09°;UART電平轉(zhuǎn)換芯片選用MAXIM公司的MAX3387芯片設(shè)計實現(xiàn),具有良好的可擴展性??刂破餍盘柼幚戆逯饕獙崿F(xiàn)無人機控制指令的鍵盤掃描與AD采樣、指令編碼與顯示和遙控指令異步串行發(fā)送等功能。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。
2.3 指令發(fā)送模塊
指令發(fā)送模塊接收到編碼后的控制指令和航向控制器數(shù)據(jù)后,將編碼后的指令數(shù)據(jù)轉(zhuǎn)換為遙控幀數(shù)據(jù),并按照異步串行通信協(xié)議(UART)將遙控幀數(shù)據(jù)輸出到MAX3387進行電平轉(zhuǎn)換,遙控幀數(shù)據(jù)串行波特率選取19 200,8位數(shù)據(jù)位,1位起始位,1位停止位,無奇偶校驗位。指令發(fā)送模塊SignalTapII在線仿真結(jié)果及計算機接收到的遙控幀數(shù)據(jù)結(jié)果如圖5所示。YK_SEND_EN為數(shù)據(jù)發(fā)送使能信號,Test_Vara為發(fā)送的8 bits并行遙控數(shù)據(jù),YK_UART_Out為異步串行數(shù)據(jù)FPGA輸出端波形信號。
3 實驗應(yīng)用
無人機控制器安裝于某型無人機地面控制站中。地面站加電后,控制器數(shù)據(jù)處理板開始工作,每間隔40 ms分別對8x8矩陣鍵盤和無人機航向控制器進行鍵盤掃描與AD采樣,并實時將采集到數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的遙控指令代碼,一路驅(qū)動數(shù)碼顯示管將指令代碼實時顯示,一路將指令代碼轉(zhuǎn)換成RS232異步串行數(shù)據(jù)通過測控設(shè)備發(fā)送至無人機,控制器數(shù)據(jù)處理板實物如圖6所示。實際應(yīng)用結(jié)果表明,采用基于FPGA設(shè)計的無人機控制器的各項技術(shù)指標(biāo)滿足使用要求,控制指令群時延小于80 ms,設(shè)備運行穩(wěn)定可靠。
4 結(jié)論
根據(jù)無人機的控制特點,文中提出了一種基于FPGA的無人機控制器設(shè)計方案,該方法充分利用FPGA并行處理能力,簡化了無人機控制器的硬件結(jié)構(gòu),降低了遙控指令群延時,解決了測控設(shè)備的時序匹配問題,并且具有較好的功能可擴展性,該控制器已經(jīng)在某型無人機系統(tǒng)中得到成功應(yīng)用。
評論