<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 淺析GPS中斷時(shí)慣導(dǎo)芯片的位置信息感知系統(tǒng)設(shè)計(jì)方案

          淺析GPS中斷時(shí)慣導(dǎo)芯片的位置信息感知系統(tǒng)設(shè)計(jì)方案

          作者: 時(shí)間:2011-12-19 來源:網(wǎng)絡(luò) 收藏

          引言

            當(dāng)今社會(huì),衛(wèi)星定位系統(tǒng)早已廣泛應(yīng)用于人們的社會(huì)生活中,如交通工具導(dǎo)航、個(gè)人定位服務(wù)等。但在某些情況下,由于物體遮蔽、散射等原因,我們無法實(shí)時(shí)接收到衛(wèi)星信號(hào)(比如列車進(jìn)入隧道)。所以有必要研究在信息缺失的情況下,如何通過一定的算法產(chǎn)生模擬GPS信息,從而實(shí)現(xiàn)全天候的無縫位置感知。這在某些對(duì)位置信息敏感的場合中就顯得非常急迫和重要。

          1 慣導(dǎo)芯片簡介

            ADIS16003是ADI公司的一款低成本、低功耗,具有SPI接口的雙軸加速度計(jì),屬M(fèi)EMS傳感器件。它可以測量動(dòng)態(tài)和靜態(tài)加速度并以數(shù)字量輸出,測量范圍最小可以達(dá)到±1.7 g,同時(shí)還集成了溫度傳感器,可用于慣性導(dǎo)航、振動(dòng)檢測和穩(wěn)定性測試等場合中。

            SPI是串行外圍設(shè)備接口,是Motorola公司首先在其MC68HCXX系列處理器上定義的。目前已廣泛應(yīng)用在EEPROM、Flash、實(shí)時(shí)時(shí)鐘、A/D轉(zhuǎn)換器以及數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間,是一種高速的全雙工同步通信。SPI通信只需要4根線,分別為SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCK(時(shí)鐘)和CS(片選)。通信是通過數(shù)據(jù)交換的方式完成的。SPI接口使用串行通信協(xié)議,由SCK提供時(shí)鐘脈沖,SDI、SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過SDO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被讀取,完成一位數(shù)據(jù)傳輸。數(shù)據(jù)輸入也使用同樣的原理。


            ADIS16003的SPI接口通信時(shí)序及控制寄存器配置如圖1、圖2所示。其中,常用控制字為00000100和00001100,分別表示以正常模式采集X軸和Y軸雙軸軸向加速度。

          2 系統(tǒng)工作原理及主要控制信號(hào)說明

            本文研究了如何在移動(dòng)端GPS信息缺失的情況下,使用SPI協(xié)議建立FPGA與慣導(dǎo)芯片ADIS16003之間的通信,從而獲取移動(dòng)物體當(dāng)前的加速度。DSP將通過EMIF接口讀取此加速度,并根據(jù)之前有效的GPS信息推算出當(dāng)前的概略GPS信息(經(jīng)緯度、速度和時(shí)間等)。

            2.1 工作原理

            FPGA驅(qū)動(dòng)ADIS16003慣導(dǎo)芯片工作包括初始啟動(dòng)和正常啟動(dòng)兩種模式。

            (1)初始啟動(dòng)模式

            FPGA上電復(fù)位時(shí)自啟動(dòng)ADIS16003芯片,配置ADIS16003控制寄存器,并讀取芯片測得的雙軸軸向加速度初始值,存儲(chǔ)到EMIF接口的0x068~0x069地址空間供DSP讀取,用作誤差校正之用(此模式工作在移動(dòng)端處于靜止?fàn)顟B(tài)時(shí),且此模式僅由DSP讀取1次)。

            (2)正常啟動(dòng)模式

            初始啟動(dòng)模式完成之后,F(xiàn)PGA將自動(dòng)轉(zhuǎn)入數(shù)據(jù)采集階段,源源不斷地通過SPI接口從ADIS16003芯片中采集雙軸軸向瞬時(shí)加速度,以備DSP使用。加速度每秒采集8次,每隔0.125 s采集一次。每秒都將得到8組結(jié)果,分別為ax0ay0、ax1ay1、ay2ay2、ax3ay3、ax4ay4、ax5ay5、ax6ay6和ax7ay7,存儲(chǔ)于FGPA內(nèi)部的8個(gè)中間寄存器單元reg0~reg7(非EMIF接口,每個(gè)輸出結(jié)果為12×2位,存儲(chǔ)于32位的寄存器組中),并隨著時(shí)間的推移不斷地刷新。這么做的目的是確保這8個(gè)寄存器組中始終保存有最近1 s的移動(dòng)物體加速度信息,以保證加速度信息的準(zhǔn)確性和有效性。當(dāng)CPU通過GPS接收天線檢測到GPS信息丟失時(shí),CPU通過PCI接口給FPGA配入spi_cmd_val信號(hào)(高電平有效),同時(shí)通過HPI接口給DSP寫入信息丟失前2 s的GPS信息(包括經(jīng)緯度、速度和時(shí)間),作為定位基點(diǎn)。FPGA檢測到spi_cmd_val信號(hào)有效后,立即將中間寄存器單元reg0~reg7中存儲(chǔ)的瞬時(shí)加速度送入EMIF接口的0x060~0x067地址單元(32位),同時(shí)拉高int_spi_done信號(hào),產(chǎn)生外部中斷(拉低DSP的引腳)通知DSP從EMIF接口讀取加速度信息,并通過后續(xù)軟件算法進(jìn)行信號(hào)處理,轉(zhuǎn)化為移動(dòng)端經(jīng)緯度信息。再通過DSP的HPI接口上報(bào)給CPU,從而使高層獲取移動(dòng)端當(dāng)前GPS信息,即完成了GPS位置信息的模擬。加速度存儲(chǔ)格式如表1所列。其中包括初始和瞬時(shí)加速度值,共占用32位EMIF接口10個(gè)地址單元。

            2.2 主要控制信號(hào)說明

           ?、賡pi_cmd_data:ADIS16003芯片控制字(寄存器),8位,F(xiàn)PGA配入。

           ?、趕pi_cmd_val:GPS信號(hào)缺失時(shí)ADIS16003啟動(dòng)信號(hào),CPU發(fā)出,脈沖觸發(fā)。

           ?、踫pi_cmd_val_reg:ADIS16003啟動(dòng)信號(hào)寄存器,及時(shí)存儲(chǔ)觸發(fā)脈沖,持續(xù)一個(gè)時(shí)鐘后清0。

           ?、躶pi_data_i:ADIS16003串行輸出信號(hào),包括雙軸軸向加速度,每個(gè)spi_clk時(shí)鐘下降沿輸出一位,16個(gè)時(shí)鐘周期完成一次運(yùn)算。

            ⑤spi_cs:SPI片選信號(hào),低電平有效。

            ⑥spi_clk:SPI通信時(shí)鐘信號(hào),由主時(shí)鐘分頻得到,此處進(jìn)行32分頻。

           ?、遱pi_data_o:ADIS16003控制字輸入信號(hào),8位串行輸出,spi_clk時(shí)鐘上升沿動(dòng)作。

            ⑧spi_rdata:ADIS16003運(yùn)算結(jié)果,12位,每個(gè)spi_clk下降沿輸出一位,采取移位拼接方式(向左移),在第16個(gè)時(shí)鐘下降沿輸出一次完整的采集結(jié)果(每次采集至少需要16個(gè)時(shí)鐘周期)。

            ⑨spi_state:SPI工作狀態(tài)信號(hào),0為IDLE,1為BUSY,2為DONE,采用有限狀態(tài)機(jī)進(jìn)行設(shè)計(jì)。

           ?、鈙pi_wr_cnt_o、spi_wr_cnt_i:十六進(jìn)制計(jì)數(shù)器,時(shí)鐘上升沿和下降沿分別計(jì)數(shù)。

            整個(gè)系統(tǒng)工作流程如圖3所示。

            2.3 DSP后續(xù)軟件處理流程

            DSP后續(xù)軟件處理流程如圖4所示。DSP在CCS 3.3軟件環(huán)境下計(jì)算完成。此處的基點(diǎn)(basepoint)是指最接近GPS信號(hào)消失前的具有有效GPS信息的移動(dòng)物體位置,即GPS消失前2 s的移動(dòng)端GPS信息(每秒測量1次)。角度計(jì)算是指DSP將距離信息轉(zhuǎn)換為GPS經(jīng)緯度信息。

          3 程序?qū)崿F(xiàn)及功能仿真

            3.1 芯片資源

            本系統(tǒng)采用的FPGA芯片為Cyclone III系列的EP3C120F80C7器件,DSP芯片為TMS320VC5510,慣導(dǎo)芯片采用ADIS16003。各芯片接口和主要信號(hào)流向示意圖如圖5所示,包括PCI、SPI、EMIF和HPI等主要外設(shè)接口。

            3.2 軟件功能仿真

            本系統(tǒng)的底層SPI通信部分使用FPGA進(jìn)行驅(qū)動(dòng),采用Verilog HDL語言編寫程序,并在Quartus 10.1集成環(huán)境下進(jìn)行功能仿真驗(yàn)證,如圖6所示。結(jié)果顯示,數(shù)據(jù)采集符合設(shè)計(jì)邏輯,當(dāng)所有數(shù)據(jù)采集完成一次之后立即送出中斷信號(hào)觸發(fā)DSP讀取。

          4 測試結(jié)果

            利用Signal Tap II Logic Analyzer在線邏輯分析儀進(jìn)行板上硬件實(shí)際調(diào)試,圖7為SignalTap加速度在線采集實(shí)測波形。測試結(jié)果顯示數(shù)據(jù)采集和處理符合芯片時(shí)序要求;FPGA與DSP的EMIF接口配合良好,經(jīng)過后續(xù)DSP軟件算法處理后能成功推算出移動(dòng)物體當(dāng)前的GPS信息,及時(shí)上報(bào)CPU(每秒1 s)。其中SPI通信時(shí)鐘為1.4 MHz。經(jīng)過測試,系統(tǒng)完全能夠達(dá)到設(shè)計(jì)要求,已在某大型通信系統(tǒng)中得到應(yīng)用。

          結(jié)語

            通過本系統(tǒng)的設(shè)計(jì)和調(diào)試過程可以看出,使用FPGA作為物理層驅(qū)動(dòng)具有SPI接口的數(shù)字芯片是簡單而有效的一種數(shù)字設(shè)計(jì)方案,可以較容易地滿足芯片的時(shí)序要求。通過與EMIF接口的配合還可以很好地利用DSP芯片完成眾多嵌入式系統(tǒng)的設(shè)計(jì)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();