FPGA纯verilog实现JESD204B协议,基于ADRV9009数据环回收发,提供2套工程源码和技术支持

目录

FPGA纯verilog实现JESD204B协议,基于ADRV9009数据环回收发,提供2套工程源码和技术支持

1、前言

什么是JESD204B协议?

JESD204B是一种高速串行接口标准,专门用于连接数据转换器(ADC/DAC)和逻辑设备(如FPGA、ASIC)。它由JEDEC固态技术协会制定,是JESD204标准的修订版本;JESD204B协议通过其高速串行接口、确定性延迟和多通道同步能力,已成为现代高速数据采集系统的首选接口标准。FPGA凭借其并行处理能力、灵活性和可重构特性,在JESD204B系统实现中展现出显著优势,特别是在需要实时处理、多通道同步和定制化应用的场景中。随着5G、航空航天、医疗影像等领域的持续发展,JESD204B与FPGA的结合将继续推动高性能数字系统向更高速度、更高集成度和更智能化的方向发展。协议发展历程如下:

JESD204关键特性如下:

数据速率:最高达12.5 Gbps

通道数量:支持1-8个通道

编码方式:8B/10B编码

同步机制:支持确定性延迟

子类支持:Subclass 0, 1, 2

JESD204协议分层结构如下:

JESD204B链路建立过程如下:

JESD204B详细建立步骤如下:

步骤1:代码组同步(CGS)

步骤2:初始通道对齐(ILAS)

步骤3:用户数据传输

正常数据传输开始

持续监控链路状态

JESD204B具体应用领域

1、无线通信基础设施,如下:

应用优势:

支持大规模MIMO系统

高采样率满足5G宽带需求

多通道同步支持相控阵列

2、航空航天与国防,如下:

应用优势:

高可靠性,抗干扰能力强

支持高速数据采集和处理

适用于恶劣环境

3、医疗影像设备,如下:

应用设备:

MRI(磁共振成像)

超声成像系统

CT扫描仪

4、测试与测量仪器,如下:

FPGA实现JESD204B的优势概括

1、架构灵活性,如下:

2、主要优势对比如下:

FPGA实现JESD204B的优势详解

1、并行处理能力,如下:

优势:同时处理多个数据通道,实现真正的并行处理。

2、定制化信号处理,如下:

优势:在数据进入系统前完成预处理,降低后端处理负担。

3、低延迟设计,如下:

优势:适用于需要快速响应的实时系统。

官方有Example,为何要用你这个?

Xilinx官方的确有JESD204B IP核的Example例程;

然后呢?你看得懂吗?你会照着模仿做自己的项目吗?

如果你会,那么请划走;

如果你不会,不妨看看下面的聊天记录

这位朋友用了我的JESD204B参考工程,感觉少走了一年的弯路。。。

工程概述

本设计使用Xilinx系列FPGA为平台,基于纯verilog实现的JESD204B协议实现ADRV9009数据收发,旨在为读者提供一套精简版的、基于JESD204B协议的的数据收发架构;

首先在由示波器产生正弦波或者使用其他信号源输入ADRV9009转接板;ADRV9009实现模数转换后将AD数据通过FMC高速连接器发送到FPGA开发板的GT高速BANK;然后调用纯verilog实现的JESD204B物理层实现高速低压差分串行AD数据与并行数据的转换,并输出并行数据;然后调用纯verilog实现的JESD204B接收端链路层实现JESD204B协议层解码功能,接收端链路层由解码模块和控制模块两个部分构成;然后调用纯verilog实现的JESD204B接收端传输层实现数据帧解析和格式转换;完成解码解码后的数据送入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的接收端数据包通道聚合模块,实现4通道数据聚合为单通道数据;然后聚合数据进入Xilinx官方的DMA IP核实现数据搬运至DDR3内存;然后vitis软件端控制DMA读取AD数据通过串口打印或者通过IIO服务发送到上位机做后续处理;亦或者vitis软件端控制DMA读取AD数据送入纯verilog实现的发送端数据包通道分发模块,将单通道数据分发为4通道数据;然后4通道数据进入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的JESD204B发送端传输层实现数据组帧和格式转换;然后数据进入纯verilog实现的JESD204B发送端链路层实现JESD204B协议层编码功能;然后数据进入纯verilog实现的JESD204B物理层实现并行DA数据与高速低压差分串行数据接口的转换,并输出高速低压差分串行信号;然后数据通过GT高速BANK经FMC转接板发送至ADRV9009转接板实现数模转换并发送出去。针对市场主流需求,本博客设计并提供2套工程源码,具体如下:

现对上述2套工程源码做如下解释,方便读者理解:

工程源码1

开发板FPGA型号为Xilinx--Zynq-7000--xc7z045ffg900-2;首先在由示波器产生正弦波或者使用其他信号源输入ADRV9009转接板;ADRV9009实现模数转换后将AD数据通过FMC高速连接器发送到FPGA开发板的GTX高速BANK;然后调用纯verilog实现的JESD204B物理层实现高速低压差分串行AD数据与并行数据的转换,并输出并行数据;然后调用纯verilog实现的JESD204B接收端链路层实现JESD204B协议层解码功能,接收端链路层由解码模块和控制模块两个部分构成;然后调用纯verilog实现的JESD204B接收端传输层实现数据帧解析和格式转换;完成解码解码后的数据送入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的接收端数据包通道聚合模块,实现4通道数据聚合为单通道数据;然后聚合数据进入Xilinx官方的DMA IP核实现数据搬运至DDR3内存;然后vitis软件端控制DMA读取AD数据通过串口打印或者通过IIO服务发送到上位机做后续处理;亦或者vitis软件端控制DMA读取AD数据送入纯verilog实现的发送端数据包通道分发模块,将单通道数据分发为4通道数据;然后4通道数据进入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的JESD204B发送端传输层实现数据组帧和格式转换;然后数据进入纯verilog实现的JESD204B发送端链路层实现JESD204B协议层编码功能;然后数据进入纯verilog实现的JESD204B物理层实现并行DA数据与高速低压差分串行数据接口的转换,并输出高速低压差分串行信号;然后数据通过GTX高速BANK经FMC转接板发送至ADRV9009转接板实现数模转换并发送出去。

工程源码2

开发板FPGA型号为Xilinx--Zynq UltraScale+ MPSoCs--xczu9eg-ffvb1156-2-e;首先在由示波器产生正弦波或者使用其他信号源输入ADRV9009转接板;ADRV9009实现模数转换后将AD数据通过FMC高速连接器发送到FPGA开发板的GTH高速BANK;然后调用纯verilog实现的JESD204B物理层实现高速低压差分串行AD数据与并行数据的转换,并输出并行数据;然后调用纯verilog实现的JESD204B接收端链路层实现JESD204B协议层解码功能,接收端链路层由解码模块和控制模块两个部分构成;然后调用纯verilog实现的JESD204B接收端传输层实现数据帧解析和格式转换;完成解码解码后的数据送入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的接收端数据包通道聚合模块,实现4通道数据聚合为单通道数据;然后聚合数据进入Xilinx官方的DMA IP核实现数据搬运至DDR3内存;然后vitis软件端控制DMA读取AD数据通过串口打印或者通过IIO服务发送到上位机做后续处理;亦或者vitis软件端控制DMA读取AD数据送入纯verilog实现的发送端数据包通道分发模块,将单通道数据分发为4通道数据;然后4通道数据进入Xilinx官方的FIR Compiler IP核实现数据滤波;然后滤波后的数据进入纯verilog实现的JESD204B发送端传输层实现数据组帧和格式转换;然后数据进入纯verilog实现的JESD204B发送端链路层实现JESD204B协议层编码功能;然后数据进入纯verilog实现的JESD204B物理层实现并行DA数据与高速低压差分串行数据接口的转换,并输出高速低压差分串行信号;然后数据通过GTH高速BANK经FMC转接板发送至ADRV9009转接板实现数模转换并发送出去。

本博客详细描述了FPGA纯verilog实现JESD204B协议实现ADRV9009数据收发的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;

提供完整的、跑通的工程源码和技术支持;

工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目

其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往

我这里已有的 GT 高速接口解决方案

我的主页有FPGA GT 高速接口专栏,该专栏有 GTP 、 GTX 、 GTH 、 GTY 等GT 资源的视频传输例程和PCIE传输例程,其中 GTP基于A7系列FPGA开发板搭建,GTX基于K7或者ZYNQ系列FPGA开发板搭建,GTH基于KU或者V7系列FPGA开发板搭建,GTY基于KU+系列FPGA开发板搭建;以下是专栏地址:
点击直接前往

我这里已有的 JESD204 高速AD接口解决方案

我的主页有FPGA JESD204 高速AD接口解决方案专栏,有JESD204B、JESD204C等接口解决方案,以下是专栏地址:
点击直接前往

3、工程详细设计方案

工程设计原理框图

工程设计原理框图如下:

JESD204B 硬件设计架构

JESD204B硬件设计实现ADRV9009芯片与FPGA之间的物理通道交互,基于JESD204B协议,其中ADRV9009采用FMC转接板形式与FPGA开发板实现物理连接,MFC的HPC接口时钟完全右MFC转接板供给,本设计采用外部时钟输入方式,你也可以采用时钟晶振方式,比如TI公司的LMK04828,多路同源时钟实现JESD204B协议的可靠运行,JESD204B硬件设计架构如下:

信号输入设备

做测试时,可采用示波器产生正弦波作为信号输入,不再赘述;

ADRV9009芯片解读

ADRV9009内部架构如下:

ADRV9009特性如下:

1、双发射器/接收器

2、双输入共享观察接收器

3、最大接收器带宽:200 MHz

4、最大可调谐发射器合成带宽:450 MHz

5、最大观察接收器带宽:450 MHz

6、全集成的小数 N 射频合成器

7、全集成的时钟合成器

8、适用于射频 LO 和基带时钟的多芯片相位同步

9、JESD204B 数据路径接口

10、调谐范围:75 MHz 至 6000 MHz

ADRV9009是ADI公司一款高集成度射频(RF)、捷变收发器,提供双通道发射器和接收器、集成式频率合成器以及数字信号处理功能。这款IC具备多样化的高性能和低功耗组合,以满足3G、4G和5G宏蜂窝时分双工(TDD)基站应用要求。

ADRV9009接收路径由两个独立的宽带宽、直接变频接收器组成,具有一流的动态范围。该器件还支持用于TDD应用的宽带宽、时间共享观测路径接收器(ORx)。完整的接收子系统拥有自动和手动衰减控制、直流失调校正、正交误差校正(QEC)和数字滤波功能,从而消除了在数字基带中提供这些功能的必要性。还集成了多种辅助功能,比如模数转换器(ADC)、数模转换器(DAC)、用于功率放大器(PA)的通用输入/输出(GPIO)以及RF前端控制。除自动增益控制(AGC)之外,ADRV9009还具有灵活的外部增益控制模式,且在动态设置系统级增益方面具有极大的灵活性。

ADRV9009接收信号通过具有固有抗混叠特性的一组四个高动态范围、连续时间Σ-Δ ADC实现数字化。相比传统的中频(IF)接收器时,直接变频架构组合不会出现带外镜像混频或缺少混叠,可降低对RF滤波器的要求。发射器采用创新的直接变频调制器,可实现高调制精度和极低的噪声。观测接收器路径由一个宽带宽、直接变频接收器组成,具有一流的动态范围。

ADRV9009完全集成的锁相环(PLL)可同时针对发射器(Tx)和接收器(Rx)信号路径提供高性能、低功耗的小数N分频RF频率合成。额外的频率合成器可生成转换器、数字电路和串行接口所需的时钟。多芯片同步机制可同步RF本振(LO)相位和多个ADRV9009芯片之间的基带时钟。同时采取防范措施,以满足高性能基站应用的隔离要求。还集成了压控振荡器(VCO)和环路滤波器元件。

ADRV9009高速JESD204B接口支持高达12.288 Gbps的通道速率,在最宽带宽模式下实现每发射器两个通道以及每接收器单个通道。该接口还支持针对更低带宽的交错模式,从而将高速数据接口通道总数降至1。还支持固定和浮点两种数据格式。浮点格式使内部AGC对解调器器件不可见。

ADRV9009的内核可由1.3 V稳压器至1.8 V稳压器直接供电并通过标准的四线式串行端口进行控制。全面的节电模式可将正常使用情况下的功耗降至低点。ADRV9009采用12 mm × 12 mm、196引脚芯片级球栅阵列封装(CSP_BGA)。

纯verilog实现的JESD204B 物理层方案

JESD204B物理层采用纯verilog代码实现,注意这里的纯verilog指的是非Xilinx原语部分,里面包含了GTEX2_COMMON和GTXE2_CHANNEL(GTX为例)原语,实现JESD204B物理层,即实现并行AD数据与高速低压差分串行数据接口的转换。

纯verilog实现的JESD204B物理层方案特性如下:

1、纯verilog代码实现,适用于Xilinx 7系列、Ultrascale和Ultrascale+系列FPGA;

2、支持Xilinx系列的GTXE2、GTHE3、GTHE4、GTYE4高速收发器原语;

3、最高可支持到单Lane 32.75Gbps线速率,根据选择的GT原语类型而定;

4、与Xilinx的JESD204 PHY IP核相比,简化了高速收发器配置流程,可任意修改底层代码,缺点是需要对高速收发器底层十分了解,否则很难精准配置;

5、预留了高速收发器的COMMON、CHANNEL和Eye-Scan的DRP配置接口,并转换为AXI4-Lite接口,可通过软件实现高速收发器线速率的动态配置;

6、支持8B10和64B66B编解码协议;

纯verilog实现JESD204B物理层方案设计架构如下:

纯verilog实现JESD204B物理层方案源码架构如下:

关于这个纯verilog实现JESD204B物理层方案IP的详细配置和使用,博主专门写了一个文档并放在了资料包中,如下:

纯verilog实现的JESD204B 链路层接收方案

JESD204B链路层接收采用纯verilog代码实现,实现JESD204B链路层接收解码功能。链路层接收由解码模块和控制模块两个部分构成;

纯verilog实现的JESD204B链路层接收方案特性如下:

1、纯verilog代码实现,适用于Xilinx 7系列、Ultrascale和Ultrascale+系列FPGA;

2、支持JESD204B和JESD204C;

3、支持JESD204子类0和1;

4、确定性延迟(用于子类1操作);

5、支持AXI4-Lite动态配置;

6、支持事件、中断;

7、8B/10B模式下的最大带宽:15 Gbps;

8、64B/66B模式下的最大带宽:32 Gbps;

9、低延迟;

10、每个独立的Lane可启用/禁用;

纯verilog实现JESD204B链路层接收方案设计架构如下:

纯verilog实现JESD204B链路层接收解码模块方案代码架构如下:

纯verilog实现JESD204B链路层接收控制模块方案代码架构如下:

关于这个纯verilog实现JESD204B链路接收方案IP的详细配置和使用,博主专门写了一个文档并放在了资料包中,如下:

纯verilog实现的JESD204B 链路层发送方案

JESD204B链路层发送采用纯verilog代码实现,实现JESD204B链路层编码发送功能。链路层发送由编码模块和控制模块两个部分构成;

纯verilog实现的JESD204B链路层发送方案特性如下:

1、纯verilog代码实现,适用于Xilinx 7系列、Ultrascale和Ultrascale+系列FPGA;

2、支持JESD204B和JESD204C;

3、支持JESD204子类0和1;

4、确定性延迟(用于子类1操作);

5、支持AXI4-Lite动态配置;

6、支持事件、中断;

7、8B/10B模式下的最大带宽:15 Gbps;

8、64B/66B模式下的最大带宽:32 Gbps;

9、低延迟;

10、每个独立的Lane可启用/禁用;

纯verilog实现JESD204B链路层发送方案设计架构如下:

纯verilog实现JESD204B链路层编码发送模块方案代码架构如下:

纯verilog实现JESD204B链路层发送控制模块方案代码架构如下:

关于这个纯verilog实现JESD204B链路接收方案IP的详细配置和使用,博主专门写了一个文档并放在了资料包中,如下:

纯verilog实现的JESD204B 传输层接收方案

JESD204B传输层接收采用纯verilog代码实现,实现JESD204B接收数据帧解析和格式转换功能。

该JESD204B传输层接收方案特性如下:

1、纯verilog代码实现,适用于Xilinx 7系列、Ultrascale和Ultrascale+系列FPGA;

2、支持JESD204B和JESD204C;

3、支持AXI4-Lite动态配置;

纯verilog实现JESD204B传输层接收方案设计架构如下:

JESD204B传输层接收负责在AD9625 JESD204B接口中进行数据格式的映射和解映射,即根据ADC芯片数据手册调整

关于这个纯verilog实现JESD204B传输层方案IP的详细配置和使用,博主专门写了一个文档并放在了资料包中,如下:

纯verilog实现的JESD204B 传输层发送方案

JESD204B传输层发送采用纯verilog代码实现,实现JESD204B发送数据帧解析和格式转换功能。

该JESD204B传输层发送方案特性如下:

1、纯verilog代码实现,适用于Xilinx 7系列、Ultrascale和Ultrascale+系列FPGA;

2、支持JESD204B和JESD204C;

3、支持AXI4-Lite动态配置;

纯verilog实现JESD204B传输层发送方案设计架构如下:

JESD204B传输层发送负责在AD9625 JESD204B接口中进行数据格式的映射和解映射,即根据ADC芯片数据手册调整

关于这个纯verilog实现JESD204B传输层发送方案IP的详细配置和使用,博主专门写了一个文档并放在了资料包中,如下:

PL端逻辑工程源码架构

提供2套工程源码,以工程源码1为例,工程Block Design设计如下:

提供2套工程源码,以工程源码2为例,综合后的工程源码架构如下:

PS端软件工程源码架构

软件主要功能

1、上电自检与配置:依次给各个硬件模块(时钟、数据链路、芯片本身)"通电"并"设置工作模式"。

2、建立数据通道:搭建好从射频模拟信号到FPGA内部数字内存之间的完整高速公路。

3、运行与交互:最后进入工作状态,可以执行预设的数据收发任务(如DMA_EXAMPLE),或者等待更高级的命令(通过IIO框架)。
软件程序流程图

程序流程图如下:

软件代码架构

PS端软件工程源码架构如下:

软件程序架构

流程图展示了代码的宏观执行顺序,而具体工作由以下几个紧密协作的软件模块完成:

1、Talise API驱动层 (talise.h, talise.c)

作用:这是控制ADRV9009芯片的核心软件层。它提供了一系列函数,将复杂的射频参数配置(如频率、增益、带宽)和操作(如启动、校准、同步)封装成简单的API。

在代码中的体现:talise_setup() 函数调用此API,根据 talise_config.h 中的预定义参数(talInit)对芯片进行完整配置。talise_multi_chip_sync() 则用于多芯片相位同步,这对MIMO系统至关重要。

2、硬件抽象层与平台驱动 (adi_hal.h, 各no_os_*及平台头文件)

作用:提供对底层硬件(SPI, GPIO, 缓存等)的统一访问接口,使上层代码无需关心具体使用的是Xilinx还是Altera(Intel)的FPGA。

在代码中的体现:hal 结构体变量封装了SPI、GPIO的操作句柄和参数。例如,通过hal[t].spi_adrv_csn指定SPI片选,Xil_DCacheFlush()等函数管理数据缓存。

3、高速数据链路模块 (JESD204B & FPGA收发器)

作用:负责ADRV9009与FPGA之间高速数字基带数据流的可靠传输。JESD204B是一种高速串行协议,代码需要正确配置其链路参数(车道速率、帧格式等)。

在代码中的体现:jesd_init()配置JESD协议参数;fpga_xcvr_init()配置FPGA内部的收发器(Transceiver)物理层,以匹配计算出的车道速率。jesd_rx_watchdog()和jesd_status()用于监控链路健康状态。

4、数据路径与控制IP核 (ADC/DAC/DMA Controller)

作用:在FPGA侧,这些IP核负责处理并移动JESD链路送来的数据。

axi_adc_core / axi_dac_core:将JESD串行数据转换为并行数据供逻辑使用,或反之。

axi_dmac (Direct Memory Access Controller):高效地在数据转换器和内存之间搬运大量数据,无需CPU频繁干预。

在代码中的体现:axi_adc_init(), axi_dac_init(), axi_dmac_init()初始化这些IP核。在DMA_EXAMPLE部分,演示了如何使用DMA将波形数据从内存发送到DAC,或将ADC数据捕获到内存。

5、时钟与电源管理 (app_clocking.c)

作用:生成并提供ADRV9009和FPGA收发器所需的各种高精度、低抖动时钟(如器件时钟、SYSREF参考时钟等)。这是整个系统稳定工作的基础。

在代码中的体现:clocking_init()函数根据系统需求,通过外部时钟芯片(如AD9528)配置并输出这些时钟。

6、工业I/O框架 (IIO Framework) - 可选项

作用:提供了一个用于调试、数据采集和远程控制的成熟框架。通过IIO,可以在主机PC上使用工具(如iio-oscilloscope)实时查看ADRV9009采集的波形或动态调整其参数。

在代码中的体现:当定义IIO_SUPPORT宏时,start_iiod()函数会启动一个IIO守护进程,将ADC/DAC设备暴露给网络或本地。

4、vivado工程源码1详解-->Zynq7045版本

开发板FPGA型号:Xilinx--Zynq-7000--xc7z045ffg900-2;

FPGA开发环境:Vivado2022.2;

AD输入:ADRV9009;

DA输出:串口打印或串口输出到上位机;

数据交互接口:JESD204B;

JESD204B物理层方案:纯verilog实现的JESD204B物理层;

JESD204B链路层方案:纯verilog实现的JESD204B链路层;

JESD204B传输层方案:纯verilog实现的JESD204B传输层;

JESD204B使用高速收发器类型:GTX;

工程作用:让读者掌握FPGA基于JESD204B实现ADRV9009数据收发的设计能力,以便能够移植和设计自己的项目;

工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容;

工程的资源消耗和功耗如下:

5、vivado工程源码2详解-->ZU9EG版本

开发板FPGA型号:Xilinx--Zynq UltraScale+ MPSoCs--xczu9eg-ffvb1156-2-e;

FPGA开发环境:Vivado2022.2;

AD输入:ADRV9009;

DA输出:串口打印或串口输出到上位机;

数据交互接口:JESD204B;

JESD204B物理层方案:纯verilog实现的JESD204B物理层;

JESD204B链路层方案:纯verilog实现的JESD204B链路层;

JESD204B传输层方案:纯verilog实现的JESD204B传输层;

JESD204B使用高速收发器类型:GTH;

工程作用:让读者掌握FPGA基于JESD204B实现ADRV9009数据收发的设计能力,以便能够移植和设计自己的项目;

工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容;

工程的资源消耗和功耗如下:

6、工程移植说明

vivado版本不一致处理

1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;

2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件-->另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;

3:如果你的vivado版本高于本工程vivado版本,解决如下:

打开工程后会发现IP都被锁住了,如下:

此时需要升级IP,操作如下:

FPGA型号不一致处理

如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:


更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;

其他注意事项

1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;

2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;

3:纯FPGA移植到Zynq需要在工程中添加zynq软核;

7、上板调试验证

准备工作

需要准备的器材如下:

ADRV9009子卡;

FPGA开发板;

ADRV9009数据收发效果演示

将ADRV9009子卡连接FPGA开发板的FMC-HP接口,如下:

然后打开vitis,下载程序,具体演示这里不方便展示,敬请见谅

8、工程代码的获取

代码太大,无法邮箱发送,以某度网盘链接方式发送,

资料获取方式:文章末尾的V名片。

网盘资料如下:

此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:

相关推荐
集芯微电科技有限公司1 小时前
40V/3A高性能高集成三相BLDC驱动器具有电流及故障诊断功能(FLT)
c语言·数据结构·单片机·嵌入式硬件·fpga开发
传感器与混合集成电路3 小时前
提升多轴同步精度:DSP+FPGA架构在高端特种装备伺服控制中的应用
嵌入式硬件·fpga开发·架构
贝塔实验室21 小时前
新手如何使用Altium Designer创建第一张原理图(二)
arm开发·fpga开发·硬件工程·dsp开发·射频工程·基带工程·嵌入式实时数据库
s1ckrain1 天前
数字逻辑笔记—组合逻辑电路
笔记·fpga开发·嵌入式
ShiMetaPi1 天前
GM-3568JHF丨ARM+FPGA异构开发板系列教程:基础入门 07 测试命令
arm开发·fpga开发
嵌入式-老费1 天前
ISP基本原理和实现(代码流程)
fpga开发·接口隔离原则
FPGA_无线通信1 天前
OFDM 调制解调
fpga开发
贝塔实验室1 天前
新手如何使用Altium Designer创建第一张原理图(一)
单片机·嵌入式硬件·fpga开发·proteus·硬件工程·基带工程·嵌入式实时数据库
Troke1 天前
Xilinx FIFO IP中两种读模式的简单分析
fpga开发·fifo