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.

[参考译文] ADS4249EVM:将ADS4249EVM与Xilinx 7系列FPGA连接起来"VC707"

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/582036/ads4249evm-interfacing-ads4249evm-with-xilinx-7series-fpga-vc707

部件号:ADS4249EVM
主题中讨论的其他部件:ADS4249,, ADS5463

您好 Richard Prentice:

我正在研究 如何将ADS4249EVM与Xilinx 7系列FPGA "VC707"连接起来。 我已根据下面给出的方框图从VC707中的ADS4249接收时钟和数据,但跳过IDELAY部分。数据和时钟分别在IBUFDS和IBUFGDS中接收,并直接发送至IDDR,然后路由IDDR的输出(Q1和Q2) 到FPGA IO引脚以查看结果。  

  

 示波器的屏幕截图如下所示:

上图中的蓝色信号是从ADS4249EVM到FPGA IO引脚的输入差分时钟, 橙色信号是从ADS4249到FPGA IO引脚的输入双倍数据速率信号,绿色信号是 来自IDDR的输出SDR信号,后者被路由到FPGA IO引脚。 SDR数据同时具有“高”和“低”两种状态,但我没有得到。

或者必须使用IDELAY甚至是慢速采样速率(即10MHz)

感谢您的期待。

此致  

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

    您好,

    您的示波器镜头同时显示高数据和低数据,这是因为您正在查看任意数据的数据流,但却告诉您的示波器轨迹在数据从低到高的位置'触发', 你看的是许多这样的相互叠加的触发器。   触发器周围的两个位总是低/高,因为这是您的触发条件,但触发器前后较远的位有时可能较低,有时较高。  当您覆盖许多此类触发时,您将看到所有这些位都是低到高。   如果您始终将数据模式切换为重复样本,则显示屏将不会像您那样显示低值和高值。

    这是关于您是否需要使用IDELAY元素的单独问题。   要在温度和电压范围内以及许多此类设备之间不同的零件对零件定时变化上可靠地正确捕获IDDR单元中的数据,您需要知道您满足了数据进入IDDR单元的设置和保持时间。   FPGA工具随附的静态计时分析工具将告诉您,如果您可以正确定义计时约束,它将告知FPGA工具来自ADC的数据的最小和最大计时相对于数据时钟的值。   也许您可以在没有IDELAY单元的情况下关闭计时,但也许不能。  在我们的旧TSW1200设计中,FPGA中的数据输入延迟与时钟输入和时钟缓冲器的输入延迟不同, 我发现,对于数据时钟边缘与数据转换对齐的ADC (如ADS5463),时钟缓冲的额外延迟几乎是关闭计时的完美之选。  我只需在时钟上轻触IDELAY两次即可使计时完美。 但对于来自ADS4249这样的数据来说则并非如此,因为它的时钟边缘相对于数据位居中。  在那里,我不得不使用大约15次IDEAY轻触,以匹配时钟输入缓冲引入的额外延迟。  但是,如果没有静态计时分析,您就无法知道这一点。  如果温度上升几度或更多,或者 如果您下次从不同的制造批次中获得设备,您就不知道设计是否会失败。  

    另一种了解您是否已优化时间的方法是将IDEAY添加到设计中, 但是,然后使用不同的IDEAY TAP设置测试设计,直到您看到数据因设置/保持违例而不正确为止-扫描时钟和数据上的IDEAY以查找损坏的位置,然后将IDEAY设置锁定到这些极端之间的中点。  这是第二好的方法,因为它仍然不会告诉您,在数据表计时规范的所有边界条件下,计时都将是良好的-仅在完成IDELAY扫描时存在的条件下。

    此致,

    Richard P.

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

    感谢Richard的详细回复,我将深入分析计时约束并告诉您结果,但现在我将分享我在将ADS4249EVM与VC707连接时在UART上收到的结果。

    00111100000010
    00111100000010
    00111100000000
    11111100000001
    11111100000011
    11111100000010
    11111100000011
    11111100000011
    11111100000011
    11111100000011
    11111100000011
    11111100000001
    11111100000011
    11111100000010
    11111100000000
    11111100000000
    11111100000000
    11111100000011
    11111100000010
    11111100000010
    11111100000010
    11111100000000
    11111100000010
    11111100000010
    11111100000011
    11111100000010
    11111100000011
    11111100000011
    11111100000001
    11111100000010
    11111100000000
    11111100000010
    11111100000011
    11111100000010
    11111100000011
    11111100000011
    11111100000010
    11111100000000
    11111100000011
    11111100000011
    11111100000001
    11111100000001
    11111100000011
    11111100000001
    11111100000000
    11111100000011
    11111100000010
    11111100000011
    11111100000010
    11111100000010
    11111100000001
    11111100000001
    11111100000011
    11111100000000
    11111100000000
    11111100001001
    11111100001001
    11111100000001
    11111100001011
    11111100000001
    11111100000011
    11111100001001
    11111100001001
    11111100001000
    11111100000011
    11111100001011
    11111100001011

    这是我在UART上收到的64个示例。 如您所见,前4位(A0,A1,A2,A3)保持不变,但其余10位保持不变。 我已将时钟设置为10MHz,输入信号为1MHz (正弦波)。 这是预期的结果还是我做了一些错误的事情。

    请提供您的电子邮件地址,我也会向您发送我的代码。  

    谢谢,此致

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

    除上述回放之外。

    输入信号为1V,即使我将其更改为2V,将频率更改为2MHz,最后10位仍保持不变。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    主席先生,我非常期待你在这方面的指导。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    当采样时钟为10MHz,输入为1MHz或2MHz时,您应该会看到输出代码显示输入正弦波每周期5到10个采样的正弦波模式,很明显。   而您捕获的样本并没有显示这一点。  此时,我将使用示波器仔细检查EVM的设置,以确保您看到所有LVDS信号切换,时钟和模拟输入以足够的振幅和正确的共模电压到达ADC, 并且您已正确设置ADC操作模式。   对于10Msps,您需要将ADC置于低速模式。    请确保设置正确。

    如果FPGA接口仍有问题,则使用ADC的测试模式帮助调试FPGA代码。   斜坡和自定义模式的测试模式可能是最有用的。   自定义模式可用于将模式设置为000000 0000 0001,以查看您在正确位置捕获lsb,然后是模式000000 0000 0010,以此类推。  这有助于查找DDR时钟极性反向等问题。   那么斜坡模式就是一种算术计数模式。当FPGA能够正确捕获此模式时,您应该让ADC接口工作。  如果您要发送FPGA代码,我们没有资源来审查和调试它。

    此致,

    Richard P.

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

    感谢Richard的回复。

    由于我没有使用IDELAY基元会导致问题,如果是,您可以引导我使用IDELAYE2基元(适用于7系列) 因为我没有获得其端口描述设置和选项卡值设置来将 VC707套件上通过 ADS4249EVM通过FMC适配器接收的时钟和数据的延迟结合起来。

    谢谢,此致

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

    您好,

    我们没有使用IDELAY2基元,也没有为LVDS接口编程Virtex7系列。 您需要与Xilinx合作。   无论您的问题是与计时还是其他编码问题有关,我都建议再次使用测试模式来调试如何将数据正确锁定到FPGA。

    此致,

    Richard P.