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