This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AFE7950:4T4R2F 8b10b 2.4576Gbps 配置不同步

Guru**** 2343770 points
Other Parts Discussed in Thread: AFE7950EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1452860/afe7950-4t4r2f-8b10b-2-4576-gbps-config-not-synchronizing

器件型号:AFE7950

工具与软件:

您好!

我成功推出了 TI ZCU102 64b66b 示例设计、现在我尝试使用连接到 Xilinx ZCU102开发板的 AFE7950EVM 来引入 JESD204B 配置。  以下是我所需的配置:

JESD204B、8b10b SERDES

4 Rx

2 FB

4个发送

ADC fs = 2949.12、 抽取因子为48

ADCFb FS = 2949.12、 抽取因子为24

DAC FS = 11796.48、内插96

串行器/解串器速率= 2457.6.

使用 AFE7950EVM 板载振荡器

我正在构建 TI204C-IP-Release-v1.12-Latest/reference_designs/zcu102_8b10b 设计

我对该设计完成了以下配置:

  1. PLL_INSTS (sys_pll)设置:  
    1. 输入 = 153.6 MHz
    2. 153.6 MHz
    3. CLK_OUT2 = 30.72 MHz -> mgt_freerun_clock
  2. XCVR_INSTRUM(gth_8b10b_xCVR)设置:
    1. 使用了银行129-130
    2. REFCLK=153.6 -注:IP 块显示 Requested clock =156.25、实际时钟153.6
    3. REFCLK 源=组130 MGTREFCLK0
    4. 自由运行时钟频率= 30.72
  3. SYNCB 引脚设置(单端、选择的位置以匹配 AFE7950EVM 库存上的电阻器组装)。  脚本(附加的)中的 GPIO 配置匹配:
    1. SET_PROPERTY PACKAGE_PIN AE3 [GET_PORTS ADC_Rx_SYNC_n]
    2. SET_PROPERTY IOSTANDARD LVCMOS18 [GET_PORTS ADC_Rx_sync_n]
    3. SET_PROPERTY PACKAGE_PIN AF3 [GET_PORTS DAC_TX_SYNC_n]
    4. SET_PROPERTY IOSTANDARD LVCMOS18 [GET_PORTS DAC_TX_SYNC_n]
  4. 更新了 jesd_link_params.vh 以匹配配置和 ZCU102 SERDES 映射

尝试按照 TI204c-Setup.docx 启动设计后、我将遵循以下操作顺序:

  1. 打开 ZCU102电源
  2. 打开 AFE7950EVM 的电源
  3. 打开 Latte
  4. 运行 setup.py
  5. 运行 devInit.py
  6. 运行4T4R2F_2p4576.py
  7. 对 FPGA 进行编程
  8. 释放 MASTER_RESET_n -> 1
  9. 释放 TX_RESET -> 0
  10. 运行 ConfigAfe.py
  11. 释放 RX_RESET -> 0

Latte 日志会报告"逗 号对齐锁定通道0:false;请检查发送器是否正在发送数据、眼图是否正常。"

ILA 显示不可注意的误差和视差误差。  syncb 信号较低、sysref 存在、sysref 重新对齐正在计数:

两个 qpll0实例都报告锁定。  我添加了一个 VIO 来监控 sys_PLL 和 sys_PLL 报告已锁定。

我已尝试附加相关文件。  任何人都可以发现导致 SERDES 无法实现同步的原因吗?  是否有包含 Latte 脚本的 IP、我可以尝试一下、在我的设置中以8b10b 模式工作(可以是不同的采样率/抽取等)?

e2e.ti.com/.../2577.files.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    最新动态:

    我注意到使用示波器测量时153.6 MHz 参考时钟不完全是153.6 MHz、我怀疑 AFE7950EVM 上的 LMK 器件中不能存在乘法/分频比、因此我更新了中的此行  

    4T4R2F_2p4576.py:setupParams.fpgaRefClk = 184.32  

    可由编程的 lmkParams.inputClk = 1474.56整除

    我还更新了 FPGA 设计、以将184.32 MHz 用作 MGTREFCLK 和 SYS_PLL。   

    现在、测量时、参考时钟和衍生的 mgt_freerun_clk 和 sysref 为预期频率。

    此更新会在 Latte 日志中产生一组不同的消息:

    ...

    Sysref 按预期读取

    ###################### 器件 DAC JESD-RX 0链路状态##############

    CS State TX0:0b10101010。 预计为0b10101010

    FS 状态 TX0:0b00000000。 预计为0b01010101

    无法建立器件 RX:0的链路;警报:0x0

    ##########################################################################################

    ###################### 器件 DAC JESD-RX 1链路状态#######

    CS State TX0:0b10101010。 预计为0b10101010

    FS 状态 TX0:0b00000000。 预计为0b01010101

    无法建立器件 RX:1的链路;警报:0x0

    ##########################################################################################

    AFE 配置完成

    AFE 设置完成。 现在执行以下步骤:

    1. 使 Rx 退出复位
    2. 设置 Rx_SYNC_RESET_VIO = 0、Rx_lemc_to_buffer_release_delay[9:0]应更改为非零值
    3. 设置 hw_ila_2并查看波形

    ##===== 错误:2,警告:0====== #

    SYS_PLL 和 qpll0的两个实例已锁定、但 FPGA 中的 ILA 显示 rx_sync_n = 0。  不可注意的和视差误差现在似乎为0。

    这似乎更接近、但尚未同步。  对于我接下来能看到什么、我会很感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    最新动态

    我将4T4R2F_2p4576.py 更新为启用单端 LVCMOS 同步:

    sysParams.jesdABLvdsSync= False

    sysParams.jesdCDLvdsSync= False

    Latte 日志现在显示不同的错误:

    Sysref 按预期读取

    ###################### 器件 DAC JESD-RX 0链路状态##############

    lane0错误=0b1111;GOT 错误:8b/10b 解析错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    lane1错误=0b1111;GOT 错误:8b/10b 解析器错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    Lane2 Errors=0b1111;GOT 错误:8b/10b 解析器错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    lane3错误=0b1111;GOT 错误:8b/10b 解析错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    CS State TX0:0b00000000。 预计为0b10101010

    FS 状态 TX0:0b00000000。 预计为0b01010101

    无法为器件 RX:0建立链路;警报:0xf0f0f00000000L

    ##########################################################################################

    ###################### 器件 DAC JESD-RX 1链路状态#######

    lane0错误=0b1111;GOT 错误:8b/10b 解析错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    lane1错误=0b1111;GOT 错误:8b/10b 解析器错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    Lane2 Errors=0b1111;GOT 错误:8b/10b 解析器错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    lane3错误=0b1111;GOT 错误:8b/10b 解析错误;8b/10b 非表内代码错误;代码同步错误;弹性缓冲器匹配错误。 第一个 NO-/K/与"match_ctrl"和"match_data"编程值不匹配;

    CS State TX0:0b00000000。 预计为0b10101010

    FS 状态 TX0:0b00000000。 预计为0b01010101

    无法为器件 RX:1建立链路;警报:0xf0f0f00000000L

    FPGA ILA:

    e2e.ti.com/.../files_5F00_update2.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    最新动态:

    在 GTH 收发器的映射和极性中、我在中开始使用的 jesd_link_params.vh 版本对于 ZCU102电路板不正确、因此我复制了不同参考设计中的以下代码行:

    `UNDEF LANE_ADC_TO_GT_MAP

    `define LANE_ADC_TO_GT_MAP{3'd 7203 'd 3'd 3'd 3'd 353'd 353'd 3'd 353'd 352'd 'd0}

    `UNDEF LANE_DAC_TO_GT_MAP

    `define LANE_DAC_TO_GT_MAP{3'd 1473 'd、3'd 3'd 353,3'd 353,3'd 353'd 362'd 309'd}

    并将通道分配移动到:  

    `UNDEF LANE_ADC_TO_GT_MAP

    `define LANE_ADC_TO_GT_MAP{3'd、18、3'd 44.3'd 6 'd 3'd 3'd 333'd 35333'd 353'd36'd36'd1}

    `UNDEF LANE_DAC_TO_GT_MAP

    `define LANE_DAC_TO_GT_MAP{3'd 44.3'd 18.3'd 'd 3'd 3|3|3|3|3|3|3|3|3|3|3|2|d|d|1|}=只需其一(帮助)

    事实证明、此版本的源代码需要此赋值(整数的混合形式):

    `UNDEF LANE_ADC_TO_GT_MAP

    `define LANE_ADC_TO_GT_MAP{5、4、6、7、3、0、2、1}

    `UNDEF LANE_DAC_TO_GT_MAP

    `define LANE_DAC_TO_GT_MAP{4、5、6、7、3、0、2、1}

     更改为串联整数、我的设计中的 JESD 现在可以同步。