基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于ARM與FPGA的便攜式GNSS信號(hào)采集回放系統(tǒng)設(shè)計(jì)摘要:設(shè)計(jì)了一種基于ARM與FPGA的便攜式GNSS導(dǎo)航信號(hào)采集回放系統(tǒng)。該系統(tǒng)可采集復(fù)雜情況下的導(dǎo)航衛(wèi)星信號(hào),并且增益可控,為導(dǎo)航接收機(jī)測(cè)試提供了特定的信號(hào)源。系統(tǒng)將導(dǎo)航衛(wèi)星信號(hào)經(jīng)射頻電路轉(zhuǎn)換為數(shù)字中頻信號(hào),通過(guò)FPGA處理后保存至SATA硬盤。ARM處理器作為監(jiān)控端發(fā)送指令至FPGA,控制FPGA進(jìn)行數(shù)據(jù)采集與回放,同時(shí)接收監(jiān)控接收機(jī)串口發(fā)送的報(bào)文,提取載噪比信息,并繪制載噪比柱狀圖。該系統(tǒng)ARM端基于嵌入式Linux系統(tǒng)開(kāi)發(fā),采用Qt4設(shè)計(jì)用戶圖形界面,可擴(kuò)展及可移植性強(qiáng),為系統(tǒng)的后續(xù)開(kāi)發(fā)提供了保障。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)信號(hào)質(zhì)量滿足要求,ARM監(jiān)控端數(shù)據(jù)處理時(shí)間在200ms~500ms之間,實(shí)時(shí)性良好。0引言目前,GNSS衛(wèi)星導(dǎo)航定位系統(tǒng)的應(yīng)用越來(lái)越廣泛,包括中國(guó)、美國(guó)、歐盟、俄羅斯等世界主要強(qiáng)國(guó)都在積極布置自己的全球衛(wèi)星導(dǎo)航定位系統(tǒng)[1]。雖然中國(guó)在衛(wèi)星導(dǎo)航方面起步較晚,但是技術(shù)發(fā)展迅猛,隨著中國(guó)的北斗2號(hào)衛(wèi)星導(dǎo)航系統(tǒng)的逐步完善,使得中國(guó)成為繼美俄之后第三個(gè)擁有完整的導(dǎo)航系統(tǒng)的國(guó)家。國(guó)內(nèi)市場(chǎng)對(duì)導(dǎo)航接收機(jī)的需求也越來(lái)越多,設(shè)計(jì)高性能、多模式、低價(jià)位的導(dǎo)航接收機(jī)已成為研究熱點(diǎn)。作為導(dǎo)航接收機(jī)研發(fā)過(guò)程中必不可少的設(shè)備,采集回放系統(tǒng)具有廣闊的應(yīng)用前景。所以,迫切需要設(shè)計(jì)一種價(jià)格低廉、便攜性好、界面直觀、可操作性強(qiáng)的GNSS導(dǎo)航信號(hào)采集回放系統(tǒng)。綜上,該系統(tǒng)的監(jiān)控端采用了基于CortexA8系列的ARM處理器,該處理器同時(shí)兼顧了成本與性能的要求,可設(shè)計(jì)美觀的圖形化操作界面。該系統(tǒng)工作于BD2-B1和GPS-L1兩個(gè)頻點(diǎn),便攜性好,界面直觀,可通過(guò)按鍵或觸摸屏兩種方式操作,同時(shí)可隨時(shí)采集戶外復(fù)雜環(huán)境下的導(dǎo)航衛(wèi)星信號(hào),極大地提高了導(dǎo)航接收機(jī)的開(kāi)發(fā)效率和質(zhì)量。1系統(tǒng)結(jié)構(gòu)本系統(tǒng)整體分為射頻模塊與基帶模塊兩大部分。其中,射頻模塊負(fù)責(zé)接收和發(fā)送射頻信號(hào),并將射頻信號(hào)轉(zhuǎn)換為基帶信號(hào)后交由基帶模塊處理;基帶模塊完成用戶交互、接口對(duì)接等功能。此外還包括SSD硬盤(數(shù)據(jù)存儲(chǔ)的介質(zhì),存放采集和回放的數(shù)據(jù))以及對(duì)外各種接口。系統(tǒng)的結(jié)構(gòu)組成如圖1所示。2系統(tǒng)硬件設(shè)計(jì)2.1射頻模塊射頻模塊可分為上變頻與下變頻兩大部分,下變頻部分的核心器件采用MAX2769B芯片,該芯片是一款多模導(dǎo)航接收機(jī)芯片,適用于GPS/北斗/格洛納斯/伽利略衛(wèi)星導(dǎo)航定位系統(tǒng)。上變頻部分的增益控制器件采用了HMC472LP4數(shù)控衰減芯片,該衰減芯片步進(jìn)0.5dB,最高衰減31.5dB,分別由V1~V66個(gè)引腳控制,低電平有效。上下變頻部分均采用C8051F230單片機(jī)進(jìn)行配置,下變頻部分采用GPIO口模擬SPI接口對(duì)MAX2769B芯片寫配置字,配置相關(guān)參數(shù);上變頻模塊通過(guò)控制12個(gè)GPIO口電平的高低配置增益。同時(shí),射頻模塊的上下變頻部分均采用杭州中科微電子的ATGM332D導(dǎo)航接收機(jī)作為監(jiān)控接收機(jī),上下變頻模塊分別將監(jiān)控接收機(jī)接收的報(bào)文信息通過(guò)串口送入FPGA模塊,由FPGA選擇輸出至ARM端。圖2為射頻模塊原理圖[2]。

2.2基帶模塊基帶模塊可以分為FPGA模塊、ARM模塊及基帶底板3個(gè)部分?;鶐У装迨歉髂K連接的橋梁,并完成除ARM、FPGA之外的所有功能,各模塊均以接插件形式與底板連接。這里創(chuàng)新性地采用了SSD硬盤進(jìn)行數(shù)據(jù)存儲(chǔ),滿足了設(shè)備長(zhǎng)時(shí)間采集數(shù)據(jù)對(duì)大容量空間的需求。由于系統(tǒng)復(fù)雜性高,本文對(duì)于基帶底板子模塊只介紹電源與時(shí)鐘電路的設(shè)計(jì)方案。2.2.1FPGA模塊FPGA采用了Xilinx的XC7K325TFFG900-2型FPGA(下文簡(jiǎn)稱K7)。K7系列是Xilinx最新推出的面向中低端市場(chǎng)的低價(jià)位、高性能FPGA[3]。K7核心板主要負(fù)責(zé)對(duì)接射頻數(shù)據(jù)接口和高速收發(fā)接口,F(xiàn)PGA內(nèi)部邏輯結(jié)構(gòu)如圖3所示,根據(jù)功能大致分為3個(gè)部分:控制單元、SATA控制器、UART分線單元。FPGA的控制單元主要負(fù)責(zé)系統(tǒng)的差錯(cuò)控制及與ARM端的通信。這里ARM與FPGA是通過(guò)SMC總線進(jìn)行通信的,需要在Linux內(nèi)核中編寫K7處理器的SMC總線驅(qū)動(dòng)[4]。

2.2.2ARM模塊ARM模塊采用AtmelSAMA5D31處理器,該處理器基于Cortex-A5架構(gòu),主頻528MHz,內(nèi)部集成了浮點(diǎn)運(yùn)算單元,是一款高性能、低功耗的嵌入式處理器。ARM模塊集成了256MBROM、256MBRAM,保證性能的同時(shí)降低了開(kāi)發(fā)成本。對(duì)于本系統(tǒng)而言,選用該模塊是考慮了性能、功耗、價(jià)位等多種綜合因素的結(jié)果[5]。ARM作為主控芯片控制整個(gè)系統(tǒng)流程,圖4所示為ARM與其他部件的連接關(guān)系圖。

2.2.3基帶底板(電源與時(shí)鐘)本設(shè)計(jì)采用5V~42V寬壓電源輸入,根據(jù)各個(gè)器件工作時(shí)所需電流的大小,采用12V/5A適配器作為輸入電源,整體電源分配如圖5所示。

整個(gè)系統(tǒng)的時(shí)鐘源有2個(gè),均為16.368MHz的有源晶振,分別位于基帶底板(主時(shí)鐘)、射頻板(備用時(shí)鐘)。正常情況下使用主時(shí)鐘,在特殊應(yīng)用下使用備用時(shí)鐘。除16.368MHz時(shí)鐘外,ARM具有自身的無(wú)源晶振作為自己的時(shí)鐘源。模塊通信時(shí)均采用異步通信方式,以避免鐘差產(chǎn)生的錯(cuò)誤。圖6所示為系統(tǒng)的時(shí)鐘設(shè)計(jì)方案。3系統(tǒng)軟件設(shè)計(jì)3.1FPGA程序設(shè)計(jì)本系統(tǒng)在采集數(shù)據(jù)時(shí),F(xiàn)PGA接收來(lái)自下變頻模塊的8位AD數(shù)字信號(hào)(L1+B1),經(jīng)過(guò)處理后通過(guò)SATA接口存入到SSD硬盤中,完成數(shù)據(jù)的采集與存儲(chǔ)[6];回放時(shí),F(xiàn)PGA從SSD硬盤中讀取數(shù)據(jù),經(jīng)過(guò)DA數(shù)模轉(zhuǎn)換后,送入上變頻模塊完成信號(hào)的播發(fā)[7]。在衛(wèi)星信號(hào)采集回放時(shí),F(xiàn)PGA要接收來(lái)自上下變頻模塊監(jiān)控接收機(jī)的UART信息,確定采集和播發(fā)的信號(hào)是否正常。本設(shè)計(jì)采用VHDL語(yǔ)言[8]對(duì)需要實(shí)現(xiàn)的電路進(jìn)行描述,Xilinx的K7系列FPGA內(nèi)部集成的高速收發(fā)器(GTX)數(shù)目高達(dá)16個(gè),單個(gè)GTX的速率能達(dá)到12.5Gb/s,GTX是實(shí)現(xiàn)SATA協(xié)議的核心器件,用于實(shí)現(xiàn)SATA2.0控制器綽綽有余。本文采用K7實(shí)現(xiàn)了SATA協(xié)議的物理層、鏈路層和傳輸層,主要包括完成鏈路初始化、幀的封裝、幀的發(fā)送/暫停/結(jié)束控制、幀的解析與校驗(yàn)。SATA協(xié)議的傳輸層由萬(wàn)兆位級(jí)收發(fā)器GTX、OBB控制模塊和接口傳輸率選擇模塊共同實(shí)現(xiàn)。GTX的主要功能包括16B/20B編碼/解碼、串并/并串轉(zhuǎn)換、逗點(diǎn)檢測(cè)、時(shí)鐘修正、預(yù)測(cè)重和線性均衡等。OBB控制模塊用于硬盤的上電過(guò)程或者硬件的復(fù)位過(guò)程,同時(shí)與SATA控制器建立通信鏈路。3.2ARM程序設(shè)計(jì)ARM模塊作為本系統(tǒng)的核心控制模塊,負(fù)責(zé)各個(gè)任務(wù)的調(diào)度,加之需要友好的用戶交互界面,因此采用嵌入式Linux作為ARM模塊的操作系統(tǒng)。根據(jù)ARM任務(wù)可以大致分為:用戶交互操作、模塊指令配置、數(shù)據(jù)文件管理、模塊狀態(tài)監(jiān)控。首先需要在Linux內(nèi)核中實(shí)現(xiàn)相應(yīng)接口的驅(qū)動(dòng)程序,除SMC總線驅(qū)動(dòng)外,Atmel官方提供的linux3.6.9版本的內(nèi)核中已經(jīng)提供了其他接口的驅(qū)動(dòng)程序[9],只需在設(shè)備樹(shù)文件中引出相應(yīng)的設(shè)備節(jié)點(diǎn)即可。Atmel官方同時(shí)提供了SPI、I2C、GPIO接口的測(cè)試程序,可以直接移植相應(yīng)的程序到Qt4中用于實(shí)現(xiàn)相應(yīng)的功能。這里需要特別強(qiáng)調(diào)的是UART接口,在Qt4中沒(méi)有特定的用于串口通信的類,本系統(tǒng)參考第三方的qextserialport類,自定義一個(gè)PortSettings類型的結(jié)構(gòu)體,用于存儲(chǔ)串口參數(shù)。由于Linux系統(tǒng)不支持串口中斷方式,所以這里需要新建一個(gè)定時(shí)器QTimer,定時(shí)1s,并在程序中實(shí)現(xiàn)串口發(fā)送與接收的同步。接下來(lái)調(diào)用open()函數(shù)打開(kāi)串口,并調(diào)用bytesAvailable()函數(shù)判斷串口數(shù)據(jù)是否為零,若串口緩沖中有數(shù)據(jù),則調(diào)用readAll()函數(shù)將緩沖區(qū)中所有數(shù)據(jù)讀取到QByteArray類型變量中[10]。要實(shí)現(xiàn)實(shí)時(shí)接收機(jī)監(jiān)控,需要解析串口接收到的報(bào)文數(shù)據(jù),并提取載噪比信息,繪制柱狀圖用于實(shí)時(shí)顯示信號(hào)質(zhì)量。本系統(tǒng)針對(duì)Qt4用戶圖形界面,提出了一種全新的報(bào)文解析方式,首先需要將QByteArray型變量轉(zhuǎn)換為QString型,并調(diào)用replace()函數(shù)將報(bào)文中的星號(hào)、回車符全部替換為逗號(hào),并以逗號(hào)為分隔符,調(diào)用split()函數(shù)對(duì)報(bào)文進(jìn)行分割,用查詢的方式查找$GPGSV字段,將衛(wèi)星編號(hào)以及載噪比保存到數(shù)組中。根據(jù)數(shù)組中的數(shù)據(jù),采用第三方的QCustomPlot類繪制載噪比柱狀圖,首先調(diào)用setLabel函數(shù)設(shè)置橫縱坐標(biāo)名稱,并使用QCustomPlot提供的QCPBars來(lái)表示柱狀圖,調(diào)用setData()函數(shù)對(duì)每個(gè)柱子進(jìn)行賦值,然后調(diào)用addPlittable()函數(shù)將柱狀圖添加到Widget上,橫坐標(biāo)賦值需要調(diào)用setTickVector()及setTickVectorLabels()函數(shù),最后調(diào)用replot()重繪柱狀圖,保證柱狀圖實(shí)時(shí)更新。4實(shí)驗(yàn)與驗(yàn)證由于Qt4在界面設(shè)計(jì)中的優(yōu)越性,因此可以隨時(shí)按照自己的需求改變界面樣式[11]。為了驗(yàn)證ARM端程序是否發(fā)生過(guò)串口阻塞現(xiàn)象及是否滿足實(shí)時(shí)性要求,對(duì)每幀報(bào)文的處理時(shí)間進(jìn)行分析。將程序移植到嵌入式開(kāi)發(fā)平臺(tái)上,使用labsat循環(huán)回放一段衛(wèi)星的中頻信號(hào),該中頻信號(hào)包含GPS與BD2的報(bào)文信息,經(jīng)過(guò)3.5h的連續(xù)測(cè)試得到一組數(shù)據(jù),將該數(shù)據(jù)用MATLAB分析后,得到圖7所示結(jié)果。從圖7中可以清楚地看到,報(bào)文解析及繪圖時(shí)間多在250ms左右,偶爾突發(fā)時(shí)刻會(huì)達(dá)到550ms的峰值,處理時(shí)間在1s之內(nèi),完全滿足實(shí)時(shí)性要求。5結(jié)束語(yǔ)本文設(shè)計(jì)的便攜式GNSS導(dǎo)航信號(hào)采集回放系統(tǒng)實(shí)現(xiàn)了對(duì)衛(wèi)星中頻

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論