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

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.pswp.cn/bicheng/81978.shtml

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

相关文章

微软全新开源的Agentic Web网络项目:NLWeb,到底是什么 ?

目录 1、背景 2、NLWeb是什么? 3、NLWeb是如何工作的? 3.1 技术原理 3.2 对发布者的价值 3.3 核心团队与合作伙伴 4、快速入门指南 5、延伸阅读 Agentic:Agent的形容词,Agentic指系统由大型语言模型(LLM&#…

前端性能优化的秘密武器:Preload 与 Prefetch 的深度解析

前端性能优化的秘密武器:Preload 与 Prefetch 的深度解析 在前端开发中,页面加载速度直接影响用户体验和业务转化率。而“资源预加载”技术,正是优化加载性能的核心手段之一。本文将深入浅出地讲解 Preload 与 Prefetch 这两项技术&#xff…

App Builder技术选型指南:从AI编程到小程序容器,外卖App开发实战

在2025年快速迭代的技术生态中,开发者构建App的路径愈发多样化。本文以开发一个同城外卖App为例,对比当前主流的AI编程工具(如Cursor、GitHub Copilot、Trae)与小程序容器技术(如FinClip)的优劣势、难易度及…

深度学习入门到实战:用PyTorch打通数学、张量与模型训练全链路​

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 一. 人工智能、机器学习与深度学习的关系 1.1 概念层次解析 人工智能(AI):使机器模拟人类智能的广义领域 机器学…

windows服务器部署jenkins工具(一)

jenkins作为一款常用的构建发布工具,极大的简化了项目部署发布流程。jenkins通常是部署在linux服务上,今天给大家分享的是windows服务器上如何搭建jenkins发布工具。 1.首先第一步还是看windows安装docker 这篇文章哈,当然也可以不采用docke…

前端开发规范性利器系列之:ESLint

前言 我是一名从事低代码平台研发的前端CV程序猿,有几十名像我一样的小伙伴协同研发。在长期的多人协作和滚动迭代中,不出意外,代码中会充斥各种“坏味道”,如代码风格不统一、扩展性和灵活性降低等问题。我们是如何解决这些问题的…

数据结构知识点汇总

1、在数据结构中,随机访问是指能够直接访问任一元素,而不需要从特定的起始位置开始,也不需要按顺序访问其他元素。这种访问方式通常不涉及遍历。例如,数组(array)支持随机访问,你可以直接通过索…

ubuntu中上传项目至GitHub仓库教程

一、到github官网注册用户 1.注册用户 地址:https://github.com/ 2.安装Git 打开终端,输入指令git,检查是否已安装Git 如果没有安装就输入指令 sudo apt-get install git 二、上传项目到github 1.创建项目仓库 进入github主页,点击号…

C#在 .NET 9.0 中启用二进制序列化:配置、风险与替代方案

在 .NET 9.0 中启用二进制序列化:配置、风险与替代方案 引言一、启用二进制序列化的步骤二、实现序列化与反序列化三、安全风险与缓解措施四、推荐替代方案五、总结 引言 在 .NET 生态中,二进制序列化(Binary Serialization)曾是…

如何解决鸿蒙应用闪退问题

如何解决鸿蒙应用闪退问题 本文是一份面向 ArkTS/JavaScript/C 多语言开发者的综合性排查与优化手册,覆盖 HarmonyOS/OpenHarmony 5.x 时代 常见闪退根因、诊断流程、调试技巧、CI 监控及线上防护方案,力争帮你把 Crash 数量降到 …

【Java高阶面经:微服务篇】4.大促生存法则:微服务降级实战与高可用架构设计

一、降级决策的核心逻辑:资源博弈下的生存选择 1.1 大促场景的资源极限挑战 在电商大促等极端流量场景下,系统面临的资源瓶颈呈现指数级增长: 流量特征: 峰值QPS可达日常的50倍以上(如某电商大促下单QPS从1万突增至50万)流量毛刺持续时间短(通常2-4小时),但对系统稳…

关于我对传统系统机构向大模型架构演进的认知

最近这段时间在研究大模型,不可避免会接触到架构。从我职业经历一路走来,自然会拿着现有模型的架构和我之前接触到的系统架构进行对比。今天就大模型的架构和传统系统架构进行一下梳理,说一说我的见解。 在我眼里,传统系统架构如…

图片识别(TransFormerCNNMLP)

目录 一、Transformer (一)ViT:Transformer 引入计算机视觉的里程碑 (二)Swin-Transformer:借鉴卷积改进 ViT (三)VAN:使用卷积模仿 ViT (四)…

性能测试、压力测试、负载测试如何区分

一、前言:为何区分三者如此重要? “你们做过压力测试吗?”“系统性能测试做得怎么样?”“负载测试的数据能分享一下吗?” 在很多软件开发与测试团队的日常沟通中,“性能测试”“压力测试”“负载测试”这…

工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比

工业路由器的技术优势 在现代工业环境中,网络连接的可靠性与效率直接影响生产效率和数据处理能力。WiFi 6(即802.11ax)和5G技术的结合,为工业路由器注入了强大的性能,使其成为智能制造、物联网和边缘计算的理想选择。…

紫光同创FPGA实现AD9238数据采集转UDP网络传输,分享PDS工程源码和技术支持和QT上位机

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目紫光同创FPGA相关方案推荐我这里已有的以太网方案本方案在Xilinx系列FPGA的应用方案 3、设计思路框架工程设计原理框图AD输入源AD9238数据采集AD9238数据缓存控制模块…

如何修改服务器管理员账号名和密码(1)

命令解析sudo useradd -m -s /bin/bash 新用户名 1. sudo 作用:以超级用户(root)权限执行命令 为什么需要:创建用户需要修改系统文件(/etc/passwd, /etc/shadow等),普通用户没有这个权限 替代方案:如果已经是root用户&#xff0…

Linux shell 正则表达式高效使用

Linux正则表达式高效使用教程 正则表达式是Linux命令行中强大的文本处理工具,能够极大提高搜索和匹配效率。下面为新手提供一个简单教程,介绍如何在grep和find命令中使用正则表达式。 使用建议:使用grep时要加-E选项使其支持扩展正则表达式&…

你通俗易懂的理解——线程、多线程与线程池

一:异常处理 1.1 异常概述 (1)场景 (2)定义 (3)异常抛出机制 Java把不同的异常用不同的类表示 (4)如何对待异常 1.2 常见异常类 (1)Throwable &am…

w~自动驾驶~合集13

我自己的原文哦~ https://blog.51cto.com/whaosoft/13933252 # 小米智能驾驶技术的一些猜测 来蹭一下小米汽车智能驾驶的热度,昨晚听了雷总小米汽车的发布,心潮澎湃寻思下单一辆奈何现实不允许hhh。 言归正传吧, 本来是想主要听一下小米…