0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-26 08:04 ? 次閱讀

捷聯(lián)慣性組合導(dǎo)航系統(tǒng)是一種完全自主的定位導(dǎo)航系統(tǒng),它可以連續(xù)實時地提供位置、速度和姿態(tài)信息,短時精度較高,但誤差隨時間增長而不斷積累。GPS導(dǎo)航系統(tǒng)能夠全天候提供信息,且誤差不隨時間積累。因此,將它們組合起來,利用卡爾曼濾波技術(shù)進行融合,可以發(fā)揮各自優(yōu)勢,提高導(dǎo)航精度。由于捷聯(lián)系統(tǒng)沒有穩(wěn)定的物理平臺,慣性器件測量的數(shù)值不能直接進行導(dǎo)航計算,必須先經(jīng)過大量、實時、精確的數(shù)學(xué)運算建立起數(shù)學(xué)平臺,才能得到導(dǎo)航參數(shù),在計算上較復(fù)雜,對計算機的性能要求高。為減小體積、重量和增加可靠性。文中提出利用PC104嵌入式工控機和FPGA設(shè)計一種雙CPU結(jié)構(gòu)的捷聯(lián)慣性組合導(dǎo)航系統(tǒng)。系統(tǒng)中PC/104總線結(jié)構(gòu)的嵌入式工控機來承擔姿態(tài)解算任務(wù),采用FPGA控制組合系統(tǒng)的采集模塊,并利用其內(nèi)部資源,設(shè)計了雙口RAM模塊、串口接口模塊等。雙CPU系統(tǒng)使PC104可以專注于解算,保證了系統(tǒng)的實時性。

1 捷聯(lián)慣性組合導(dǎo)航系統(tǒng)總體方案

捷聯(lián)慣導(dǎo)系統(tǒng)是將加速度計和陀螺儀沿載體坐標系安裝,在進行導(dǎo)航參數(shù)計算時,需要是導(dǎo)航坐標系中的量。因此應(yīng)先將慣性器件測得的比力和角加速度誤差補償后送入計算機進行實時計算,可以得到將比力從載體坐標系轉(zhuǎn)換到導(dǎo)航坐標系的姿態(tài)矩陣。通過姿態(tài)矩陣可以確定載體的姿態(tài)信息。姿態(tài)矩陣常用的即時修正方法有歐拉角法、方向余弦法和四元數(shù)法,設(shè)計采用四元數(shù)法。為進行導(dǎo)航解算,選取地理坐標系為導(dǎo)航坐標系,三軸分別指向東向、北向和天向。

根據(jù)捷聯(lián)慣性組合導(dǎo)航系統(tǒng)的特點,提出采用PC104總線嵌入式工控機的捷聯(lián)慣性組合導(dǎo)航系統(tǒng)的硬件設(shè)計方案,系統(tǒng)包括數(shù)據(jù)采集和數(shù)據(jù)解算模塊。數(shù)據(jù)采集模塊由FPGA負責控制A/D轉(zhuǎn)換將陀螺儀和加速度計輸出的模擬信號轉(zhuǎn)換為數(shù)字信號。在FPGA內(nèi)部開辟一塊存儲單元,F(xiàn)PGA讀取A/D的轉(zhuǎn)換結(jié)果存放在內(nèi)嵌的雙口RAM中。FPGA通過雙口RAM與PC104進行實時通信,F(xiàn)PGA把采集的數(shù)據(jù)進行處理后送入雙口RAM中,然后發(fā)中斷信號給PC104,通知其已經(jīng)有數(shù)據(jù)可以處理。PC104收到中斷信號后,將雙口RAM中的數(shù)據(jù)取走進行處理和解算。FPGA和PC104同時工作,提高了系統(tǒng)的運行速度。系統(tǒng)要求數(shù)據(jù)采樣頻率為1kHz,數(shù)據(jù)解算頻率為100Hz,外加時鐘頻率為40MHz。

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

圖1 系統(tǒng)總體框圖

2 系統(tǒng)硬件設(shè)計

數(shù)據(jù)采集部分采用Altera公司的EP2C35F672,它是CycloneⅡ系列產(chǎn)品之一,一個LAB中有16個LE,增加了乘法器模塊,增強了DSP處理能力。由33 216個LE組成,片上有105個M4K RAM塊,片內(nèi)有35個18 x 18個硬件乘法器,片上有4個PLL,可以實現(xiàn)多個時鐘域。PC104總線結(jié)構(gòu)嵌入式工控機具有功耗低、單5 V供電、工作溫度范圍寬、可靠性高、抗震性好、結(jié)構(gòu)小巧緊湊、浮點運算能力強、運算速度快等顯著特點。最適合在嵌入式控制系統(tǒng)中應(yīng)用。因此它是開發(fā)導(dǎo)航計算機的理想方案。

2.1 數(shù)據(jù)采集模塊

數(shù)據(jù)采集部分由慣性測量元件、GPS接收機、信號調(diào)理部分、A/D轉(zhuǎn)換電路和FPGA控制器等構(gòu)成。在這部分中,F(xiàn)PGA主要完成同步產(chǎn)生A/D轉(zhuǎn)換的時序,數(shù)字濾波和存儲經(jīng)A/D轉(zhuǎn)換后的陀螺和加表的數(shù)據(jù)。慣性測量元件主要包括3個加速度計和3個陀螺儀,正交安裝于坐標系的X軸、Y軸和Z軸,用于提供載體在載體坐標系上的比力和角速度,采用模擬信號輸出,加速度計采用差分輸出。由于慣性器件安裝在一個密閉的容器中,受溫度影響也比較大,必須采集溫度信號對慣性器件進行補償。A/D轉(zhuǎn)換電路采用TI公司的A/D芯片ADS1258,ADS1258是一個靈活的、24位低噪聲最優(yōu)化的、快速的、多通道的、高分辨率的模擬/數(shù)字轉(zhuǎn)換芯片。24位的精度是0.000 000 06,其理論值較16位A/D有較大的提高。根據(jù)芯片資料,ADS1258中的轉(zhuǎn)換器可以提供最大23.7ksample/s的通道掃描速度,可以在<700μs的時間里完成一個完整的16通道掃描。模擬電壓輸入范圍為±2.5V。

數(shù)據(jù)采集部分的功能之一是將加速度計和陀螺儀輸出的模擬信號轉(zhuǎn)換為數(shù)字信號,并將這一數(shù)字信號送入導(dǎo)航計算機。為提高系統(tǒng)的精度,在A/D轉(zhuǎn)換前要先將加速度計和陀螺儀輸出的信號進行放大,通過減法電路和低通濾波電路進行調(diào)理,然后再通過FPGA控制AD1258進行轉(zhuǎn)換。讀取轉(zhuǎn)換數(shù)據(jù),利用FPGA內(nèi)部邏輯設(shè)計FIR數(shù)字濾波器,將處理后的數(shù)據(jù)送入FPGA內(nèi)部的雙口RAM,向主CPU發(fā)出數(shù)據(jù)準備好中斷。這些由FPGA控制,保證了PC104實時處理和接收到的數(shù)據(jù)。用FPGA這種純硬件結(jié)構(gòu)實現(xiàn)的數(shù)據(jù)采集系統(tǒng)比用MCU等器件用軟件控制的數(shù)據(jù)采集系統(tǒng)速度快,且容易修改。

采集模塊的另一個功能是進行GPS數(shù)據(jù)采集。GPS輸出經(jīng)度、緯度和速度等信息。設(shè)計采用Jupitre21 GPS OEM模塊,體積小、重量輕、功耗低,首次定位和重新捕獲時間短,具有強大的抗干擾、抗遮擋能力。OEM板的輸入、輸出格式均按RS232串口通信協(xié)議,設(shè)定為8個數(shù)據(jù)位,1個起始位,1個停止位,無奇偶校驗。GPS接收機數(shù)據(jù)輸出通過RS-232串行口,它信號輸出的頻率比較低,大約每秒更新一次,接收的數(shù)據(jù)要完成解碼才能用于組合系統(tǒng)的修正。本系統(tǒng)用FPGA實現(xiàn)RS232接口,用于接收GPS的數(shù)據(jù)。

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

圖2 數(shù)據(jù)采集原理圖

2.2 導(dǎo)航解算模塊

導(dǎo)航解算模塊是捷聯(lián)慣性組合導(dǎo)航系統(tǒng)的核心。該部分的功能主要完成姿態(tài)矩陣的即時修正、位置姿態(tài)信息的求取和卡爾曼濾波等運算。要求導(dǎo)航計算機對浮點數(shù)據(jù)的處理能力強,并且整個導(dǎo)航計算中涉及大量的矩陣計算,運算量較大。PC104采用中斷機制工作,需要處理FPGA數(shù)據(jù)準備好中斷請求、導(dǎo)航計算、濾波計算。

2.3 FPGA和PC104之間的通信

設(shè)計采用兩個控制器結(jié)構(gòu),PC104要進行導(dǎo)航解算,就要將FPGA采集處理后的數(shù)據(jù)接收。若通過FIFO來傳遞數(shù)據(jù),由于FIFO的先進先出原則,則存在一個采用頻率和解算速率的配合問題。而系統(tǒng)又要求較好的實時性,即每次要進行解算都能立即得到最新的實時數(shù)據(jù)。雙口RAM方式無論是通信速率還是硬件實現(xiàn)的難易程度上都是處理器問高速通信的最佳選擇。系統(tǒng)采用雙口RAM實現(xiàn)FPGA和PC104之間的數(shù)據(jù)共享。

雙口RAM存儲器具有兩套獨立的讀寫控制線、地址線和數(shù)據(jù)線。可以自由訪問,互不干擾。用FPGA實現(xiàn)雙口RAM的功能可以較好地解決并行性和速度問題,而且其靈活的可配置特性使得基于FPGA的雙口RAM易于進行修改、測試及系統(tǒng)升級,可降低設(shè)計成本,縮短開發(fā)周期,減小了導(dǎo)航計算機的體積。因此本設(shè)計直接采用FPGA構(gòu)建雙口RAM,同時進行讀寫操作控制。PC104總線上的I/O地址范圍為0000H~FFFFH,選取地址段0200H~027FH作為雙口RAM的地址段,共128個地址單元。FPGA與PC104引腳電平不同,F(xiàn)PGA的I/O口供電電壓為3.3 V,PC104的總線為5 V TTL電平。因此,為使系統(tǒng)安全穩(wěn)定地工作,需要一個電平轉(zhuǎn)換器件。在PC104和FPGA之間使用起電平轉(zhuǎn)換作用的CPLD,同時由它產(chǎn)生地址譯碼電路。

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

圖3 PC104和FPGA信號連接圖

3 軟件設(shè)計

軟件設(shè)計以滿足導(dǎo)航參數(shù)解算為主,采集模擬的慣性測量器件及GPS數(shù)據(jù),通過雙CPU之間的軟硬件形成呼叫和應(yīng)答機制。由FPGA負責加速度計和陀螺儀輸出信息的采集及數(shù)據(jù)處理,采用FPGA接收讀取GPS的數(shù)據(jù);PC/104工控機負責對FPGA采集到的數(shù)據(jù)進行解算。對控制采樣及數(shù)據(jù)處理模塊的軟件設(shè)計主要是控制A/D轉(zhuǎn)換,構(gòu)建內(nèi)部存儲器、數(shù)字濾波器和串行接口等,采用硬件描述語言Verilog HDL.組合系統(tǒng)的解算由PC104完成,對PC104的軟件設(shè)計采用C語言在DOS系統(tǒng)下在Turbo C中編寫,導(dǎo)航解算應(yīng)有不同的解算周期。因此,導(dǎo)航計算機系統(tǒng)軟件設(shè)計分為FPGA軟件和PC/104主控系統(tǒng)軟件兩部分。

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

圖4 組合導(dǎo)航系統(tǒng)軟件流程圖

3.1 FPGA軟件設(shè)計

FPGA是按照主CPU的指令來執(zhí)行對加速度計的數(shù)據(jù)采集和數(shù)據(jù)處理任務(wù),然后將預(yù)處理的結(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沖突解決方案。

在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)慣導(dǎo)系統(tǒng)進行校正。接收到的GPS數(shù)據(jù)為對應(yīng)ASCII值的二進制數(shù)。

3.2 PC104軟件設(shè)計

數(shù)據(jù)解算采用PC104為核心處理器。采集的陀螺和加速度計的信息經(jīng)過誤差補償后,將陀螺儀測量的角速度數(shù)據(jù)進行解算,得到姿態(tài)矩陣,再用姿態(tài)矩陣將沿載體坐標系的加速度測量的比力信息轉(zhuǎn)換到導(dǎo)航坐標系上,進行積分運算,同時根據(jù)姿態(tài)矩陣中的元素可以解算出姿態(tài)角信息。再用GPS測量得到的位置、速度信息和捷聯(lián)慣導(dǎo)系統(tǒng)解算得到的位置、速度的差值作為觀測量,通過卡爾曼濾波,修正導(dǎo)航系統(tǒng)的參數(shù),為慣性元件提供誤差修正,以提高導(dǎo)航精度。將得到的位置、速度、姿態(tài)等信息輸出,進行控制載體。PC104對雙口RAM的端口地址讀/寫操作的函數(shù)為inport(int protid)和outport(int portid,int value),protid為端口地址,value為要發(fā)送數(shù)據(jù)。

基于PC104和可編程邏輯陣列器件協(xié)同合作的導(dǎo)航計算機系統(tǒng)

圖5 雙口RAM的RTL圖

4 結(jié)束語

文中以PC104為核心處理器,輔以FPGA控制采集和A/D轉(zhuǎn)換,形成雙CPU協(xié)作模式,通過雙口RAM進行通信,主CPU可以專心進行導(dǎo)航計算,避免了因數(shù)據(jù)采集工作而降低效率。雙CPU并行工作,相互配合,大大地提高了系統(tǒng)的整體效率。系統(tǒng)體積小、精度高、結(jié)構(gòu)簡單、功耗小。將導(dǎo)航參數(shù)通過串口輸出,可應(yīng)用于船舶、車輛、飛機等,能滿足導(dǎo)航和定位的要求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21639

    瀏覽量

    601360
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7385

    瀏覽量

    87645
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    514

    瀏覽量

    44059
收藏 人收藏

    評論

    相關(guān)推薦

    可編程邏輯陣列PLA內(nèi)部邏輯結(jié)構(gòu)示意

    可編程邏輯陣列(Programmable Logic Array,PLA)和可編程陣列邏輯(Programmable Array Logic,PAL)都是數(shù)字
    發(fā)表于 02-02 11:41 ?2393次閱讀
    <b class='flag-5'>可編程邏輯陣列</b>PLA內(nèi)部<b class='flag-5'>邏輯</b>結(jié)構(gòu)示意

    如何利用PC104總線實現(xiàn)2FSK調(diào)制器的設(shè)計?

    本調(diào)制器是一種基于PC104總線的嵌入式系統(tǒng)的外圍設(shè)備,嵌入式計算機系統(tǒng)通過PC104總線將數(shù)據(jù)發(fā)送到端口,調(diào)制器接收數(shù)據(jù)并進行調(diào)制后,將信號輸出到受控設(shè)備,從而對相應(yīng)設(shè)備起到控制的功
    發(fā)表于 04-30 06:19

    嵌入式計算機系統(tǒng)概述

    硬件子系統(tǒng)和軟件子系統(tǒng)組成的,通過運行程序來協(xié)同工作計算機硬件:基本的計算機硬件系統(tǒng)由運算器、控
    發(fā)表于 12-22 06:08

    可編程邏輯陣列fpga和cpld相關(guān)資料

    可編程邏輯陣列fpga和cpld
    發(fā)表于 09-20 07:58

    基于PC104和DSP的分布式導(dǎo)航計算機設(shè)計

    單獨采用PC104不能很好的實現(xiàn)多傳感器的數(shù)據(jù)采集和導(dǎo)航解算雙重任務(wù),本文基于PC104的堆棧式結(jié)構(gòu),以TI公司TMS320F28335浮點DSP為核心處理器設(shè)計了一款雙CPU、分布式、小型化的
    發(fā)表于 07-14 17:10 ?12次下載

    什么是PLD(可編程邏輯器件)

    什么是PLD(可編程邏輯器件) PLD是可編程邏輯器件(Programable Logic Device)的簡稱,F(xiàn)PGA是現(xiàn)場可編程陣列(Field Programable Ga
    發(fā)表于 06-20 10:32 ?2.5w次閱讀
    什么是PLD(<b class='flag-5'>可編程邏輯器件</b>)

    捷聯(lián)慣性組合導(dǎo)航系統(tǒng)的工程設(shè)計

    文中設(shè)計了一種基于PC104可編程邏輯陣列器件協(xié)同合作導(dǎo)航
    發(fā)表于 01-11 10:18 ?19次下載
    捷聯(lián)慣性組合<b class='flag-5'>導(dǎo)航系統(tǒng)</b>的工程設(shè)計

    可編程邏輯陣列(PLA)簡介

    電子發(fā)燒友網(wǎng)核心提示 :PLA,ProgrammableLogicArray的簡稱,意為可編程邏輯陣列。本文將著重介紹可編程邏輯陣列PLA的一些基本概念、類型以及基礎(chǔ)應(yīng)用。 一 . PLA的基本概念 可編程
    發(fā)表于 10-12 16:01 ?1.9w次閱讀

    現(xiàn)場可編程邏輯陣列器件 FPGA原理及應(yīng)用設(shè)計

    現(xiàn)場可編程邏輯陣列器件 FPGA原理及應(yīng)用設(shè)計
    發(fā)表于 09-19 11:26 ?17次下載
    現(xiàn)場<b class='flag-5'>可編程</b><b class='flag-5'>邏輯</b>門<b class='flag-5'>陣列</b><b class='flag-5'>器件</b> FPGA原理及應(yīng)用設(shè)計

    可編程邏輯陣列fpga和cpld說明

    可編程邏輯陣列fpga和cpld說明。
    發(fā)表于 03-30 09:30 ?25次下載

    可編程邏輯器件測試方法

    可編程邏輯器件 (Programmable Loeie Device,PLD)是一種用戶編程實現(xiàn)某種邏輯功能的邏輯器件,主要由
    的頭像 發(fā)表于 06-06 15:35 ?1385次閱讀
    <b class='flag-5'>可編程邏輯器件</b>測試方法

    可編程邏輯器件測試

    可編程邏輯器件 (Programmable Loeie Device,PLD)是一種用戶編程實現(xiàn)某種邏輯功能的邏輯器件,主要由
    發(fā)表于 06-06 15:37 ?648次閱讀
    <b class='flag-5'>可編程邏輯器件</b>測試

    可編程邏輯器件有哪幾種 fpga和cpld的特點

    可編程邏輯陣列(Programmable Logic Array, PLA):PLA是最早的可編程邏輯器件之一,由與非門陣列和或門陣列組成,通過編程
    發(fā)表于 07-04 15:28 ?2336次閱讀

    現(xiàn)場可編程陣列是什么

    現(xiàn)場可編程陣列(Field Programmable Gate Array,簡稱FPGA)是一種超大規(guī)模可編程邏輯器件,由可編程邏輯資源、
    的頭像 發(fā)表于 03-16 16:38 ?2390次閱讀

    什么是現(xiàn)場可編程邏輯陣列?它有哪些特點和應(yīng)用?

    在電子工程領(lǐng)域,現(xiàn)場可編程邏輯陣列(Field Programmable Logic Array,簡稱FPLA)是一種具有強大靈活性和可編程性的半導(dǎo)體器件。它屬于可編程邏輯器件(PLD
    的頭像 發(fā)表于 05-23 16:25 ?760次閱讀