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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種于FPGA的高速導航解算系統(tǒng)設計與實現(xiàn)

          一種于FPGA的高速導航解算系統(tǒng)設計與實現(xiàn)

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

            摘要:針對現(xiàn)有小型無人機導航系統(tǒng)的解算速度慢、多處理器核心臃腫可靠性差的缺點,實現(xiàn)了一種僅使用單一作為數(shù)據(jù)處理核心的小型高速導航解算系統(tǒng)。該系統(tǒng)對飛機運動方程組和導航方程組進行并行化分解,對相互獨立的中間變量進行并行計算,使得單個運算周期能夠同時進行6次浮點運算,在不盲目增加硬件消耗的條件下有效提高了解算速度。仿真和實驗結(jié)果表明系統(tǒng)能夠高效地進行導航信息解算,在小型無人機的導航控制領域有重要的工程應用價值。

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

            導航解算是小型無人機導航控制的基礎,小型無人機機動性強,為了完成自主導航任務,必須快速獲得姿態(tài)和位置信息,如果導航信息無法得到高速解算,導航控制系統(tǒng)會因為不能及時得到載體正確位置信息而發(fā)出錯誤指令,會對運載體以及人員造成極大危險。平臺式慣導系統(tǒng)雖然精度高、實時性好,但是龐大的體積和昂貴的造價不適用于小型無人機的發(fā)展,GPS等衛(wèi)星導航設備雖然價格低廉、體積小巧,但是其衛(wèi)星信號會受到建筑物和天氣等因素的干擾。目前國內(nèi)外應用于無人機上的低成本小型化的導航解算系統(tǒng)研究方面大多使用基于DSP、ARM為主處理器的嵌入式系統(tǒng),或者另外添加一顆協(xié)處理器幫助進行傳感器數(shù)據(jù)的采集,這樣的系統(tǒng)要么解算速度慢,通信效率低,要么系統(tǒng)臃腫,可靠性差?,F(xiàn)場可編程門陣列()直接使用硬件描述語言進行編程,與ARM和DSP器件相比,可以獲得更有效率的數(shù)據(jù)處理速度,可以兼容各種格式和長度的數(shù)據(jù),同時集成了常用IP核,使之可以靈活的用來進行系統(tǒng)設計。在單片芯片上實現(xiàn)導航信息的高速解算,將會有廣闊的發(fā)展空間。

            針對現(xiàn)有小型無人機導航解算系統(tǒng)解算速度慢、多處理器臃腫可靠性差的缺點,文中設計了一種在單片F(xiàn)PGA芯片上實現(xiàn)數(shù)據(jù)傳輸、和位置解算等功能的導航解算系統(tǒng),節(jié)省了小型無人機寶貴的空間和成本,提出了一種導航信息的FPGA并行解算方法,充分發(fā)揮FPGA的并行數(shù)據(jù)處理能力提高解算速度,一次導航解算過程只需20微秒。

            1 系統(tǒng)結(jié)構(gòu)

            系統(tǒng)結(jié)構(gòu)如圖1所示,由單片F(xiàn)PGA芯片作為數(shù)據(jù)處理的核心,型號為EP2C35F484C6N,其與一個型號為NAV440的慣性測量單元(IMU)進行串口通信接收所需的三軸加速度、三軸角加速度等信息,F(xiàn)PGA依次由數(shù)據(jù)接收模塊、數(shù)據(jù)預處理模塊、模塊、位置解算模塊對數(shù)據(jù)進行處理,最后將數(shù)據(jù)封包發(fā)出,上位機保存數(shù)據(jù)。

            

           

            2 導航解算模塊的FPGA設計

            2.1 數(shù)據(jù)的接收和預處理

            慣性測量單元發(fā)出的數(shù)據(jù)是有符號位整型的十六位數(shù)據(jù)包,分頻一個十六倍于波特率的采樣時鐘對串口數(shù)據(jù)進行采樣。由于50 MHz的系統(tǒng)時鐘不能分頻得到正好十六倍于57 600 Hz,需要實時進行相位差的同步。定義一個case結(jié)構(gòu)的語句,第七個采樣時鐘周期對串口數(shù)據(jù)進行采樣,同時定義一個寄存器,檢測到串口數(shù)據(jù)的上升沿或者下降沿時產(chǎn)生時鐘同步標志位,這樣就解決了數(shù)據(jù)穩(wěn)態(tài)和時鐘相位同步的問題。接收到的串行數(shù)據(jù)從低到高位按位依次存放到8位緩沖寄存器的第0到第7位,這樣就完成了串行數(shù)據(jù)接收。FPGA的據(jù)接收模塊對兩個8位數(shù)據(jù)拼接后得到的數(shù)據(jù)是16位有符號整型數(shù)據(jù),數(shù)據(jù)預處理模塊對需要其進行單精度浮點型的格式轉(zhuǎn)換,然后進行單位標定。其中16位有符號整型數(shù)據(jù)向單精度浮點型數(shù)據(jù)格式轉(zhuǎn)換的步驟如下:

            步驟1:判斷整型數(shù)據(jù)的最高位即符號位,記錄符號位并轉(zhuǎn)換成補碼形式;

            步驟2:接著將上述補碼形式左移位,直到第14位為1,并記錄下左移位數(shù),階碼即等于14減去左移的位數(shù);

            步驟3:將上述移位后的16位數(shù)據(jù)再左移2位即浮點數(shù)的尾數(shù)的整數(shù)部分,直接賦值給浮點數(shù)的第7到22位,由于整型數(shù)據(jù)小數(shù)點右邊全是零,所以浮點數(shù)的第0到6位也是0,浮點數(shù)的第23到30位即階碼加上127的偏移量,第31位為符號位與整型數(shù)據(jù)的最高位相同。

            2.2 歐拉法姿態(tài)并行解算模塊的FPGA設計

            FPGA芯片擁有良好的并行運算能力,不同程序塊可以相對獨立的進行運算,只要對算式進行合理的并行化分解,就能夠提高運算速度。并行計算的程序塊越多,數(shù)據(jù)處理的速度越快,消耗的硬件資源也越多。飛機運動方程如式(1)所示。

            

          基于FPGA的高速導航解算硬件實現(xiàn)

           

            相互不影響的中間變量可以同時計算,依此對式(Ⅱ)進行并行化分解。分析其計算過程,一次加減法或者乘除法通常是兩個三角函數(shù)值之間的運算,乘法運算較多,除法運算只有一次,而每兩次乘除法運算才進行一次加減法運算?;谏鲜龇治龊陀布Y源消耗的考慮,通過3個乘法運算模塊、1個除法運算模塊、2個加減法運算模塊和2個正余弦函數(shù)運算模塊對姿態(tài)角進行解算。FPGA每一個計算周期最多同時調(diào)用6個運算模塊對數(shù)據(jù)進行并行處理,不同計算周期所計算的算子安排如下所示:

            

           

            

          基于FPGA的高速導航解算硬件實現(xiàn)

           

            2.3 位置信息并行解算的FPGA設計

            通過傳感器獲得的加速度以及上述模塊解算的姿態(tài)角可以解算飛機三軸速度,飛機速度解算方程如式(2)所示。

            

           

            依據(jù)上述并行計算結(jié)構(gòu)進行硬件描述語言的編程和編譯,導航解算系統(tǒng)所占用的FPCA硬件資源如表1所示。

            

          fpga相關文章:fpga是什么


          可控硅相關文章:可控硅工作原理


          比較器相關文章:比較器工作原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();