楊振學 鄭杰良
摘要:本文設計使用射頻模塊和FPGA開發板搭建了完整的信號捕獲解算平臺,開發驗證的過程中需要采集設計中各個階段中間數據,在開發平臺的基礎上實現中間數據的采集和分析。基帶模塊接收的射頻數據及其中間數據,速度快、體量大,對數據采集存儲難度比較大。本設計在復用捕獲解算平臺的基礎上提出對射頻數據的采集方案,對中間數據讀取、串并轉換、內部存儲、外部讀取,準確的完成既定目標,通過復用平臺保證采集數據和設計中間數據的環境變量的一致性。采集的射頻數據既可以充分的驗證射頻模塊的正確性,同時可以在收集的衛星信號的基礎數據建立仿真對比驗證捕獲算法。
關鍵詞:射頻數據采集;FPGA;原型驗證
中圖分類號:TN791 文獻標識碼:A 文章編號:1007-9416(2018)04-0046-02
1 序言
隨著FPGA技術的不斷發展,FPGA開發板的速度、容量、密度大大增加,更是憑借其可重復編程的特性,使得基于FPGA的原型驗證得到廣泛應用。本設計利用射頻模塊和FPGA開發板搭建整個信號捕獲開發平臺,實際工作中對開發過程各個階段中間數據的采集和分析有重要需求。設計開發過程中,為了驗證各個部分的數據是否正確,需要采集開發過程各個階段中間數據進行仿真和分析,然而中間數據往往是高速數據,采集時需要短時間流水存儲大量數據,使得數據采集存儲難度比較大。在沒有配備中頻信號高速采集器和高性能高速端口情況下,設計復用信號捕獲解算平臺,采集獲得中間數據,復用平臺統一產生的數據保證了采集數據和設計中間數據的環境變量一致性。
在信號捕獲開發流程平臺中射頻模塊與FPGA的基帶模塊進行數據交互,射頻模塊輸出模擬中頻信號,模擬中頻經過AD采樣得到高速數字中頻信號,數據中頻信號通過FPGA端口送入基帶模塊進行處理,由于數字中頻信號頻率高,收集中間數據時會在短時間存儲大量數據。收集的數字中頻數據,對整個設計的驗證有著重要意義,既可以對信號采集之前的部分設計進行驗證,又可以基于基帶數字處理算法將收集數據進行仿真計算,驗證基帶功能和性能。本文提出一種基于FPGA開發平臺的高速數據收集的解決方法,存儲高速率、大量的數字中頻信號,通過ARM控制總線讀取存儲器,采用模塊化的設計思想,依功能進行模塊劃分,合理分配FPGA器件資源,完成了設計目標。
2 系統平臺設計
整個系統平臺主要由射頻前端產生數據和中頻信號采集數據兩部分組成。射頻前端模塊主要工作流程為天線接收信號經過濾波器、低噪聲放大器與本地振蕩器產生的本振信號進行混頻而下變頻到中頻信號,射頻模塊輸出的模擬中頻信號經過高速AD芯片采樣得到數字中頻。數字信號采集部分將數字射頻數據經過串并轉換、RAM存儲、總線讀取最終將數字射頻數據傳輸到PC端。為保證時鐘同步,設計FPGA內部PLL產生穩定時鐘,內部時鐘通過FPGA端口對AD模塊提供穩定的高頻時鐘,AD模塊對接收的模擬中頻信號完成數字量化,量化產生相同高頻的4比特數字信息。通過FPGA端口將AD模塊量化產生的4比特數字信號輸入信號采集系統,在基帶內部完成數據串并轉換將4比特數據變成32比特數據,存入FPGA生成的雙端口RAM空間,在CPU控制作用下,總線讀取RAM存儲的數據,數據通過JTAG端口搬移至PC端。系統平臺整體流程如圖1所示。
AMBA總線結構是一個多總線形式的系統。總線協議包含了四大部分:高級高性能總線(AHB)、高級系統總線(ASB)、高級外設總線(APB)和測試方法,最基本的是AHB和APB。基于AMBA總線標準的片上系統結構。高性能系統總線主設備和從設備通過AHB總線或ASB總線進行數據傳輸,例如處理器、片內存儲器等都連接在高性能系統總線上;外部設備總線,即APB總線,主要負責連接對于傳輸帶寬要求較低的低速外圍設備。總線設計結構如圖2所示。
AHB總線傳輸開始前,總線主控模塊必須首先取得總線控制權。主控模塊向仲裁器發送請求信號,仲裁器根據特定算法判決該主控模塊何時被授予總線控制權。授權主控模塊(即獲得總線控制權的主控模塊)通過驅動地址信號和控制信號,開始總線傳輸。這些信號提供了傳輸所需的地址、方向、數據寬度以及傳輸類型等信息。寫數據總線用于實現數據由主控模塊向從模塊傳輸,讀數據總線用于實現數據由從模塊向主控模塊傳輸。Trace32控制器通過控制總線,將片內存儲器的數據搬移到PC端,可以生成bin文件。
3 數據收集設計實現與仿真
3.1 結構說明
射頻過程數據采集設計主要包括4部分,分別是AD產生數據模塊、串并轉換模塊、存儲器模塊、數據讀取控制模塊。
(1)AD產生數據:天線連接射頻模塊,射頻模塊將衛星信號下變頻放大輸出模擬中頻,配置FPGA端口從FPGA內部引出高頻采樣時鐘提供給AD采樣芯片,使得基帶和AD時鐘同源。射頻模擬中頻經過AD芯片進行數字量化,獲得相同高頻的數字信息,選取AD芯片輸出的4位數據連接到FPGA輸入端口,為基帶系統提供4比特的數據流。(2)串并轉換:將4比特的射頻數據信息經過串并轉換成為32比特數據信息,控制數據使能后,將4比特數據從高位到低位4比特寫入32位寄存器,每8個時鐘周期存滿32位寄存器,使能32位寄存器存滿標志位,將32比特數據存入RAM模塊,并及時清除存滿標志。本系統數據總線為32位,將數據串并轉換為32位,更加高效的傳輸數據信息。(3)存儲數據:調用FPGA內部IP生成4塊65536*32比特的雙端口RAM,A端口作為輸入數據的存儲端口,B端口作為AHB總線的讀寫數據使用端口,將4比特數據拼成的32比特數據,存入FPGA的RAM模塊。(4)讀取數據:RAM數據存儲滿后給出標志位,通過AHB總線讀取RAM存儲數據,Trace32控制器通過控制總線,將片內存儲器的數據搬移到PC端,可以生成bin文件,將數據存儲在PC機上。
3.2 數據仿真
收集的射頻中頻數據是本設計的關鍵監測數據,可以通過對數據的分析驗證射頻模塊數據的正確性,并且將射頻數據作為基帶捕獲的輸入,基于基帶捕獲算法搭建仿真工程代碼和測試平臺,將收集的射頻數據分別進行Modesim仿真和Matlab分析,基于數據的仿真和分析結果,完成對捕獲算法的對比驗證。
對于數據總線為32位的系統,將4比特的射頻數據串并轉換為32比特數據信息,可以使充分的提高數據的存儲和傳輸效率。在數據流水的情況下需要嚴格時序控制,準確的拼接,不多數據,不漏數據。
以收集到的射頻數據為基礎,根據基帶捕獲算法建立Modesim仿真和Matlab分析,完成對數字信號混頻降采樣、量化IQ數據、偽碼相關運算,接著利用相關結果進行非相關積分后得到非相關積分幅值,通過比較得到能量值最大值位置。圖3顯示在Modesim仿真結果中找到的能量最值對應位置,圖4顯示在Matlab分析結果中找到的能量最值對應的位置。
4 結語
射頻數字中頻信息頻率高數據量大,對數字中頻信號采集有一定難度,數字射頻信號數據是整個設計的重要數據檢測基礎,本設計利用自身平臺實現了射頻數據的采集存儲,并且通過Modesim仿真和Matlab分析準確找到的能量最值位置,既驗證了射頻模塊部分,同時驗證了采集數據的正確性和有效性,對整個設計有重要意義。
參考文獻
[1]商陽,王茜竹.一種FPGA模擬射頻在ASIC原型驗證系統中的應用[J].重慶郵電大學通信與信息工程學院 電子與封裝,2015,15(10):16-19.
[2]曾慶喜,王慶,等.USB接口GPS中頻信號采樣器研究與實現[J].電子測量與儀器學報,2012,26(10):883-888.