摘 要: 針對光纖捷聯(lián)計算機控制系統(tǒng)的實現(xiàn)原理,結(jié)合慣導(dǎo)系統(tǒng)硬件平臺,對硬件電路板IMU數(shù)據(jù)采集板和旋變板進行了設(shè)計;對ARM計算機控制板的硬件特性及外擴資源進行調(diào)試。實現(xiàn)了嵌入式系統(tǒng)到ARM計算機控制板的下載,在Linux系統(tǒng)下搭建了系統(tǒng)軟件平臺,編寫了驅(qū)動程序、標(biāo)定程序及尋北程序,并對系統(tǒng)進行了標(biāo)定、尋北和振動試驗及分析。
關(guān)鍵詞: 光纖捷聯(lián)系統(tǒng); ARM9; Linux; 尋北
中圖分類號: TN919?34; TP274+.1 文獻標(biāo)識碼: A 文章編號: 1004?373X(2016)19?0102?05
Abstract: According to the realization principle of fiber optic strapdown computer control system, the IMU data acquisition board and rotated board of hardware circuit board were designed in combination with the hardware platform of inertial navigation system. The hardware characteristics and external expansion resources of ARM computer control board were debugged. The system can download the embedded system to ARM computer control board. The system software platform was established by means of Linux system. The driver, calibration procedure and north seeking procedure were compiled. The calibration, north seeking, vibration test and analysis for the system were carried out.
Keywords: fiber optic strapdown system; ARM9; Linux; north seeking
0 引 言
捷聯(lián)式慣性導(dǎo)航系統(tǒng)(Strapdown Inertial Navigation System,SINS)是將慣性敏感元件剛性固定或“捷聯(lián)”在運載體上,明顯地降低了平臺的機械復(fù)雜性,但是加重了計算機實時解算及運動補償?shù)娜蝿?wù)[1]。對SINS導(dǎo)航算法的研究是慣性導(dǎo)航領(lǐng)域的熱點,涌現(xiàn)出了一大批富有創(chuàng)造性的成果,而對SINS初始對準(zhǔn)技術(shù)、SINS誤差建模與抑制技術(shù)領(lǐng)域的研究也在國內(nèi)外逐步深入[2]。在長期的連續(xù)工作中,由于加速度計和陀螺儀的測量誤差所引起的導(dǎo)航誤差是隨時間累加的,因此提高慣性儀表的精度和采用高效的尋北對準(zhǔn)方法對于提高慣導(dǎo)系統(tǒng)的精度是十分重要的[3]。
本文針對基于ARM9的光纖捷聯(lián)控制系統(tǒng)設(shè)計及實現(xiàn)展開,對系統(tǒng)進行硬件設(shè)計和軟件編程。硬件設(shè)計包括IMU數(shù)據(jù)采集板和旋變板的設(shè)計,軟件編程包括尋北、陀螺標(biāo)定和系統(tǒng)振動試驗編程。
1 光纖捷聯(lián)系統(tǒng)尋北方案
在相同的硬件平臺和慣性器件資源條件下,尋北算法和陀螺信號去噪技術(shù)的選擇,可以在很大程度上提高系統(tǒng)尋北的精度和響應(yīng)的快速性[4]。按照基座的狀態(tài)劃分,尋北方法分為靜態(tài)尋北方法和動態(tài)尋北方法,靜態(tài)尋北方法又分為多位置尋北和連續(xù)旋轉(zhuǎn)尋北。多位置尋北是一種技術(shù)相對成熟、應(yīng)用較為廣泛的傳統(tǒng)尋北方法,多位置尋北又可細(xì)分為二位置尋北法、四位置尋北法和多位置尋北法。連續(xù)旋轉(zhuǎn)尋北是一種比較新的尋北方法,可以實現(xiàn)高精度尋北。
在多位置尋北方案中,增加尋北位置的個數(shù)可以提高方位角的測量精度,但同時也增加了實現(xiàn)的難度、解算的復(fù)雜度和尋北需要的時間。二位置、四位置和多位置尋北方案均為通過采樣陀螺在幾個固定位置的輸出值解算方位角,這幾種方案的硬件構(gòu)成比較相似,即采用二位置尋北法的系統(tǒng),也可以實現(xiàn)四位置或者多位置尋北,只需要改變尋北算法即可[5]。其中,四位置尋北解算得到的尋北結(jié)果采用加權(quán)平均的方法,能得到較高的尋北精度,因此在工程實際中得到了廣泛的應(yīng)用。
2 光纖捷聯(lián)計算機控制系統(tǒng)硬件
光纖捷聯(lián)系統(tǒng)由機箱、三個陀螺、兩個加速度計、旋轉(zhuǎn)變壓器、轉(zhuǎn)位電機、IMU數(shù)據(jù)采集板、ARM計算機控制板、旋變板和兩個電源板組成[6]。其中,IMU數(shù)據(jù)采集板采用FPGA實現(xiàn)對陀螺、加速度計信號、里程計信號和溫度信號的采集,產(chǎn)生中斷信號和檢測故障信號;ARM計算機控制板實現(xiàn)對系統(tǒng)的控制,裝載和運行導(dǎo)航解算及與上位機通信等功能;旋變板主要對旋轉(zhuǎn)變壓器信號進行A/D轉(zhuǎn)換。系統(tǒng)的硬件結(jié)構(gòu)圖如圖1所示。
系統(tǒng)的工作模式分為尋北模式和導(dǎo)航模式。尋北模式中,[y]軸陀螺隨轉(zhuǎn)位電機轉(zhuǎn)動,旋變板測量轉(zhuǎn)位電機轉(zhuǎn)過的角度。導(dǎo)航模式下,ARM計算機控制板利用IMU數(shù)據(jù)采集板采集的陀螺、加速度計、里程計等信息采用四元數(shù)方法進行姿態(tài)解算和航位推算,得到系統(tǒng)的姿態(tài)角、方位角、速度、位置等信息,并將定位信息通過串口傳輸給上位機。系統(tǒng)工作流程圖如圖2所示。
2.1 IMU硬件設(shè)計及FPGA實現(xiàn)
IMU硬件電路板包括陀螺串口接收電路、加速度信號A/D轉(zhuǎn)換電路、電壓轉(zhuǎn)換電路、接口電路、FPGA硬件功能設(shè)計模塊及JTAG接口電路等,共同完成陀螺、加速度計、里程計和溫度信號的采集,產(chǎn)生中斷信號及檢測故障信號的功能[7]。IMU數(shù)據(jù)采集板功能圖如圖3所示。
FPGA模塊實現(xiàn)的硬件功能為:對陀螺數(shù)字信號、里程計脈沖信號和溫度信號進行采集,對加速度計的信號進行A/D轉(zhuǎn)換,并產(chǎn)生以2.5 ms為周期的硬件中斷信號等。采用QuartusⅡ7.2軟件,編程語言采用VHDL硬件描述語言。各硬件功能的具體實現(xiàn)如下:
(1) 陀螺數(shù)據(jù)采集的FPGA實現(xiàn)
陀螺輸出信號采用異步差分RS 422總線進行通信,通信波特率為115 200 Kb/s,異步通信幀格式為一位起始位,八位數(shù)據(jù)位,一位偶校驗位,一位停止位。對陀螺發(fā)送的數(shù)據(jù)采用偶校驗,因此將數(shù)據(jù)位和偶校驗位進行異或,所得值為0。
(2) 加速度計及里程計數(shù)據(jù)采集的FPGA實現(xiàn)
加速度計數(shù)據(jù)采集:系統(tǒng)中有3個加速度計,通過3路A/D轉(zhuǎn)換器完成數(shù)據(jù)采集,在2.5 ms內(nèi)將數(shù)據(jù)累加起來。系統(tǒng)頻率為24 MHz,周期為41.67 ns。程序中采用count計數(shù)器信號,分別產(chǎn)生Convst,RD,CS信號。
里程計數(shù)據(jù)采集:需要將里程計的脈沖頻率與全局時鐘頻率同步,即在時鐘的上升沿檢測里程計狀態(tài),為此時鐘的上升沿檢測里程計發(fā)出的脈沖狀態(tài)。當(dāng)上一個狀態(tài)為0,當(dāng)前的狀態(tài)為1時,才能對里程計信號進行加1計數(shù)。當(dāng)lock_enable=′1′時,對應(yīng)輸出里程計的數(shù)據(jù)。
(3) 中斷及鎖存、復(fù)位功能的FPGA實現(xiàn)及地址數(shù)據(jù)對應(yīng)關(guān)系
中斷及鎖存:中斷的功能是產(chǎn)生以2.5 ms為周期的interrupt信號,該信號的占空比為50%,lock_enable信號高電平寬度為1個clk。
復(fù)位:復(fù)位信號為resetA。由于[treset]最小為50 ns,所以程序中設(shè)置4個時鐘周期的高電平復(fù)位信號。
地址信號與數(shù)據(jù)的對應(yīng)關(guān)系:通過譯碼電路對地址信號與數(shù)據(jù)進行一一對應(yīng)。
2.2 旋變控制板
旋變板硬件電路中主要有兩個16 b的粗級和精級旋變A/D轉(zhuǎn)換電路、地址緩沖電路及接口電路等。旋變板用于尋北時精確的測量陀螺敏感軸旋轉(zhuǎn)的角度。旋轉(zhuǎn)變壓器粗級和精級的變速比為1[∶]16。采用2片AD2S80A芯片,分別將粗級和精級的旋變信號轉(zhuǎn)換為16 b數(shù)字量,粗級和精級信號轉(zhuǎn)換并組合后的數(shù)字量具有20 b的分辨率。數(shù)字信號通過PC104總線傳輸給ARM計算機控制板并轉(zhuǎn)換為角度信息。
3 基于Linux的系統(tǒng)軟件平臺構(gòu)建及尋北軟件
實現(xiàn)
3.1 系統(tǒng)軟件平臺搭建
(1) 在PC宿主機上建立Linux操作環(huán)境。采用直接安裝Linux操作系統(tǒng)或者在Windows環(huán)境下安裝虛擬機,在虛擬機上運行Linux操作系統(tǒng)。本文采用后者。具體建立Linux環(huán)境略。
(2) 建立交叉編譯環(huán)境。
(3) 下載嵌入式Linux操作系統(tǒng)到ARM計算機控制板。下載并成功掛載FLASH后,就可以進入FLASH目錄下進行文件操作。
(4) 在PC機上安裝終端仿真器。終端仿真器用來實現(xiàn)PC機與ARM計算機控制板之間的通信。
在PC機上編寫尋北導(dǎo)航程序,交叉編譯后,傳輸?shù)紸RM計算機控制板中,調(diào)試運行程序。
在PC機上面建立交叉編譯環(huán)境,配置arm?linux?gcc交叉編譯環(huán)境。
在PC機上安裝終端仿真器,進行數(shù)據(jù)文件的傳輸。由于嵌入式Linux在裁剪內(nèi)核過程中已經(jīng)將串口傳輸功能去掉,所以需要用戶自己制作適合于ARM計算機控制板的串口傳輸工具,實現(xiàn)文件在PC機與ARM計算機控制板之間的傳輸。
編譯后,在src目錄下生成了具有執(zhí)行屬性的文件lrz和lsz(lrz用于文件接收,lsz用于文件發(fā)送),將其拷貝到根文件系統(tǒng)的bin目錄下,編譯根文件系統(tǒng)并通過網(wǎng)口傳輸?shù)介_發(fā)板FLASH上,修改lrz和lsz的權(quán)限#chmod 777 lrz, #chmod 777 lrz。之后就可以利用lrz和lsz對文件進行ARM計算機控制板與PC機之間的傳輸。
3.2 驅(qū)動程序編寫
驅(qū)動程序分為字符設(shè)備(c)驅(qū)動、塊設(shè)備(b)驅(qū)動和網(wǎng)絡(luò)設(shè)備驅(qū)動。編寫設(shè)備驅(qū)動程序,首先定義設(shè)備驅(qū)動程序為用戶程序提供的功能;其次確定設(shè)備的主、次設(shè)備號。因為對字符設(shè)備的訪問是通過文件系統(tǒng)內(nèi)的設(shè)備名稱進行的,而設(shè)備名稱與主次設(shè)備號存在一一對應(yīng)的關(guān)系??梢酝ㄟ^查詢/proc/device下的255個設(shè)備編號為要編寫的驅(qū)動程序確定一個未被占用的主設(shè)備號。
3.3 尋北軟件編寫
尋北軟件由驅(qū)動程序和應(yīng)用程序組成。驅(qū)動程序由陀螺、加速度計和里程計信號采集的驅(qū)動程序,旋變信號采集的驅(qū)動程序和中斷驅(qū)動程序組成;應(yīng)用程序由初始化模塊、陀螺數(shù)據(jù)處理模塊、旋變數(shù)據(jù)處理模塊、電機控制模塊、數(shù)據(jù)解算模塊和數(shù)據(jù)保存模塊等組成。中斷驅(qū)動程序為尋北應(yīng)用程序運行提供時鐘源。
初始化模塊主要負(fù)責(zé)輸入當(dāng)?shù)氐乩砭暥戎导暗厍蜃赞D(zhuǎn)角速率值等;陀螺數(shù)據(jù)處理模塊負(fù)責(zé)將陀螺的32位有符號數(shù)據(jù)轉(zhuǎn)化為角速率信號;旋變數(shù)據(jù)處理模塊負(fù)責(zé)將旋轉(zhuǎn)變壓器的雙速16位數(shù)據(jù)拼成20位的數(shù)據(jù)并轉(zhuǎn)化為角度值;電機控制模塊負(fù)責(zé)控制電機帶動陀螺軸轉(zhuǎn)位;數(shù)據(jù)解算模塊將初始化數(shù)據(jù)和采集的陀螺、旋變數(shù)據(jù)進行解算得到尋北值;保存模塊將尋北過程的數(shù)據(jù)及結(jié)果數(shù)據(jù)保存到文件。程序運行結(jié)束后數(shù)據(jù)文件傳輸給上位機。尋北軟件的時序流程圖如圖4所示。
4 光纖捷聯(lián)系統(tǒng)試驗
4.1 尋北試驗
將系統(tǒng)固定在水平靜態(tài)基座上,將基座調(diào)平(精確到角秒)。對系統(tǒng)進行三組尋北試驗。在每組試驗中,任取一個位置為起始尋北位置1,在位置1連續(xù)進行三次重復(fù)尋北試驗,基座轉(zhuǎn)動45°(精確到角秒)到位置2,再在位置2進行三次重復(fù)尋北試驗,依次類推,直到基座轉(zhuǎn)動一個周期后,重新回到位置1,記錄每次的尋北值。
一個周期共對八個位置進行了九次試驗,包括基座轉(zhuǎn)動一個周期后重新回到起始點的一次重復(fù)試驗。數(shù)據(jù)處理時,計算每個位置尋北值的均值并計算把不同位置換算到同一位置的歸一角度值,由歸一角度值解算出一個周期內(nèi)尋北值的標(biāo)準(zhǔn)差。表1列舉其中一組尋北數(shù)據(jù)。
4.2 振動試驗
系統(tǒng)的振動試驗分為對水平軸陀螺的振動試驗和對豎直軸陀螺的振動試驗。對水平軸的陀螺施加的振動為沿著陀螺軸向的水平方向的振動,對垂直軸陀螺施加的振動為上下方向的振動。對每個軸的陀螺施加同樣的振動試驗又分為振動臺與系統(tǒng)直接固連的情況和在振動臺與系統(tǒng)之間加防震墊兩種情況。對陀螺數(shù)據(jù)的采集方法為:每2.5 ms采集一次陀螺數(shù)據(jù),每秒鐘對陀螺數(shù)據(jù)進行一次平滑,并保存平滑后的數(shù)據(jù)。以下振動試驗圖中紅、綠、藍線分別對應(yīng)[x,y,z]軸陀螺數(shù)據(jù)。
正弦掃描曲線:正弦峰值為[1.5g,]頻率為5~200 Hz。隨機振動掃描:頻率范圍為20~2 000 Hz,其中20~80 Hz,3 dB/oct;80~350 Hz,0.003g2 /Hz;350~2 000 Hz, -3 dB/oct。其中:g=9.8 m/s2。
(1) 對不同軸施加振動,對哪個陀螺軸施加振動,則哪個軸向的陀螺輸出強度更大,其他軸向的陀螺輸出也受一定影響,陀螺輸出的角速率與施加的振動強度正相關(guān);
(2) 在振動臺與系統(tǒng)之間加防震墊后,相同強度的振動輸入,陀螺的輸出變化幅度減??;
(3) 由于[z]軸陀螺的漂移較大,所以[z]軸陀螺的角速率輸出較[x]軸和[y]軸陀螺角速率輸出幅值更大,且更不穩(wěn)定;
(4) 由于在整個振動試驗過程中施加的加速度值是緩慢變化的,而陀螺輸出振幅驟升或驟減的頻率點為系統(tǒng)的固有頻率;
(5) 系統(tǒng)對特殊振動環(huán)境具有一定程度的適應(yīng)性。
5 結(jié) 論
本文在嵌入式系統(tǒng)下對光纖捷聯(lián)計算機控制系統(tǒng)進行了開發(fā),完成了系統(tǒng)硬件設(shè)計和軟件編程。對尋北方法做了深入的研究,在分析前人研究成果的基礎(chǔ)上,結(jié)合系統(tǒng)特性提出了四位置尋北方案。搭建了系統(tǒng)軟件開發(fā)環(huán)境。進行了陀螺標(biāo)定、尋北試驗和系統(tǒng)的振動試驗,并對試驗數(shù)據(jù)進行了分析。由于嵌入式系統(tǒng)內(nèi)存空間有限,而導(dǎo)航程序占用更小的內(nèi)存空間,今后可對導(dǎo)航代碼做進一步優(yōu)化。
參考文獻
[1] 李佳桐,張春熹,張小躍,等.光纖陀螺隨機漂移的建模與濾波[J].現(xiàn)代電子技術(shù),2013,36(2):129?131.
[2] 劉逸涵,高兵兵,魏文輝.SINS/CNSSAR組合導(dǎo)航系統(tǒng)設(shè)計與高性能算法研究[J].電子設(shè)計工程,2014,22(17):168?171.
[3] 武曉燕.基于光纖陀螺的捷聯(lián)慣導(dǎo)與衛(wèi)星組合導(dǎo)航算法研究[D].北京:北京理工大學(xué),2015.
[4] 趙桂玲,楊啟航,李松.光纖捷聯(lián)慣導(dǎo)兩級系統(tǒng)級標(biāo)定方法[J].系統(tǒng)仿真學(xué)報,2015,27(3):649?655.
[5] CUI B, CHEN X. Improved hybrid filter for fiber optic gyroscope signal denoising based on EMD and forward linear prediction [J]. Sensors actuators A: physical, 2015, 230: 150?155.
[6] 全振中,石志勇,王毅.捷聯(lián)慣導(dǎo)在線標(biāo)定技術(shù)[J].現(xiàn)代電子技術(shù),2012,35(9):128?131.
[7] 張海宏,李保國,劉思慶.基于NiosⅡ的光纖捷聯(lián)慣導(dǎo)系統(tǒng)數(shù)據(jù)采集模塊設(shè)計[J].計算機測量與控制,2015(1):198?200.