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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的平流層驗(yàn)證飛艇組合導(dǎo)航系統(tǒng)設(shè)計(jì)

          基于DSP的平流層驗(yàn)證飛艇組合導(dǎo)航系統(tǒng)設(shè)計(jì)

          ——
          作者: 時(shí)間:2007-01-26 來源:《電子技術(shù)應(yīng)用》 收藏

          平流層空域處于飛行高度最高的飛機(jī)和軌道最低的衛(wèi)星之間,加之其具有良好的電磁特性和非常穩(wěn)定的氣象條件,因此人們不斷地嘗試?yán)闷搅鲗语w艇作為可長期駐空的平臺進(jìn)行通信、對地觀測、國土資源監(jiān)測和預(yù)警等。由于飛艇具有獨(dú)特的優(yōu)勢:可直升、可長時(shí)間滯空,且具有較大的有效載荷能力和低能耗等特點(diǎn),被人們稱為"多功能航空器"[1],因此世界各國都在飛艇方面開展了多種多樣的研究。

          鑒于平流層高空飛艇組合導(dǎo)航系統(tǒng)設(shè)計(jì)的復(fù)雜性,工程中利用低空飛艇對其進(jìn)行驗(yàn)證分析。由于低空飛艇所提供的升力有限,因此組合導(dǎo)航系統(tǒng)的小型化及經(jīng)濟(jì)化勢在必行。針對這種現(xiàn)狀,本文設(shè)計(jì)了基于dsp+mcu的專用導(dǎo)航計(jì)算機(jī)。小型驗(yàn)證飛艇飛行試驗(yàn)驗(yàn)證了該系統(tǒng)可滿足實(shí)時(shí)性和精度的要求,為平流層飛艇的研制打下了基礎(chǔ)。

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

          1 組合導(dǎo)航系統(tǒng)的基本原理

          1.1 導(dǎo)航器件的特性

          慣性導(dǎo)航系統(tǒng)是一種計(jì)算機(jī)技術(shù)和慣性測量裝置組合的自主式空間基準(zhǔn)保持系統(tǒng),在航天、航空、航海及陸地車輛有著廣泛的應(yīng)用。根據(jù)結(jié)構(gòu)可將其分為兩大類:平臺式和捷聯(lián)式。捷聯(lián)式慣導(dǎo)系統(tǒng)將慣性測量元件(陀螺和加速度計(jì))固連在載體上,省去了傳統(tǒng)的機(jī)電平臺,具有結(jié)構(gòu)簡單、體積小、重量輕、成本低得優(yōu)點(diǎn)[2]。其中,微慣性測量組合(mimu)與傳統(tǒng)的慣性組合相比由于具有尺寸小,重量輕、成本低、功耗小、壽命長、可靠性高和動態(tài)性能好等一系列無法比擬的優(yōu)點(diǎn),因此其應(yīng)用前景也越來越廣闊,是當(dāng)今慣性技術(shù)發(fā)展的一個(gè)重要方向[3]?;诒鞠到y(tǒng)的具體應(yīng)用領(lǐng)域,本組合導(dǎo)航系統(tǒng)選用捷聯(lián)式微慣性測量組合(smimu)。

          gps具有定位精度高、價(jià)格低廉等優(yōu)勢,在許多領(lǐng)域得到了廣泛的應(yīng)用。介紹其工作原理的文獻(xiàn)[4]比較多,在此不再贅述。

          1.2 組合系統(tǒng)的狀態(tài)方程

          選取狀態(tài)變量為慣導(dǎo)系統(tǒng)的各誤差項(xiàng),系統(tǒng)采用東北天為其導(dǎo)航坐標(biāo)系,通過對系統(tǒng)的性能和各種誤差源的分析,得到組合導(dǎo)航系統(tǒng)的狀態(tài)方程為:

          1.3 量測方程

          在位置、速度組合模式中有兩組量測值:慣導(dǎo)系統(tǒng)給出的經(jīng)度、緯度、高度信息和gps接收機(jī)給出的相應(yīng)信息的差值;兩個(gè)系統(tǒng)給出的速度差值。利用這兩組差值可得smins/gps組合的量測方程為:

          z(t)= h(t)x(t)+v(t) (2)

          (2)式中,觀測矢量z=[δve,δvn,δvu,δl,δλ,δh]t,觀測噪聲矢量為v=[vvx,vvy,vvz,vl,vλ,vh]t。

          實(shí)際載體中,將組合導(dǎo)航系統(tǒng)測量得到的各種參量送入導(dǎo)航計(jì)算機(jī),經(jīng)過一定的數(shù)據(jù)融合后對載體進(jìn)行相應(yīng)的控制。

          2 系統(tǒng)硬件設(shè)計(jì)

          長期以來捷聯(lián)導(dǎo)航計(jì)算機(jī)一直采用x86為核心的計(jì)算機(jī)結(jié)構(gòu),這不僅使得系統(tǒng)結(jié)構(gòu)復(fù)雜,體積龐大、功耗較高,并且程序效率和直接操作硬件的靈活性都受到影響。因此本系統(tǒng)中采用的運(yùn)算精度高、接口資源豐富、成本低廉的高速dsp作為核心運(yùn)算單元。

          2.1 主要硬件特征

          本系統(tǒng)導(dǎo)航計(jì)算任務(wù)由高速dsp完成,型號選用ti公司最新推出的32位定點(diǎn)dsp控制器--tms320f2812芯片。該處理器采用程序與數(shù)據(jù)分離的哈佛結(jié)構(gòu),提升了數(shù)據(jù)吞吐量。其頻率高達(dá)150mhz,大大提高了控制系統(tǒng)的控制精度及核芯片處理能力;集成了128kb的閃存、4kb的引導(dǎo)rom及2kb的otp rom,可用于軟件開發(fā)及對現(xiàn)場軟件進(jìn)行升級時(shí)的簡單再編程;優(yōu)化過的事件管理器包括脈沖寬度調(diào)制(pwm)產(chǎn)生器、可編程通用計(jì)時(shí)器以及捕捉譯碼接口等;片上標(biāo)準(zhǔn)通信接口可為主機(jī)、測試設(shè)備、顯示器及其他組件提供簡便的通信端口[5]。這些特性使得tms320f2812非常適合計(jì)算量大、實(shí)時(shí)性強(qiáng)、對計(jì)算精度要求高、接口復(fù)雜的處理環(huán)境。

          利用mcu完成數(shù)據(jù)采集,接口擴(kuò)展、電源開發(fā)和人機(jī)交互的功能,型號選為cygnal公司的c8051f021。該芯片采用流水線結(jié)構(gòu),大大提高了指令運(yùn)行速度,最大速度可達(dá)25mips。其含有豐富的數(shù)字外設(shè),包括4個(gè)8位i/o端口,可同時(shí)使用的硬件包括smbus、spi和兩個(gè)增強(qiáng)型uart串口,5個(gè)通用的16位計(jì)數(shù)器/定時(shí)器,專用的看門狗定時(shí)器。該芯片的時(shí)鐘頻率達(dá)到25mhz。作為導(dǎo)航計(jì)算機(jī)的從處理器,該芯片能夠方便地?cái)U(kuò)展接口,實(shí)時(shí)采集各路傳感器信號。

          2.2 基于dsp的系統(tǒng)硬件組成

          基于dsp的硬件結(jié)構(gòu)如圖1所示。慣性測量元件包括3個(gè)陀螺儀和3個(gè)加速度計(jì)。tms320f2812帶有12位流水線的模/數(shù)轉(zhuǎn)換器(adc),模/數(shù)轉(zhuǎn)換單元的模擬電路包括前向模擬多路復(fù)用開關(guān)(muxs)、采樣/保持(s/h)電路、電壓參考以及其他的模擬輔助電路。其模/數(shù)轉(zhuǎn)換模塊(adc)有16個(gè)通道,可以配置為兩個(gè)獨(dú)立的8通道模塊,分別服務(wù)于事件管理器a和b。因此陀螺儀與加速度計(jì)測量得到的角速度與加速度信息不必再通過外圍專門的模/數(shù)轉(zhuǎn)換電路,而是經(jīng)過一定的信號預(yù)處理之后直接送入dsp。這樣就簡化了系統(tǒng)的硬件重量和復(fù)雜度,提高了系統(tǒng)的可靠性。gps采集到的位置、姿態(tài)等數(shù)字量信息可以通過rs232串口送入dsp。

          tms320f2812所帶的spi(串行外設(shè)接口)是一個(gè)高速同步的串行輸入/輸出口。spi的通信速率和通信數(shù)據(jù)長度都是可以編程的,它可以方便地用于和其他處理器之間的通信。

          大量的導(dǎo)航計(jì)算由tms320f2812完成,主要包括慣性元件的誤差補(bǔ)償、初始對準(zhǔn)、姿態(tài)矩陣計(jì)算、四元數(shù)計(jì)算、等效轉(zhuǎn)動矢量計(jì)算、速度位置計(jì)算和姿態(tài)計(jì)算、gps數(shù)據(jù)與慣性數(shù)據(jù)的融合等。計(jì)算得到的飛艇姿態(tài)、位置等信息分別被送往數(shù)傳電臺、電動機(jī)和mcu等裝置進(jìn)行相應(yīng)的操作。

          c8051f021主要完成底層控制。根據(jù)tms320f2812傳入的數(shù)據(jù),對舵機(jī)和能源進(jìn)行相應(yīng)的控制;并且將實(shí)時(shí)導(dǎo)航數(shù)據(jù)(速度、位置、姿態(tài))送入液晶顯示器,方便人機(jī)交互。對c8051f021的外部i/o端口進(jìn)行接口擴(kuò)展,完成相應(yīng)的控制任務(wù)。

          3 系統(tǒng)軟件設(shè)計(jì)

          以第1節(jié)中介紹的ins系統(tǒng)的誤差方程為狀態(tài)方程,以gps和ins的輸出誤差為觀測量,通過一定的算法對狀態(tài)誤差作出最優(yōu)估計(jì),然后對系統(tǒng)進(jìn)行校正,提高系統(tǒng)的導(dǎo)航精度?,F(xiàn)代的導(dǎo)航算法普遍采用卡爾曼濾波改進(jìn)算法和神經(jīng)網(wǎng)絡(luò)算法,參考文獻(xiàn)[6]中進(jìn)行了詳細(xì)介紹。

          軟件設(shè)計(jì)所采用的語言一般為c語言或匯編語言。在對實(shí)時(shí)性要求較低的場合,一般采用c語言編程,而在對實(shí)時(shí)性要求較高或者頻率與外設(shè)交換信息的場合,則利用匯編語言進(jìn)行編程。本系統(tǒng)軟件流程圖如圖2所示。

          4 試飛實(shí)驗(yàn)

          利用某小型平流層驗(yàn)證飛艇進(jìn)行了試飛實(shí)驗(yàn),其飛行試驗(yàn)數(shù)據(jù)示意圖如圖3所示。圖3(a)為飛艇起飛前的準(zhǔn)備階段以及飛行過程中的姿態(tài)角信息示意圖。由圖可見測量系統(tǒng)采集到9300個(gè)點(diǎn)左右,其在俯仰、滾動角中有少量噪聲存在,這在系統(tǒng)誤差的允許范圍內(nèi)。點(diǎn)位為9200時(shí)的姿態(tài)角的跳變是由于艇降落時(shí)的非平穩(wěn)性而出現(xiàn)姿態(tài)的較大變動。偏航角信息中角度的跳變是因?yàn)槠浇堑姆秶鸀?-360度,當(dāng)角度從接近360度繼續(xù)增加時(shí),角度就會跳轉(zhuǎn)到0度附近,此時(shí)便會發(fā)生如圖3(a)第三個(gè)小圖中的跳變了。

          為了分析問題的方便,將飛行過程中的最后880個(gè)點(diǎn)提取出來。圖3(b)為這一階段的載體姿態(tài)角信息示意圖,圖3(c)為這一過程對應(yīng)的飛艇飛行路線圖(起點(diǎn)為a、終點(diǎn)為b)。由圖中可以看出飛艇的滾動角變化量很小,這符合實(shí)際情況;而偏航角的變化則可以明顯地體現(xiàn)出飛艇飛行航向的變化。圖中對最后階段的不穩(wěn)定過程也有十分精確的描述。

          本文分析了小型平流層驗(yàn)證飛艇的組合導(dǎo)航系統(tǒng)的基本原理,并在此基礎(chǔ)上設(shè)計(jì)了基于dsp的導(dǎo)航計(jì)算機(jī)。該計(jì)算機(jī)結(jié)構(gòu)簡單、體積小、能耗低、為搭載更多的有效載荷與功能擴(kuò)展提供了空間。對該組合導(dǎo)航系統(tǒng)進(jìn)行了實(shí)際飛行試驗(yàn),結(jié)果表明該系統(tǒng)的實(shí)時(shí)性好,測量精度可滿足設(shè)計(jì)要求。




          關(guān)鍵詞:

          評論


          相關(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); })();