基于FPGA和高精度ADC的組合導(dǎo)航系統(tǒng)設(shè)計(jì)
OMAP5910是TI公司生產(chǎn)的雙核處理器,將TMS320C55XTMDSP內(nèi)核與ARM9TDMI內(nèi)核集成在單芯片上,實(shí)現(xiàn)了應(yīng)用性能與低功耗的最佳組合。這種獨(dú)特的架構(gòu)不僅提供了DSP的低功耗、實(shí)施信號(hào)處理功能,同時(shí)還提供了ARM的命令和控制功能。充分發(fā)揮了DSP進(jìn)行加、乘運(yùn)算的優(yōu)勢(shì),進(jìn)行導(dǎo)航參數(shù)的實(shí)時(shí)運(yùn)算,發(fā)揮ARM超強(qiáng)事務(wù)管理功能進(jìn)行如導(dǎo)航數(shù)據(jù)的輸出、顯示、控制伺服機(jī)構(gòu)等。
本文引用地址:http://www.ex-cimer.com/article/188935.htm4 FPGA設(shè)計(jì)
4.1 FPGA邏輯設(shè)計(jì)
FPGA的主要工作在于:同步產(chǎn)生各ADC的工作時(shí)序;同步發(fā)送命令字;同步接收、數(shù)字濾波和存儲(chǔ)各ADC的轉(zhuǎn)換數(shù)據(jù);提供與外部處理器的邏輯接口。FPGA內(nèi)部的邏輯單元主要包括:狀態(tài)機(jī)(State)、ADC控制器、數(shù)字濾波器、RAM塊、接口單元等,對(duì)應(yīng)的結(jié)構(gòu)如圖3所示。
狀態(tài)機(jī)State是FPGA內(nèi)部的控制單元,它按照固定的節(jié)拍周而復(fù)始地運(yùn)行,并指揮著ADC控制器完成各種操作。根據(jù)FPGA對(duì)ADC數(shù)據(jù)發(fā)送和接收的不同過程,狀態(tài)機(jī)可分為不同的4個(gè)狀態(tài)周期。對(duì)于發(fā)送過程,其4個(gè)狀態(tài)周期依次為:建立周期、發(fā)送周期、采樣周期、轉(zhuǎn)換周期;對(duì)接收過程,其4個(gè)狀態(tài)周期依次為:建立周期、接收周期、存儲(chǔ)周期、空閑周期。由于發(fā)送和接收過程在時(shí)間上可以重疊,其狀態(tài)流程圖如圖4所示,其中Count的值是根據(jù)采樣頻率確定的,對(duì)不同的系統(tǒng)可參照選擇。
ADC控制器是FPGA內(nèi)部的主要執(zhí)行單元,它按照狀態(tài)機(jī)的節(jié)拍和狀態(tài)指示進(jìn)行相應(yīng)的工作。RAM是FPGA內(nèi)部的數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)各ADC轉(zhuǎn)換的數(shù)據(jù)。接口單元是FPGA內(nèi)部的功能協(xié)調(diào)單元,為外部處理器OMAP對(duì)FPGA的訪問提供橋梁,當(dāng)OMAP向FPGA寫入ADC初始化配置字時(shí),接口單元將配置字送往ADC控制器,同時(shí)復(fù)位狀態(tài)機(jī);當(dāng)OMAP讀取FPGA內(nèi)部RAM塊的數(shù)據(jù)時(shí),接口單元對(duì)外部處理器的訪問地址進(jìn)行譯碼,選中對(duì)應(yīng)的RAM塊,將訪問的數(shù)據(jù)送到外部處理器的總線上。
對(duì)于低成本微機(jī)械陀螺儀和加速度計(jì),由于微慣性儀表技術(shù)不很成熟,在性能和精度上仍存在不足,如數(shù)據(jù)輸出中存在野值現(xiàn)象和較大漂移,嚴(yán)重影響了系統(tǒng)的正常工作和精度,因此在進(jìn)行組合導(dǎo)航數(shù)據(jù)融合算法之前,有必要對(duì)微機(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)工作,來完成對(duì)各ADC數(shù)據(jù)的同步采集,以及與外部處理器OMAP的無縫接口。
4.2 邏輯仿真
根據(jù)FPGA內(nèi)部的邏輯單元結(jié)構(gòu)和功能,在Altera公司提供的QuartusⅡ開發(fā)平臺(tái)中,用VHDL語言對(duì)上述邏輯進(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信號(hào));姿態(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ù)期目的。
評(píng)論