新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > GNSS接收機(jī)中數(shù)據(jù)傳輸優(yōu)化方法設(shè)計(jì)與應(yīng)用

GNSS接收機(jī)中數(shù)據(jù)傳輸優(yōu)化方法設(shè)計(jì)與應(yīng)用

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:對(duì)于基于FPGA+DSP架構(gòu)實(shí)現(xiàn)的、需要同時(shí)接收處理多系統(tǒng)多頻點(diǎn)導(dǎo)航衛(wèi)星信號(hào)的,隨著跟蹤通道數(shù)目成倍增長(zhǎng)以及為提升抗多徑等性能造成的每通道相關(guān)器數(shù)目的增加,F(xiàn)PGA和DSP之間需要交互的相關(guān)值數(shù)據(jù)量也將成倍增加。本文在定制的FPGA+DSP的硬件平臺(tái)上,利用DSP芯片的QDMA功能,消除了連續(xù)數(shù)據(jù)讀取間隔的無(wú)效時(shí)間,并實(shí)現(xiàn)了衛(wèi)星信號(hào)處理與相關(guān)值的并行化,顯著降低了對(duì)DSP處理時(shí)間的占用,使得在同樣硬件平臺(tái)上跟蹤通道數(shù)由44個(gè)提高到96個(gè),滿(mǎn)足了項(xiàng)目設(shè)計(jì)的要求。

本文引用地址:http://butianyuan.cn/article/201610/306158.htm

引言

隨著北斗導(dǎo)航衛(wèi)星系統(tǒng)(BDS)、伽利略導(dǎo)航衛(wèi)星系統(tǒng)(Galileo)以及Glonass導(dǎo)航衛(wèi)星系統(tǒng)的發(fā)展,全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite Systems,GNSS)接收機(jī)工作模式已經(jīng)從單模單頻向多模多頻轉(zhuǎn)變,這一趨勢(shì)在高精度衛(wèi)星導(dǎo)航接收機(jī)以及兼容互操作接收機(jī)中體現(xiàn)得更加明顯。接收信號(hào)數(shù)量的增加直接導(dǎo)致接收機(jī)的成倍增加。同時(shí),為了提升抗多徑干擾的能力,接收機(jī)相關(guān)通道通常在典型的三組復(fù)相關(guān)器的基礎(chǔ)上額外增加兩組復(fù)相關(guān)器。此外,為了適應(yīng)新信號(hào)體制下的導(dǎo)頻分量與數(shù)據(jù)分量的同時(shí)接收,接收機(jī)相關(guān)通道內(nèi)部需要單獨(dú)一路相關(guān)器對(duì)數(shù)據(jù)支路進(jìn)行數(shù)據(jù)解調(diào)。接收機(jī)通道數(shù)據(jù)增加以及相關(guān)器數(shù)量的增加直接導(dǎo)致DSP與FPGA之間傳輸數(shù)據(jù)量的劇增。

DSP與FPGA之間的通信通常采用EMIF異步總線(xiàn)方式實(shí)現(xiàn),由于傳輸數(shù)據(jù)量的成倍增加,所占用的CPU時(shí)間也將成倍增加,最終導(dǎo)致CPU不能在0.505mS內(nèi)完成所有通道的信號(hào)處理任務(wù)。

因此,研究如何有效提升FPGA和DSP之間的數(shù)據(jù)傳輸速率以降低數(shù)據(jù)傳輸對(duì)DSP處理時(shí)間的占用,對(duì)實(shí)現(xiàn)多模多頻具有重要意義。

1 接收機(jī)硬件架構(gòu)

定制的基于FPGA+DSP架構(gòu)的接收機(jī)硬件方案如圖1所示。

a.jpg

接收機(jī)天線(xiàn)采用的是全頻段天線(xiàn),能夠接收BDS、GPS、Galileo以及Glonass系統(tǒng)所有頻點(diǎn)的衛(wèi)星導(dǎo)航信號(hào);射頻通道RF完成導(dǎo)航信號(hào)的放大、下變頻以及濾波等工作;基帶平臺(tái)中的A/D轉(zhuǎn)換器對(duì)射頻通道輸出的中頻信號(hào)進(jìn)行采樣,完成模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換;FPGA實(shí)現(xiàn)導(dǎo)航信號(hào)的捕獲以及通道相關(guān)運(yùn)算功能;DSP選用TI公司的OMAPL138,完成環(huán)路的更新以及定位解算功能。

2 數(shù)據(jù)傳輸分析

在接收的導(dǎo)航信號(hào)中,有些信號(hào)沒(méi)有導(dǎo)頻支路分量(如B1I、L1CA等),但是為了保證積分通道的通用性,F(xiàn)PGA內(nèi)部積分通道均采用5路復(fù)相關(guān)器完成導(dǎo)頻分量的跟蹤,同時(shí)具有一路獨(dú)立的相關(guān)器完成數(shù)據(jù)的解調(diào)功能。單通道內(nèi)的環(huán)路結(jié)構(gòu)如圖2所示。

b.jpg

與傳統(tǒng)的只有三路復(fù)相關(guān)器的接收機(jī)相比較,在圖2所示的單通道內(nèi),增加了EE與LL兩組復(fù)相關(guān)器、數(shù)據(jù)支路偽隨機(jī)碼發(fā)生器(data code generator)、數(shù)據(jù)解調(diào)器以及IQ切換單元(I,Q switch)。增加兩路復(fù)相關(guān)器是為了能夠?qū)崿F(xiàn)性能良好的抗多徑算法;由于在不同信號(hào)分量?jī)?nèi)數(shù)據(jù)支路與導(dǎo)頻支路的相位關(guān)系不確定,因此需要在解調(diào)數(shù)據(jù)之前添加IQ切換功能單元。對(duì)于沒(méi)有導(dǎo)頻支路的導(dǎo)航信號(hào),在接收機(jī)通道使用過(guò)程中無(wú)需使用IQ切換單元、數(shù)據(jù)解調(diào)相關(guān)器以及數(shù)據(jù)支路偽隨機(jī)碼發(fā)生器。

在通道更新之前,OMAPL138需要將FPGA內(nèi)部完成的5組積分值讀取到內(nèi)部,完成相位延遲鎖定環(huán)路(PLL)和偽碼延遲鎖定環(huán)路(DLL)的鑒相以及濾波,最后將環(huán)路更新的結(jié)果反饋至FPGA內(nèi)部的相關(guān)通道中,從而完成一次環(huán)路的更新。在下面分析的過(guò)程中將誤差計(jì)算、濾波以及PLL、DLL更新合稱(chēng)為“通道處理”。

DSP執(zhí)行0.505 ms中斷任務(wù)的流程如圖3所示。中斷開(kāi)始后首先讀取所有通道相關(guān)積分標(biāo)志,循環(huán)判斷通道積分狀態(tài)標(biāo)志位,根據(jù)1ms相關(guān)積分狀態(tài)標(biāo)志位,進(jìn)行相應(yīng)通道處理。

c.jpg

FPGA與OMAPL138之間通過(guò)EIMF總線(xiàn)進(jìn)行數(shù)據(jù)傳輸。EIMF總線(xiàn)具有兩種工作模式:同步和異步。程序設(shè)計(jì)初始階段,接收機(jī)采用異步模式普通尋址方式進(jìn)行數(shù)據(jù)傳輸。在分析數(shù)據(jù)傳輸時(shí)序的過(guò)程中,采用Altera邏輯分析儀軟件signalTap對(duì)DSP與FPGA之間的異步通信時(shí)序進(jìn)行仿真分析。分析結(jié)果如圖4所示。

d.jpg

由圖4中的片選信號(hào)cen可以看出,數(shù)據(jù)訪問(wèn)的時(shí)間由片選低電平以及兩次訪問(wèn)數(shù)據(jù)間的高電平組成。其中,低電平時(shí)間主要由EMIF總線(xiàn)時(shí)序中的 setup、strobe以及hold時(shí)間構(gòu)成;高電平代表讀取數(shù)據(jù)的切換時(shí)間,視為無(wú)效時(shí)間,這段元效時(shí)間嚴(yán)重降低了數(shù)據(jù)傳輸速率。通過(guò)第一行的采樣點(diǎn)以及采樣頻率可以估計(jì)出普通異步訪問(wèn)總線(xiàn)數(shù)據(jù)速率為3.0 03 MB。0.505 ms內(nèi)跟蹤通道數(shù)滿(mǎn)足下式:

n·Ns/R+n·tsp+δt0.505 ms (1)

其中,R為EIMF通信速率(MB/s);Ns為單通道數(shù)據(jù)量(字節(jié));tsp為單通道處理時(shí)間(s);δt為OMAPL138查詢(xún)通道過(guò)程中的程序執(zhí)行時(shí)間,在下面計(jì)算過(guò)程中忽略此時(shí)間。

在復(fù)相關(guān)器數(shù)為3(Ns=12字節(jié)),跟蹤通道數(shù)n=12的傳統(tǒng)接收機(jī)工作模式下,單通道處理時(shí)間tsp=4 μs;由式(1)可知,通道更新時(shí)間t=n·Ns/R+n·tsp+δt≈96μs,滿(mǎn)足t 0.505 ms,因此OMAPL138能夠完成12個(gè)通道的跟蹤。但是在單通道內(nèi)復(fù)相關(guān)器數(shù)量為5,同時(shí)具有一路解調(diào)數(shù)據(jù)相關(guān)器的情況下,單通道積分?jǐn)?shù)據(jù)Ns增加至22字節(jié),則跟蹤通道數(shù)n44,不能滿(mǎn)足項(xiàng)目中跟蹤通道數(shù)為96的要求。

基于以上分析,下面將重點(diǎn)討論如何通過(guò)縮短無(wú)效時(shí)間,以及通過(guò)數(shù)據(jù)讀取與通道處理并行執(zhí)行縮短數(shù)據(jù)傳輸占用DSP時(shí)間兩方面來(lái)提高數(shù)據(jù)傳輸?shù)男省?/p>

3 數(shù)據(jù)傳輸方法分析與實(shí)現(xiàn)

3.1 消除數(shù)據(jù)讀取間隔的無(wú)效時(shí)間

采用signalTap對(duì)memcpy或者QDMA數(shù)據(jù)通信進(jìn)行仿真分析,分析結(jié)果表明兩者在數(shù)據(jù)傳輸過(guò)程的時(shí)序關(guān)系一致,能夠有效縮短數(shù)據(jù)訪問(wèn)時(shí)間。異步時(shí)序模式下QDMA/memcpy通信時(shí)序關(guān)系如圖5所示。

e.jpg

由圖5中的片選信號(hào)cen可以看出,在采用QDMA或者memcpy進(jìn)行數(shù)據(jù)傳輸時(shí),cen高電平僅出現(xiàn)一次,EMIF總線(xiàn)數(shù)據(jù)吞吐率提升至6.85 MB/s,縮短了數(shù)據(jù)傳輸占用OMAPL138的時(shí)間。由式(1)可以得出,跟蹤通道數(shù)n70,不能滿(mǎn)足設(shè)計(jì)指標(biāo),因此需要通過(guò)實(shí)現(xiàn)數(shù)據(jù)傳輸與通道處理的并行執(zhí)行進(jìn)一步縮短數(shù)據(jù)傳輸占用OMAPL138時(shí)間,實(shí)現(xiàn)在0.505 ms內(nèi)完成96個(gè)跟蹤通道的更新。

3.2 實(shí)現(xiàn)數(shù)據(jù)傳輸與通道處理并行執(zhí)行

與memcpy方法進(jìn)行數(shù)據(jù)傳輸相比較,QDMA數(shù)據(jù)傳輸方式能夠通過(guò)修改軟件算法方便地實(shí)現(xiàn)數(shù)據(jù)傳輸與通道處理并行執(zhí)行,從而達(dá)到進(jìn)一步縮短數(shù)據(jù)傳輸占用OMAPL138時(shí)間的目的。采用QDMA方式進(jìn)行數(shù)據(jù)傳輸后的0.505 ms任務(wù)流程如圖6所示。

f.jpg

圖6與圖3比較可以看出,在采用QDMA數(shù)據(jù)傳輸方式下,數(shù)據(jù)傳輸與通道處理任務(wù)執(zhí)行算法得到,在查詢(xún)到第一個(gè)通道積分值有效后,采用memcpy方式對(duì)該通道的積分?jǐn)?shù)據(jù)進(jìn)行讀取,數(shù)據(jù)讀取完成后開(kāi)始查詢(xún)下一個(gè)積分值有效通道,當(dāng)查詢(xún)到下一個(gè)有效通道后,將QDMA設(shè)置為開(kāi)始讀下一個(gè)通道數(shù)據(jù);當(dāng)通道處理完成后,檢查QDMA是否完成通道數(shù)據(jù)的讀取,如果完成則切換到下一個(gè)通道進(jìn)行查詢(xún),若沒(méi)有完成,則等待數(shù)據(jù)傳輸完成。當(dāng)96個(gè)通道全部查詢(xún)完成后,開(kāi)始執(zhí)行最后一個(gè)通道的處理任務(wù),這保證了只有一個(gè)通道的積分值有效的情況下能夠?qū)@個(gè)通道進(jìn)行處理;若96個(gè)通道的積分值均無(wú)效,則在查詢(xún)完積分標(biāo)志位后直接結(jié)束中斷任務(wù)。

圖7的0.505 ms中斷內(nèi)的任務(wù)時(shí)序圖更直觀地說(shuō)明,采用QDMA方式數(shù)據(jù)傳輸有效縮短了數(shù)據(jù)傳輸占用OMAPL138的時(shí)間。傳輸步驟如下:查詢(xún)通道狀態(tài);讀取累積值標(biāo)志位;通道數(shù)據(jù)讀取;通道處理。

g.jpg

圖7中的編號(hào)為有效通道的通道號(hào),能夠更加方便地看出在0.505 ms內(nèi),由于數(shù)據(jù)傳輸與通道處理的并行執(zhí)行,將數(shù)據(jù)傳輸占用OMAPL138的時(shí)間縮減至一次數(shù)據(jù)讀取的時(shí)間,從而完成數(shù)據(jù)傳輸?shù)淖?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/優(yōu)化">優(yōu)化。與數(shù)據(jù)傳輸速率的約束公式變?yōu)椋?/p>

1·Ns/R+n·tsp+δt0.505 ms (2)

其中,R為OMAPL138與FPGA通信速率(6.85 MB/s);Ns為單通道數(shù)據(jù)量(22字節(jié));tsp為單通道處理時(shí)間(4 μs);δt為OMAPL138查詢(xún)通道過(guò)程中的程序執(zhí)行時(shí)間。

結(jié)語(yǔ)

以工程實(shí)際為基礎(chǔ),在低功耗的前提下,針對(duì)如何有效提升FPGA和DSP之間的數(shù)據(jù)傳輸速率以降低數(shù)據(jù)傳輸對(duì)DSP處理時(shí)間的占用問(wèn)題,通過(guò)在當(dāng)前定制的衛(wèi)星導(dǎo)航接收機(jī)硬件平臺(tái)上對(duì)數(shù)據(jù)傳輸進(jìn)行仿真分析,最終提出對(duì)數(shù)據(jù)傳輸采用QDMA方式進(jìn)行優(yōu)化,消除了連續(xù)數(shù)據(jù)讀取間隔的無(wú)效時(shí)間,并實(shí)現(xiàn)了衛(wèi)星信號(hào)處理與相關(guān)值數(shù)據(jù)傳輸?shù)牟⑿谢?,顯著降低了數(shù)據(jù)傳輸對(duì)DSP處理時(shí)間的占用,使得在同樣硬件平臺(tái)上跟蹤通道數(shù)由44個(gè)提高到96個(gè),滿(mǎn)足了項(xiàng)目設(shè)計(jì)的要求。本文的優(yōu)化思想并不局限于設(shè)計(jì)實(shí)現(xiàn)基于DSP實(shí)現(xiàn)的,同時(shí)為采用嵌入式MCU設(shè)計(jì)多通道GNSS接收機(jī)提供了理論依據(jù)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉