JESD204 ip核使用与例程分析(二)

news2025/5/24 1:06:37

JESD204 ip核使用与例程分析(二)

  • JESD204时钟方案
  • 专用差分时钟对
  • 例程分析
    • jesd204_0_transport_layer_demapper
    • jesd204_0_sig_chk
    • jesd204_0_clocking
    • jesd204_0 ip核
      • port
      • 寄存器
      • AXI-LITE寄存器配置
    • jesd204_phy ip核

JESD204时钟方案

在这里插入图片描述
图3-1所示为最通用、灵活的时钟解决方案。在图中,refclk和glblclk均由同一外部时钟芯片产生,进入FPGA后分别作为JESD204_PHY内部收发器的参考时钟和JESD204 IP核的核时钟。在这种方式下,参考时钟和核时钟完全物理上分离,它们可以运行在不同的时钟频率下而没有相互限制。

唯一的限制就是参考时钟的频率值要根据收发器线速率的大小而选择,核时钟的频率值则完全等于线速率的1/40倍。

假设线速率为6.25G,那么核时钟的频率值为6.25G/40=156.25MHZ,参考时钟频率也可选156.25MHZ

专用差分时钟对

  input                   refclk0p,
  input                   refclk0n,

  input                   glblclkp,
  input                   glblclkn,
  • refclk0p/n 是SerDes专用参考时钟,必须专用;
  • glblclkp/n 是FPGA内部逻辑的全局时钟,强烈建议专用,以保证系统的稳定和可靠。最好专用

例程分析

vivado自带例程,假设ADC分辨率为14bit,含2bit控制位;

jesd204_0_transport_layer_demapper

该模块用于JESD204协议接收端的Transport Layer(传输层)解包。

  • 输入为宽总线格式的串行接收数据(rx_tdata[255:0]),以及数据有效信号(rx_tvalid)。
  • 将输入的256位数据流,按照JESD204协议格式,分离成8个通道(Channel 0~7),每个通道包含两个采样数据(sampl0、sampl1)和两个控制位(cntrl0、cntrl1)。
  • 每个采样数据为14位,每个控制信号为2位。
  • 对每个通道的数据和控制信号进行寄存,同步输出到下一级模块,便于后续数据处理和分析。
  • 通过ready_out信号,指示当前输出数据是否有效。

在代码移植,实现JESD204功能时不使用该模块,自己拆分ADC接收到的数据

jesd204_0_sig_chk

  • 该模块是JESD204示例工程中的信号校验模块,用于对接收到的多通道采样数据和控制信号进行自动比对和校验。
  • 输入为8个通道的采样数据(每通道2组采样,每组采样14位)和控制信号(每通道2个控制信号,每个2位)。

为什么每个通道两组采样?
每个通道有两组采样,是因为JESD204协议和IP核设计时,为了提高数据吞吐率和链路利用率,每个时钟周期会打包传输多个采样数据。这样既能高效利用带宽,也方便后续数据处理。

原因1:

  • JESD204协议在数据传输时,通常会将多个采样数据打包在一个数据帧/多帧中,以提高链路利用率和吞吐率。
  • 在FPGA端,每个时钟周期从IP核输出的数据总线(如256位)往往包含了多个采样点的数据,而不是单一采样。

原因2:提升数据吞吐率

  • JESD204链路速率很高,单个采样数据位宽较小(如8位、14位等)。
  • 每个时钟周期传输多个采样,可以充分利用总线带宽,减少时钟频率压力,提高系统效率。

jesd204_0_clocking

  • 接收两组差分时钟输入信号:
    refclk_pad_p/n:SerDes(高速收发器)参考时钟输入
    glblclk_pad_p/n:FPGA全局时钟输入
    通过 Xilinx 的专用差分输入缓冲器(IBUFDS_GTE2 和 IBUFDS)将差分时钟信号转换为单端时钟信号,供后续电路使用。

  • 全局时钟分布
    使用全局时钟缓冲器(BUFG)对全局时钟进行缓冲和分发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Blurry Loading (毛玻璃加载)

📅 我们继续 50 个小项目挑战!—— Blurry Loading 组件 仓库地址:https://github.com/SunACong/50-vue-projects 项目预览地址:https://50-vue-projects.vercel.app/ ✨ 组件目标 实现一个加载进度条,随着加载进度的…

演示:【WPF-WinCC3D】 3D工业组态监控平台源代码

一、目的:分享一个应用WPF 3D开发的3D工业组态监控平台源代码 二、功能介绍 WPF-WinCC3D是基于 WPF 3D研发的工业组态软件,提供将近200个预置工业模型(机械手臂、科幻零部件、熔炼生产线、机加生产线、管道等),支持组态…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.4 数据库与表的基本操作(DDL/DML语句)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 1.4 数据库与表的基本操作(DDL/DML语句)1.4.1 数据库生命周期管理(DDL核心)1.4.1.1 创建数据库(CREATE DATABASE&…

如何在电脑上登录多个抖音账号?多开不同IP技巧分解

随着短视频的爆发式增长,抖音已经成为许多人生活和工作的必备平台。不论是个人内容创作者、品牌商家,还是营销人员,都可能需要管理多个抖音账号。如何在电脑上同时登录多个抖音账号,提升工作效率,避免频繁切换账号的麻…

【东枫科技】usrp rfnoc 开发环境搭建

作者 太原市东枫电子科技有限公司 ,代理销售 USRP,Nvidia,等产品与技术支持,培训服务。 环境 Ubuntu 20.04 依赖包 sudo apt-get updatesudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils …

【JAVA资料,C#资料,人工智能资料,Python资料】全网最全编程学习文档合集,从入门到全栈,保姆级整理!

文章目录 前言一、编程学习前的准备​1.1 明确学习目标​1.2 评估自身基础​ 二、编程语言的选择​2.1 热门编程语言介绍​2.2 如何根据目标选择语言​ 三、编程基础学习​3.1 变量与数据类型​3.2 控制结构​3.3 函数​ 四、面向对象编程(OOP)​4.1 OOP…

[IMX] 05.串口 - UART

目录 1.通信格式 2.电平标准 3.IMX UART 模块 4.时钟寄存器 - CCM_CSCDR1 5.控制寄存器 5.1.UART_UCR1 5.2.UART_UCR2 5.3.UART_UCR3 6.状态寄存器 6.1.UART_USR1 6.2.UART_USR2 7.FIFO 控制寄存器 - UART_UFCR 8.波特率寄存器 8.1.分母 - UART_UBIR 8.2.分子 -…

使用Tkinter写一个发送kafka消息的工具

文章目录 背景工具界面展示功能代码讲解运行环境创建GUI程序搭建前端样式编写功能实现代码 背景 公司是做AR实景产品的,近几年无人机特别的火,一来公司比较关注低空经济这个新型领域,二来很多政企、事业单位都采购了无人机用于日常工作。那么…

MongoDB 与 EF Core 深度整合实战:打造结构清晰的 Web API 应用

题纲 MongoDB 字符串连接 URIC# 连接字符串实例 实现一个电影信息查询 demo创建项目创建实体实现 DbContext 上下文仓储实现服务实现控制器实现服务注册快照注入数据库连接配置1. 注册配置类2. 注入 IOptionsSnapshot<MongoDbSettings>3. 配置文件 appsettings.json 示例…

重写B站(网页、后端、小程序)

1. 网页端 1.1 框架 Vue ElementUI axios 1.2 框架搭建步骤 搭建Vue 1.3 配置文件 main.js import {createApp} from vue import ElementUi from element-plus import element-plus/dist/index.css; import axios from "axios"; import router from…

文档债务拖累交付速度?5大优化策略文档自动化

开发者在追求开发速度的过程中&#xff0c;往往会忽视文档的编写&#xff0c;如省略设计文档、代码注释或API文档等。这种做法往往导致在后期调试阶段需要花费三倍以上的时间来理解代码逻辑&#xff0c;进而形成所谓的文档债务&#xff0c;严重拖累交付速度并造成资源浪费。而积…

【数据结构与算法】LeetCode 每日三题

如果你已经对数据结构与算法略知一二&#xff0c;现在正在复习数据结构与算法的一些重点知识 ------------------------------------------------------------------------------------------------------------------------- 关注我&#x1f308;&#xff0c;每天更新总结文章…

基于深度学习的电力负荷预测研究

一、深度学习模型框架 在当今数字化时代&#xff0c;基于深度学习的电力负荷预测研究正成为保障电力系统稳定、高效运行的关键领域。其模型构建是一个复杂而精妙的过程&#xff0c;涉及多学科知识与前沿技术的融合应用。首先&#xff0c;要明确电力负荷预测的目标&#xff0c;…

篇章十 消息持久化(二)

目录 1.消息持久化-创建MessageFileManger类 1.1 创建一个类 1.2 创建关于路径的方法 1.3 定义内部类 1.4 实现消息统计文件读写 1.5 实现创建消息目录和文件 1.6 实现删除消息目录和文件 1.7 实现消息序列化 1. 消息序列化的一些概念&#xff1a; 2. 方案选择&#xf…

【IDEA】删除/替换文件中所有包含某个字符串的行

目录 前言 正则表达式 示例 使用方法 前言 在日常开发中&#xff0c;频繁地删除无用代码或清理空行是不可避免的操作。许多开发者希望找到一种高效的方式&#xff0c;避免手动选中代码再删除的繁琐过程。 使用正则表达式是处理字符串的一个非常有效的方法。 正则表达式 …

基于深度学习的不良驾驶行为为识别检测

一.研究目的 随着全球汽车保有量持续增长&#xff0c;交通安全问题日益严峻&#xff0c;由不良驾驶行为&#xff08;如疲劳驾驶、接打电话、急加速/急刹车等&#xff09;引发的交通事故频发&#xff0c;不仅威胁生命财产安全&#xff0c;还加剧交通拥堵与环境污染。传统识别方…

第十周作业

一、CSRF 1、DVWA-High等级 2、使用Burp生成CSRF利用POC并实现攻击 二、SSRF&#xff1a;file_get_content实验&#xff0c;要求获取ssrf.php的源码 三、RCE 1、 ThinkPHP 2、 Weblogic 3、Shiro

Python操作PDF书签详解 - 添加、修改、提取和删除

目录 简介 使用工具 Python 向 PDF 添加书签 添加书签 添加嵌套书签 Python 修改 PDF 书签 Python 展开或折叠 PDF 书签 Python 提取 PDF 书签 Python 删除 PDF 书签 简介 PDF 书签是 PDF 文件中的导航工具&#xff0c;通常包含一个标题和一个跳转位置&#xff08;如…

集星獭 | 重塑集成体验:新版编排重构仿真电商订单数据入库

概要介绍 新版服务编排以可视化模式驱动电商订单入库流程升级&#xff0c;实现订单、客户、库存、发票、发货等环节的自动化处理。流程中通过循环节点、判断逻辑与数据查询的编排&#xff0c;完成了低代码构建业务逻辑&#xff0c;极大提升订单处理效率与业务响应速度。 背景…

多模态大语言模型arxiv论文略读(八十八)

MammothModa: Multi-Modal Large Language Model ➡️ 论文标题&#xff1a;MammothModa: Multi-Modal Large Language Model ➡️ 论文作者&#xff1a;Qi She, Junwen Pan, Xin Wan, Rui Zhang, Dawei Lu, Kai Huang ➡️ 研究机构: ByteDance, Beijing, China ➡️ 问题背景…