GNSS接收機中數(shù)據傳輸優(yōu)化方法設計與應用
摘要:對于基于FPGA+DSP架構實現(xiàn)的、需要同時接收處理多系統(tǒng)多頻點導航衛(wèi)星信號的GNSS接收機,隨著跟蹤通道數(shù)目成倍增長以及為提升抗多徑等性能造成的每通道相關器數(shù)目的增加,F(xiàn)PGA和DSP之間需要交互的相關值數(shù)據量也將成倍增加。本文在定制的FPGA+DSP的硬件平臺上,利用DSP芯片的QDMA功能,消除了連續(xù)數(shù)據讀取間隔的無效時間,并實現(xiàn)了衛(wèi)星信號處理與相關值數(shù)據傳輸的并行化,顯著降低了數(shù)據傳輸對DSP處理時間的占用,使得在同樣硬件平臺上跟蹤通道數(shù)由44個提高到96個,滿足了項目設計的要求。
本文引用地址:http://cafeforensic.com/article/201610/306158.htm引言
隨著北斗導航衛(wèi)星系統(tǒng)(BDS)、伽利略導航衛(wèi)星系統(tǒng)(Galileo)以及Glonass導航衛(wèi)星系統(tǒng)的發(fā)展,全球導航衛(wèi)星系統(tǒng)(Global Navigation Satellite Systems,GNSS)接收機工作模式已經從單模單頻向多模多頻轉變,這一趨勢在高精度衛(wèi)星導航接收機以及兼容互操作接收機中體現(xiàn)得更加明顯。接收信號數(shù)量的增加直接導致接收機通道數(shù)量的成倍增加。同時,為了提升抗多徑干擾的能力,接收機相關通道通常在典型的三組復相關器的基礎上額外增加兩組復相關器。此外,為了適應新信號體制下的導頻分量與數(shù)據分量的同時接收,接收機相關通道內部需要單獨一路相關器對數(shù)據支路進行數(shù)據解調。接收機通道數(shù)據增加以及相關器數(shù)量的增加直接導致DSP與FPGA之間傳輸數(shù)據量的劇增。
DSP與FPGA之間的通信通常采用EMIF異步總線方式實現(xiàn),由于傳輸數(shù)據量的成倍增加,數(shù)據傳輸所占用的CPU時間也將成倍增加,最終導致CPU不能在0.505mS內完成所有通道的信號處理任務。
因此,研究如何有效提升FPGA和DSP之間的數(shù)據傳輸速率以降低數(shù)據傳輸對DSP處理時間的占用,對實現(xiàn)多模多頻GNSS接收機具有重要意義。
1 接收機硬件架構
定制的基于FPGA+DSP架構的接收機硬件方案如圖1所示。
接收機天線采用的是全頻段天線,能夠接收BDS、GPS、Galileo以及Glonass系統(tǒng)所有頻點的衛(wèi)星導航信號;射頻通道RF完成導航信號的放大、下變頻以及濾波等工作;基帶平臺中的A/D轉換器對射頻通道輸出的中頻信號進行采樣,完成模擬信號到數(shù)字信號的轉換;FPGA實現(xiàn)導航信號的捕獲以及通道相關運算功能;DSP選用TI公司的OMAPL138,完成環(huán)路的更新以及定位解算功能。
2 數(shù)據傳輸分析
在接收的導航信號中,有些信號沒有導頻支路分量(如B1I、L1CA等),但是為了保證積分通道的通用性,F(xiàn)PGA內部積分通道均采用5路復相關器完成導頻分量的跟蹤,同時具有一路獨立的相關器完成數(shù)據的解調功能。單通道內的環(huán)路結構如圖2所示。
與傳統(tǒng)的只有三路復相關器的接收機相比較,在圖2所示的單通道內,增加了EE與LL兩組復相關器、數(shù)據支路偽隨機碼發(fā)生器(data code generator)、數(shù)據解調器以及IQ切換單元(I,Q switch)。增加兩路復相關器是為了能夠實現(xiàn)性能良好的抗多徑算法;由于在不同信號分量內數(shù)據支路與導頻支路的相位關系不確定,因此需要在解調數(shù)據之前添加IQ切換功能單元。對于沒有導頻支路的導航信號,在接收機通道使用過程中無需使用IQ切換單元、數(shù)據解調相關器以及數(shù)據支路偽隨機碼發(fā)生器。
在通道更新之前,OMAPL138需要將FPGA內部完成的5組積分值讀取到內部,完成相位延遲鎖定環(huán)路(PLL)和偽碼延遲鎖定環(huán)路(DLL)的鑒相以及濾波,最后將環(huán)路更新的結果反饋至FPGA內部的相關通道中,從而完成一次環(huán)路的更新。在下面分析的過程中將誤差計算、濾波以及PLL、DLL更新合稱為“通道處理”。
DSP執(zhí)行0.505 ms中斷任務的流程如圖3所示。中斷開始后首先讀取所有通道相關積分標志,循環(huán)判斷通道積分狀態(tài)標志位,根據1ms相關積分狀態(tài)標志位,進行相應通道處理。
FPGA與OMAPL138之間通過EIMF總線進行數(shù)據傳輸。EIMF總線具有兩種工作模式:同步和異步。程序設計初始階段,接收機采用異步模式普通尋址方式進行數(shù)據傳輸。在分析數(shù)據傳輸時序的過程中,采用Altera邏輯分析儀軟件signalTap對DSP與FPGA之間的異步通信時序進行仿真分析。分析結果如圖4所示。
由圖4中的片選信號cen可以看出,數(shù)據訪問的時間由片選低電平以及兩次訪問數(shù)據間的高電平組成。其中,低電平時間主要由EMIF總線時序中的 setup、strobe以及hold時間構成;高電平代表讀取數(shù)據的切換時間,視為無效時間,這段元效時間嚴重降低了數(shù)據傳輸速率。通過第一行的采樣點以及采樣頻率可以估計出普通異步訪問總線數(shù)據速率為3.0 03 MB。0.505 ms內跟蹤通道數(shù)滿足下式:
n·Ns/R+n·tsp+δt0.505 ms (1)
其中,R為EIMF通信速率(MB/s);Ns為單通道數(shù)據量(字節(jié));tsp為單通道處理時間(s);δt為OMAPL138查詢通道過程中的程序執(zhí)行時間,在下面計算過程中忽略此時間。
在復相關器數(shù)為3(Ns=12字節(jié)),跟蹤通道數(shù)n=12的傳統(tǒng)接收機工作模式下,單通道處理時間tsp=4 μs;由式(1)可知,通道更新時間t=n·Ns/R+n·tsp+δt≈96μs,滿足t 0.505 ms,因此OMAPL138能夠完成12個通道的跟蹤。但是在單通道內復相關器數(shù)量為5,同時具有一路解調數(shù)據相關器的情況下,單通道積分數(shù)據Ns增加至22字節(jié),則跟蹤通道數(shù)n44,不能滿足項目中跟蹤通道數(shù)為96的要求。
基于以上分析,下面將重點討論如何通過縮短無效時間,以及通過數(shù)據讀取與通道處理并行執(zhí)行縮短數(shù)據傳輸占用DSP時間兩方面來提高數(shù)據傳輸?shù)男省?/p>
3 數(shù)據傳輸優(yōu)化方法分析與實現(xiàn)
3.1 消除數(shù)據讀取間隔的無效時間
采用signalTap對memcpy或者QDMA數(shù)據通信進行仿真分析,分析結果表明兩者在數(shù)據傳輸過程的時序關系一致,能夠有效縮短數(shù)據訪問時間。異步時序模式下QDMA/memcpy通信時序關系如圖5所示。
由圖5中的片選信號cen可以看出,在采用QDMA或者memcpy進行數(shù)據傳輸時,cen高電平僅出現(xiàn)一次,EMIF總線數(shù)據吞吐率提升至6.85 MB/s,縮短了數(shù)據傳輸占用OMAPL138的時間。由式(1)可以得出,跟蹤通道數(shù)n70,不能滿足設計指標,因此需要通過實現(xiàn)數(shù)據傳輸與通道處理的并行執(zhí)行進一步縮短數(shù)據傳輸占用OMAPL138時間,實現(xiàn)在0.505 ms內完成96個跟蹤通道的更新。
3.2 實現(xiàn)數(shù)據傳輸與通道處理并行執(zhí)行
與memcpy方法進行數(shù)據傳輸相比較,QDMA數(shù)據傳輸方式能夠通過修改軟件算法方便地實現(xiàn)數(shù)據傳輸與通道處理并行執(zhí)行,從而達到進一步縮短數(shù)據傳輸占用OMAPL138時間的目的。采用QDMA方式進行數(shù)據傳輸后的0.505 ms任務流程如圖6所示。
圖6與圖3比較可以看出,在采用QDMA數(shù)據傳輸方式下,數(shù)據傳輸與通道處理任務執(zhí)行算法得到優(yōu)化,在查詢到第一個通道積分值有效后,采用memcpy方式對該通道的積分數(shù)據進行讀取,數(shù)據讀取完成后開始查詢下一個積分值有效通道,當查詢到下一個有效通道后,將QDMA設置為開始讀下一個通道數(shù)據;當通道處理完成后,檢查QDMA是否完成通道數(shù)據的讀取,如果完成則切換到下一個通道進行查詢,若沒有完成,則等待數(shù)據傳輸完成。當96個通道全部查詢完成后,開始執(zhí)行最后一個通道的處理任務,這保證了只有一個通道的積分值有效的情況下能夠對這個通道進行處理;若96個通道的積分值均無效,則在查詢完積分標志位后直接結束中斷任務。
圖7的0.505 ms中斷內的任務時序圖更直觀地說明,采用QDMA方式數(shù)據傳輸有效縮短了數(shù)據傳輸占用OMAPL138的時間。傳輸步驟如下:查詢通道狀態(tài);讀取累積值標志位;通道數(shù)據讀取;通道處理。
圖7中的編號為有效通道的通道號,能夠更加方便地看出在0.505 ms內,由于數(shù)據傳輸與通道處理的并行執(zhí)行,將數(shù)據傳輸占用OMAPL138的時間縮減至一次數(shù)據讀取的時間,從而完成數(shù)據傳輸?shù)淖?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/優(yōu)化">優(yōu)化。通道數(shù)量與數(shù)據傳輸速率的約束公式變?yōu)椋?/p>
1·Ns/R+n·tsp+δt0.505 ms (2)
其中,R為OMAPL138與FPGA通信速率(6.85 MB/s);Ns為單通道數(shù)據量(22字節(jié));tsp為單通道處理時間(4 μs);δt為OMAPL138查詢通道過程中的程序執(zhí)行時間。
結語
以工程實際為基礎,在低功耗的前提下,針對如何有效提升FPGA和DSP之間的數(shù)據傳輸速率以降低數(shù)據傳輸對DSP處理時間的占用問題,通過在當前定制的衛(wèi)星導航接收機硬件平臺上對數(shù)據傳輸進行仿真分析,最終提出對數(shù)據傳輸采用QDMA方式進行優(yōu)化,消除了連續(xù)數(shù)據讀取間隔的無效時間,并實現(xiàn)了衛(wèi)星信號處理與相關值數(shù)據傳輸?shù)牟⑿谢?,顯著降低了數(shù)據傳輸對DSP處理時間的占用,使得在同樣硬件平臺上跟蹤通道數(shù)由44個提高到96個,滿足了項目設計的要求。本文的優(yōu)化思想并不局限于設計實現(xiàn)基于DSP實現(xiàn)的GNSS接收機,同時為采用嵌入式MCU設計多通道GNSS接收機提供了理論依據。
評論