Zynq UltraScale+ RFSoC 是業(yè)界首款單芯片自適應(yīng)無(wú)線電平臺(tái),在一款芯片內(nèi)集成射頻直采數(shù)據(jù)轉(zhuǎn)換器、單芯片軟決策前向糾錯(cuò)核(SD-FEC)、FPGA邏輯、完整的ARM處理器子系統(tǒng)和高速收發(fā)器等。
第三代RFSoC器件與前幾代產(chǎn)品相比,射頻輸入輸出頻率響應(yīng)已擴(kuò)展至全面支持6GHz以下頻段,可幫助用戶開(kāi)發(fā)尖端RF設(shè)計(jì),例如大規(guī)模MIMO無(wú)線電、5G基帶、固定無(wú)線接入、測(cè)試測(cè)量與相控陣?yán)走_(dá)等等。第三代器件14bit分辨率ADC最大采樣速率增加到5.0GSPS,14bit分辨率DAC最大采樣速率增加到10.0GSPS。用戶可以參考XMP105詳細(xì)了解Zynq RFSoC系列產(chǎn)品具體參數(shù)及選型指南。
本次將分上下篇介紹基于Xilinx Zynq UltraScale+ RFSoC ZCU216評(píng)估套件的詳細(xì)內(nèi)容:
1. 第三代RFSoC 器件時(shí)鐘轉(zhuǎn)發(fā)特性。
2. ZCU216時(shí)鐘結(jié)構(gòu)及可行的時(shí)鐘設(shè)計(jì)方案。
3. 在Vivado中創(chuàng)建基于IP集成器(IP Integrator)的設(shè)計(jì)。
4. 在Vitis中創(chuàng)建基于ARM的BareMetal程序設(shè)計(jì)。
5. 代碼簡(jiǎn)要分析。
6. 硬件環(huán)境及測(cè)試結(jié)果。
本文用于示例的軟件工具、驅(qū)動(dòng)版本、硬件版本及文檔版本如下:
1. ZCU216 Rev-A02(Engineer Sample)
2. CLK104
3. Vivado 2021.2 + Vitis 2021.2
4. PG269 V2.6 October 27, 2021
5. Software Driver: rfdc v11.0
1. 第三代RFSoC 器件時(shí)鐘轉(zhuǎn)發(fā)特性:
RFSoC在芯片內(nèi)集成了數(shù)據(jù)轉(zhuǎn)換器,第三代RFSoC系列器件均包含4個(gè)ADC Tile和4個(gè)DAC Tile,每個(gè)ADC和DAC Tile內(nèi)可能包含1個(gè)(ZU43DR)或2個(gè)(ZU47DR/48DR)或者4個(gè)(ZU49DR)Channel,這取決于芯片型號(hào)。以ZCU216開(kāi)發(fā)板上的芯片為例,ZU49DR的每個(gè)ADC Tile內(nèi)包含4路ADC,每個(gè)DAC Tile內(nèi)包含4路DAC。
每個(gè)Tile都可以獨(dú)立配置,工作在不同的采樣時(shí)鐘頻率上,采樣時(shí)鐘可以來(lái)自于外部高頻時(shí)鐘輸入,可以來(lái)自于每個(gè)Tile內(nèi)部PLL倍頻后的時(shí)鐘,也可以來(lái)自于其他Tile分發(fā)的參考時(shí)鐘。
第三代RFSoC器件相比之前幾代產(chǎn)品引入了時(shí)鐘轉(zhuǎn)發(fā)特性,不再需要為每個(gè)Tile都提供獨(dú)立的采樣時(shí)鐘,節(jié)省了引腳數(shù)量,降低了外圍電路的復(fù)雜度。
時(shí)鐘轉(zhuǎn)發(fā)的方式共分為兩種,一種是參考時(shí)鐘轉(zhuǎn)發(fā),一種是采樣時(shí)鐘轉(zhuǎn)發(fā)。
所謂參考時(shí)鐘轉(zhuǎn)發(fā),是指外部時(shí)鐘芯片提供低噪聲低頻時(shí)鐘到一個(gè)ADC/DAC Tile的專用時(shí)鐘管腳,該時(shí)鐘將在Tile間轉(zhuǎn)發(fā),通過(guò)每個(gè)Tile內(nèi)的PLL倍頻出所需的采樣時(shí)鐘;
而采樣時(shí)鐘轉(zhuǎn)發(fā)有兩種途徑,一是從外部時(shí)鐘芯片直接提供低噪聲高頻的采樣時(shí)鐘到一個(gè)ADC/DAC Tile的專用時(shí)鐘管腳,采樣時(shí)鐘將在Tile間分發(fā),無(wú)需通過(guò)內(nèi)部PLL倍頻,直接提供給ADC/DAC Channel作為采樣時(shí)鐘;
時(shí)鐘芯片提供低噪聲低頻時(shí)鐘到一個(gè)ADC/DAC Tile的專用時(shí)鐘管腳,該時(shí)鐘在此Tile內(nèi)通過(guò)PLL倍頻到采樣頻率,隨后將此采樣時(shí)鐘在Tile間分發(fā)。
以上僅為時(shí)鐘分發(fā)方式的簡(jiǎn)化解釋,會(huì)有一些使用的限制和建議,建議用戶參考PG269 Chapter 4 Clocking-On-chip Clock Distribution章節(jié)閱讀。
用戶也可以打開(kāi)Vivado,選擇器件型號(hào)后在RF Data Converter IP內(nèi)根據(jù)原理圖和目標(biāo)設(shè)計(jì)進(jìn)行配置,如果時(shí)鐘設(shè)計(jì)存在問(wèn)題,工具會(huì)給予一定的報(bào)警和提示。
值得注意的是,RF Data Converter IP內(nèi)的選項(xiàng)和上述的兩種分發(fā)方式不是完全匹配的。當(dāng)使用采樣時(shí)鐘分發(fā)方式時(shí),在IP內(nèi)需要勾選的是Input Refclk。ADC Tile 1(Tile 225)和DAC Tile 1(Tile 229)作為采樣時(shí)鐘輸入源,其他的ADC和DAC Tile選擇Tile 1作為時(shí)鐘源。
2. ZCU216時(shí)鐘結(jié)構(gòu)及可行的時(shí)鐘設(shè)計(jì)方案:
本節(jié)僅覆蓋ZCU216開(kāi)發(fā)板與RF數(shù)據(jù)轉(zhuǎn)換器相關(guān)的時(shí)鐘部分,這部分時(shí)鐘均由擴(kuò)展子卡CLK104提供。
如下所示為CLK104板上的功能示意圖:
通過(guò)一個(gè)時(shí)鐘芯片為DAC提供接近10GSPS的低噪聲采樣時(shí)鐘是很難實(shí)現(xiàn)的,CLK104板采用兩級(jí)PLL方案。
第一級(jí)LMK04828B是一個(gè)雙環(huán)路抖動(dòng)清除器和時(shí)鐘發(fā)生器,一級(jí)回路的參考輸入可為板上的10MHz TCXO、外部參考時(shí)鐘(比如從SMA100B輸出低噪聲時(shí)鐘),或SFP恢復(fù)時(shí)鐘。二級(jí)回路的參考輸入為板上的160MHz VCXO,可輸出低相噪的時(shí)鐘、同步信號(hào)。其中DAC_REFCLK和ADC_REFCLK可作為ADC/DAC低頻參考時(shí)鐘輸入;PL_CLK,AMS_SYSREF和PL_SYSREF均用作MTS(Multi-Tile Synchronization)應(yīng)用,我們將在未來(lái)博客中詳細(xì)描述MTS相關(guān)應(yīng)用;
第二級(jí)LMX2594接收第一級(jí)輸出時(shí)鐘,將其倍頻到采樣頻率,直接輸出到ADC/DAC Tile。
這三顆時(shí)鐘芯片均由SPI接口控制,板上有一顆IIC to SPI橋接芯片,F(xiàn)PGA通過(guò)IIC接口對(duì)此轉(zhuǎn)換芯片進(jìn)行控制,進(jìn)而控制三顆時(shí)鐘芯片。除此以外還有一種更為簡(jiǎn)單的方式,ZCU216板上帶有一顆TI的MSP430 MCU,其IIC接口通過(guò)IIC Switch也可以連接到這幾顆時(shí)鐘IC上,用戶可以參考XTP580,使用BoardUI實(shí)現(xiàn)對(duì)時(shí)鐘的配置。
ZCU216上的芯片型號(hào)為ZU49DR,其4個(gè)ADC Tile和4個(gè)DAC Tile都有專用的模擬時(shí)鐘輸入管腳,但只有兩個(gè)ADC Tile(Bank 225/226)和兩個(gè)DAC Tile(Bank 229/230)的時(shí)鐘管腳被引出。如下表所示為詳細(xì)連接關(guān)系:
本文后續(xù)將會(huì)展示以下的時(shí)鐘方案配置:
使用LMX2594輸出高頻采樣時(shí)鐘分發(fā)方式,從ADC Tile1和DAC Tile1輸入。設(shè)定ADC 采樣頻率為2000MHz,DAC采樣頻率為6400MHz。
3. 在Vivado中創(chuàng)建基于IP集成器(IP Integrator)的設(shè)計(jì)
本節(jié)需要讀者對(duì)基于Vivado的IPI設(shè)計(jì)比較熟悉,將不會(huì)對(duì)較簡(jiǎn)單的操作步驟進(jìn)行詳述。如何使用此Blog提供的TCL文件重建Vivado工程請(qǐng)參考附錄。
? 打開(kāi)Vivado 2021.2,新建工程,名為rfsoc_zcu216_clocking。
?選擇板卡ZCU216 EVB或ZCU216 ES EVB,根據(jù)板卡型號(hào)決定,二者bitstream不兼容。
? 在工程界面內(nèi)創(chuàng)建Block Design,默認(rèn)名為design_1。
?添加Zynq UltraScale+ MPSoC IP,Run Block automation,使用板卡默認(rèn)配置。
? 修改Zynq配置,PS-PL Configuration界面下將AXI HPM0/1 FPD接口關(guān)閉,勾選AXI HPM0 LPD,其他保持默認(rèn)。
? 添加Zynq UltraScale+ RF Data Converter IP。
? 修改RF Data Converter配置。
1. 切換Converter Setup為Advanced模式。
2. 使能全部ADC和DAC的每個(gè)Channel,其他所有配置大多數(shù)都是可以通過(guò)API修改的,保持默認(rèn)即可,后續(xù)將會(huì)介紹如何通過(guò)API修改。
3. 修改全部ADC的Samples per AXI4-Stream Cycle為8,DAC為16,這是為了避免AXI-Stream接口時(shí)鐘頻率超出器件頻率上限。
4.在System Clocking界面按下圖配置,如上一節(jié)所示,我們將先按ADC 2GSPS,DAC 6.4GSPS進(jìn)行配置,使用采樣時(shí)鐘分發(fā)方式。IP的輸出時(shí)鐘可以用于倍頻產(chǎn)生AXI4-Stream數(shù)據(jù)接口的時(shí)鐘,因此我們先保持和Fabric clock 頻率8分頻的關(guān)系進(jìn)行配置。
5. Advanced界面保持默認(rèn),無(wú)需勾選。
? Run Block Automation,將RFDC IP AXI-Lite接口通過(guò)Interconnect連接到Zynq LPD接口實(shí)現(xiàn)地址映射。
? 為AXI4-Stream接口提供合適的時(shí)鐘和復(fù)位。
1. 點(diǎn)擊BD界面上方Run Block Automation。
2. 由于所有ADC/DAC采樣率是一致的,可以使用一個(gè)MMCM產(chǎn)生ADC/DAC所需的數(shù)字時(shí)鐘。在彈出界面中勾選ADC 0-3的時(shí)鐘源為ADC0,DAC0-3的時(shí)鐘源為DAC0。
3. 工具將會(huì)自動(dòng)例化兩個(gè)Clocking Wizard IP,adc0_clk_wiz使用IP輸出的31.25MHz的時(shí)鐘作為輸入,倍頻輸出200MHz時(shí)鐘供給Master接口。Dac0_clk_wiz使用IP輸出的50MHz時(shí)鐘作為輸入,倍頻輸出400MHz時(shí)鐘供給給Slave接口。
4. 修改clocking wizard復(fù)位極性為低電平有效。
5.例化兩個(gè)Processor System Reset IP,并連接peripheral_aresetn到RFDC IP的s/m_axis_aresetn管腳上。其中Slave AXI-Stream接口是DAC的數(shù)字接口,Master AXI-Stream是ADC的數(shù)字接口。
6. 例化一個(gè)AXI GPIO IP,用于控制時(shí)鐘板CLK104上的SPI SDO選通。設(shè)定為輸出,位寬為2,初始值設(shè)定為0x0。
7. 引出AXI GPIO IP,命名為spi_mux。
? 完整的Block Design大致如下:
? 在BD中右鍵Validate design,確保沒(méi)有報(bào)錯(cuò)。
? 創(chuàng)建頂層文件,右鍵BD,Create HDL Wrapper,選擇Let Vivado manage wrapper and auto-update。
? 添加管腳約束,RFDC相關(guān)管腳為專有管腳,IP內(nèi)包含管腳約束,用戶無(wú)需為此添加。
? 生成bitstream,檢查工程是否有時(shí)序違例。
? 導(dǎo)出工程XSA文件,F(xiàn)ile-Export-Export Hardware,勾選Include Bitstream,選擇導(dǎo)出目錄。
原文標(biāo)題:開(kāi)發(fā)者分享|第三代Zynq RFSoC器件射頻數(shù)據(jù)轉(zhuǎn)換器應(yīng)用: 時(shí)鐘設(shè)計(jì)-上
文章出處:【微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
Xilinx
+關(guān)注
關(guān)注
73文章
2185瀏覽量
125356 -
Vivado
+關(guān)注
關(guān)注
19文章
835瀏覽量
68780 -
IP集成器
+關(guān)注
關(guān)注
0文章
4瀏覽量
5854 -
RFSoC
+關(guān)注
關(guān)注
0文章
40瀏覽量
2917
原文標(biāo)題:開(kāi)發(fā)者分享|第三代Zynq RFSoC器件射頻數(shù)據(jù)轉(zhuǎn)換器應(yīng)用: 時(shí)鐘設(shè)計(jì)-上
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
創(chuàng)建AXI Sniffer IP以在Vivado IP Integrator中使用教程
Vivado 2013.1和Zynq需要及早訪問(wèn)Vivado IP集成商是什么意思?
Vivado環(huán)境下如何在IP Integrator中正確使用HLS IP

Northwest Logic支持Xilinx IP集成器工具流

在IP集成器中調(diào)試AXI接口有哪些優(yōu)勢(shì)?

賽靈思Vivado設(shè)計(jì)套件推出2013.1版本,提供IP 集成器和高層次綜合功能
如何讓Vivado IP Integrator和Amazon F1開(kāi)發(fā)套件進(jìn)行協(xié)同使用
如何在IP Integrator中創(chuàng)建MicroBlaze設(shè)計(jì)

如何使用Vivado Design Suite IP Integrator的調(diào)試AXI接口
如何使用Vivado IP Integrator組裝具有多個(gè)時(shí)鐘域的設(shè)計(jì)
如何使用IP Integrator創(chuàng)建硬件設(shè)計(jì)

如何在vivado創(chuàng)建新工程上使用IP集成器創(chuàng)建塊設(shè)計(jì)

評(píng)論