王世臣,張代省,范興民
(1.安徽四創電子股份有限公司,合肥 230031;2.北斗衛星導航技術安徽省重點實驗室,合肥 230031)
慣性導航系統的理論基礎是牛頓力學定律—慣性定律,利用慣性敏感元件、基準方向和初值位置確定載體的位置、速度和姿態,為自主式導航系統。但慣導系統會隨著時間累積誤差,嚴重時會影響導航精度,需引入外部數據對慣導系統進行定時校正,采用兩種或兩種以上的導航設備組合,構建組合導航系統,目前主流的組合方式為衛星導航系統(GNSS)和慣性導航系統(INS)相組合[1][2],組合導航系統中的導航處理平臺一般采用FPGA+DSP 的架構實現,缺點是體積大、功耗高。隨著組合導航系統集成化程度的要求越來越高,我們提出一種基于Zynq 處理器構建組合導航處理平臺的方案,充分利用平臺優勢,有效減小系統體積和功耗。
組合導航系統平臺系統架構如圖1所示:

圖1 組合導航處理平臺系統架構圖
該處理平臺由ZYNQ7020,ADC,DDR3,eMMC,UART,網絡及422/485等接口組成。主要完成信號處理(對陀螺信號、加速度計信號、衛導信號等進行處理)、數據采集、導航解算、數據存儲、數據傳輸等功能。
①陀螺儀和加速度計輸出為TTL 信號,利用ZYNQ7020的PL 端采集兩個TTL 脈沖信號,并進行計數。
②陀螺控制板與ZYNQ7020 PL 端采用UART TTL 通信,用于實現陀螺儀的抖頻和穩頻控制。
③衛星導航接收機通過RS422差分輸入,經電平轉換后與PL 端進行通信,用于衛星導航接收機的原始觀測量數據和導航信息的采集。
④采用RS422接口輸出導航解算結果至外部系統,提升通信可靠性和抗干擾能力。
⑤系統預留網絡和RS485等接口,便于系統調試和軟件升級。
⑥系統采用大容量的存儲(eMMC)和運行內存(DDR3),PL 和PS 端共享內存,用于數據采集和解算處理。
Zynq7020 作為平臺核心,是基于Xilinx 所有可編程SOC(APSOC)架構,由PS 和PL 兩大部分組成,兩者之間通過AXI接口通信,AXI-HP 和AXI-ACP 協議下,PS 僅能讀數據,在AXI-GP 模式下,PS 可以讀寫數據。Zynq7020架構如圖2所示:

圖2 Zynq7020架構
基于系統穩定性和可擴展性考慮,軟件設計采用高內聚低耦合的設計思想。劃分為多個模塊,各模塊間接口統一,易于維護和升級。組合導航處理平臺軟件設計架構如圖3所示。
(1)PL 端軟件主要包括溫度信號采集,陀螺信號和加速度計信號采集與處理,衛星導航信號的數據采集與存儲。
(2)Zynq 處理器的PS 端有兩個ARM 處理器,分別完成不同功能。其中,一個ARM 處理器將PL 端采集和處理的信號,進行慣性導航解算,輸出姿態和加速度信息。并與衛星導航構建組合導航系統,實現濾波算法,輸出高精度位置、姿態和速度信息。同時還完成系統初始對準、桿臂校正及誤差估計等功能,為整個系統的核心。

圖3 系統軟件架構圖
①初始對準模塊:根據加速度計、激光陀螺完成初始對準并確定姿態矩陣。根據衛星導航模塊或用戶輸入的位置信息確定當地經緯度。
②慣性導航解算:姿態、速度、位置更新模塊分別用于計算載體的姿態、速度、位置數據。
③組合導航濾波:根據當前的工作模式,選擇使用慣導系統輸出的姿態、速度信息,衛星導航設備輸出的位置信息,根據不同的變量建立卡爾曼濾波方程,然后進行信息融合處理。
④桿臂校正:完成載體坐標系和導航坐標系間的姿態變換。
⑤誤差估計:完成陀螺及加速度計的零偏估計,進一步提升系統的精度。
(3)Zynq 處理器的ARM 端軟件,主要完成系統接口控制,協議轉換和數據存儲等功能,用于完成組合導航系統與外部系統對接。
組合導航處理平臺的算法實現所采用的數學模型主要包括姿態矩陣、四元數法、比利方程、速度更新、位置更新及卡爾曼濾波等[3][4]。


四元數法與姿態矩陣的關系:


速度更新微分方程:Vk+1=f(Vk,fb(tk)),速度增量:


采用卡爾曼濾波器組合導航算法,實現誤差最有估計,具體實現流程如圖4所示。

圖4 組合導航濾波算法框圖

通過采用Zynq7020處理器平臺,構建組合導航系統,可以大大降低系統的設計復雜度,充分利用該平臺的多核應用架構,總線內部完成數據交互,縮短了數據緩存延遲。通過算法優化,利用雙ARM 處理器協同工作,提升產品性能,提高系統的穩定性和可靠性。