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.

[参考译文] AFE7799:JESD204C 同步问题

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/967707/afe7799-jesd204c-synchronization-problem

器件型号:AFE7799
主题中讨论的其他器件:AFE7769EVMAFE7769

您好!

我正在尝试通过 JESD204C 将 ZC102 EVM 板与 AFE7769EVM-3p5模块通信。 我使用的是 Xilinx JESD204C 和 JES204 PHY IP。 在 Vivado、我将通道速率设置为8.11008、并将 REFCLK 设置为122.88Mhz。 我正在通过 Latte 软件配置 AFE7769EVM 板。 python 脚本的主要参数如下所示。

当我使用 JESD204PHY IP 的输出端配置 FPGA 和 AFE7769 EVM 时,我观察到无效的2位同步报头(如0011),并且无法建立同步。 (在收发器的输出端)  

除了这个眼图外、通道也接近预期(非常糟糕)、但我看不到任何原因、因为两个卡都是 EVM、应该正确设计。  

您是否知道问题可能是什么?  您是否有 适用于 ZCU 102板的 JESD204C 示例设计? (您之前向我发送了 JESD204B 的示例设计、 它正在工作。  因此我似乎也需要 JESD204C:)

我认为我的 AFE 配置文件可能不正确。 那么、您是否有适用于 JESD204C 的 Latte python 配置文件?

提前感谢。

TAMER。

sysParams.FRef = 491.52
sysParams.fs = 2949.12
sysParams.pllMuxModes = 0
0:4T4R 模式、PLL0作为主器件。 所有 LOS 的 PLL 0。
1:4T4R 模式、PLL2作为主器件。 所有 LOS 的 PLL 2。
#2:4T4R FDD 模式。 用于 TX 的 PLL0和用于 RX 的 PLL2。
3:2*2T2R FDD 模式:PLL0 AB-TX;PLL3 AB-RX;PLL2 CD TX;PLL4 CD RX
4:2T2R FDD - TDD 模式:PLL0 AB-TX;PLL3-AB-RX;PLL2 CD
sysParams.pllLo =[3500.01、sysParams.fs、3501.06、1800.24、3400.0] PLL 的 PLL 频率[0、1、2、3、4]
sysParams.setTxLoFbNcoFreqForTxCalib =正确

##在下面的参数中、首先在数组中用于第一个2T2R1F 和第二个2T2R1F。

# JESD 和串行器/解串器参数
sysParams.useSpiSysref =错误
sysParams.LMFSHdRx =[28810"、"28810"]
sysParams.LMFSHdFb =["12820"、"12820"]
sysParams.LMFSHdTx =["48410"、"48410"]
sysParams.systemMode =[1、1]# 0 -相同、1-FDD、2-TDD
sysParams.dedicatedLaneMode =[1、1]
sysParams.jesdProtocol = 2#0#1#0 #-0:B;1:H;2:C
sysParams.serdesFirmware =正确
sysParams.jesdTxLaneMux =[1、0、2、3、4、5、6、7]#[0、1、2、3、4、5、6、7]# RX1、RX2、RX3、RX4、FB1、FB2
sysParams.jesdRxLaneMux =[0、1、2、3、4、5、6、7]#[0、1、2、3、4、5、6、7]
sysParams.jesdRxRbd =[15、15]
sysParams.jesdScr =[错误、错误]
sysParams.serdesTxLanePolarity =[假、假、假、假、真、真、真]
sysParams.serdesRxLanePolarity =[假、假、假、假、真、真、真]
sysParams.jesdK =[1、1]
sysParams.syncLoopBack =真
sysParams.jesdLoopbackEn = 1.
sysParams.jesdTxRxABSyncMux = 0
sysParams.jesdTxRxCDSyncMux = 0
sysParams.jesdTxFBABSyncMux = 0
sysParams.jesdTxFBCDSyncMux = 0
sysParams.jesdRxABSyncMux = 0
sysParams.jesdRxCDSyncMux = 0
#sysParams.jesdABLvdsSync = True
#sysParams.jesdCDLvdsSync = True

#抽取和内插参数
sysParams.ddcFactorRx =[24、24]
sysParams.ddcFactorFb =[12、12]
sysParams.ducFactorTx =[12、12]

sysParams.fbNco =[3500.01、3500.01]
sysParams.lowIfNcoRx =[0、0]
sysParams.lowIfNcoTx =[0、0]
sysParams.lowIfNcoFb =[0、0]

LMKParams.pllEn =正确
LMKParams.lmkFrefClk =真
LMKParams.inputClk = 1474.56
LMKParams.sysrefFreq = 3.84

如果 simulationMode=False:
setupParams.skipFpga=1
setupParams.skipLmk = 0
AFE.skipRxConfig=0
AFE.skipFbConfig=0
AFE.skipTxConfig=0
AFE.skipAgc=0

sysParams.gpioConfigMode=1.

''
PAP 配置
sysParams.txDSAUpdateMode=1.
对于 I IN 范围(4):
sysParams.srConfigParams[i]['GainStepSize']=38
sysParams.srConfigParams[i]['AttnStepSize']=38
sysParams.srConfigParams[i]['AmplUpdateCycles']=6
sysParams.srConfigParams[i]['threshold']=30
sysParams.srConfigParams[i]['enable']=True
sysParams.srConfigParams[i]['mode']=10

#Ext AGC 配置
对于 I IN 范围(4):
sysParams.agcRegConfigParams[i]['enableIa']=0
sysParams.agcRegConfigParams[i]['phmOvrEn']=1
sysParams.agcRegConfigParams[i]['enableSa']=0
sysParams.agcRegConfigParams[i]['enableSd']=0
sysParams.agcRegConfigParams[i]['enableBa']=1
sysParams.agcRegConfigParams[i]['gainControl']=4.
sysParams.agcRegConfigParams[i]['fdsaOffset']=6

INT 引脚
sysParams.intPinsParams[0]['JESD']=True
sysParams.intPinsParams[0]['SPI']=True
sysParams.intPinsParams[0]['SRTXA']=True
sysParams.intPinsParams[0]['SRTXB']=True
sysParams.intPinsParams[0]['SRTXC']=True
sysParams.intPinsParams[0]['SRTXD']=True
sysParams.intPinsParams[0]['PLL0']=True
sysParams.intPinsParams[0]['PLL1']=True
sysParams.intPinsParams[0]['PLL2']=True
sysParams.intPinsParams[0]['PLL3']=True
sysParams.intPinsParams[0]['PLL4']=True
''

校准
sysParams.enableRxDSaFactoryCal =错误
sysParams.enableTxDSaFactoryCal =错误
sysParams.enableTxIqmcLolTrackingCorr =错误
sysParams.enableRxIqmcLolTrackingCorr = True
sysParams.txIqMcCalibMode = 0# 0 -单 FB 模式 FB AB;1 -单 FB 模式 FB CD;2 -双 FB_Mode
sysParams.txDSaCalibMode = 0
sysParams.rxDSaCalibMode = 0

logDumpInst.setFileName(ASTERIX_DIR+DEVICES_DIR+r"\config.txt")
logDumpInst.logFormat=0x4
logDumpInst.rewriteFile=1
logDumpInst.rewriteFileFormat4=1

device.optimizeWrites=0
device.rawWriteLogEn = 1.
device.rewriteFile=1
device.rawWriteLogsFile=Asterix_DIR+device_DIR+r"\test.txt"#"D:\AFE77xx_config/testBroadcast.txt"
lmk rawWriteLogEn = 0
lmk rawWriteLogsFile=device.rawWriteLogsFile

# AFE.initializeConfig ()
AFE.deviceBringup ()

device.rawWriteLogEn = 1.
lmk rawWriteLogEn = 0

engine.sampleNo=32768

AFE.TOP.OverrideTdd (1、1、1)

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

    您好、Tamer、

    感谢您的更新

    关于您的问题:

    [引用 user="tamer gudu">]当我使用 JESD204PHY IP 的输出端观察到无效的2位同步报头(如0011)配置 FPGA 和 AFE7769 EVM 时,无法建立同步。 (在收发器的输出端) [/报价]

    我假设您正在谈论 AFE7769 EVM 上行链路(从 AFE 的射频接收器到 JESD204 TX、再到 FPGA 的 JESD204 RX)。 是这样吗?

    您能否提供同步报头错误的 Vivado 捕获? 多块(即32x 块)的快照应该足够了。

    AFE7769仅支持 CRC3和 CRC12。 它不支持 FEC。 您能否再次检查 Xilinx JESD204C IP 的配置方式是否相同?

    如果是 AFE7769下行链路(AFE JESD204 RX 的射频发送器、FPGA 的 JESD204 TX 的数据流)、则必须查看 Xilinx IP 是否正确配置。 如果 AFE7769检测到同步报头错误,则会在执行 AFE.adcDacSync()命令时看到生成错误。

    要仔细检查的另一件事是 FPGA 和 AFE EVM 是否具有通用基准源。 122.88MHz 时钟由 ZCU102 EVM 或 AFE7769 EVM 生成? 122.88MHz 时钟应来自 AFE7769 EVM、因此 FPGA 和 AFE EVM 共享相同的通用时钟源、以避免数据漂移。  

    关于您的下一个问题:

    [引用 user="tamer gudu"]除了该通道眼图外、其他通道都接近预期(非常糟糕)、但我看不到任何原因、因为两个卡都是 EVM、应正确设计。  [/报价]

    您指的是采集的哪一侧? 这也是 FPGA 方面吗? 我们能够在 AFE7769侧执行眼图。 我相信我们已经与您分享了命令。  

    一位同事 Matish 将在新年后休假回来。 返回后、我们将使用 TSW14J58 EVM 检查您的设置、看看我们是否有同样的问题。 当前的 TSW14J58 EVM 使用 Xilinx JESD204C IP。  

    我们 TI 自己的 JESD204C 可能需要更多时间才能实现64b/66B 编码。 新年过后、我还会询问团队。 非常感谢。

    -Kang

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

    您好!

    感谢您的快速回复。

    我假设您正在谈论  AFE7769 EVM 上行链路(从 AFE 的射频接收器到 JESD204 TX、再到 FPGA 的 JESD204 RX)。 是这样吗?

    是的。 我将讨论 AFE 到 FPGA。

    您能否提供同步报头错误的 Vivado 捕获?

    这是 SYcn 标头错误的捕获。 我从 PHY 输出获取了捕获。 如您所知、Xilinx JESD204C IP 由两部分组成。 一个包括收发器(JESD204 PHY)、另一个用于 JESD 协议。 数据取自 PHY 的输出。  在 PHY 的输出端、我希望 SYNC 信号应该为高电平、因为我假设它显示找到了正确的同步报头。 我通过仿真验证此假设。 在仿真中、它会在一段时间后变为高电平。

     AFE7769 仅支持 CRC3和 CRC12。 它不支持 FEC。  

    在 Xilinx JESD IP 中、此检查在 JESD204C 部分中进行(有配置选项)、而不是在 JESD204C PHY 部分中进行。 我的问题在 FEC 控制之前存在。

    要仔细检查的另一件事是 FPGA 和 AFE EVM 是否具有通用基准源。 122.88MHz 时钟由 ZCU102 EVM 或  AFE7769 EVM 生成?  

    我  通过 FMC 连接器将 JESD_PHY IP 的 REFCLK 连接到 GTXCLK (122.88)的 LMK 输出。 如 JESD IP 用户手册中所述、也可使用 BUF_GTS 从此时钟获取内核时钟。 我还将 AFE EVM 的 REFCLK 连接到 Xilinx IP 的 REFCLK。 因此、答案是肯定的、它们具有一个通用基准源。 我假设时钟的路由很好、因为两个卡都是 EVM。

     您指的是采集的哪一侧? 这也是 FPGA 方面吗?  

    是的。 JESD204 PHY (GT 收发器的输出)的输出端具有 I CAPTURE 总线。  

    此外、我还应该更正我的 Xilinx EVM 板是 ZCU111而不是 ZCU102、这在上一篇文章中是错误的、但我认为这不是问题、因为这两个电路板都使用 Zynq MPSoC。

     返回后、我们将使用 TSW14J58 EVM 检查您的设置、看看我们是否有同样的问题。  

    下面是我用于获取上述捕获的完整 Python 文件。

    感谢你的帮助。

    新年快乐!

    TAMER。

    2T2R FDD 模式:PLL0 AB-TX;PLL3 AB-RX;PLL2 CD TX;PLL4 CD RX
    4:2T2R FDD - TDD 模式:PLL0 AB-TX;PLL3-AB-RX;PLL2 CD
    sysParams.pllLo =[3500.01、sysParams.fs、3501.06、1800.24、3400.0] PLL 的 PLL 频率[0、1、2、3、4]
    sysParams.setTxLoFbNcoFreqForTxCalib =正确

    ##在下面的参数中、首先在数组中用于第一个2T2R1F 和第二个2T2R1F。
    # JESD 和串行器/解串器参数
    sysParams.useSpiSysref =错误
    sysParams.LMFSHdRx =[28810"、"28810"]
    sysParams.LMFSHdFb =["12820"、"12820"]
    sysParams.LMFSHdTx =["48410"、"48410"]
    sysParams.systemMode =[1、1]# 0 -相同、1-FDD、2-TDD
    sysParams.dedicatedLaneMode =[1、1]
    sysParams.jesdProtocol = 2#0#1#0 #-0:B;1:H;2:C
    sysParams.serdesFirmware =正确
    sysParams.jesdTxLaneMux =[1、0、2、3、4、5、6、7]#[0、1、2、3、4、5、6、7]# RX1、RX2、RX3、RX4、FB1、FB2
    sysParams.jesdRxLaneMux =[0、1、2、3、4、5、6、7]#[0、1、2、3、4、5、6、7]
    sysParams.jesdRxRbd =[15、15]
    sysParams.jesdScr =[错误、错误]
    sysParams.serdesTxLanePolarity =[假、假、假、假、真、真、真]
    sysParams.serdesRxLanePolarity =[假、假、假、假、真、真、真]
    sysParams.jesdK =[1、1]
    sysParams.syncLoopBack =真
    sysParams.jesdLoopbackEn = 1.
    sysParams.jesdTxRxABSyncMux = 0
    sysParams.jesdTxRxCDSyncMux = 0
    sysParams.jesdTxFBABSyncMux = 0
    sysParams.jesdTxFBCDSyncMux = 0
    sysParams.jesdRxABSyncMux = 0
    sysParams.jesdRxCDSyncMux = 0
    #sysParams.jesdABLvdsSync = True
    #sysParams.jesdCDLvdsSync = True

    #抽取和内插参数
    sysParams.ddcFactorRx =[24、24]
    sysParams.ddcFactorFb =[12、12]
    sysParams.ducFactorTx =[12、12]

    sysParams.fbNco =[3500.01、3500.01]
    sysParams.lowIfNcoRx =[0、0]
    sysParams.lowIfNcoTx =[0、0]
    sysParams.lowIfNcoFb =[0、0]

    LMKParams.pllEn =正确
    LMKParams.lmkFrefClk =真
    LMKParams.inputClk = 1474.56
    LMKParams.sysrefFreq = 3.84

    如果 simulationMode=False:
    setupParams.skipFpga=1
    setupParams.skipLmk = 0
    AFE.skipRxConfig=0
    AFE.skipFbConfig=0
    AFE.skipTxConfig=0
    AFE.skipAgc=0

    sysParams.gpioConfigMode=1.

    ''
    PAP 配置
    sysParams.txDSAUpdateMode=1.
    对于 I IN 范围(4):
    sysParams.srConfigParams[i]['GainStepSize']=38
    sysParams.srConfigParams[i]['AttnStepSize']=38
    sysParams.srConfigParams[i]['AmplUpdateCycles']=6
    sysParams.srConfigParams[i]['threshold']=30
    sysParams.srConfigParams[i]['enable']=True
    sysParams.srConfigParams[i]['mode']=10

    #Ext AGC 配置
    对于 I IN 范围(4):
    sysParams.agcRegConfigParams[i]['enableIa']=0
    sysParams.agcRegConfigParams[i]['phmOvrEn']=1
    sysParams.agcRegConfigParams[i]['enableSa']=0
    sysParams.agcRegConfigParams[i]['enableSd']=0
    sysParams.agcRegConfigParams[i]['enableBa']=1
    sysParams.agcRegConfigParams[i]['gainControl']=4.
    sysParams.agcRegConfigParams[i]['fdsaOffset']=6

    INT 引脚
    sysParams.intPinsParams[0]['JESD']=True
    sysParams.intPinsParams[0]['SPI']=True
    sysParams.intPinsParams[0]['SRTXA']=True
    sysParams.intPinsParams[0]['SRTXB']=True
    sysParams.intPinsParams[0]['SRTXC']=True
    sysParams.intPinsParams[0]['SRTXD']=True
    sysParams.intPinsParams[0]['PLL0']=True
    sysParams.intPinsParams[0]['PLL1']=True
    sysParams.intPinsParams[0]['PLL2']=True
    sysParams.intPinsParams[0]['PLL3']=True
    sysParams.intPinsParams[0]['PLL4']=True
    ''

    校准
    sysParams.enableRxDSaFactoryCal =错误
    sysParams.enableTxDSaFactoryCal =错误
    sysParams.enableTxIqmcLolTrackingCorr =错误
    sysParams.enableRxIqmcLolTrackingCorr = True
    sysParams.txIqMcCalibMode = 0# 0 -单 FB 模式 FB AB;1 -单 FB 模式 FB CD;2 -双 FB_Mode
    sysParams.txDSaCalibMode = 0
    sysParams.rxDSaCalibMode = 0

    logDumpInst.setFileName(ASTERIX_DIR+DEVICES_DIR+r"\config.txt")
    logDumpInst.logFormat=0x4
    logDumpInst.rewriteFile=1
    logDumpInst.rewriteFileFormat4=1

    device.optimizeWrites=0
    device.rawWriteLogEn = 1.
    device.rewriteFile=1
    device.rawWriteLogsFile=Asterix_DIR+device_DIR+r"\test.txt"#"D:\AFE77xx_config/testBroadcast.txt"
    lmk rawWriteLogEn = 0
    lmk rawWriteLogsFile=device.rawWriteLogsFile

    # AFE.initializeConfig ()
    AFE.deviceBringup ()

    device.rawWriteLogEn = 1.
    lmk rawWriteLogEn = 0

    engine.sampleNo=32768

    AFE.TOP.OverrideTdd (1、1、1)

     

     

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

    您对此问题有什么看法吗?

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

    你好,Kang,

    我发送了 Vivado 拍摄照片。 你对这个问题有什么想法

    谢谢。

    TAMER。

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

    您好、Tamer、

    在64/66B 模式下、现有 Latte 版本似乎存在一些问题。 请下载并安装最新版本的 v2.18 Latte 并重新检查。 我们已经检查了一些 JESD204C 64/66B 模式编码、似乎效果良好

    https://txn.box.com/s/suilorzar9pgzwuptvkuzgxtt245cvdk

    -Kang

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

    你好,Kang,

    我使用此版本生成的文件安装了新版本的 Latte 和 config AFE。 我终于开始看到了  

    更正了同步报头和同步信号。 很棒! 非常感谢你的帮助。 我还有两个问题:

    1.我已从 TI 安全软件下载 AFE 技术参考手册。 该文档的修订日期为2019年11月。 是否有的新版本  

      文档?

    2.当我尝试将 AFE 配置为 8.11008Gbps 的线路速率时,Latte 会将进入 FPGA GT 参考时钟输入的 LMKclock 输出配置为线路速率的1/33,即245.76。

      它是否应为122.88MHz 的线路速率的1/66? 有什么意图吗?  因为 Xilinx FPGA JESD IP 要求内核时钟速率为线路速率的1/66。

    祝你度过美好的一天!

    Tamer Güdü 博士

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

    您好、 Tamer Güdü ö m 博士

    [引用用户="tamer gudu"]

    1.我已从 TI 安全软件下载 AFE 技术参考手册。 该文档的修订日期为2019年11月。 是否有的新版本  

      文档?

    [/报价]

    是的、这是 TRM 的最新版本。

    [引用用户="tamer gudu"]

    2.当我尝试将 AFE 配置为 8.11008Gbps 的线路速率时,Latte 会将进入 FPGA GT 参考时钟输入的 LMKclock 输出配置为线路速率的1/33,即245.76。

      它是否应为122.88MHz 的线路速率的1/66? 有什么意图吗?  因为 Xilinx FPGA JESD IP 要求内核时钟速率为线路速率的1/66。

    [/报价]

    最初的目的是配置我们的 TSW14J56 EVM 所需的 FPGA 时钟。 您始终可以通过以下命令行根据自己的需求将参考时钟更改为 FPGA。 请将其添加到配置脚本中、然后执行脚本以完成设置。 例如、以下行将 FPGA 时钟配置为184.32MHz。

    setupParams.fpgaRefClk = 184.32

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

    谢谢。