捷聯(lián)慣性組合導航系統(tǒng)的工程設(shè)計
3.1 FPGA軟件設(shè)計
FPGA是按照主CPU的指令來執(zhí)行對加速度計的數(shù)據(jù)采集和數(shù)據(jù)處理任務,然后將預處理的結(jié)果寫入雙端口RAM,供PC/104使用。FPGA內(nèi)部的邏輯塊包括時鐘、A/D控制器、數(shù)字濾波器、雙口RAM、接口單元等。數(shù)字濾波器的設(shè)計直接采用設(shè)計好的FIR濾波器的IP核。通過Verilog HDL語言對雙口RAM的描述可以在FPGA內(nèi)部實現(xiàn)雙口RAM,并且進行讀寫控制。雙口RAM在使用上需要注意的問題就是,可能會發(fā)生共享沖突,出現(xiàn)寫入值和讀出值出現(xiàn)混亂的狀態(tài)。設(shè)計采用文獻的方法設(shè)計雙口RAM沖突解決方案。本文引用地址:http://www.ex-cimer.com/article/190720.htm
在FPGA內(nèi)部實現(xiàn)一個串口模塊,采用GPS接收機默認的4 800 bit·s-1,首先將系統(tǒng)的40 MHz時鐘進行分頻,一般對數(shù)據(jù)進行過采樣,以便正確接收GPS接收機的數(shù)據(jù)。取過采樣頻率為波特率的8倍。有了4 800×8 Hz的頻率之后,進行串并轉(zhuǎn)換。為防止毛刺信號被誤認為是起始信號,定義一個2位的計數(shù)器進行判斷起始位4次。接著用狀態(tài)機實現(xiàn)對起始位、數(shù)據(jù)和停止位的檢測,就可進行數(shù)據(jù)的接收。通過Verilog HDL語言編寫接收GPS數(shù)據(jù)程序,采用狀態(tài)機方法檢測GPS數(shù)據(jù)起始符,本系統(tǒng)采用$GPRMC,(UTC時間),A,(緯度信息),N,(經(jīng)度信息),E,(速度信息),289.0,020710,10.3,W×5B協(xié)議,本系統(tǒng)只用位置和速度信息對捷聯(lián)慣導系統(tǒng)進行校正。接收到的GPS數(shù)據(jù)為對應ASCII值的二進制數(shù)。
3.2 PC104軟件設(shè)計
數(shù)據(jù)解算采用PC104為核心處理器。采集的陀螺和加速度計的信息經(jīng)過誤差補償后,將陀螺儀測量的角速度數(shù)據(jù)進行解算,得到姿態(tài)矩陣,再用姿態(tài)矩陣將沿載體坐標系的加速度測量的比力信息轉(zhuǎn)換到導航坐標系上,進行積分運算,同時根據(jù)姿態(tài)矩陣中的元素可以解算出姿態(tài)角信息。再用GPS測量得到的位置、速度信息和捷聯(lián)慣導系統(tǒng)解算得到的位置、速度的差值作為觀測量,通過卡爾曼濾波,修正導航系統(tǒng)的參數(shù),為慣性元件提供誤差修正,以提高導航精度。將得到的位置、速度、姿態(tài)等信息輸出,進行控制載體。PC104對雙口RAM的端口地址讀/寫操作的函數(shù)為inport(int protid)和outport(int portid,int value),protid為端口地址,value為要發(fā)送數(shù)據(jù)。
4 結(jié)束語
文中以PC104為核心處理器,輔以FPGA控制采集和A/D轉(zhuǎn)換,形成雙CPU協(xié)作模式,通過雙口RAM進行通信,主CPU可以專心進行導航計算,避免了因數(shù)據(jù)采集工作而降低效率。雙CPU并行工作,相互配合,大大地提高了系統(tǒng)的整體效率。系統(tǒng)體積小、精度高、結(jié)構(gòu)簡單、功耗小。將導航參數(shù)通過串口輸出,可應用于船舶、車輛、飛機等,能滿足導航和定位的要求。
評論