码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • AD9371 官方例程HDL详解之JESD204B RX侧时钟生成


    AD9371 系列快速入口

    AD9371+ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发

    ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射

    AD9371 官方例程 时钟间的关系与生成 : AD9371 官方例程HDL详解之JESD204B TX侧时钟生成(一)

    AD9371 官方例程 时钟间的关系与生成 : AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (二)

    采样率和各个时钟之间的关系 : AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (三)

    参考资料:
    UltraScale Architecture GTH Transceivers User Guide UG576

    Generic JESD204B block designs

    文章目录

    • 前言
    • 一、RXOUTCLK
    • 二、RX Serial Clock 和 PMA Parallel Clock
    • 三、RX 和 RX_OS 的 LaneRate
    • 四、AD9371官方例程 RXOUTCLK、 RXUSRCLK 和 RXUSRCLK2


    前言

    RX侧 RXUSRCLK、 RXUSRCLK2、25 MHz clock 和TX基本相同

    一、RXOUTCLK

    在这里插入图片描述
    RXOUTCLK 经过 BUFG_GT后 驱动RXUSRCLK2和RXUSRCLK ,RXOUTCLK 可以根据 RXOUTCLKSEL 选择来源,根据下述程序 RXOUTCLK = 3’b011; 选择 RXPLLREFCLK_DIV1
    在这里插入图片描述
    sys_clk_sel = ADXCVR_SYS_CLK_CPLL=0;

    RXOUTCLK 来自于 CPLL 的参考时钟,可知 QPLL0、 QPLL1、 CPLL的参考时钟 都是 MGTREFCLK 通过 IBUFDS_GTE4后提供到channel 的 GTREFCLK0,即 ref_clk1,AD9528 的 OUT1,RXOUTCLK 来源于AD9528 的 OUT1 。

    二、RX Serial Clock 和 PMA Parallel Clock

    在这里插入图片描述
    RX Serial Clock 是利用 RX 相位插值 CDR, 从接收数据中恢复出的串行时钟
    在这里插入图片描述
    PMA Parallel Clock 是恢复出的高速时钟经过 串行 并行分频器后得到的,官方例程中 PMA Parallel Clock 和 后续的 RXUSRCLK、 RXUSRCLK2 时钟不在一个时钟域 ,需要 RX Elastic Buffer跨时钟域

    在这里插入图片描述

    三、RX 和 RX_OS 的 LaneRate

    rx_lane_rate 和 采样率之间的关系

    在这里插入图片描述
    M是有几个转换器,每个采样数据是16 bit,经过8B/10B编码到 20bit , L是有几个LANE传数据

    对于demo中RX, 2T2R,M=4(1发 需要IQ 两路转换器), L=2(demo 分配2个LANE ) 的情况下 ,根据IQ rate(122.88M) 可以求得所需的RxLineRate(4915.2 MHz)
    IQRate  = R x L i n e R a t e 40 \text {IQRate }=\frac{{RxLineRate} }{40} IQRate =40RxLineRate​

    对于 RX_OS, M=2(观察或者嗅探采样器), L=2(demo 分配2个LANE ) 的情况下 ,根据IQ rate(122.88M) 可以求得所需的RxOSLineRate(2457.6 MHz)
    IQRate  = R x O S L i n e R a t e 20 \text {IQRate }=\frac{{RxOSLineRate} }{20} IQRate =20RxOSLineRate​

    四、AD9371官方例程 RXOUTCLK、 RXUSRCLK 和 RXUSRCLK2

    例程中 RXUSRCLK 和 RXUSRCLK2时钟 由 RXOUTCLK 经过BUFG_GT后生成,RXOUTCLK 选择的 RXPLLREFCLK_DIV1 ,又选择的 CPLL 的参考时钟(QPLL0/1 和CPLL 同一个参考时钟),即ref_clk1

     BUFG_GT i_rx_bufg (
        .CE (1'b1),
        .CEMASK (1'b0),
        .CLR (1'b0),
        .CLRMASK (1'b0),
        .DIV (3'd0),
        .I (rx_out_clk_s),
        .O (rx_out_clk));
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    RXOUTCLK 经过BUFG_GT后连接到每个Channel 的 rx_out_clk_< N >,例程使用的rx_out_clk_0和 rx_out_clk_2,输入到axi_ad9371_rx_clkgen和 axi_ad9371_rx_os_clkgen,产生对应的RXUSRCLK、 RXUSRCLK2和Link rate(对于 RX,Channel 0和1的 RXUSRCLK、 RXUSRCLK2和Link rate 速率都是 LineRate/40=4915.2 MHz/40= 122.88;对于 RX_OS,Channel 2和3的 RXUSRCLK、 RXUSRCLK2和Link rate 速率都是 LineRate/40=2457.6 MHz/40= 61.44;)

    在这里插入图片描述

    rx_clk_0、rx_clk_1、rx_clk_2、rx_clk_3 接入每个对应Channel 的 RXUSRCLK 和 RXUSRCLK2

        .RXUSRCLK (rx_clk),
        .RXUSRCLK2 (rx_clk),
    
    • 1
    • 2

    生成的 RX link clk 为 链路层 和 传输层 提供 122.88MHz 时钟
    rx_jesd status:
    Link is enabled
    Measured Link Clock: 122.881 MHz
    Reported Link Clock: 122.880 MHz
    Lane rate: 4915.200 MHz
    Lane rate / 40: 122.880 MHz
    LMFC rate: 3.840 MHz
    Link status: DATA
    SYSREF captured: Yes
    SYSREF alignment error: No
    在这里插入图片描述
    生成的 RX_OS link clk 为 链路层 和 传输层 提供 61.44MHz 时钟
    rx_os_jesd status:
    Link is enabled
    Measured Link Clock: 61.441 MHz
    Reported Link Clock: 61.440 MHz
    Lane rate: 2457.600 MHz
    Lane rate / 40: 61.440 MHz
    LMFC rate: 3.840 MHz
    Link status: DATA
    SYSREF captured: Yes
    SYSREF alignment error: No
    在这里插入图片描述
    rx_adc: Successfully initialized (122880554 Hz)
    rx_obs_adc: Successfully initialized (122882080 Hz)

    JESD204B RX 传输层 给应用层 的格式配置见 AD9371 官方例程HDL详解之JESD204B RX侧 格式配置

  • 相关阅读:
    Shopee马来西亚站点7.7大促激励活动热力开启,知虾数据助力大数据选品!
    /main/binary-i386/Packages 404 File not found
    Swift高仿iOS网易云音乐Moya+RxSwift+Kingfisher+MVC+MVVM
    数据分析:人工智能篇
    Jenkins结合Gitlab,实现镜像构建及推送
    66从零开始学Java之集合中的Collection体系
    iTOP-RK3568开发板Linux 修改kernel logo
    01. 课程简介
    Django admin 站点管理
    Java练习题第八期:求数组中超过数组长度一半的数字
  • 原文地址:https://blog.csdn.net/weixin_44630490/article/details/134083722
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号