第一章:LMK04828及ADRV9009****簡介
1.1LMK04828簡介

LMK0482x 系列是業(yè)界性能最高的時(shí)鐘調(diào)節(jié)器,支持 JEDEC JESD204B。
PLL2 的 14 個(gè)時(shí)鐘輸出可配置為使用器件和 SYSREF 時(shí)鐘驅(qū)動(dòng)七個(gè) JESD204B 轉(zhuǎn)換器或其他邏輯器件。
SYSREF 可使用直流和交流耦合提供。不限于 JESD204B 應(yīng)用,14 個(gè)輸 出中的每一個(gè)均可單獨(dú)配置為傳統(tǒng)時(shí) 鐘系統(tǒng)的高性能輸出。
高性能,加上在功率或性能之間進(jìn)行權(quán)衡的能力、雙 VCO、動(dòng)態(tài)數(shù)字延
遲、保持和無故障模擬延遲等特性, 使 LMK0482x 系列成為提供靈活的高 性能時(shí)鐘樹的理想選擇。
| 功能 | 雙環(huán)路 PLL |
|---|---|
| 輸出數(shù)量 | 15 |
| RMS 抖動(dòng)(fs) | 88 |
| 輸出頻率(最小值)(MHz) | 0.289 |
| 輸出頻率(最大)(MHz) | 3080 |
| 輸入類型 | LVCMOS、LVDS、LVPECL |
| 輸出類型 | LVCMOS、LVDS、LVPECL |
| 供電電壓(最小值)(V) | 3.15 |
| 電源電壓(最大)(V) | 3.45 |
| 特征 | JESD204B |
| 等級(jí) | 目 錄 |
| 工作溫度范圍(C) | -40 至 85 |
| 輸入通道數(shù) | 3 |
4 / 15
1.2ADRV9009簡介
ADRV9009 是一款高度集成的射頻(RF) 捷變收發(fā)器,提供雙發(fā)射器和接收 器、集成合成器和數(shù)字信號(hào)處理 功能。該 IC 提 供 3G、4G 和 5G 宏蜂窩時(shí)分 雙工(TDD) 基站應(yīng)用所需的高性能和低功耗的多功能組合。
接收路徑由兩個(gè)獨(dú)立的、寬帶寬的直接轉(zhuǎn)換接收器組成, 具有最先進(jìn)的動(dòng)態(tài) 范圍。該設(shè)備還支持寬帶寬、時(shí) 間共享觀察路徑接收器 (ORx), 用 于 TDD 應(yīng) 用。完整的接收子系統(tǒng)包括自動(dòng)和手動(dòng)豪減控制、直流失調(diào)校 正、正交誤差校 正(QEC) 和數(shù)字濾波,從而無需在數(shù)字基帶中使用這些功能。還集成了多種輔助 功能,例如 模擬數(shù)字轉(zhuǎn)換器(ADC)、 數(shù)模轉(zhuǎn)換器(DAC)、 功率放大器(PA) 的通 用輸入/輸出(GPIO) 以及射頻前端控制。
除了自動(dòng)增益控制(AGC) 之 外 ,ADRV9009 還具有靈活的外部增益控制 模式,可以非常靈活地動(dòng)態(tài)設(shè)置系統(tǒng)級(jí)增益。
接收信號(hào)通過一組四個(gè)高動(dòng)態(tài)范圍、連續(xù)時(shí)間 Z-△ADC 進(jìn)行數(shù)字化,這些 ADC 具有固有的抗混疊功能。與 傳統(tǒng)中頻(IF) 接收器相比,直接轉(zhuǎn)換架構(gòu)不 受帶外圖像混合的影響,且沒有混疊,因此放寬了對(duì) RF 濾波器的要求。
發(fā)射器使用創(chuàng)新的直接轉(zhuǎn)換調(diào)制器,可實(shí)現(xiàn)高調(diào)制精度和極低的噪聲。
觀察接收機(jī)路徑由具有最先進(jìn)動(dòng)態(tài)范圍的寬帶寬、直接轉(zhuǎn)換接收器組成。
完全集成的鎖相環(huán)(PLL) 為發(fā)射器(Tx) 和接收器(Rx) 信號(hào)路徑提供高性 能、低功耗、小數(shù) N RF 頻率合成。附加合成器生成轉(zhuǎn)換器、數(shù)字電路和串行接 口所需的時(shí)鐘。多芯片同步機(jī)制可同步多個(gè) ADRV9009 芯 片之間的 RF 本 振(LO) 和基帶時(shí)鐘的相位。采取預(yù)防措施以提供高性能基站應(yīng)用所需的隔離。 所有壓控振蕩 器(VCO) 和環(huán)路濾波器元件均已集成。
高速 JESD204B 接口支持高達(dá) 12.288 Gbps 的通道速率,在最寬帶寬模式 下,每個(gè)發(fā)射器有兩條通道,每 個(gè)接收器有一條通道。該接口還支持較低帶寬 的交叉模式,從而將高速數(shù)據(jù)接口通道總數(shù)減少到一條。支持 定點(diǎn)和浮點(diǎn)數(shù)據(jù) 格式。浮點(diǎn)格式允許內(nèi)部 AGC 對(duì)解調(diào)器設(shè)備不可見。
ADRV9009 的核心可直接由 1.3V 穩(wěn)壓器和 1.8 V 穩(wěn)壓器供電,并通過標(biāo)準(zhǔn) 4 線串行端口進(jìn)行控制。它包含 全面的省電模式,以最大限度地降低正常使用 時(shí)的功耗。ADRV9009 采用 12 mm×12mm、196 球芯片級(jí)球柵陣列(CSP_BGA) 封 裝。
應(yīng)用
3G 、4G 和 5G TDD 宏蜂窩基站 TDD 有源天線系統(tǒng)
大規(guī)模多輸入多輸出 (MIMO)
相控陣?yán)走_(dá) 電子戰(zhàn)
軍事通信
便攜式測試設(shè)備

特征
· 雙發(fā)射器
· 雙接收器
· 雙輸入共享觀測接收器
· 最大接收器帶寬:200 MHz
· 最大可調(diào)諧發(fā)射機(jī)合成帶寬:450 MHz
· 最大觀測接收器帶寬:450 MHz
· 完全集成的小數(shù) N 射頻合成器
· 完全集成的時(shí)鐘合成器
· 針對(duì) RF LO 和基帶時(shí)鐘的多芯片相位同步
· JESD204B 數(shù)據(jù)路徑接口
· 調(diào)諧范圍(中心頻率):75 MHz 至 6000 MHz
第二章:PZ-FH9009****開發(fā)例程
2.1****功能概述
本例程在 FPGA 內(nèi)部生成 DDS 信號(hào)源,通過 ADRV9009 進(jìn)行單音信號(hào)發(fā)射測 試,同時(shí),可以把 ADRV9009 發(fā)射的信號(hào),接收回來,用 ILA 進(jìn)行查看,用戶也 可以把數(shù)據(jù)保存下來導(dǎo)入到 Matlab 等工具進(jìn)行分析。
2.2****管腳配置
管腳約束如下(根據(jù)購買的開發(fā)板,自行選擇):
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property -dict {PACKAGE_PIN F10 IOSTANDARD LVCMOS18} [get_ports led]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets IBUFDS_inst/O]
set_property -dict {PACKAGE_PIN R10 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100 IBUF_LOW_PWR FALSE} [get_ports sysref_p ]
set_property -dict {PACKAGE_PIN T13 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports syncout0_p ]
set_property -dict {PACKAGE_PIN L16 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports fpga_gc_clk_p ]
set_property -dict {PACKAGE_PIN V12 IOSTANDARD LVDS} [get_ports syncinb0_p ]
set_property -dict {PACKAGE_PIN V11 IOSTANDARD LVDS} [get_ports syncinb0_n ]
set_property -dict {PACKAGE_PIN Y5 IOSTANDARD LVDS} [get_ports
syncinb1_p ]
set_property -dict {PACKAGE_PIN AA5 IOSTANDARD LVDS} [get_ports syncinb1_n ]
set_property -dict {PACKAGE_PIN G8 } [get_ports ref_clk0_p ]; ##
set_property -dict {PACKAGE_PIN L8 } [get_ports ref_clk1_p ]; ##
set_property -dict {PACKAGE_PIN F2} [get_ports rx_data_p[0] ]; ##
set_property -dict {PACKAGE_PIN J4} [get_ports rx_data_p[1] ]; ##
set_property -dict {PACKAGE_PIN K2} [get_ports rx_data_p[2] ]; ##
set_property -dict {PACKAGE_PIN H2 } [get_ports rx_data_p[3] ]; ##
set_property -dict {PACKAGE_PIN G4 } [get_ports tx_data_p[0] ]; ##
set_property -dict {PACKAGE_PIN F6} [get_ports tx_data_p[1] ]; ##
set_property -dict {PACKAGE_PIN K6} [get_ports tx_data_p[2] ]; ##
set_property -dict {PACKAGE_PIN H6} [get_ports tx_data_p[3] ]; ##
set_property -dict {PACKAGE_PIN W4 IOSTANDARD LVCMOS18} [get_ports
adrv9009_spi_csn ]
set_property -dict {PACKAGE_PIN W5 IOSTANDARD LVCMOS18} [get_ports adrv9009_spi_clk ]
set_property -dict {PACKAGE_PIN V4 IOSTANDARD LVCMOS18} [get_ports adrv9009_spi_mosi ]
set_property -dict {PACKAGE_PIN V3 IOSTANDARD LVCMOS18} [get_ports adrv9009_spi_miso ]
set_property -dict {PACKAGE_PIN L13 IOSTANDARD LVCMOS18} [get_ports adrv9009_tx1_enable ]
set_property -dict {PACKAGE_PIN K13 IOSTANDARD LVCMOS18} [get_ports adrv9009_tx2_enable ]
set_property -dict {PACKAGE_PIN L12 IOSTANDARD LVCMOS18} [get_ports adrv9009_rx1_enable ]
set_property -dict {PACKAGE_PIN K12 IOSTANDARD LVCMOS18} [get_ports adrv9009_rx2_enable ]
set_property -dict {PACKAGE_PIN L10 IOSTANDARD LVCMOS18} [get_ports adrv9009_resetb ]
set_property -dict {PACKAGE_PIN M10 IOSTANDARD LVCMOS18} [get_ports adrv9009_gp_interrupt ]
set_property -dict {PACKAGE_PIN Y2 adrv9009_gpio_rf[0 ] ]
set_property -dict {PACKAGE_PIN AA12 adrv9009_gpio_rf[1 ] ]
set_property -dict {PACKAGE_PIN Y12 adrv9009_gpio_rf[2 ] ]
set_property -dict {PACKAGE_PIN V1 adrv9009_gpio_rf[3 ] ]
set_property -dict {PACKAGE_PIN V2 adrv9009_gpio_rf[4 ] ]
set_property -dict {PACKAGE_PIN V8 adrv9009_gpio_rf[5 ] ]
set_property -dict {PACKAGE_PIN V7 adrv9009_gpio_rf[6 ] ]
set_property -dict {PACKAGE_PIN AB10 adrv9009_gpio_rf[7 ] ]
set_property -dict {PACKAGE_PIN AC11 adrv9009_gpio_rf[8 ] ]
set_property -dict {PACKAGE_PIN AA2 adrv9009_gpio_rf[9 ] ]
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
set_property -dict {PACKAGE_PIN AB8 adrv9009_gpio_rf[10] ]
set_property -dict {PACKAGE_PIN AC8 adrv9009_gpio_rf[11] ]
set_property -dict {PACKAGE_PIN AC12 adrv9009_gpio_rf[12] ]
set_property -dict {PACKAGE_PIN Y1 adrv9009_gpio_rf[13] ]
set_property -dict {PACKAGE_PIN W2 adrv9009_gpio_rf[14] ]
set_property -dict {PACKAGE_PIN W1 adrv9009_gpio_rf[15] ]
set_property -dict {PACKAGE_PIN AA10 adrv9009_gpio_rf[16] ]
set_property -dict {PACKAGE_PIN AA11 adrv9009_gpio_rf[17] ]
set_property -dict {PACKAGE_PIN AB11 adrv9009_gpio_rf[18] ]
set_property -dict {PACKAGE_PIN AC1
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
IOSTANDARD LVCMOS18} [get_ports
lmk04828_reset ]
set_property -dict {PACKAGE_PIN AC4 IOSTANDARD LVCMOS18} [get_ports lmk04828_spi_csn ]
set_property -dict {PACKAGE_PIN AC2 IOSTANDARD LVCMOS18} [get_ports lmk04828_spi_sdio ]
set_property -dict {PACKAGE_PIN AB4 IOSTANDARD LVCMOS18} [get_ports lmk04828_spi_sclk ]
set_property -dict {PACKAGE_PIN AA1 IOSTANDARD LVCMOS18} [get_ports lmk04828_sync ]
2.3Vivado工程介紹
FPGA 工程,包括 PL 邏輯部分和 PS 處理器配置部分,詳情可以看下我們提 供的 Vivado 工程,我們提供的都是源碼工程,建議版本跟我們保持一致,也 使用 2019.1,其他版本需要移植,不保證可以正常使用。
Jesd204B-IP 需要 license,可以到 xilinx 官網(wǎng)申請(qǐng)?jiān)囉谩?/p>
測試工程的“Sources ”目錄如下圖:

Block Design 設(shè)計(jì)如下圖:

我們配置 ADRV9009 和 LMK04828 是在 PS 端完成,用的 PS 端的 SPI 控制
器,用戶如果需要在 Fpga 端完成的話,可以改成軟核加SPI-IP 完成或者純 Fpga 代碼去完成配置部分。
2.3.1簡單說明下JESD204B****部分的功能。
JESD204B 是兩個(gè) ip core,JESD204 和 JESD204 PHY。每組端口都需要一 個(gè) JESD204 IP,它用來產(chǎn)生或處理了 JESD204 幀格式,TX、RX 和 ORX。
JESD204 PHY 實(shí)現(xiàn)了 GTX 物理層,它根據(jù)線路速率正確的配置 GTX 硬件的 各級(jí)鎖相環(huán)路設(shè)置。
連接關(guān)系如下圖:

TX 端使用四個(gè) lane 發(fā)送通道,RX 端使用兩個(gè) lane 接收通道,ORX 端 使用兩個(gè)接收通道。
當(dāng)采樣率是 245.76MHz 時(shí),txoutclk 是 122.88MHz,rxoutclk 是
245.76MHz。
2.3.2簡單說明下FPGA****數(shù)據(jù)流。
發(fā)送方向,tx 端 IQ 數(shù)據(jù)從 DDS 模塊產(chǎn)生,驅(qū)動(dòng)時(shí)鐘采用 245.76MHz 的 rxoutclk。IQ 兩路數(shù)據(jù)分別進(jìn)入 fifo_32to64 將 IQ 兩路數(shù)據(jù)分別轉(zhuǎn)換成 64 bit 位寬給 jesd204_transport_layer 模塊,時(shí)鐘采用 txoutclk,
122.88MHz,通過 jesd204_transport_layer 轉(zhuǎn)換為 JESD204 所需的 axi stream 數(shù)據(jù)流,時(shí)鐘采用 txoutclk,122.88MHz。
接收方向,rx 端 axi_stream 數(shù)據(jù)從 JESD204 輸出,rx 端 rx_tdata 寬度 64 位,時(shí)鐘 rxoutclk,245.76MHz。orx 端 orx_tdata 寬度 64 位,時(shí)鐘
rxoutclk。rx 端數(shù)據(jù)通過 jesd204_transport_layer 轉(zhuǎn)換位 16bit IQ 數(shù)據(jù) 流,通過 ILA 顯示。
數(shù)據(jù)流圖如下圖:

2.4****裸機(jī)部分介紹
裸機(jī)部分的 demo 我們參考了 ADI 的 NOOS 工程進(jìn)行了修改,鏈接如下:
https://wiki.analog.com/resources/eval/user-guides/mykonos/no-os-setup
頂層文件是 headless.c,我們首先執(zhí)行了 GPIO 的相關(guān)初始化,如下圖:

然后我們初始化了 LMK04828 芯片,采用的三線 SPI 總線進(jìn)行配置,如下圖:

最后我們初始化 ADRV9009 芯片以及控制 ADRV9009 進(jìn)行收發(fā)測試。
初始化 ADRV9009 時(shí)用到了用戶自定義文件,本工程中是 talise_config.c 和 talise_config.h。
這兩個(gè)文件由 ADRV9009 Transceiver Evaluation Software 產(chǎn)生。這個(gè)軟 件可以在以下鏈接下載:
http://www.analog.com/cn/license/licensing-agreement/transceiver-evaluation-software.html
Device clock 默認(rèn)選擇 122.88MHz。
JESD204B 速率計(jì)算方法如下:
發(fā)送端=采樣率*位寬/通道數(shù)=245.76MHz*80/4=4915.2Mbps
接收端=采樣率*位寬/通道數(shù)=245.76MHz*80/2=9830.4Mbps 代碼部分如下圖:

2.5****運(yùn)行測試說明
通過 SDK 下載完成后,串口會(huì)輸出 log 信息,我們可以通過 log 信息查看 ADRV9009 等相關(guān)情況。
串口 LOG 如下圖:


RX 部分測試,用回環(huán)射頻纜將 TX 和 RX 回環(huán),讓 Vivado 工程中的 ILA 運(yùn) 行,我們點(diǎn)擊紅色方框抓取數(shù)據(jù),然后切換到模擬顯示,如下圖:

TX 部分測試,我們接到頻譜分析儀進(jìn)行查看分析,如下圖:

審核編輯 黃宇
-
FPGA
+關(guān)注
關(guān)注
1664文章
22513瀏覽量
639648 -
SDR
+關(guān)注
關(guān)注
7文章
242瀏覽量
52070
發(fā)布評(píng)論請(qǐng)先 登錄
LTM9011-14/LTM9010-14/LTM9009-14:八通道14位ADC的技術(shù)剖析與應(yīng)用指南
中微愛芯推出16bit高精度模數(shù)轉(zhuǎn)換器AiP8342
設(shè)計(jì)資料原理圖:622-基于ADRV9002 +ZYNQ7020 的軟件無線電 SDR(升級(jí)AD9361)
數(shù)字陣列板卡設(shè)計(jì)原理圖:889-基于RFSOC XCZU49DR的 16T16R的軟件無線電硬件
P351 P451 P101ZYNQ璞致電子軟件無線電(PZSDR)系列——從嵌入式到高端射頻的全場景解決方案
主板的RGB接口是16bit位(RGB-565),怎么24bit位RGB接口的 屏幕 接線 ?
軟件無線電-AD9361 璞致 PZSDR 軟件無線電系列板卡之PZ-FL9361(FMCOMMS3)使用說明
璞致 PZSDR 系列板卡之 P159 軟件無線電硬件說明-ZU15EG+ADRV9009 16bit ADC & 14bit DAC
璞致電子 UltraScale+ RFSoC 架構(gòu)下的軟件無線電旗艦開發(fā)平臺(tái)
PZSDR璞致軟件無線電P159(ZU15EG+ADRV9009)為通信系統(tǒng)設(shè)計(jì)賦能
【PZSDR AD9361】——璞致PZ-FL9361 軟件無線電模塊:工業(yè)級(jí)射頻解決方案的技術(shù)標(biāo)桿
璞致電子軟件無線電(PZSDR)系列——從嵌入式到高端射頻的全場景解決方案
璞致 PZSDR 系列板卡之 軟件無線電 P9009-ADRV9009 硬件說明 16bit ADC & 14bit DAC
評(píng)論