在有關(guān) RF 數(shù)據(jù)轉(zhuǎn)換器的博文中,我們了解了什么是軟件驅(qū)動以及可以如何用它來管理 RF 數(shù)據(jù)轉(zhuǎn)換器 IP 的狀態(tài)和控制。
我們介紹了可以如何通過編寫一個簡單的獨立應(yīng)用來幫助調(diào)試系統(tǒng)中的 RF-ADC 和 RF-DAC 。
在那篇博客中,我提到賽靈思已通過一個叫作 RF Analyzer 的工具實現(xiàn)了在任何電路板上的任何器件上啟用了 RF 數(shù)據(jù)轉(zhuǎn)換器的調(diào)試功能。我現(xiàn)在將用接下來的兩篇博文來拆箱此實用程序、查看其主要功能,并了解我們可以如何用它來管理 RF-ADC 和 RF-DAC 塊。我還會講講如何用它來生成 RF-DAC 激勵,以及如何查看和分析 RF-ADC 接收的數(shù)據(jù)。
這篇博客由上,下兩部分組成,專門針對 RF Analyzer 而編寫。在本篇文章中,我們來看一下該工具是由哪些塊構(gòu)建的。我認(rèn)為這個 RF 分析儀是由三條主線組成的。
首先是 PL 設(shè)計,它是由 Zynq UltraScale+ RF Data Converter IP 示例設(shè)計、用于啟用 RF 子系統(tǒng)狀態(tài)和控制的 MicroBlaze,以及用于寫入和讀取 GUI 數(shù)據(jù)的 JTAG to AXI Master IP 組成的。此設(shè)計中還包含一些時鐘生成功能。
該設(shè)計的最大優(yōu)點就是您擁有與您的設(shè)計相匹配的 IP 配置。這意味著您現(xiàn)在已經(jīng)將 RF 數(shù)據(jù)轉(zhuǎn)換器與您的設(shè)計的其他部分分離開來。這讓您能夠剝離設(shè)計的其余部分,而只查看系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換器性能、捕獲 RX 數(shù)據(jù),并分析“RF Analyzer GUI”中的數(shù)據(jù)。
應(yīng)該理解為,這種獨立靈活設(shè)計的成本是無法管理 DDR 內(nèi)存的(因為我們想要在任何器件/任何電路板上啟動),因此用于回放/捕獲的存儲空間是通過片上的 Block RAM 構(gòu)建的。為了便于使用,我們還為每個帶有分析儀數(shù)據(jù)包的可用器件提供了預(yù)先構(gòu)建的比特流。
在 PL 比特流之后,我們有一個 MicroBlaze 應(yīng)用。該應(yīng)用旨在管理 PL 設(shè)計中的控制路徑。在較高的層級,它可以接收來自 RF Analyzer GUI 的命令、對其進(jìn)行解析,并通過驅(qū)動 API 從各個塊中讀回請求的數(shù)據(jù),甚至可以修改塊的設(shè)置。這是以 RF 分析儀設(shè)計的 ELF 文件的形式提供的。
在頂層有一個 Labview GUI,允許您與 RF-ADC 和 RF-DAC 塊連接,以進(jìn)行數(shù)據(jù)捕獲和激勵生成/回放。該 GUI 遵循與 ZCU111 RFSoC Evaluation GUI 相同的樣式。
下圖顯示的是完整 RF 分析儀的展示圖。
既然我們對 RF 分析儀有了初步的了解,那就讓我們來更深入地了解一下。最好的辦法是從定制的 IP 配置開始,并逐一了解一下在 RF Analyzer 環(huán)境中使用它所需的所有步驟。
在本示例中,我們將使用 ZCU1275 功能描述電路板。該電路板配有 16x16 ZU29DR 器件。我們實際上不需要對這個電路板太了解。我們只需要確定以下內(nèi)容:
轉(zhuǎn)換器時鐘已設(shè)置
Bullseye連接器在構(gòu)建中連接妥當(dāng),以與我們特定的IP配置相匹配
RF 分析儀會對其余部分進(jìn)行管理。我們稍后會回過頭來討論這個問題。
第一步是設(shè)置 IP。這是我們構(gòu)建 RF Analyzer PL 設(shè)計的基礎(chǔ)。您可以從 IP 目錄中選擇它,也可以在“IP Integrator”中的塊設(shè)計(block design)中找到它。
所以,我認(rèn)為展示 RF-ADC 和 RF-DAC 配置并查看一些 CW(連續(xù)波)音調(diào)是有意義的。
然后,我們會設(shè)置兩個塊以啟用環(huán)回,我們還可以從 RF-DAC 發(fā)送上轉(zhuǎn)換 QAM16 矢量并通過 RF-ADC 來接收它。
在本示例中,我們將運(yùn)行采樣率為 1966.08 MHz 的 RF-ADC 和采樣率為 3932.16 MHz 的 RF-DAC。
您最終獲得的 IP 類似于此處顯示的 IP。兩個 DAC 塊皆處于活動狀態(tài),并使用了兩個ADC塊。
您現(xiàn)在可以單擊“OK”并決定跳過 IP 的 OOC 綜合。
我們必須指示工具,當(dāng)我們創(chuàng)建示例設(shè)計時,我們打算啟用 RF 分析器。您需要在 Vivado Tcl 控制臺中輸入以下命令。
set_property -dict [list CONFIG.RF_Analyzer {1}] [get_ips]
接下來,右鍵單擊 IP 并點擊“Open Example Design”。您隨即會獲得一個包含示例設(shè)計和 Analyzer 基礎(chǔ)結(jié)構(gòu)的新工程。
在此設(shè)計的頂層,我們利用 STARTUPE3 塊為設(shè)計提供 AXI4-Lite 時鐘和外部復(fù)位。您將在設(shè)計的頂級 RTL 封裝中看到此步驟實例化。
一旦加載了比特流,就會在 PL 結(jié)構(gòu)中置位 EOS(啟動結(jié)束)信號。此步驟對復(fù)位進(jìn)行管理,并會啟動設(shè)計和應(yīng)用的運(yùn)行。
如前所述,該設(shè)計包含 MicroBlaze。
這將對 RF 數(shù)據(jù)轉(zhuǎn)換器和時鐘的狀態(tài)和控制進(jìn)行管理。如果您右鍵單擊此處,您會看到有一個與之關(guān)聯(lián)的 ELF 文件。
這將嵌入對比特流中的設(shè)計和 Analyzer GUI 之間的通信進(jìn)行管理的程序。
您還將在此塊設(shè)計中看到 JTAG to AXI master IP。該 master IP 將分別管理 Source 和 Sink IP 的數(shù)據(jù)路徑。
我們利用 AXI SmartConnect 來管理 MicroBlaze/JTAG2AXI Master 與其他設(shè)計之間的接口。
您可以看到與 IP 示例設(shè)計 AXI4-Lite 接口的連接:
還有一個時鐘塊。這需要塊輸出時鐘并使用 MMCM 將 AXI4-Stream 時鐘驅(qū)動到各個塊。每個 MMCM 都啟用了 AXI DRP 端口。這使我們能夠靈活地管理數(shù)據(jù)轉(zhuǎn)換器時鐘的變化,并在運(yùn)行時擴(kuò)展 AXI4-Stream 時鐘。
現(xiàn)在我們來深入了解一下帶有 IP 示例設(shè)計的層級結(jié)構(gòu)。
當(dāng)我們在主項目中進(jìn)行配置時,我們可以看到該層級包含 RF Data Converter IP、DAC 源和 ADC 接收器。這些塊是 RTL,如果右鍵單擊并選擇“Go to Source”,您可以更詳細(xì)地進(jìn)行查看。
RF-DAC 數(shù)據(jù)激勵塊由可以加載樣本的 128 kbits 的塊 RAM 組成,這些樣本接著會被發(fā)送到 RF 數(shù)據(jù)轉(zhuǎn)換核中啟用的 RF-DAC 通道。
實際上,DAC 源只是一個構(gòu)建 BRAM 的 XPM,可以使用新的激勵寫入 BRAM,也可以將其內(nèi)容傳輸?shù)?DAC。
激勵塊中的每個通道都會驅(qū)動 Zynq UltraScale+ RF 數(shù)據(jù)轉(zhuǎn)換器 IP 核上的 AXI4-Stream。由于每個轉(zhuǎn)換器最多可以有四個 AXI4-Stream 接口,因此 DAC 源塊中最多有 16 個通道。每個啟用的 AXI4-Stream 接口都會被映射到從 DAC0開始的連續(xù)通道。
DAC 激勵塊的寄存器映射包含在(PG269). 的表 56 中。同樣,可以在 Sink 塊中捕獲 ADC 流數(shù)據(jù)并進(jìn)行回讀。
Zynq UltraScale+ RF 數(shù)據(jù)轉(zhuǎn)換器上每個啟用的 AXI4-Stream 輸出數(shù)據(jù)都存儲在數(shù)據(jù)采集塊的單獨通道中。由于每個轉(zhuǎn)換器最多可以有四個 AXI4-Stream 接口,因此數(shù)據(jù)捕獲塊中最多有 16 個通道。
啟用的 AXI4-Stream 接口會被映射到以 ADC0開始的連續(xù)通道。
每個通道的存儲包括 128 kbit 的塊 RAM。捕獲塊的地址映射可以在(PG269)的表 55 中找到。
在我們實現(xiàn)它并生成比特流之前,您可以在以下文件中查看我們對設(shè)計的約束:
usp_rf_data_converter_0_example_design.xdc
這些約束可以創(chuàng)建主時鐘并會添加一些 PBlock 進(jìn)行平面布局設(shè)計,以便激勵和捕獲存儲器能夠和數(shù)據(jù)轉(zhuǎn)換器塊放在相鄰的位置。
為了管理 axi_aclk 域和 AXI4-Stream 時鐘域之間跨時鐘域的靜態(tài)控制信號,添加了一些時序例外。
例如,num_samples_reg 會提示數(shù)據(jù)激勵和示例設(shè)計中的捕獲塊要從 RF-ADC 塊獲取多少樣本或要發(fā)送多少樣本到 RF-DAC 塊。由于這是在控制路徑上,因此它與 axi_aclk 同步。然后,該設(shè)置會按照在 AXI4-Stream 時鐘上運(yùn)行的 Stimulus 和 Capture 塊中的地址計數(shù)器邏輯來使用。信號不應(yīng)經(jīng)常變化(如果有變化的話),因此在實現(xiàn)過程中將其作為定時路徑忽略不會有問題。
在此階段,您可以將設(shè)計一直運(yùn)行到 write_bitstream。
您會看到時序條件已滿足。注意:Pblock 用于鎖定相關(guān)塊旁邊的捕獲和激勵內(nèi)存。
比特流的運(yùn)行路徑類似于以下路徑:
\ip_name\ip_name.runs\impl_1
現(xiàn)在我們已準(zhǔn)備就緒,可以下載此比特流了。我們擁有使用分析儀所需的一切,可以查看電路板上的數(shù)據(jù)轉(zhuǎn)換器了。
下次我們將通過 ZCU1275 功能描述電路板來啟動此比特流并探索“RF Analyzer GUI”的功能。
回頭見!
-
賽靈思
+關(guān)注
關(guān)注
32文章
1794瀏覽量
131246 -
RF
+關(guān)注
關(guān)注
65文章
3050瀏覽量
166963 -
比特流
+關(guān)注
關(guān)注
0文章
10瀏覽量
8125
發(fā)布評論請先 登錄
相關(guān)推薦
評論