摘 要: 針對光纖捷聯計算機控制系統的實現原理,結合慣導系統硬件平臺,對硬件電路板IMU數據采集板和旋變板進行了設計;對ARM計算機控制板的硬件特性及外擴資源進行調試。實現了嵌入式系統到ARM計算機控制板的下載,在Linux系統下搭建了系統軟件平臺,編寫了驅動程序、標定程序及尋北程序,并對系統進行了標定、尋北和振動試驗及分析。
關鍵詞: 光纖捷聯系統; ARM9; Linux; 尋北
中圖分類號: TN919?34; TP274+.1 文獻標識碼: 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 引 言
捷聯式慣性導航系統(Strapdown Inertial Navigation System,SINS)是將慣性敏感元件剛性固定或“捷聯”在運載體上,明顯地降低了平臺的機械復雜性,但是加重了計算機實時解算及運動補償的任務[1]。對SINS導航算法的研究是慣性導航領域的熱點,涌現出了一大批富有創造性的成果,而對SINS初始對準技術、SINS誤差建模與抑制技術領域的研究也在國內外逐步深入[2]。在長期的連續工作中,由于加速度計和陀螺儀的測量誤差所引起的導航誤差是隨時間累加的,因此提高慣性儀表的精度和采用高效的尋北對準方法對于提高慣導系統的精度是十分重要的[3]。
本文針對基于ARM9的光纖捷聯控制系統設計及實現展開,對系統進行硬件設計和軟件編程。硬件設計包括IMU數據采集板和旋變板的設計,軟件編程包括尋北、陀螺標定和系統振動試驗編程。
1 光纖捷聯系統尋北方案
在相同的硬件平臺和慣性器件資源條件下,尋北算法和陀螺信號去噪技術的選擇,可以在很大程度上提高系統尋北的精度和響應的快速性[4]。按照基座的狀態劃分,尋北方法分為靜態尋北方法和動態尋北方法,靜態尋北方法又分為多位置尋北和連續旋轉尋北。多位置尋北是一種技術相對成熟、應用較為廣泛的傳統尋北方法,多位置尋北又可細分為二位置尋北法、四位置尋北法和多位置尋北法。連續旋轉尋北是一種比較新的尋北方法,可以實現高精度尋北。
在多位置尋北方案中,增加尋北位置的個數可以提高方位角的測量精度,但同時也增加了實現的難度、解算的復雜度和尋北需要的時間。二位置、四位置和多位置尋北方案均為通過采樣陀螺在幾個固定位置的輸出值解算方位角,這幾種方案的硬件構成比較相似,即采用二位置尋北法的系統,也可以實現四位置或者多位置尋北,只需要改變尋北算法即可[5]。其中,四位置尋北解算得到的尋北結果采用加權平均的方法,能得到較高的尋北精度,因此在工程實際中得到了廣泛的應用。
2 光纖捷聯計算機控制系統硬件
光纖捷聯系統由機箱、三個陀螺、兩個加速度計、旋轉變壓器、轉位電機、IMU數據采集板、ARM計算機控制板、旋變板和兩個電源板組成[6]。其中,IMU數據采集板采用FPGA實現對陀螺、加速度計信號、里程計信號和溫度信號的采集,產生中斷信號和檢測故障信號;ARM計算機控制板實現對系統的控制,裝載和運行導航解算及與上位機通信等功能;旋變板主要對旋轉變壓器信號進行A/D轉換。系統的硬件結構圖如圖1所示。
系統的工作模式分為尋北模式和導航模式。尋北模式中,[y]軸陀螺隨轉位電機轉動,旋變板測量轉位電機轉過的角度。導航模式下,ARM計算機控制板利用IMU數據采集板采集的陀螺、加速度計、里程計等信息采用四元數方法進行姿態解算和航位推算,得到系統的姿態角、方位角、速度、位置等信息,并將定位信息通過串口傳輸給上位機。系統工作流程圖如圖2所示。
2.1 IMU硬件設計及FPGA實現
IMU硬件電路板包括陀螺串口接收電路、加速度信號A/D轉換電路、電壓轉換電路、接口電路、FPGA硬件功能設計模塊及JTAG接口電路等,共同完成陀螺、加速度計、里程計和溫度信號的采集,產生中斷信號及檢測故障信號的功能[7]。IMU數據采集板功能圖如圖3所示。
FPGA模塊實現的硬件功能為:對陀螺數字信號、里程計脈沖信號和溫度信號進行采集,對加速度計的信號進行A/D轉換,并產生以2.5 ms為周期的硬件中斷信號等。采用QuartusⅡ7.2軟件,編程語言采用VHDL硬件描述語言。各硬件功能的具體實現如下:
(1) 陀螺數據采集的FPGA實現
陀螺輸出信號采用異步差分RS 422總線進行通信,通信波特率為115 200 Kb/s,異步通信幀格式為一位起始位,八位數據位,一位偶校驗位,一位停止位。對陀螺發送的數據采用偶校驗,因此將數據位和偶校驗位進行異或,所得值為0。
(2) 加速度計及里程計數據采集的FPGA實現
加速度計數據采集:系統中有3個加速度計,通過3路A/D轉換器完成數據采集,在2.5 ms內將數據累加起來。系統頻率為24 MHz,周期為41.67 ns。程序中采用count計數器信號,分別產生Convst,RD,CS信號。
里程計數據采集:需要將里程計的脈沖頻率與全局時鐘頻率同步,即在時鐘的上升沿檢測里程計狀態,為此時鐘的上升沿檢測里程計發出的脈沖狀態。當上一個狀態為0,當前的狀態為1時,才能對里程計信號進行加1計數。當lock_enable=′1′時,對應輸出里程計的數據。
(3) 中斷及鎖存、復位功能的FPGA實現及地址數據對應關系
中斷及鎖存:中斷的功能是產生以2.5 ms為周期的interrupt信號,該信號的占空比為50%,lock_enable信號高電平寬度為1個clk。
復位:復位信號為resetA。由于[treset]最小為50 ns,所以程序中設置4個時鐘周期的高電平復位信號。
地址信號與數據的對應關系:通過譯碼電路對地址信號與數據進行一一對應。
2.2 旋變控制板
旋變板硬件電路中主要有兩個16 b的粗級和精級旋變A/D轉換電路、地址緩沖電路及接口電路等。旋變板用于尋北時精確的測量陀螺敏感軸旋轉的角度。旋轉變壓器粗級和精級的變速比為1[∶]16。采用2片AD2S80A芯片,分別將粗級和精級的旋變信號轉換為16 b數字量,粗級和精級信號轉換并組合后的數字量具有20 b的分辨率。數字信號通過PC104總線傳輸給ARM計算機控制板并轉換為角度信息。
3 基于Linux的系統軟件平臺構建及尋北軟件
實現
3.1 系統軟件平臺搭建
(1) 在PC宿主機上建立Linux操作環境。采用直接安裝Linux操作系統或者在Windows環境下安裝虛擬機,在虛擬機上運行Linux操作系統。本文采用后者。具體建立Linux環境略。
(2) 建立交叉編譯環境。
(3) 下載嵌入式Linux操作系統到ARM計算機控制板。下載并成功掛載FLASH后,就可以進入FLASH目錄下進行文件操作。
(4) 在PC機上安裝終端仿真器。終端仿真器用來實現PC機與ARM計算機控制板之間的通信。
在PC機上編寫尋北導航程序,交叉編譯后,傳輸到ARM計算機控制板中,調試運行程序。
在PC機上面建立交叉編譯環境,配置arm?linux?gcc交叉編譯環境。
在PC機上安裝終端仿真器,進行數據文件的傳輸。由于嵌入式Linux在裁剪內核過程中已經將串口傳輸功能去掉,所以需要用戶自己制作適合于ARM計算機控制板的串口傳輸工具,實現文件在PC機與ARM計算機控制板之間的傳輸。
編譯后,在src目錄下生成了具有執行屬性的文件lrz和lsz(lrz用于文件接收,lsz用于文件發送),將其拷貝到根文件系統的bin目錄下,編譯根文件系統并通過網口傳輸到開發板FLASH上,修改lrz和lsz的權限#chmod 777 lrz, #chmod 777 lrz。之后就可以利用lrz和lsz對文件進行ARM計算機控制板與PC機之間的傳輸。
3.2 驅動程序編寫
驅動程序分為字符設備(c)驅動、塊設備(b)驅動和網絡設備驅動。編寫設備驅動程序,首先定義設備驅動程序為用戶程序提供的功能;其次確定設備的主、次設備號。因為對字符設備的訪問是通過文件系統內的設備名稱進行的,而設備名稱與主次設備號存在一一對應的關系。可以通過查詢/proc/device下的255個設備編號為要編寫的驅動程序確定一個未被占用的主設備號。
3.3 尋北軟件編寫
尋北軟件由驅動程序和應用程序組成。驅動程序由陀螺、加速度計和里程計信號采集的驅動程序,旋變信號采集的驅動程序和中斷驅動程序組成;應用程序由初始化模塊、陀螺數據處理模塊、旋變數據處理模塊、電機控制模塊、數據解算模塊和數據保存模塊等組成。中斷驅動程序為尋北應用程序運行提供時鐘源。
初始化模塊主要負責輸入當地地理緯度值及地球自轉角速率值等;陀螺數據處理模塊負責將陀螺的32位有符號數據轉化為角速率信號;旋變數據處理模塊負責將旋轉變壓器的雙速16位數據拼成20位的數據并轉化為角度值;電機控制模塊負責控制電機帶動陀螺軸轉位;數據解算模塊將初始化數據和采集的陀螺、旋變數據進行解算得到尋北值;保存模塊將尋北過程的數據及結果數據保存到文件。程序運行結束后數據文件傳輸給上位機。尋北軟件的時序流程圖如圖4所示。
4 光纖捷聯系統試驗
4.1 尋北試驗
將系統固定在水平靜態基座上,將基座調平(精確到角秒)。對系統進行三組尋北試驗。在每組試驗中,任取一個位置為起始尋北位置1,在位置1連續進行三次重復尋北試驗,基座轉動45°(精確到角秒)到位置2,再在位置2進行三次重復尋北試驗,依次類推,直到基座轉動一個周期后,重新回到位置1,記錄每次的尋北值。
一個周期共對八個位置進行了九次試驗,包括基座轉動一個周期后重新回到起始點的一次重復試驗。數據處理時,計算每個位置尋北值的均值并計算把不同位置換算到同一位置的歸一角度值,由歸一角度值解算出一個周期內尋北值的標準差。表1列舉其中一組尋北數據。
4.2 振動試驗
系統的振動試驗分為對水平軸陀螺的振動試驗和對豎直軸陀螺的振動試驗。對水平軸的陀螺施加的振動為沿著陀螺軸向的水平方向的振動,對垂直軸陀螺施加的振動為上下方向的振動。對每個軸的陀螺施加同樣的振動試驗又分為振動臺與系統直接固連的情況和在振動臺與系統之間加防震墊兩種情況。對陀螺數據的采集方法為:每2.5 ms采集一次陀螺數據,每秒鐘對陀螺數據進行一次平滑,并保存平滑后的數據。以下振動試驗圖中紅、綠、藍線分別對應[x,y,z]軸陀螺數據。
正弦掃描曲線:正弦峰值為[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) 對不同軸施加振動,對哪個陀螺軸施加振動,則哪個軸向的陀螺輸出強度更大,其他軸向的陀螺輸出也受一定影響,陀螺輸出的角速率與施加的振動強度正相關;
(2) 在振動臺與系統之間加防震墊后,相同強度的振動輸入,陀螺的輸出變化幅度減小;
(3) 由于[z]軸陀螺的漂移較大,所以[z]軸陀螺的角速率輸出較[x]軸和[y]軸陀螺角速率輸出幅值更大,且更不穩定;
(4) 由于在整個振動試驗過程中施加的加速度值是緩慢變化的,而陀螺輸出振幅驟升或驟減的頻率點為系統的固有頻率;
(5) 系統對特殊振動環境具有一定程度的適應性。
5 結 論
本文在嵌入式系統下對光纖捷聯計算機控制系統進行了開發,完成了系統硬件設計和軟件編程。對尋北方法做了深入的研究,在分析前人研究成果的基礎上,結合系統特性提出了四位置尋北方案。搭建了系統軟件開發環境。進行了陀螺標定、尋北試驗和系統的振動試驗,并對試驗數據進行了分析。由于嵌入式系統內存空間有限,而導航程序占用更小的內存空間,今后可對導航代碼做進一步優化。
參考文獻
[1] 李佳桐,張春熹,張小躍,等.光纖陀螺隨機漂移的建模與濾波[J].現代電子技術,2013,36(2):129?131.
[2] 劉逸涵,高兵兵,魏文輝.SINS/CNSSAR組合導航系統設計與高性能算法研究[J].電子設計工程,2014,22(17):168?171.
[3] 武曉燕.基于光纖陀螺的捷聯慣導與衛星組合導航算法研究[D].北京:北京理工大學,2015.
[4] 趙桂玲,楊啟航,李松.光纖捷聯慣導兩級系統級標定方法[J].系統仿真學報,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] 全振中,石志勇,王毅.捷聯慣導在線標定技術[J].現代電子技術,2012,35(9):128?131.
[7] 張海宏,李保國,劉思慶.基于NiosⅡ的光纖捷聯慣導系統數據采集模塊設計[J].計算機測量與控制,2015(1):198?200.