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