基于Xilinx V5的DDR2數據解析功能實(shí)現
摘要:介紹了一種基于Xilinx V5芯片的硬件板卡上,利用Verilog硬件編程語(yǔ)言,來(lái)實(shí)現DDR2對數據文件解析的目的:分析了CPCI總線(xiàn)與FPGA之間的通信特點(diǎn);然后根據收到的數據文件要求,介紹了DDR2的使用方法;最后介紹了對信號波形進(jìn)行驗證的方法??衫檬静ㄆ鲗馕鲞^(guò)程中的信號波形進(jìn)行監測,以驗證解析結果。經(jīng)過(guò)實(shí)踐證明,解析出的數據信號波形信號嚴格按照文件中的參數要求生成,該信號波形相位穩定,延時(shí)準確。能廣泛應用于雷達模擬器以及雷達信號處理領(lǐng)域。
本文引用地址:http://dyxdggzs.com/article/201609/305060.htm迅速而準確地監測雷達信號的方法對雷達的系統模擬以及信號處理來(lái)說(shuō)具有非常重要的意義。隨著(zhù)雷達的廣泛應用,其性能也在快速提高,對發(fā)送信號控制的要求也越來(lái)越嚴格。雷達是利用無(wú)線(xiàn)電技術(shù)進(jìn)行偵察和測距的設備。它可以發(fā)現目標,并可決定其存在的距離及方向。雷達將無(wú)線(xiàn)電波送出,然后經(jīng)遠距離目標物的反射,而將此能量送回雷達的記發(fā)機。記發(fā)機與目標物間的距離,可由無(wú)線(xiàn)電波傳雷達的目標物,再由目標物回到雷達所需的時(shí)間計算出。精確地計算出雷達-目標物-雷達之間的無(wú)線(xiàn)電波傳輸時(shí)間就成為最為關(guān)鍵的步驟。本文就旨在通過(guò)脈沖波形來(lái)控制發(fā)射信號,每來(lái)一個(gè)脈沖發(fā)送一次雷達信號,同時(shí)在雷達信號的發(fā)射過(guò)程中,對信號連續發(fā)射的時(shí)間進(jìn)行精準的控制;發(fā)射時(shí)間也不是固定不變,可根據具體情況進(jìn)行更改,此時(shí)對數據文件在FPGA中通過(guò)DDR做必要的處理已成為一種通行的方法。
1 系統模型
文中所設計的系統是在已有電路板卡(包括PCI橋芯片,FPCA芯片,DDR芯片組等)的基礎上,根據指定的數據文件發(fā)送出脈沖波形,其結構框架如圖1所示。

本系統FPGA芯片采用的是Xilinx V5系列下的一款芯片。該芯片除了具有最先進(jìn)的高性能邏輯架構外、還包含多種硬?IP?系統級模塊,包括強大的36 Kb Block RAM/FIFO、第二代25x18DSP Slice、帶有內置數控阻抗的SclectIO技術(shù)、ChipSync源同步接門(mén)模塊、系統監視器功能、帶有集成DCM(數字時(shí)鐘管理器)和鎖相環(huán)(PLL時(shí)鐘發(fā)生器的增強型時(shí)鐘管理模塊、SPI和并行FLASH接口以及高級配置選項。符合PCI Expr ess基礎規范(PCI Express Base Specification)1.1,每模塊支持1倍、2倍、4倍或8倍通道寬度。
系統PCI管理芯片具有32位、66 MHz的PCI總線(xiàn)和局部總線(xiàn),突發(fā)傳輸速率能達到264 MB/s,本地總線(xiàn)支持復用/非復用的32位地址/數據。有6種可編程FIFO,以實(shí)現零等待突發(fā)傳輸和異步操作。支持主模式、從模式、DMA傳輸方式。含有1個(gè)PCI仲裁器,2個(gè)獨立的DMA通道,對3.3 V和5 V的I/O信號電平容錯。PCI橋芯片主要實(shí)現系統與PCI總線(xiàn)的連接,主機可以通過(guò)PCI總線(xiàn)實(shí)現對板上所有資源的訪(fǎng)問(wèn)。本系統的PCI橋芯片作為PCI總線(xiàn)主設備,以DMA方式與主機內存交換數據。
DDR2采用了在時(shí)鐘的上升/下降延同時(shí)進(jìn)行數據傳輸的基本方式,DDR2內存擁有兩倍于DDR內存預讀取能力(即:4bit數據讀預取)。DDR2內存每個(gè)時(shí)鐘能夠以4倍外部總線(xiàn)的速度讀/寫(xiě)數據,并且能夠以?xún)炔靠刂瓶偩€(xiàn)4倍的速度運行。本系統采用了兩組DDR2芯片,最大可容納256 M的數據容量。
SMA接口有兩種形式,標準的SMA是一端“外螺紋+孔”,另一端“內螺紋+針”;反極性RP-SMA是一端“外螺紋+針”,另一端為“內螺紋+孔”。奉系統采用的標準形式,SMA接口具有雙向雙向傳輸數據的功能,即既可以接受數據也可以發(fā)送數據。

在該系統中,需要應用Matlab生成所需要的數據文件(.bin),其數據文件內容格式具體要求為:包含4個(gè)通道,每個(gè)通道的數據位寬為32位,含有脈沖周期、脈沖寬度、脈沖個(gè)數等信息,并且文件中的數據可改動(dòng),如表1所示。將數據文件經(jīng)由上位機通過(guò)PCI橋芯片發(fā)送至FPGA,FPGA接收該數據并將其緩存在FIFO中,然后轉存至DDR2中并進(jìn)行地址解析,將DDR2接收到的數據做處理使其產(chǎn)生脈沖波形,此時(shí)如果收到一個(gè)發(fā)送脈沖波形的命令時(shí),DDR2就將產(chǎn)生的脈沖波形發(fā)送出去,并通過(guò)SMA接口與用戶(hù)端相連接,同時(shí)要求各個(gè)通道的脈沖波形相互獨立,互不影響。
2 系統程序控制設計
本系統采用板卡上自帶的50 MHz晶振時(shí)鐘,通過(guò)PLL將其倍頻至100 MHz而作為生成脈沖波形的工作時(shí)鐘。為在Chipscope上抓圖觀(guān)測方便,可將據文件(.bin)的前3個(gè)通道的參數改小,圖2為數據文件的部分截圖,其中0-3豎列共32bit為第一通道的參數,4-7豎列為第二通道的參數,8-b豎列為第三個(gè)通道的參數,c-f豎列為第四個(gè)通道的參數。地址0h為第一、二、三、四通道的脈沖周期,地址1h為第一、二、三、四通道的脈沖寬度,地址2h為第一、二、二、四通道的脈沖個(gè)數,地址3h再為第一、二、三、四通道的脈沖周期…如此循環(huán)依次為脈沖周期、脈沖寬度和脈沖個(gè)數。

將圖2所示的數據文件通過(guò)PCI橋芯片下發(fā)至FPGA,提供給底層模塊使用。同時(shí)定義FPGA的復位寄存器和DDR2的工作寄存器,實(shí)現軟件復位,完成DDR2的讀寫(xiě)控制設置。兩組DDR2控制子模塊是調用的Xilinx的MIG IP核。配置如圖3,由于含有兩組DDR2,所以其中的Number of Controllers應選擇2。

在完成DDR2的管腳定義后,需要參考DDR2的工作控制參考資料以實(shí)現DDR2的用戶(hù)定義,完成相關(guān)部分的程序代碼設計,其中app_af_cmd =3’h0時(shí),DDR實(shí)現寫(xiě)的指令,app_af_cmd=3’h1時(shí),DDR2實(shí)現讀的指令。DDR2用到的時(shí)鐘是固定的200 M時(shí)鐘,此時(shí)同樣需要用到晶振50 MHz時(shí)鐘通過(guò)PLL倍頻至200 MHz,以實(shí)現傳輸數據的有序控制,而不會(huì )產(chǎn)生時(shí)序上的混亂。
評論