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.

[参考译文] AFE7920EVM:4 个通道之间的 Rx 和放大器 (Tx) 相位同步

Guru**** 2586785 points
Other Parts Discussed in Thread: AFE7920EVM, AFE7920

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1561602/afe7920evm-phase-synchronization-in-rx-tx-between-the-4-channels

器件型号:AFE7920EVM
主题: AFE7920 中讨论的其他器件

工具/软件:

我们使用 AFE7920EVM 板连接到 JESD204B 中的 AMD Zynq UltraScale+、在 GNSS 频率范围(基本上从 1160 到 2500MHz) 内)内执行 Rx 和 Tx 采集。

我们需要在 4 个 Rx 通道之间进行相位对齐。 4 个 Tx 通道之间也相同。

我们可以在通道之间存在相位差、但我们需要在系统重启之间和时间上保持恒定、以便能够进行补偿。

Zynq 使用 SPI 配置 AFE7920、并运行 CAFE 库。 初始配置是  使用运行 python 脚本的 Latte 转储、我们现在会在开始时使用生成的二进制文件加载它。

我们的设置如下:

  • IQ 采样率为 184.32MHz
  • 对于 Rx、我们连接一个以 1575MHz 为中心的 CW 发生器、在 4 个 Rx 输入上连接一个分离器 1 -> 4。 我们通过 JESD204B 链路收到 Zynq 中的 4 个通道。
  • 对于 Tx、我们在 Zynq 的 FPGA 部分的 4 个通道上生成 CW 的 1MHz(4 个通道之间的数据完全相同)、并使用 JESD204B 链路将其发送到 AFE。 AFE 配置为在 1575MHz 处发送数据。

 

在 Rx 中、一切都正常、随着时间的推移和系统重新启动之间、4 个 Rx 通道之间的相位差是恒定的(+/- 0.6 度)。

 

在 Tx 中、情况并非如此。 4 个 Tx 通道之间的相位差随着时间的推移是恒定的、但在系统重新启动之间差异很大、即使在没有系统重新启动的情况下停止/启动传输也是如此。

基本上、在初始化之后、我们为每个 Tx 通道使用 CAFE 函数 updateTxNco 来设置传输频率。 这也是我们在停止/启动传输时所做的工作(我们再次设置相同的频率)。

我认为 Tx 通道的 NCO 没有相同的相位、因为它们不是同时启动。

 

为了在 Tx 中始终具有相同的相位差、我们应该怎么做?

 

此致、

Florian。

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

    尊敬的 Florian:

    根据设计、单个 AFE7920 的 RX 和 TX 通道均同步。 我将请 Mirana 帮助为您提供有关 TX 同步的一些建议。

    -康

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

    尊敬的 Florian:

    请尝试使用 C API 函数 updateTxNcoPhase ()。 您可以手动设置所有 TX 通道的相位。 请告知我、此方法是否提供了您设置的预期结果。  

    请注意、在使用此函数之前、应将“sysParams.txChainDirectctrl"设置“设置为 1。  

    谢谢!

    Mirana

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

    你好、Mirana & Kang、

    感谢您对我的问题的回答和支持。

    很遗憾、我无法在 10 月初之前进行测试、因为我们的硬件目前不可用。

    关于建议的职能、我对它的作用和工作原理有几个疑问。
    由于信号相位连续变化、所设置的相位究竟是什么?
    它是设置发出指令的那一刻吗?
    我需要将所有 4 个 NCO 用于具有相同相位的 4 个通道、这是可以理解的。

    但由于我不能用一个指令来设置所有 4 个 NCO 的相位,这是否能完成工作?
    如果我将 NCO 通道 1 的相位设置为 0、那么通道 2、通道 3 和通道 4 是否同步并具有相同的相位?

    另外、sysParams.txChainDirectctrl = 1 的效果对我来说也相当神秘。 它在做什么? 我没有找到关于它的任何信息。
    该代码似乎在使用 Latte 进行系统初始化期间使用、因此在我们这边、它将影响生成的用于初始化的 SPI 二进制文件。

    今天、我们的脚本中似乎此参数设置为 0、因为它是默认值、因此我们需要更改它并重新转储 SPI 配置。


    感谢您回答我关于 NCO 阶段的问题。

    此致、
    Florian。

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

    尊敬的 Florian:  

    1. 这是一种数控振荡器 (NCO)、因此我们可以以数字方式向 NCO 添加相位差。 观察相位差的最佳方法是使用单音波形。  
    2. 是的、您可以一次设置相位一个 NCO、它们应对齐。  
    3. sysParams.txChainDirectCtrl 函数决定了如何配置 TX 数字路径中的混频器。 TX 路径支持前后两个混频器、因此某些功能/功能仅在使用后置混频器时才起作用。 通过将  sysParams.txChainDirectCtr 设置为 1、将 TX 数字路径配置为仅使用反向混频器。 这使我们能够更新 NCO 相位并使用所有可配置的 NCO 值。  

    谢谢!

    Mirana

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

    您好、Mirana、

    我们现在能够对我们的硬件进行测试、因此我们已经测试了您建议的配置更改。

    遗憾的是、设置  sysParams.txChainDirectCtrl = 1 会在 Latte 中返回错误:

    ERROR_LOG

    我不明白为什么我们有这个问题,我们的配置相当标准:  

    FDac =  11 796、48MHz

    FadcFb = 2 949、12MHz

    DUC 因数= 64

    请您帮助我们吗?

    谢谢、此致。

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

    尊敬的 Florian:  

    我正在查看并尝试在我的设置中进行复制。 您能提供您的配置文件供我测试吗?  

    谢谢!

    Mirana

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

    e2e.ti.com/.../TI_5F00_IP_5F00_7Gbps_5F00_4Lane_5F00_ConfigLmk.py.txt

    您好、Mirana、这是我们的脚本。 将 Tx DAC 频率更改为 8 847、36MHz、即可接受配置。 但我们不知道如何使用 FCW。

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

    您还能告知我们应使用哪个函数来更新 Tx 频率吗?

    updateTxNcoMultiNcoMode() 或 updateTxNco()?

    目前、我们使用 updateTxNco ()、但它似乎不起作用(在工作台上,频谱分析仪上的 Tx 频谱在与设定的频率不对应的频率下有 2 个峰值)。 我们已经注意到在 Latte 脚本中 使用了函数 updateTxNcoMultiNcoMode ()。

    我们使用拿铁 2p8 和咖啡 2p6。

    谢谢。

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

    尊敬的 Florian:  

    updateTxNcoPhase() 函数仅适用于等于或小于 9G 的 Fdac 速率。 对于 9G Fdac 速率、DAC 也不能处于 IL 模式。   

    由于您使用的是单频段配置、因此 updateTxNco () 函数应该足够了。 不过、在使用 updateTxNco () 函数后、我在设置中看到了类似的行为。  当 txDirectChainCtrl 参数设置为 0 时、updateTxNco () 函数的工作方式似乎符合预期。 我 正在测试寄存器写入、以便更新 NCO 相位、没有该参数。 我会尽快更新你,我感谢你的耐心!

    谢谢!

    Mirana

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

    您好、Mirana、

    感谢您抽出宝贵的时间来帮助我们。

    实际上,相位稳定性是通过设置  txDirectChainCtrl=1 实现的,因此我们不需要使用 updateTxNcoPhase ()。  

    我们已设置 Fdac =  8 847、36MHz 并使用 updateTxNcoMultiNcoMode () 和 updateRxNcoMultiNcoMode () 来更改频率、并且开始/停止和系统重新启动之间的相位差现在是恒定的。 我们还成功测试了 TDD 覆盖。

    通过该设置、我们已实现了相位稳定性所需的一切。

    我们方面的另一个问题是动态更改奈奎斯特区域  、如下所述:AFE7920EVM:如何在初始配置后使用操作码更新系统 

    谢谢、

    Florian。