基于FPGA和高精度ADC的組合導航系統設計
OMAP5910是TI公司生產的雙核處理器,將TMS320C55XTMDSP內核與ARM9TDMI內核集成在單芯片上,實現了應用性能與低功耗的最佳組合。這種獨特的架構不僅提供了DSP的低功耗、實施信號處理功能,同時還提供了ARM的命令和控制功能。充分發揮了DSP進行加、乘運算的優勢,進行導航參數的實時運算,發揮ARM超強事務管理功能進行如導航數據的輸出、顯示、控制伺服機構等。
本文引用地址:http://www.104case.com/article/188935.htm4 FPGA設計
4.1 FPGA邏輯設計
FPGA的主要工作在于:同步產生各ADC的工作時序;同步發送命令字;同步接收、數字濾波和存儲各ADC的轉換數據;提供與外部處理器的邏輯接口。FPGA內部的邏輯單元主要包括:狀態機(State)、ADC控制器、數字濾波器、RAM塊、接口單元等,對應的結構如圖3所示。
![]() |
狀態機State是FPGA內部的控制單元,它按照固定的節拍周而復始地運行,并指揮著ADC控制器完成各種操作。根據FPGA對ADC數據發送和接收的不同過程,狀態機可分為不同的4個狀態周期。對于發送過程,其4個狀態周期依次為:建立周期、發送周期、采樣周期、轉換周期;對接收過程,其4個狀態周期依次為:建立周期、接收周期、存儲周期、空閑周期。由于發送和接收過程在時間上可以重疊,其狀態流程圖如圖4所示,其中Count的值是根據采樣頻率確定的,對不同的系統可參照選擇。
![]() |
ADC控制器是FPGA內部的主要執行單元,它按照狀態機的節拍和狀態指示進行相應的工作。RAM是FPGA內部的數據存儲單元,用于存儲各ADC轉換的數據。接口單元是FPGA內部的功能協調單元,為外部處理器OMAP對FPGA的訪問提供橋梁,當OMAP向FPGA寫入ADC初始化配置字時,接口單元將配置字送往ADC控制器,同時復位狀態機;當OMAP讀取FPGA內部RAM塊的數據時,接口單元對外部處理器的訪問地址進行譯碼,選中對應的RAM塊,將訪問的數據送到外部處理器的總線上。
對于低成本微機械陀螺儀和加速度計,由于微慣性儀表技術不很成熟,在性能和精度上仍存在不足,如數據輸出中存在野值現象和較大漂移,嚴重影響了系統的正常工作和精度,因此在進行組合導航數據融合算法之前,有必要對微機械傳感器(陀螺儀、加速度計、壓力傳感器等)輸出的數據進行預處理。本系統采用文獻介紹的方法利用FPGA設計FIR濾波器??紤]總體要求,數字濾波器設計指標:通頻帶0~20 Hz;通帶衰減不大于-3 dB;過渡帶寬5 Hz;阻帶內最小衰減不小于-20 dB;采用頻率100 Hz。
FPGA通過這些內部結構單元的協調工作,來完成對各ADC數據的同步采集,以及與外部處理器OMAP的無縫接口。
4.2 邏輯仿真
根據FPGA內部的邏輯單元結構和功能,在Altera公司提供的QuartusⅡ開發平臺中,用VHDL語言對上述邏輯進行了設計,并進行了功能仿真。其設計結果已在該公司的EP1C6得到實現,且性能穩定。
5 結 語
本文提出了基于FPGA和高精度ADC的組合導航系統,該系統具有開發周期短、集成化程度高等特點。軟件和硬件均采用編程實現,設計靈活,容易修改,在實際應用中收到良好的效果。通過跑車試驗,基于FPGA和高精度ADC的組合導航系統的導航位置精度:水平位置6 m(無DGPS),5 min 300 m(無GPS信號);姿態精度:橫滾和俯仰角度0.3°~0.5°(有GPS),0.7°~1.0°(無GPS);航向角度0.4°(有GPS),2°(無GPS)。實驗證明該設計方案切實可行,達到了預期目的。
評論