李良仁,汪臨偉,彭雪峰
(九江職業技術學院 電氣工程系,九江 332007)
導航計算機是導航系統的核心部件,應具備較強的數據處理能力,以適應復雜的數據融合算法,保證導航實時性和精度要求,并要求在體積、功耗性等方面與系統環境相適應;本文以捷聯導航系統為例,采用SOPC設計技術,對導航計算機硬件所需的數據處理、接口通信和控制軟件進行設計,通過測試,系統的體積和功耗大幅降低,并滿足捷聯導航系統對空間的苛刻要求,同時片內設計可靠性提高;利用豐富的IP庫,在FPGA邏輯資源中可根據導航系統應用場合對通信接口和信號采集功能的要求實現各種功能外設;在SOPC上選用高性能處理器,并在FPGA邏輯資源中硬件實現部分算法,形成軟硬件協同的處理模式,可實現較好的實時性和較高的精度。
作為捷聯導航系統核心部件的導航計算機負責從敏感元件獲取導航原始數據,并進行捷聯導航算法處理,最后將解算得到的導航結果進行輸出控制。捷聯導航計算機系統設計可由系統硬件平臺、軟件平臺以及導航軟件三個部分組成,具體設計方案如圖1所示。
嵌入式導航系統的硬件可劃分為四大部分,即慣性測量組件、數據采集電路、導航計算機和通訊接口部分。慣性測量組件包括光纖陀螺儀和加速度計兩部分,主要用來測量敏感角速率和比力信息。數據采集電路是慣性測量組件和導航計算機之間的聯系橋梁,為了能夠保證系統正常工作,數據采集電路必須正確實時地采集到慣性器件的輸出信號,并且要把這些數據以一定速率實時準確地傳送給導航計算機。導航計算機是捷聯導航系統的核心,系統中“數學平臺”的建立、捷聯解算工作及整個系統的管理和控制工作都由它來完成,采用FPGA芯片可以滿足捷聯導航系統要求高速運算和數據動態范圍大的特點。根據以上分析,可以確定嵌入式導航計算機硬件系統框圖,如圖2所示。

圖1 SOPC導航系統的整體方案

圖2 嵌入式導航計算機硬件系統框圖
在嵌入式導航計算機系統中,信號的采集和處理,導航解算都是通過在FPGA中嵌入NiosⅡ 軟核處理器構成SOPC系統來實現。石英撓性加速度計傳感器輸出經過信號調理后送入A/D芯片轉換成數字信號后通過FIR數字濾波后送入SOPC,光纖陀螺輸出的脈沖信號經過脈沖整形后送入FPGA內用Verilog HDL 實現的硬件計數模塊實現計數。
系統對慣性元件輸出信號的采樣頻率直接影響了捷聯解算的速度和精度,本系統每1ms采集一次陀螺和加速度計的數據,每10ms進行一次導航解算。基于上述因素,設計了快速高效的AD7656和FPGA的高精度加速度計接口電路方案,電路結構圖如圖3所示。石英加速度計輸出微弱電流信號,經過精密采樣電阻,轉換成電壓信號,以便于A/D轉換,通過二階低通濾波器濾掉高頻噪聲后,送入6通道并行轉換的AD7656中,由FPGA控制AD轉換,并讀取轉換結果,存儲于內部緩沖區中,最終與陀螺儀的數據組合,進行數據處理和導航解算。它實際上是3個單通道的組合,可以滿足不同精度,不同數字讀出速度的要求,且相互之間電路干擾較少。為了保證三個加速度計的同步采樣,采用同一器件的不同通道進行轉換,以取得同樣的讀出速度。

圖3 加速度計數據采集電路框圖
本設計采用國內某型全數字閉環保偏光纖陀螺,標度因數,分辨率,帶寬200Hz,工作電流0.7A,其輸出信號為脈沖信號,X、Y、Z各軸分別輸出正反兩路信號,即GXPIN、GXNIN、GYPIN、GYNIN、GZPIN、GZNIN,一定周期內正反信號脈沖個數的差值與標度因數相乘即為該軸向陀螺輸出的角速度值。光纖陀螺的數據采集電路如圖4所示。

圖4 光纖陀螺的數據采集電路結構圖
光纖陀螺的脈沖信號經過前端處理電路后進入計數模塊,本設計在FPGA內部用Verilog HDL語言編寫計數器模塊,實現在規定時間內記錄每路信號的脈沖數。計數模塊內部包括16位計數器,定時器,六路選擇開關。由于系統采樣頻率設為1000Hz,因此定時器的定時中斷設為1ms。該模塊能對六路脈沖信號同時計數,通過Nios II軟核處理器的I/O口對其控制,確保對光纖陀螺計數的準確性和實時性。光纖陀螺脈沖計數的原理框圖如圖5所示。

圖5 光纖陀螺脈沖計數原理框圖
通過用Verilog HDL語言分別編寫上述各單元的功能模塊,然后在上層文件中例化,編譯后生成的文件符號如圖6所示,引腳定義如下:
GXPIN、GXNIN、GYPIN、GYNIN、GZPIN、GZNIN:光纖陀螺輸入脈沖信號;

圖6 光纖陀螺信號接收計數器
aclr_n:計數器清零使能信號;
cnt_en:計數器計數使能信號;
clk:時鐘信號;
cnt_addr[2..0] :六路信號選擇輸出信號;
cnt_data[15..0] :數據輸出;
cnt_interrupt:定時中斷輸出信號;
導航計算機的實時性和可靠性要求很高,采用嵌入式實時操作系統設計導航計算機軟件。由于Nios II IDE已經移植好了uC/OS-II,再加上uC/OSII小巧、源代碼公開、注解詳細、實時性強、可移植性好、多任務、基于優先級的可剝奪型調度的特點,選擇它作為嵌入式導航計算機的軟件運行環境。光纖陀螺捷聯導航系統應包含三個ISR(光纖陀螺數據采集ISR、加速度計數據采集ISR和串口發送ISR)和4個任務:“初始化任務”、“數據采集任務”、“捷聯導航解算任務”、“串口發送任務”。光纖陀螺和加速度計采集的數據經過濾波處理后分別用一個全局數組來存儲,供導航解算任務使用,并配備了一個互斥信號量。導航解算任務生成的數據存儲在全局數組變量中,配備互斥信號量,串口通信任務根據接收到的指令發送導航信息。系統總體任務關聯圖如圖7所示。

圖7 系統總體任務關聯圖
在本系統中的4個任務設計中,初始化任務創建其余的三個任務,因此優先級最高,設為8,陀螺和加速度計的采樣是關鍵任務,優先級設10,導航解算任務優先級設為12,串口通信任務設為14。在本設計中,因為要用到兩個互斥型信號量,所以必須為這兩個互斥型信號量分配優先級,這個優先級要高于所有申請互斥信號量的任務優先級,分別設為5,6。本系統中的4個任務的聲明如下:
void initial_task(void *pdata); //初始化創建任務,優先級8
void fog_task(void *pdata);//陀螺計數和加速度計采樣任務,優先級10
void calc_task(void *pdata); //導航解算任務,優先級12
void scom_task(void *pdata); //串口發送任務,優先級14
在以上任務中,initial_task()為一次性任務,創建完其它任務后自行刪除,其他任務都是周期性任務。
通過對整個系統與三軸轉臺進行軟硬件聯合測試,測試結果表明該系統在姿態、位置、速度誤差都控制在1%以內,具有很高的實用價值。使用SOPC方法在FPGA上設計嵌入式導航計算機,其軟硬件協同的設計模式適合了捷聯導航系統對處理能力和接口能力的要求,具有很強的應用價值和應用前景。
[1] 陳哲編.捷聯慣導系統原理.北京:宇航出版社,1986.
[2] 龍達峰.基于SOPC技術的彈載組合導航系統的應用研究[D].中北大學,2008.
[3] 李蘭英,等.Nios II嵌入式軟核處理器SOPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.