基于DSP和FPGA的導(dǎo)航計(jì)算機(jī)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為提高導(dǎo)航的精度和實(shí)時(shí)性,設(shè)計(jì)了基于DSP和FPGA的導(dǎo)航計(jì)算機(jī)模塊,成功實(shí)現(xiàn)了低成本、小型化的捷聯(lián)慣性導(dǎo)航系統(tǒng)。通過描述硬件的設(shè)計(jì)原理和軟件的框架及流程,簡要介紹了系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。經(jīng)驗(yàn)證,該系統(tǒng)達(dá)到了導(dǎo)航定位的性能和精度要求,姿態(tài)、位置和速度等參數(shù)可以有效融合多傳感器的導(dǎo)航信息,能滿足導(dǎo)航計(jì)算機(jī)在處理能力、體積、功耗和適應(yīng)性等方面的要求。
關(guān)鍵詞:導(dǎo)航計(jì)算機(jī);DSP;FPGA;導(dǎo)航定位
0 引言
慣性導(dǎo)航系統(tǒng)是隨慣性傳感器(陀螺儀和加速度計(jì))技術(shù)的發(fā)展而發(fā)展起來的一門導(dǎo)航技術(shù),由于具有完全自主,不受任何干擾,隱蔽性強(qiáng),輸出信息量大,輸出信息實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),在軍事領(lǐng)域和民用領(lǐng)域都得到了廣泛的應(yīng)用,已被許多機(jī)載設(shè)備選為標(biāo)準(zhǔn)導(dǎo)航設(shè)備。特別是現(xiàn)代戰(zhàn)爭(zhēng)所面臨的電磁環(huán)境日益復(fù)雜,對(duì)慣性導(dǎo)航技術(shù)的依賴和要求也越來越高,慣性導(dǎo)航技術(shù)已經(jīng)成為現(xiàn)代高科技戰(zhàn)爭(zhēng)中一項(xiàng)重要支撐技術(shù)而受到各國的關(guān)注。為了保證飛機(jī)按照預(yù)定的航線進(jìn)行飛行,對(duì)各種數(shù)據(jù)進(jìn)行實(shí)時(shí)精確處理顯得非常關(guān)鍵,因此研制具有可靠性高,運(yùn)算精度高,性能先進(jìn)等特點(diǎn)的新一代導(dǎo)航計(jì)算機(jī)已成為必然。
1 導(dǎo)航計(jì)算機(jī)系統(tǒng)組成
導(dǎo)航計(jì)算機(jī)是慣性導(dǎo)航系統(tǒng)的核心功能單元之一,配套應(yīng)用于慣性導(dǎo)航系統(tǒng)的總體中。導(dǎo)航計(jì)算機(jī)采用嵌入式計(jì)算機(jī)設(shè)計(jì)技術(shù)、智能接口技術(shù)及高精度組合導(dǎo)航技術(shù),配置高性能DSP處理器和大容量存儲(chǔ)器,利用大規(guī)?,F(xiàn)場(chǎng)可編程門陣列(FPGA)設(shè)計(jì),使用集成軟件開發(fā)環(huán)境開發(fā)程序?qū)崿F(xiàn)高速板內(nèi)總線對(duì)接口的高速訪問。由處理器通過接收陀螺、加速度計(jì)、GPS等其他傳感器的輸入數(shù)據(jù)進(jìn)行導(dǎo)航解算、誤差補(bǔ)償?shù)冗\(yùn)算處理,獲得航向、俯仰、滾動(dòng)角、三軸角速率、速度、經(jīng)緯度、高度等導(dǎo)航所需的參數(shù)信息。
作為導(dǎo)航系統(tǒng)核心部件的導(dǎo)航計(jì)算機(jī)負(fù)責(zé)從數(shù)據(jù)采集電路獲取導(dǎo)航原始數(shù)據(jù),進(jìn)行捷聯(lián)導(dǎo)航算法處理,最后將解算得到的導(dǎo)航結(jié)果進(jìn)行輸出控制。系統(tǒng)工作原理如圖1所示。
2 導(dǎo)航計(jì)算機(jī)硬件組成
導(dǎo)航計(jì)算機(jī)采用GPS衛(wèi)星導(dǎo)航與慣性導(dǎo)航相結(jié)合,采用松耦合方式進(jìn)行互聯(lián),在保證系統(tǒng)間信息交換能力的前提下考慮系統(tǒng)的組合性和靈活性。為提高系統(tǒng)的實(shí)時(shí)性、集成度和擴(kuò)展性,硬件設(shè)計(jì)上采用DSP+FPGA的解決方案。
DSP芯片主要完成復(fù)雜的數(shù)學(xué)運(yùn)算,包含誤差補(bǔ)償、初始對(duì)準(zhǔn)和導(dǎo)航運(yùn)算等;FPGA芯片完成所有外圍接口,包括陀螺、加速度計(jì)的高速采樣和I/O接口等各傳感器信號(hào)的采集,通過信號(hào)處理電路送至處理器芯片進(jìn)行運(yùn)算處理,將解算到的慣性測(cè)量信息通過數(shù)據(jù)接口控制輸出。導(dǎo)航計(jì)算機(jī)硬件組成如圖2所示。
[!--empirenews.page--]
為保障系統(tǒng)具有大規(guī)模數(shù)據(jù)處理能力,同時(shí)具有實(shí)時(shí)性的特點(diǎn),導(dǎo)航計(jì)算機(jī)的核心器件選用了TI公司推出的高速浮點(diǎn)處理器DSP芯片TMS 320C6713。作為導(dǎo)航計(jì)算機(jī)的核心控制部件,該芯片工作的主頻為200 MHz,單指令執(zhí)行周期為5 ns;定點(diǎn)浮點(diǎn)運(yùn)算能力強(qiáng)大,運(yùn)算速度能達(dá)到1 600 MIPS/1 200 MFLOPS。作為數(shù)據(jù)運(yùn)算系統(tǒng),TMS320C6713不僅保證了導(dǎo)航運(yùn)算的速度和精度,同時(shí)豐富的系統(tǒng)應(yīng)用外設(shè)及多種標(biāo)準(zhǔn)接口,方便導(dǎo)航計(jì)算機(jī)與外部傳感器進(jìn)行數(shù)據(jù)交互??焖俚闹袛嗵幚硇阅芸杀U蠈?dǎo)航計(jì)算機(jī)多個(gè)接口的傳輸速率。
為滿足多個(gè)數(shù)據(jù)接口的數(shù)據(jù)傳輸需要,采用XILINX公司的現(xiàn)場(chǎng)可編程門陣列FPGA芯片XQ4013E4PG223M,設(shè)計(jì)完成了系統(tǒng)的復(fù)位功能、邏輯譯碼功能、外部接口管理和移位脈沖計(jì)數(shù)功能。FPGA芯片的使用,方便了功能電路的集成,在不增加硬件電路的情況下,通過模塊化的VHDL設(shè)計(jì),適應(yīng)了導(dǎo)航功能電路的變化。通過采用基于VHDL的計(jì)數(shù)脈沖濾波、采樣及自測(cè)試技術(shù),提高了輸入信號(hào)的采集精度,對(duì)提高整個(gè)激光捷聯(lián)慣導(dǎo)系統(tǒng)的定位精度提供了支撐,實(shí)現(xiàn)了高精度、通用化和小型化。
慣性器件的輸出信號(hào)采樣頻率決定了捷聯(lián)解算的精度和速度。根據(jù)實(shí)時(shí)性要求,系統(tǒng)每1 ms采集一次陀螺脈沖和加速度計(jì)的數(shù)據(jù),DSP芯片每10ms進(jìn)行1次導(dǎo)航數(shù)據(jù)解算。因此選用高效的AD1674和OP200電路對(duì)加速度計(jì)采集到的信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,將采集到的0~5V電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),存儲(chǔ)于內(nèi)部數(shù)據(jù)緩沖區(qū)內(nèi)供DSP芯片進(jìn)行數(shù)據(jù)處理。AD1674是12位A/D轉(zhuǎn)換器,具有10 V參考輸入,時(shí)鐘輸入和三態(tài)輸出的微處理器接口,具有采樣/保持功能,可對(duì)快速傳輸?shù)慕唬绷餍盘?hào)進(jìn)行直接轉(zhuǎn)換,轉(zhuǎn)換時(shí)間不大于15μs。AD1674芯片可以在兩種模式下工作,全控制模式和獨(dú)立模式,設(shè)計(jì)中選用獨(dú)立工作模式,數(shù)據(jù)轉(zhuǎn)換由R/C信號(hào)控制。
光纖陀螺輸出信號(hào)是脈沖信號(hào),x,y和z軸分別輸出正反2路信號(hào),信號(hào)為GPOXP,GPOXN,GPOYP,GPOYN,GPOZP,GPOZN。定時(shí)周期內(nèi)正反信號(hào)脈沖個(gè)數(shù)的差和標(biāo)度因數(shù)的積即為該軸向陀螺的角速度。光纖陀螺的計(jì)數(shù)功能模塊如圖3所示。
光纖陀螺的脈沖信號(hào)經(jīng)信號(hào)調(diào)理電路進(jìn)入計(jì)數(shù)器模塊。計(jì)數(shù)器模塊由5片定時(shí)器芯片8254實(shí)現(xiàn)14路16位計(jì)數(shù)器。5片芯片共用I/O地址空間,使能端長有效,輸入時(shí)鐘通過二選一電路來選擇輸入信號(hào)。6路脈沖信號(hào)工作,同時(shí)計(jì)數(shù),確保光纖陀螺輸入?yún)?shù)的準(zhǔn)確性和實(shí)時(shí)性。脈沖信號(hào)計(jì)數(shù)和光纖陀螺之間在FPGA中以VHDL代碼形式描述。
GPOXP<=DRP AND (NOT GPOX) AND C(0);
GPOXN<=DRP AND (NOT GPOX) AND C(1);
GPOYP<=DRP AND (NOT GPOY) AND C(2);
GPOYN<=DRP AND (NOT GPOY) AND C(3);
GPOZP<=DRP AND (NOT GPOZ) AND C(4);
GPOZN<=DRP AND (NOT GPOZ) AND C(5);
其中,GPOX,GPOY,GPOZ分別為8254芯片3個(gè)定時(shí)器/計(jì)數(shù)器輸出信號(hào);GPOXP,GPOXN,GPOYP,GPOYN,GPOZP,GPOZN分別經(jīng)過5406反相輸出后,依次對(duì)應(yīng)CTRLGX+,CTRLGX-,CTRLGY+,CTRLGY-,CTRLGZ+,CTRLGZ-信號(hào)。
陀螺脈沖、加表脈沖和抖頻脈沖是外部傳感器的輸入信號(hào),是導(dǎo)航計(jì)算機(jī)的“眼睛”,計(jì)數(shù)要求最大計(jì)數(shù)頻率為1MHz,計(jì)數(shù)精度為±1,導(dǎo)航計(jì)算機(jī)依靠解析這些信號(hào)進(jìn)行定位,各導(dǎo)航系統(tǒng)的信息通信是否通暢、精確直接影響導(dǎo)航系統(tǒng)的性能,因此對(duì)這些信號(hào)的處理及可靠性要求非常高。如果這些電路出現(xiàn)故障,導(dǎo)航計(jì)算機(jī)則幾乎無法使用;如果處理器采集的數(shù)據(jù)誤差大,導(dǎo)航計(jì)算機(jī)的定位將不夠準(zhǔn)確,因此該部分電路是導(dǎo)航計(jì)算機(jī)的設(shè)計(jì)關(guān)鍵。針對(duì)這部分關(guān)鍵電路設(shè)計(jì)了專用測(cè)試電路。在系統(tǒng)加電初始化完成后,通過軟件控制,硬件將輸出標(biāo)準(zhǔn)的脈沖信號(hào)切換到傳感器脈沖信號(hào)的輸入端,然后進(jìn)行數(shù)據(jù)采樣,觀察測(cè)試數(shù)據(jù)的準(zhǔn)確性是否滿足系統(tǒng)要求,實(shí)現(xiàn)了功能電路的自測(cè)試。
光纖陀螺的參數(shù)通過RS 422接口傳遞給處理器解算。RS 422電路由一片8252實(shí)現(xiàn)一路串行接口,通過MAX488芯片實(shí)現(xiàn)RS 422接口的轉(zhuǎn)換,可實(shí)現(xiàn)最高1 Mb/s的數(shù)據(jù)傳輸速率。支持點(diǎn)對(duì)多的雙向通信,數(shù)據(jù)信號(hào)采用全雙工差分方式實(shí)現(xiàn),信號(hào)的方式與接收在同一時(shí)刻進(jìn)行而互不干擾,提高系統(tǒng)的響應(yīng)速度。
ARINC429數(shù)據(jù)總線是為航空電子系統(tǒng)通信規(guī)定的航空工業(yè)標(biāo)準(zhǔn),它為系統(tǒng)互聯(lián)提供統(tǒng)一平臺(tái),擔(dān)負(fù)著交聯(lián)各個(gè)電子設(shè)備的重要責(zé)任。RS 429電路選用Harris公司的HSI3182和HSI3282,實(shí)現(xiàn)ARINC429數(shù)據(jù)接口的擴(kuò)展,接收和發(fā)送中斷均連接至系統(tǒng)中斷控制器。傳輸?shù)奈凰俾蕿?00 Kb/s,保障了各系統(tǒng)間的數(shù)字信息快速而可靠的傳輸。
導(dǎo)航計(jì)算機(jī)與上位機(jī)之間以RS 232串口形式進(jìn)行數(shù)據(jù)交互,完成軟件調(diào)試和串行通信(包括初始化參數(shù)的裝載、導(dǎo)航功能的選擇和導(dǎo)航功能的輸出)。DSP芯片通過擴(kuò)展異步串行接口,形成兩路UART實(shí)現(xiàn)異步全雙工串口通信,傳輸速率可達(dá)1.5 Mb/s。TTL電平和RS 232電平轉(zhuǎn)換通過MAX232芯片實(shí)現(xiàn)。
[!--empirenews.page--]
3 導(dǎo)航計(jì)算機(jī)軟件設(shè)計(jì)
導(dǎo)航計(jì)算機(jī)軟件采用DSP集成開發(fā)環(huán)境CCS實(shí)現(xiàn)。CCS是TI公司推出的DSP開發(fā)環(huán)境,集成Sireulator和Emulator仿真器驅(qū)動(dòng)程序。它包含每個(gè)TI器件的編譯器、源代碼編輯器、項(xiàng)目開發(fā)環(huán)境、調(diào)試器及許多其他功能,與C語言有良好的數(shù)據(jù)交互接口。CCS提供的單用戶界面能使用戶完成應(yīng)用程序開發(fā)例程的每一步。CCS主要包括:CCS代碼生成工具;CCS集成開發(fā)環(huán)境;DSP/BIOS插件程序和API;RTDX插件、主機(jī)接口和API。
組合導(dǎo)航的軟件算法解算過程通常采用卡爾曼濾波器實(shí)現(xiàn),通過反復(fù)迭代實(shí)現(xiàn)。軟件實(shí)現(xiàn)的功能分為4部分:系統(tǒng)初始化、數(shù)據(jù)采集任務(wù)、捷聯(lián)導(dǎo)航結(jié)算任務(wù)和命令參數(shù)發(fā)送任務(wù)。DSP上電復(fù)位后進(jìn)行系統(tǒng)初始化工作,配置各寄存器和內(nèi)部資源的狀態(tài)為確定的初始狀態(tài)。如果監(jiān)測(cè)到中斷控制器的中斷信號(hào),首先讀取RS 422和RS 429接口電路的數(shù)據(jù),進(jìn)行航向輔助的慣導(dǎo)數(shù)據(jù)解算。A/D轉(zhuǎn)化結(jié)束產(chǎn)生中斷,DSP從數(shù)據(jù)緩沖區(qū)讀取到轉(zhuǎn)換結(jié)果,得到飛行參數(shù)信息,并且將此時(shí)所有傳感器的數(shù)據(jù)進(jìn)行匯總分析,實(shí)現(xiàn)一次卡爾曼濾波。將得到的數(shù)據(jù)對(duì)捷聯(lián)慣導(dǎo)的運(yùn)算進(jìn)行誤差修正,得到系統(tǒng)最優(yōu)的導(dǎo)航信息,通過串行口輸出給上位計(jì)算機(jī)顯示并對(duì)飛行器進(jìn)行適當(dāng)?shù)恼{(diào)整。
軟件成功執(zhí)行了捷聯(lián)算法,各個(gè)功能函數(shù)執(zhí)行正確,并且導(dǎo)航結(jié)果有較好的精度。在系統(tǒng)加電后,導(dǎo)航計(jì)算機(jī)的引導(dǎo)程序首先讀取系統(tǒng)狀態(tài)信息。調(diào)試模式下可通過宿主機(jī)的開發(fā)調(diào)試工具CCS進(jìn)行應(yīng)用程序的編輯、編譯、加載和調(diào)試,調(diào)試通過后使用編程工具將應(yīng)用程序固化到系統(tǒng)FLASH中,從而提高了導(dǎo)航計(jì)算機(jī)的開發(fā)調(diào)試能力。軟件的執(zhí)行流程圖如圖4所示。
4 結(jié)語
激光捷聯(lián)慣性導(dǎo)航系統(tǒng)是一種自主式導(dǎo)航基準(zhǔn)系統(tǒng),它成本低廉,結(jié)構(gòu)簡單,可靠性高,廣泛應(yīng)用在飛機(jī)、導(dǎo)彈、火箭、艦船、衛(wèi)星等設(shè)備中。試驗(yàn)結(jié)果表明,系統(tǒng)的方案設(shè)計(jì)達(dá)到要求,導(dǎo)航精度符合設(shè)計(jì)要求。在硬件設(shè)計(jì)時(shí)充分考慮了系統(tǒng)的擴(kuò)展,預(yù)留有串行口等擴(kuò)展接口,可方便接入GPS接收機(jī)等外部導(dǎo)航設(shè)備,方便形成組合型導(dǎo)航系統(tǒng),對(duì)導(dǎo)航系統(tǒng)小型化的研究和推廣具有積極的意義。