基于FPGA和高精度ADC的組合導(dǎo)航系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
INS/GPS組合導(dǎo)航系統(tǒng)在軍事領(lǐng)域和民用方面的運(yùn)動載體中得到了廣泛應(yīng)用。INS是組合導(dǎo)航系統(tǒng)中的核心部分,涉及多個(gè)陀螺儀、多個(gè)加速度計(jì)和溫度傳感器等眾多傳感器數(shù)據(jù)的采集與處理,同時(shí)對系統(tǒng)運(yùn)算的實(shí)時(shí)性要求也很高。對于導(dǎo)航計(jì)算機(jī)系統(tǒng)的研究,許多學(xué)者做了大量有益的工作。傳感器數(shù)據(jù)采集現(xiàn)有方案大多采用一片多路△-∑結(jié)構(gòu)的AD芯片采集6路慣性器件信號,這就造成6路信號的數(shù)據(jù)采集不能同時(shí)進(jìn)行,在高動態(tài)下導(dǎo)致組合導(dǎo)航系統(tǒng)導(dǎo)航精度的下降。本文以TI公司生產(chǎn)的AD變換器AD1274和Altera公司生產(chǎn)的FPGA EPlS30位主選芯片,闡述了組合導(dǎo)航系統(tǒng)的實(shí)現(xiàn)方法。
2 數(shù)據(jù)采集
組合導(dǎo)航系統(tǒng)的傳感器包括3個(gè)低成本微機(jī)械陀螺儀(AD'ADXRS150)、3個(gè)微機(jī)械加速度計(jì)(AD'ADXL210)、壓力傳感器(Motorola'MPX4115A)、二軸磁羅盤(Honeywel'HMC1022)、一個(gè)溫度傳感器(TI'TMP275)和GPS。對于這些傳感器需同時(shí)采樣,方能滿足組合導(dǎo)航系統(tǒng)的要求。本系統(tǒng)選用TI公司生產(chǎn)的高精度模數(shù)轉(zhuǎn)換器ADS1274。ADS1274是一款高性能的24位△-∑結(jié)構(gòu)的AD轉(zhuǎn)換器,有4路同步采樣輸入通道,輸出有串行和并行兩種方式,如1所示。
本系統(tǒng)中共采用3片AD1274,一片用于3個(gè)陀螺儀信號的數(shù)據(jù)采集;另一片用于3個(gè)加速度計(jì)的數(shù)據(jù)采集;第三片用于2個(gè)磁方位傳感器、1個(gè)壓力傳感器的數(shù)據(jù)采集,溫度傳感器的輸出信號為數(shù)字信號,不需要進(jìn)行模數(shù)變換。每一片均剩余一路AD,用于今后深入研究的冗余系統(tǒng)。
為了克服由于傳感器輸出信號數(shù)據(jù)采集時(shí)間上的不同步引起的導(dǎo)航計(jì)算偏差,除采用具有4通道同步采用的AD1274外,數(shù)據(jù)采集系統(tǒng)的控制采用具有并行機(jī)制的FPGA,芯片選用Altera公司的Cyclone低成本FPGA EP1C6Q240。
3 組合導(dǎo)航系統(tǒng)的設(shè)計(jì)
組合導(dǎo)航系統(tǒng)的功能包括:
數(shù)據(jù)采集 采集各種傳感器信號(陀螺儀、加速度計(jì)、磁羅盤、溫度計(jì)、氣壓高程等);
預(yù)處理 采用數(shù)字濾波技術(shù)對采集到的傳感器信號進(jìn)行預(yù)處理;
導(dǎo)航計(jì)算 利用導(dǎo)航算法進(jìn)行數(shù)據(jù)融合處理;
輸出導(dǎo)航信息 將系統(tǒng)的位置、速度、姿態(tài)的功能信息輸出到運(yùn)動載體控制系統(tǒng),進(jìn)行導(dǎo)航指示和運(yùn)動控制。
導(dǎo)航計(jì)算和導(dǎo)航信息輸出采用TI的OMAP5912實(shí)現(xiàn)。組合導(dǎo)航系統(tǒng)原理如圖2所示。
[!--empirenews.page--] |
OMAP5910是TI公司生產(chǎn)的雙核處理器,將TMS320C55XTMDSP內(nèi)核與ARM9TDMI內(nèi)核集成在單芯片上,實(shí)現(xiàn)了應(yīng)用性能與低功耗的最佳組合。這種獨(dú)特的架構(gòu)不僅提供了DSP的低功耗、實(shí)施信號處理功能,同時(shí)還提供了ARM的命令和控制功能。充分發(fā)揮了DSP進(jìn)行加、乘運(yùn)算的優(yōu)勢,進(jìn)行導(dǎo)航參數(shù)的實(shí)時(shí)運(yùn)算,發(fā)揮ARM超強(qiáng)事務(wù)管理功能進(jìn)行如導(dǎo)航數(shù)據(jù)的輸出、顯示、控制伺服機(jī)構(gòu)等。
4 FPGA設(shè)計(jì)
4.1 FPGA邏輯設(shè)計(jì)
FPGA的主要工作在于:同步產(chǎn)生各ADC的工作時(shí)序;同步發(fā)送命令字;同步接收、數(shù)字濾波和存儲各ADC的轉(zhuǎn)換數(shù)據(jù);提供與外部處理器的邏輯接口。FPGA內(nèi)部的邏輯單元主要包括:狀態(tài)機(jī)(State)、ADC控制器、數(shù)字濾波器、RAM塊、接口單元等,對應(yīng)的結(jié)構(gòu)如圖3所示。
狀態(tài)機(jī)State是FPGA內(nèi)部的控制單元,它按照固定的節(jié)拍周而復(fù)始地運(yùn)行,并指揮著ADC控制器完成各種操作。根據(jù)FPGA對ADC數(shù)據(jù)發(fā)送和接收的不同過程,狀態(tài)機(jī)可分為不同的4個(gè)狀態(tài)周期。對于發(fā)送過程,其4個(gè)狀態(tài)周期依次為:建立周期、發(fā)送周期、采樣周期、轉(zhuǎn)換周期;對接收過程,其4個(gè)狀態(tài)周期依次為:建立周期、接收周期、存儲周期、空閑周期。由于發(fā)送和接收過程在時(shí)間上可以重疊,其狀態(tài)流程圖如圖4所示,其中Count的值是根據(jù)采樣頻率確定的,對不同的系統(tǒng)可參照選擇。
ADC控制器是FPGA內(nèi)部的主要執(zhí)行單元,它按照狀態(tài)機(jī)的節(jié)拍和狀態(tài)指示進(jìn)行相應(yīng)的工作。RAM是FPGA內(nèi)部的數(shù)據(jù)存儲單元,用于存儲各ADC轉(zhuǎn)換的數(shù)據(jù)。接口單元是FPGA內(nèi)部的功能協(xié)調(diào)單元,為外部處理器OMAP對FPGA的訪問提供橋梁,當(dāng)OMAP向FPGA寫入ADC初始化配置字時(shí),接口單元將配置字送往ADC控制器,同時(shí)復(fù)位狀態(tài)機(jī);當(dāng)OMAP讀取FPGA內(nèi)部RAM塊的數(shù)據(jù)時(shí),接口單元對外部處理器的訪問地址進(jìn)行譯碼,選中對應(yīng)的RAM塊,將訪問的數(shù)據(jù)送到外部處理器的總線上。
對于低成本微機(jī)械陀螺儀和加速度計(jì),由于微慣性儀表技術(shù)不很成熟,在性能和精度上仍存在不足,如數(shù)據(jù)輸出中存在野值現(xiàn)象和較大漂移,嚴(yán)重影響了系統(tǒng)的正常工作和精度,因此在進(jìn)行組合導(dǎo)航數(shù)據(jù)融合算法之前,有必要對微機(jī)械傳感器(陀螺儀、加速度計(jì)、壓力傳感器等)輸出的數(shù)據(jù)進(jìn)行預(yù)處理。本系統(tǒng)采用文獻(xiàn)介紹的方法利用FPGA設(shè)計(jì)FIR濾波器??紤]總體要求,數(shù)字濾波器設(shè)計(jì)指標(biāo):通頻帶0~20 Hz;通帶衰減不大于-3 dB;過渡帶寬5 Hz;阻帶內(nèi)最小衰減不小于-20 dB;采用頻率100 Hz。
FPGA通過這些內(nèi)部結(jié)構(gòu)單元的協(xié)調(diào)工作,來完成對各ADC數(shù)據(jù)的同步采集,以及與外部處理器OMAP的無縫接口。
4.2 邏輯仿真
根據(jù)FPGA內(nèi)部的邏輯單元結(jié)構(gòu)和功能,在Altera公司提供的QuartusⅡ開發(fā)平臺中,用VHDL語言對上述邏輯進(jìn)行了設(shè)計(jì),并進(jìn)行了功能仿真。其設(shè)計(jì)結(jié)果已在該公司的EP1C6得到實(shí)現(xiàn),且性能穩(wěn)定。
5 結(jié) 語
本文提出了基于FPGA和高精度ADC的組合導(dǎo)航系統(tǒng),該系統(tǒng)具有開發(fā)周期短、集成化程度高等特點(diǎn)。軟件和硬件均采用編程實(shí)現(xiàn),設(shè)計(jì)靈活,容易修改,在實(shí)際應(yīng)用中收到良好的效果。通過跑車試驗(yàn),基于FPGA和高精度ADC的組合導(dǎo)航系統(tǒng)的導(dǎo)航位置精度:水平位置6 m(無DGPS),5 min 300 m(無GPS信號);姿態(tài)精度:橫滾和俯仰角度0.3°~0.5°(有GPS),0.7°~1.0°(無GPS);航向角度0.4°(有GPS),2°(無GPS)。實(shí)驗(yàn)證明該設(shè)計(jì)方案切實(shí)可行,達(dá)到了預(yù)期目的。