<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 一種基于FPGA的無人機(jī)控制器設(shè)計方案

          一種基于FPGA的無人機(jī)控制器設(shè)計方案

          作者: 時間:2014-04-07 來源:網(wǎng)絡(luò) 收藏

          摘要:根據(jù)無人機(jī)系統(tǒng)的控制特點(diǎn),提出了一種基于的無人機(jī)控制器設(shè)計方案,并完成了該方案的軟硬件設(shè)計。該方案將鍵盤掃描、AD采樣、指令編碼與顯示和指令異步串行發(fā)送等功能模塊集成到內(nèi)部,簡化了控制器硬件結(jié)構(gòu)。實(shí)際應(yīng)用表明,該無人機(jī)控制器具有指令群延時低、功能可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),能夠滿足使用要求。

          本文引用地址:http://www.ex-cimer.com/article/235990.htm

          關(guān)鍵詞:無人機(jī)控制器;FPFG;鍵盤掃描;

          無人機(jī)的飛行控制和機(jī)載電子設(shè)備的控制指令主要通過地面控制計算機(jī)中的軟件或者無人機(jī)控制器產(chǎn)生,這兩種相互獨(dú)立的控制方式互為備份。而無人機(jī)控制器主要由硬件電路和嵌入式軟件設(shè)計實(shí)現(xiàn),不依賴于計算機(jī),因此具有可靠性高、穩(wěn)定性好等優(yōu)點(diǎn),是實(shí)現(xiàn)無人機(jī)遠(yuǎn)程遙控的主要方式之一。傳統(tǒng)的無人機(jī)控制器主要由單片機(jī)、ARM和8279等芯片設(shè)計實(shí)現(xiàn),具有系統(tǒng)結(jié)構(gòu)簡單等優(yōu)點(diǎn),但是對于無人機(jī)控制

          系統(tǒng)對指令時延要求和測控系統(tǒng)時序同步等問題,該設(shè)計方法增加了測控設(shè)備軟件的設(shè)計復(fù)雜度,特別針對滑跑起降型無人機(jī)遙控信道低延時數(shù)據(jù)傳輸?shù)膶?shí)際應(yīng)用要求,傳統(tǒng)無人機(jī)控制器產(chǎn)生的指令延時難以滿足無人機(jī)起降控制要求。

          采用基于設(shè)計的無人機(jī)控制器,充分利用了FPGA并行數(shù)據(jù)處理能力和同步設(shè)計優(yōu)勢,將鍵盤掃描、指令編碼與顯示、指令異步串行發(fā)送等功能模塊都集成在FPGA內(nèi)部,外圍電路僅包含AD采樣、電平轉(zhuǎn)換和驅(qū)動芯片等簡單電路,避免了MCU等單指令周期芯片的時序缺點(diǎn),系統(tǒng)的硬件結(jié)構(gòu)更為簡單,擴(kuò)展性更強(qiáng),遙控指令的觸發(fā)到輸出的指令數(shù)據(jù)群延時小于80 ms,能夠滿足各種類型無人機(jī)的實(shí)時遠(yuǎn)程控制要求。

          1 系統(tǒng)硬件設(shè)計方案

          無人機(jī)控制器主要由控制鍵盤、數(shù)碼顯示板和控制器數(shù)據(jù)處理板組成??刂奇I盤由8x8開關(guān)矩陣鍵盤和航向控制器構(gòu)成,主要實(shí)現(xiàn)無人機(jī)控制器鍵盤掃描代碼和航向模擬量的產(chǎn)生。數(shù)碼顯示板由6個16進(jìn)制數(shù)碼管組成,主要實(shí)現(xiàn)控制指令代碼和航向數(shù)據(jù)的同步顯示。作為無人機(jī)遙控控制器的核心部件,控制器數(shù)據(jù)處理板采用Altera公司的低成本Cyclone4系列FPGA芯片EP4CE10作為指令和數(shù)據(jù)處理的核心芯片;為降低FPGA硬件資源消耗,AD芯片選用MAXIM公司的串行12Bits AD采樣芯片MAX11105,理論航向傳感器控制精度可達(dá)0.09°;電平轉(zhuǎn)換芯片選用MAXIM公司的MAX3387芯片設(shè)計實(shí)現(xiàn),具有良好的可擴(kuò)展性。控制器信號處理板主要實(shí)現(xiàn)無人機(jī)控制指令的鍵盤掃描與AD采樣、指令編碼與顯示和遙控指令異步串行發(fā)送等功能。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。

           

           

          如圖1所示,控制器數(shù)據(jù)處理板上的FPGA分別對控制鍵盤上的8x8矩陣鍵盤和航向控制器模擬信號進(jìn)行行列掃描與AD采樣,以獲取鍵盤掃描碼和航向模擬量數(shù)據(jù),并對采集到的指令和數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換后得到指令控制代碼和航向控制數(shù)據(jù)。FPGA將編碼轉(zhuǎn)換后的數(shù)據(jù)同時分成兩路,一路驅(qū)動數(shù)碼顯示板實(shí)時顯示,另一路進(jìn)行遙控組幀后按照標(biāo)準(zhǔn)異步串行通信協(xié)議()發(fā)送至MAX3387進(jìn)行RS232電平轉(zhuǎn)換,最后將含有控制指令的異步串行遙控數(shù)據(jù)通過測控設(shè)備發(fā)送至無人機(jī),實(shí)現(xiàn)對無人機(jī)的遠(yuǎn)程控制功能。

          2 系統(tǒng)軟件設(shè)計方案

          無人機(jī)控制器的軟件都集成在FPGA內(nèi)部,采用VHDL語言編程,并在Altera公司的QuartusII軟件環(huán)境下進(jìn)行編譯和在線仿真。控制器主要包括鍵盤掃描、指令編碼與顯示、指令異步串行發(fā)送等功能模塊,系統(tǒng)的信號流程如圖2所示。系統(tǒng)加電后,F(xiàn)PGA每間隔40 ms對控制鍵盤和航向控制器進(jìn)行一次行列掃描和AD數(shù)據(jù)采集,當(dāng)檢測到有控制按鍵被觸發(fā)后,啟動按鍵去抖識別程序,將有效的控制按鍵的鍵盤掃描碼和AD采集數(shù)據(jù)轉(zhuǎn)換成控制指令代碼和航向控制數(shù)據(jù),并將指令和數(shù)據(jù)分成相同兩路,一路送入LED驅(qū)動模塊產(chǎn)生16進(jìn)制數(shù)碼管顯示驅(qū)動信號,另一路送入指令異步串行發(fā)送模塊進(jìn)行遙控組幀和控制數(shù)據(jù)加載,最后將包含指令數(shù)據(jù)的遙控幀數(shù)據(jù)按照異步串行數(shù)據(jù)通信協(xié)議(UART)發(fā)出。

           

           

          2.1 鍵盤掃描和AD采集模塊

          根據(jù)控制指令的實(shí)時性要求,系統(tǒng)設(shè)計每隔40 ms分別對矩陣鍵盤和航向控制器進(jìn)行一次行列掃描和AD采樣,當(dāng)鍵盤上的按鍵被觸發(fā)時,啟動按鍵去抖識別程序,輸出滿足響應(yīng)時間要求的按鍵16 bits鍵盤掃描碼。與此同時,將AD采集到的航向控制器模擬量串行數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換后輸出12 bits并行航向控制數(shù)據(jù)。該模塊的SignalTapII在線仿真結(jié)果如圖3所示。KB_RL和KB_Y分別為行掃描線和列掃描線,KB_SEN為鍵盤掃描使能信號,KEY_SCode為按鍵觸發(fā)后輸出的鍵盤掃描代碼,SAD_CS為芯片的采集使能信號,SAD_SDT為芯片串行數(shù)據(jù)輸入,SAD_PDT為串并轉(zhuǎn)換后的航向控制器結(jié)果數(shù)據(jù)。由圖3可知,一共有2個控制按鍵被順序觸發(fā),共輸出了2個鍵盤掃描碼:7DFE和7EFE。航向控制器輸出數(shù)據(jù)位2EB,對應(yīng)航向控制角度值約為66°。

           

           

          2.2 指令編碼與顯示模塊

          指令編碼與顯示模塊將接收到的16 bits鍵盤掃描碼和12 bits航向控制器數(shù)據(jù)按照數(shù)據(jù)傳輸協(xié)議進(jìn)行指令和數(shù)據(jù)編碼,并將編碼后控制指令和數(shù)據(jù)發(fā)送至指令發(fā)送模塊,與此同時,為確保指令代碼和航向控制器數(shù)據(jù)正確傳輸,模塊驅(qū)動6個16進(jìn)制數(shù)碼顯示管實(shí)時顯示編碼后的指令數(shù)據(jù)和航向控制器數(shù)據(jù)。指令編碼與顯示模塊的SignalTapII在線仿真結(jié)果及數(shù)碼管顯示結(jié)果如圖4所示。KB_INS為指令有效標(biāo)志,KB_ EDAT為編碼后的指令代碼,SAD_EDT為編碼后的角度值。LED_LE為數(shù)碼管數(shù)據(jù)鎖存信號,LED_BL為數(shù)碼管使能信號,LED_DL為數(shù)碼管數(shù)據(jù)輸入端,由圖4可知,編碼后的控制指令代碼和航向控制器角度分別為033H和66°,數(shù)碼管顯示結(jié)果為033和066。

           

           

          2.3 指令發(fā)送模塊

          指令發(fā)送模塊接收到編碼后的控制指令和航向控制器數(shù)據(jù)后,將編碼后的指令數(shù)據(jù)轉(zhuǎn)換為遙控幀數(shù)據(jù),并按照異步串行通信協(xié)議(UART)將遙控幀數(shù)據(jù)輸出到MAX3387進(jìn)行電平轉(zhuǎn)換,遙控幀數(shù)據(jù)串行波特率選取19 200,8位數(shù)據(jù)位,1位起始位,1位停止位,無奇偶校驗(yàn)位。指令發(fā)送模塊SignalTapII在線仿真結(jié)果及計算機(jī)接收到的遙控幀數(shù)據(jù)結(jié)果如圖5所示。YK_SEND_EN為數(shù)據(jù)發(fā)送使能信號,Test_Vara為發(fā)送的8 bits并行遙控數(shù)據(jù),YK_UART_Out為異步串行數(shù)據(jù)FPGA輸出端波形信號。

           

           

          3 實(shí)驗(yàn)應(yīng)用

          無人機(jī)控制器安裝于某型無人機(jī)地面控制站中。地面站加電后,控制器數(shù)據(jù)處理板開始工作,每間隔40 ms分別對8x8矩陣鍵盤和無人機(jī)航向控制器進(jìn)行鍵盤掃描與AD采樣,并實(shí)時將采集到數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的遙控指令代碼,一路驅(qū)動數(shù)碼顯示管將指令代碼實(shí)時顯示,一路將指令代碼轉(zhuǎn)換成RS232異步串行數(shù)據(jù)通過測控設(shè)備發(fā)送至無人機(jī),控制器數(shù)據(jù)處理板實(shí)物如圖6所示。實(shí)際應(yīng)用結(jié)果表明,采用基于FPGA設(shè)計的無人機(jī)控制器的各項(xiàng)技術(shù)指標(biāo)滿足使用要求,控制指令群時延小于80 ms,設(shè)備運(yùn)行穩(wěn)定可靠。

           

           

          4 結(jié)論

          根據(jù)無人機(jī)的控制特點(diǎn),文中提出了一種基于FPGA的無人機(jī)控制器設(shè)計方案,該方法充分利用FPGA并行處理能力,簡化了無人機(jī)控制器的硬件結(jié)構(gòu),降低了遙控指令群延時,解決了測控設(shè)備的時序匹配問題,并且具有較好的功能可擴(kuò)展性,該控制器已經(jīng)在某型無人機(jī)系統(tǒng)中得到成功應(yīng)用。



          關(guān)鍵詞: FPGA UART

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();