FPGA与AD9371的数据交互

AD9371属于零中频架构,接收侧直接通过本振下边到零频(基带);

接收器带宽(并非射频前端的模拟带宽):7.5MHz 至 100MHz;

带宽的定义:从数据接口侧,能完整的解析或者解调频谱的范围;

ORX 属于观察通道,用于TX发射的相关指标校正,PA线性度的调整(DPD);

AD9371接收侧有4个Lane是204B的接口,两个Lane用于RX,两个Lane用于ORX;

AD9371发送侧则是4个Lane用于TX;

时钟是只需要提供一路device clock 即可;经device clock就能够产生采样时钟等;

时钟芯片给AD9371提供 sysref 和 device clock;

时钟芯片同时给AD9371和FPGA提供SYSREF;

根据AD9371的数据手册和典型应用,可以明确两点:AD9371内部包含处理SYSREF信号的电路,但它通常被设计为接收外部SYSREF,而不是作为主要来源向FPGA提供。

在实际系统设计中,由专用时钟芯片(如AD9528)同时向FPGA和AD9371提供SYSREF信号,才是确保JESD204B链路稳定工作的标准且推荐做法

AD9371的软件设置

设置采样率和通道使能:

设置校准方案:

204B接口使能方案:

RX通道:

TX通道:

ORX通道:

FPGA Block Design IP设置:

ORX和TX :F=2;

RX:F=4;

2个Lnae给RX ,2个Lane给ORX;

RX的线速率计算:(M*122.88*16/0.8)/L = 4915.2Mbps,M=4;L=2;

ORX的线速率计算:(M*122.88*16/0.8)/L = 2457.6Mbps,M=2;L=2;

链路时钟为122.88M;

TX侧需要一个时钟周期送进入两个采样点,所以TX侧时钟为61.44Mhz;

如果要把数据恢复到122.88M,可以增加一个FIFO进行时钟域变换,由61.44M变为122.88M;

RX和ORX为122.88M;

BD:

字符对齐:

复位:

此处的tx_sync 由ad9371送进来,

由高速接口给AD9371,因为接收serdes方需要提供sync,所以ad9371会输出tx_sync给到FPGA的204b的 TX端;

输出 rx_sync 和orx_sync 给到ad9371:

利用 IBUFDS,OBUFDS进行差分信号与单端信号转换;

通过顶层给出到ad9371,或者由ad9371给进来:

Jesd204b phy IP 的配置:4.9152G对应参考时钟输出122.88M;

由于ad9371中204b接口orx配置为2457.6M,对应时钟频率应该是61.44M,此部分就需要去初始化单独的线速率,因为IP只能配置整体4个Lane的线速率,配置ORX就只能在软件侧通过AXI接口去配置ORX的两个Lane;

RX部分的Framer映射Lane0 和 Lane1;

FramerADC_Xbar = 0xB1;指图16从Rx 通过sample crossbar 映射到framer ADC;

高速接口的映射 serializerLaneCrossbar = 0x08;对应图16右侧的映射

ORX部分的Frame映射:(ORX线速率为RX的一半)

FramerADC_Xbar = 0xB1;

serializerLaneCrossbar = 0x40;映射到Lane2和Lane3;

因为xilinx的jesd204b的接收IP 是低字节先输出,那么AD9371是ADCX[15:8]先出来,就需要进行高低字节转换,而jesd204b 接口位宽64位,正好是{Q2,I2,Q1,I1}, 122.88M,两个通道的4个ADC数据;

对于ORX观测通道是在122.88M时钟下输出64位,每个时钟输出两个采样点,

{Q1(n+1),I1(n+1),Q1(n),I1(n)},因为orx只有2个ADC,所以输出数据应该是每隔一个122.88M时钟输出两个采样点。但是ADI为了方便ORX和RX通道相同的线速率,直接将ORX的采样数据进行2倍过采样输出,也就是变成了122.88M*2输出给用户端;需要设置ORX通道的framer的时候进行设置。

映射关系:

相关推荐
szxinmai主板定制专家5 小时前
基于 PC 的控制技术+ethercat+linux实时系统,助力追踪标签规模化生产,支持国产化
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
博览鸿蒙16 小时前
如何为春招的金三银四做好准备
fpga开发
FPGA小迷弟17 小时前
FPGA处理图像需要用到的主流接口详解
学习·fpga开发·verilog·fpga·modelsim
LeoZY_17 小时前
CH347 USB转JTAG功能使用笔记:CH347根据SVF文件实现任意FPGA下载
笔记·stm32·嵌入式硬件·fpga开发·硬件架构·硬件工程
博览鸿蒙17 小时前
FPGA在高性能计算中的应用:数据流加速与优化
fpga开发
maverick_11117 小时前
【数字图像处理与FPGA实现】00 绪,建立“算法思维“与“硬件思维“的桥梁
图像处理·fpga开发
乌恩大侠2 天前
【OAI】 USRP 在conf文件中的配置,RU选项
fpga开发
qq_小单车3 天前
xilinx-DNA
fpga开发·xilinx
Flamingˢ3 天前
FPGA中的嵌入式块存储器RAM:从原理到实现的完整指南
fpga开发
Flamingˢ3 天前
FPGA中的存储器模型:从IP核到ROM的深度解析与应用实例
网络协议·tcp/ip·fpga开发