基于Xilinx V5的DDR2數(shù)據(jù)解析功能實(shí)現(xiàn)
摘要:介紹了一種基于Xilinx V5芯片的硬件板卡上,利用Verilog硬件編程語(yǔ)言,來(lái)實(shí)現(xiàn)DDR2對(duì)數(shù)據(jù)文件解析的目的:分析了CPCI總線與FPGA之間的通信特點(diǎn);然后根據(jù)收到的數(shù)據(jù)文件要求,介紹了DDR2的使用方法;最后介紹了對(duì)信號(hào)波形進(jìn)行驗(yàn)證的方法??衫檬静ㄆ鲗?duì)解析過(guò)程中的信號(hào)波形進(jìn)行監(jiān)測(cè),以驗(yàn)證解析結(jié)果。經(jīng)過(guò)實(shí)踐證明,解析出的數(shù)據(jù)信號(hào)波形信號(hào)嚴(yán)格按照文件中的參數(shù)要求生成,該信號(hào)波形相位穩(wěn)定,延時(shí)準(zhǔn)確。能廣泛應(yīng)用于雷達(dá)模擬器以及雷達(dá)信號(hào)處理領(lǐng)域。
本文引用地址:http://2s4d.com/article/201609/305060.htm迅速而準(zhǔn)確地監(jiān)測(cè)雷達(dá)信號(hào)的方法對(duì)雷達(dá)的系統(tǒng)模擬以及信號(hào)處理來(lái)說(shuō)具有非常重要的意義。隨著雷達(dá)的廣泛應(yīng)用,其性能也在快速提高,對(duì)發(fā)送信號(hào)控制的要求也越來(lái)越嚴(yán)格。雷達(dá)是利用無(wú)線電技術(shù)進(jìn)行偵察和測(cè)距的設(shè)備。它可以發(fā)現(xiàn)目標(biāo),并可決定其存在的距離及方向。雷達(dá)將無(wú)線電波送出,然后經(jīng)遠(yuǎn)距離目標(biāo)物的反射,而將此能量送回雷達(dá)的記發(fā)機(jī)。記發(fā)機(jī)與目標(biāo)物間的距離,可由無(wú)線電波傳雷達(dá)的目標(biāo)物,再由目標(biāo)物回到雷達(dá)所需的時(shí)間計(jì)算出。精確地計(jì)算出雷達(dá)-目標(biāo)物-雷達(dá)之間的無(wú)線電波傳輸時(shí)間就成為最為關(guān)鍵的步驟。本文就旨在通過(guò)脈沖波形來(lái)控制發(fā)射信號(hào),每來(lái)一個(gè)脈沖發(fā)送一次雷達(dá)信號(hào),同時(shí)在雷達(dá)信號(hào)的發(fā)射過(guò)程中,對(duì)信號(hào)連續(xù)發(fā)射的時(shí)間進(jìn)行精準(zhǔn)的控制;發(fā)射時(shí)間也不是固定不變,可根據(jù)具體情況進(jìn)行更改,此時(shí)對(duì)數(shù)據(jù)文件在FPGA中通過(guò)DDR做必要的處理已成為一種通行的方法。
1 系統(tǒng)模型
文中所設(shè)計(jì)的系統(tǒng)是在已有電路板卡(包括PCI橋芯片,F(xiàn)PCA芯片,DDR芯片組等)的基礎(chǔ)上,根據(jù)指定的數(shù)據(jù)文件發(fā)送出脈沖波形,其結(jié)構(gòu)框架如圖1所示。
本系統(tǒng)FPGA芯片采用的是Xilinx V5系列下的一款芯片。該芯片除了具有最先進(jìn)的高性能邏輯架構(gòu)外、還包含多種硬?IP?系統(tǒng)級(jí)模塊,包括強(qiáng)大的36 Kb Block RAM/FIFO、第二代25x18DSP Slice、帶有內(nèi)置數(shù)控阻抗的SclectIO技術(shù)、ChipSync源同步接門模塊、系統(tǒng)監(jiān)視器功能、帶有集成DCM(數(shù)字時(shí)鐘管理器)和鎖相環(huán)(PLL時(shí)鐘發(fā)生器的增強(qiáng)型時(shí)鐘管理模塊、SPI和并行FLASH接口以及高級(jí)配置選項(xiàng)。符合PCI Expr ess基礎(chǔ)規(guī)范(PCI Express Base Specification)1.1,每模塊支持1倍、2倍、4倍或8倍通道寬度。
系統(tǒng)PCI管理芯片具有32位、66 MHz的PCI總線和局部總線,突發(fā)傳輸速率能達(dá)到264 MB/s,本地總線支持復(fù)用/非復(fù)用的32位地址/數(shù)據(jù)。有6種可編程FIFO,以實(shí)現(xiàn)零等待突發(fā)傳輸和異步操作。支持主模式、從模式、DMA傳輸方式。含有1個(gè)PCI仲裁器,2個(gè)獨(dú)立的DMA通道,對(duì)3.3 V和5 V的I/O信號(hào)電平容錯(cuò)。PCI橋芯片主要實(shí)現(xiàn)系統(tǒng)與PCI總線的連接,主機(jī)可以通過(guò)PCI總線實(shí)現(xiàn)對(duì)板上所有資源的訪問(wèn)。本系統(tǒng)的PCI橋芯片作為PCI總線主設(shè)備,以DMA方式與主機(jī)內(nèi)存交換數(shù)據(jù)。
DDR2采用了在時(shí)鐘的上升/下降延同時(shí)進(jìn)行數(shù)據(jù)傳輸?shù)幕痉绞?,DDR2內(nèi)存擁有兩倍于DDR內(nèi)存預(yù)讀取能力(即:4bit數(shù)據(jù)讀預(yù)取)。DDR2內(nèi)存每個(gè)時(shí)鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以內(nèi)部控制總線4倍的速度運(yùn)行。本系統(tǒng)采用了兩組DDR2芯片,最大可容納256 M的數(shù)據(jù)容量。
SMA接口有兩種形式,標(biāo)準(zhǔn)的SMA是一端“外螺紋+孔”,另一端“內(nèi)螺紋+針”;反極性RP-SMA是一端“外螺紋+針”,另一端為“內(nèi)螺紋+孔”。奉系統(tǒng)采用的標(biāo)準(zhǔn)形式,SMA接口具有雙向雙向傳輸數(shù)據(jù)的功能,即既可以接受數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。
在該系統(tǒng)中,需要應(yīng)用Matlab生成所需要的數(shù)據(jù)文件(.bin),其數(shù)據(jù)文件內(nèi)容格式具體要求為:包含4個(gè)通道,每個(gè)通道的數(shù)據(jù)位寬為32位,含有脈沖周期、脈沖寬度、脈沖個(gè)數(shù)等信息,并且文件中的數(shù)據(jù)可改動(dòng),如表1所示。將數(shù)據(jù)文件經(jīng)由上位機(jī)通過(guò)PCI橋芯片發(fā)送至FPGA,F(xiàn)PGA接收該數(shù)據(jù)并將其緩存在FIFO中,然后轉(zhuǎn)存至DDR2中并進(jìn)行地址解析,將DDR2接收到的數(shù)據(jù)做處理使其產(chǎn)生脈沖波形,此時(shí)如果收到一個(gè)發(fā)送脈沖波形的命令時(shí),DDR2就將產(chǎn)生的脈沖波形發(fā)送出去,并通過(guò)SMA接口與用戶端相連接,同時(shí)要求各個(gè)通道的脈沖波形相互獨(dú)立,互不影響。
2 系統(tǒng)程序控制設(shè)計(jì)
本系統(tǒng)采用板卡上自帶的50 MHz晶振時(shí)鐘,通過(guò)PLL將其倍頻至100 MHz而作為生成脈沖波形的工作時(shí)鐘。為在Chipscope上抓圖觀測(cè)方便,可將據(jù)文件(.bin)的前3個(gè)通道的參數(shù)改小,圖2為數(shù)據(jù)文件的部分截圖,其中0-3豎列共32bit為第一通道的參數(shù),4-7豎列為第二通道的參數(shù),8-b豎列為第三個(gè)通道的參數(shù),c-f豎列為第四個(gè)通道的參數(shù)。地址0h為第一、二、三、四通道的脈沖周期,地址1h為第一、二、三、四通道的脈沖寬度,地址2h為第一、二、二、四通道的脈沖個(gè)數(shù),地址3h再為第一、二、三、四通道的脈沖周期…如此循環(huán)依次為脈沖周期、脈沖寬度和脈沖個(gè)數(shù)。
將圖2所示的數(shù)據(jù)文件通過(guò)PCI橋芯片下發(fā)至FPGA,提供給底層模塊使用。同時(shí)定義FPGA的復(fù)位寄存器和DDR2的工作寄存器,實(shí)現(xiàn)軟件復(fù)位,完成DDR2的讀寫控制設(shè)置。兩組DDR2控制子模塊是調(diào)用的Xilinx的MIG IP核。配置如圖3,由于含有兩組DDR2,所以其中的Number of Controllers應(yīng)選擇2。
在完成DDR2的管腳定義后,需要參考DDR2的工作控制參考資料以實(shí)現(xiàn)DDR2的用戶定義,完成相關(guān)部分的程序代碼設(shè)計(jì),其中app_af_cmd =3’h0時(shí),DDR實(shí)現(xiàn)寫的指令,app_af_cmd=3’h1時(shí),DDR2實(shí)現(xiàn)讀的指令。DDR2用到的時(shí)鐘是固定的200 M時(shí)鐘,此時(shí)同樣需要用到晶振50 MHz時(shí)鐘通過(guò)PLL倍頻至200 MHz,以實(shí)現(xiàn)傳輸數(shù)據(jù)的有序控制,而不會(huì)產(chǎn)生時(shí)序上的混亂。
評(píng)論