• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > GPS信號中斷時慣導芯片的位置信息感知系統設計

    GPS信號中斷時慣導芯片的位置信息感知系統設計

    作者: 時間:2011-11-05 來源:網絡 收藏


    2 工作原理及主要控制說明
    本文研究了如何在移動端缺失的情況下,使用SPI協議建立FPGA與慣導ADIS16003之間的通信,從而獲取移動物體當前的加速度。DSP將通過EMIF接口讀取此加速度,并根據之前有效的推算出當前的概略(經緯度、速度和時間等)。
    2.1 工作原理
    FPGA驅動ADIS16003慣導工作包括初始啟動和正常啟動兩種模式。
    (1)初始啟動模式
    FPGA上電復位時自啟動ADIS16003,配置ADIS16003控制寄存器,并讀取芯片測得的雙軸軸向加速度初始值,存儲到EMIF接口的0x068~0x069地址空間供DSP讀取,用作誤差校正之用(此模式工作在移動端處于靜止狀態時,且此模式僅由DSP讀取1次)。
    (2)正常啟動模式
    初始啟動模式完成之后,FPGA將自動轉入數據采集階段,源源不斷地通過SPI接口從ADIS16003芯片中采集雙軸軸向瞬時加速度,以備DSP使用。加速度每秒采集8次,每隔0.125 s采集一次。每秒都將得到8組結果,分別為ax0ay0、ax1ay1、ay2ay2、ax3ay3、ax4ay4、ax5ay5、ax6ay6和ax7ay7,存儲于FGPA內部的8個中間寄存器單元reg0~reg7(非EMIF接口,每個輸出結果為12×2位,存儲于32位的寄存器組中),并隨著時間的推移不斷地刷新。這么做的目的是確保這8個寄存器組中始終保存有最近1 s的移動物體加速度信息,以保證加速度信息的準確性和有效性。當CPU通過GPS接收天線檢測到GPS信息丟失時,CPU通過PCI接口給FPGA配入spi_cmd_val(高電平有效),同時通過HPI接口給
    DSP寫入信息丟失前2 s的GPS信息(包括經緯度、速度和時間),作為定位基點。FPGA檢測到spi_cmd_val有效后,立即將中間寄存器單元reg0~reg7中存儲的瞬時加速度送入EMIF接口的0x060~0x067地址單元(32位),同時拉高int_spi_done信號,產生外部(拉低DSP的引腳)通知DSP從EMIF接口讀取加速度信息,并通過后續軟件算法進行信號處理,轉化為移動端經緯度信息。再通過DSP的HPI接口上報給CPU,從而使高層獲取移動端當前GPS信息,即完成了GPS信息的模擬。加速度存儲格式如表1所列。其中包括初始和瞬時加速度值,共占用32位EMIF接口10個地址單元。

    本文引用地址:http://www.czjhyjcfj.com/article/150076.htm

    d.jpg


    2.2 主要控制信號說明
    ①spi_cmd_data:ADIS16003芯片控制字(寄存器),8位,FPGA配入。
    ②spi_cmd_val:GPS信號缺失時ADIS16003啟動信號,CPU發出,脈沖觸發。
    ③spi_cmd_val_reg:ADIS16003啟動信號寄存器,及時存儲觸發脈沖,持續一個時鐘后清0。
    ④spi_data_i:ADIS16003串行輸出信號,包括雙軸軸向加速度,每個spi_clk時鐘下降沿輸出一位,16個時鐘周期完成一次運算。
    ⑤spi_cs:SPI片選信號,低電平有效。
    ⑥spi_clk:SPI通信時鐘信號,由主時鐘分頻得到,此處進行32分頻。
    ⑦spi_data_o:ADIS16003控制字輸入信號,8位串行輸出,spi_clk時鐘上升沿動作。
    ⑧spi_rdata:ADIS16003運算結果,12位,每個spi_clk下降沿輸出一位,采取移位拼接方式(向左移),在第16個時鐘下降沿輸出一次完整的采集結果(每次采集至少需要16個時鐘周期)。
    ⑨spi_state:SPI工作狀態信號,0為IDLE,1為BUSY,2為DONE,采用有限狀態機進行
    ⑩spi_wr_cnt_o、spi_wr_cnt_i:十六進制計數器,時鐘上升沿和下降沿分別計數。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宜宾县| 建始县| 淄博市| 区。| 舞阳县| 万年县| 宜丰县| 承德县| 韶关市| 宁德市| 云安县| 信阳市| 新龙县| 平果县| 镇康县| 屯门区| 和顺县| 正镶白旗| 乾安县| 华坪县| 河南省| 姚安县| 阳东县| 靖边县| 彩票| 宣化县| 石首市| 株洲县| 兰考县| 赤峰市| 迁安市| 靖州| 乾安县| 正宁县| 随州市| 油尖旺区| 内江市| 新田县| 乌苏市| 安泽县| 卢湾区|