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.

[参考译文] ADC32RF42:通道使用

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1245496/adc32rf42-lane-usage

器件型号:ADC32RF42
主题中讨论的其他器件: ADC32RF45

您好!

我在1GHz 下以旁路模式(LMFS=42810)使用 ADC32RF42、而 ADC 是12位斜坡数据模式。 我的问题如下:

在此模式下、ADC32RF42是否使用所有4个可用通道? 我认为它在旁路模式下仅使用2个通道、如果我的回答正确、为什么我们将其称为 LMFS=42810、而不是 LMFS=22810?

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

    除了上述问题、我相应地映射了64位 rx_tdata、并每2个内核 clk 周期获取128位数据、如下所示:

    0000S9S8S7S6S5S4S3S2S0、其中 Sx 为12位 Xth 采样。 不过、在12位斜坡模式下、似乎每2个内核 clk 周期丢失10个样本值。 例如,当我在一个 clk 中获取0000S9--S0时,我在另一个 clk 中获取0000S29--S20,即样本 S19--S10缺失。 我非常确信我正确地实现了映射。 您认为我为什么漏掉了一些样本、这是 ADC 在12位斜坡模式下执行的操作吗?

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

    尊敬的 Erdal:

    12位模式为 LMFS=42810。 2个通道用于通道 A、2个通道用于通道 B。ADC 在此模式下表现没有什么不同、因此我认为映射到128位帧会包含该问题。 64位帧(LM F S= 42 8 10) 10)对于此模式、如下所示:

    通道 DA0:S0、S1、S2、S3、S4、 0000
    通道 DA1:S5、S6、S7、S8、S9、 0000

    通道 DB0:S0、S1、S2、S3、S4、 0000
    通道 DB1:S5、S6、S7、S8、S9、 0000

    交换以设置 JESD IP 输出的格式后、每个数据帧应如下所示:  

    通道 DA0:0000、S4、S3、S2、S1、 S0
    通道 DA1:0000、S9、S8、S7、S6、 S5

    通道 DB0:0000、S4、S3、S2、S1、 S0
    通道 DB1:0000、S9、S8、S7、S6 S5

    您是否可以共享 RTL 来说明如何将1个内核时钟的值数据(1帧)映射到128位帧(2个内核时钟值数据)?

    谢谢,Chase

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

    您好!

    首先我要提一下、CHB 断电了、因为我不使用它、我希望除了2个 CHA 通道外、也不需要2个 CHB 通道来获得一整套输出。 我将在下面发送我的简单数据映射器的 RTL 代码。 顺便说一下、SYNC 始终是高电平、即 FPGA 和 ADC 始终是同步的、我不会忽略任何帧错误。

    实体数据映射器是
    端口(
        rx_core_clk :在 std_logic;
        rx_tdata    :在 std_logic_vector 中(63归至0);
        rx_tvalid    :在 std_logic;

        MAPPING DATA_OUT  : OUT STD_LOGIC_VECTOR (127下至0);
        MAPPING DATA_VALID:OUT STD_LOGIC

    );
    结束数据映射器;

    DATA_MAPPERR 的架构行为是

    信号 rx_data_prev:std_logic_vector (63降至0);
    信号切换:std_logic:='0';


    开始

    MAPPING DATA_OUT (127降至120)<= x"00";

    过程(rx_core_clk)
    开始
        如果为 RISING_EDGE (Rx_CORE_clk)、则
          如果(rx_tvalid='1')、则
             切换<=非(切换);
             如果切换为'1'、则
              MAPPING DATA_VALID <='1';

              adc32rf42数据表第40页表14中的- lane 0,数据从左到右
              maping_data_out (11向下至0)  <= rx_data_prev (7向下至0)和 rx_data_prev (15向下至12);
              已映射_DATA_OUT (23至12)<= rx_data_prev (11至8)和 rx_data_prev (23至16);
              maping_data_out (35下至24)<= rx_data_prev (31下至24)和 rx_tdata (7下至4);
              MAPIAD_DATA_OUT (47下降至36)<= Rx_tdata (3下降至0)和 Rx_tdata (15下降至8);
              MAPPING DATA_OUT (59至48)<= rx_tdata (23至16)和 rx_tdata (31至28);

              -通道1
              MAPPING DATA_OUT (71至60)   <= rx_data_prev (39至32)和 rx_data_prev (47至44);
              MAPPING DATA_OUT (83至72)   <= rx_data_prev (43至40)和 rx_data_prev (55至48);
              MAPPING DATA_OUT (95至84)   <= rx_data_prev (63至56)和 rx_tdata (39至36);
              MAPPING DATA_OUT (107下降至96)  <= Rx_tdata (35下降至32)和 Rx_tdata (47下降至40);
              maping_data_out (119向下至108)<= rx_tdata (55向下至48)和 rx_tdata (63向下至60);

             否则
              MAPPING DATA_VALID <='0';
              rx_data_prev <= rx_tdata;
             结束 IF;
          否则
             MAPPING DATA_VALID <='0';
             切换<='0';
          结束 IF;
        结束 IF;
    结束过程;

    结束行为;

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

    我刚刚偶然遇到了以下链接中的线程:

    https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/698658/adc32rf42evm-is-there-any-problem-with-jesd204b-interface?tisearch=e2e-sitesearch&keymatch=adc32rf42#

    在页面底部、他们表示可以在1.5GHz 12位的速率下以每通道8Gb/s 的通道速率运行 ADC32RF42并且主动使用全部四个通道? 是这样吗? 该比率是如何计算的? 对于此采样模式、我们不需要总比特率= 1.5*(64/5)(10/8)=24Gb/s。 由于我们只能对旁路模式使用2个通道、因此通道速率将是24/2=12Gb/s。

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

    我希望你不是从答案:)。

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

    尊敬的 Erdal:

    我的道歉,我刚刚从办公室回来. 我今天将为您介绍这一点。

    谢谢,Chase

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

    您好,请查看我的评论如下。

    为什么您认为我漏掉了一些样本,这是 ADC 在12位斜坡模式中所做的事情吗?

    ADC 在此模式下的表现没有任何不同。 问题不在于您缺少样本、而在于 FPGA 会跳过每隔一个多帧的数据。 如果您可以将 RAW RX_DATA 传递给 ILA、那么可能会更容易注意此处发生的情况。 当样本被"跳过"时、意味着这个地方不会填充0或任何东西、对吧? 下一个显示为 Rx_DATA 的可用数据来自下一个多帧?

    我正在发送下面我的简单数据映射器的 RTL 代码。

    感谢您提供此内容。 我自己不是一个流利的 HDL ,但我将与我们的团队工作,检查是否有什么可能导致这个问题发生在地图。

    在页面底部,用户表示可以在通道速率为8Gb/s 且所有四个通道均处于主动使用状态的情况下以1.5GHz 12位的频率运行 ADC32RF42吗? 是否正确?

    否、此链接帖子不正确。 我不知道 Jim 是如何想出8Gbps 的。 我猜是他使用了1Gsps 而不是1.5Gsps 但他确实键入了1.5Gsps 在线程... 无论哪种方式、您提供的计算都是正确的。 如果仅在一个通道以1.5GSPS 的速率采样、则总吞吐量为24Gbps、因此在2个通道上、每个 SerDes 通道速率将为12Gbps。

    我希望您不会错过答案:)[/报价]

    再也不会! :)

    谢谢耐心!

    此致、Chase

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

    尊敬的 Erdal:

    您是否能够监控 rx_tvalid 以查看它是否在任何时候变成低电平? 该信号来自哪里? Xilinx JESD IP? rx_core_clk 的频率是多少?

    谢谢

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

    感谢您的答复。 我同时监控 rx_tvalid 和 rx_tdata、并确保 rx_tvalid 不会变为低电平。 ILA 监控 rx_tvalid 和 rx_tdata 的采样时钟为 rx_core_clk、以200MHz 运行。 rx_tvalid 和 rx_tdata 从 JESD IP 内核产生。 有一点是、我在电路板上将 ADC32RF42替换为 ADC32RF45 (因为 ADC32RF42和 ADC32RF45引脚兼容)、ADC32RF45工作正常、采样频率为1.5GHz、所有4个通道的工作频率均为6Gb/s。 我告诉你这是因为我不能采取任何更多的措施:(. 如果你有任何想法,为什么我错过了一些多帧请随时发表答案;否则,我们可以关闭标签,并留下它作为一个谜:)。

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

    尊敬的 Erdal:

    谢谢您的留言。 接下来、我想我们可能会认为该线程已关闭、因为您已经得到了即时解决方案。 但我想知道您是否对 ADC32RF45使用同样的12位模式、因此如果我有空闲时间、我可以将其添加到项目列表中进行搜索。 我知道 ADC32RF42和 ADC32RF45的唯一区别是采样率限制、然后调整设置、这些设置可优化不同采样率下的性能。

    谢谢,Chase

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

    您好!

    很抱歉回复延迟。 是的、我也在12位旁路模式下使用 adc32rf45。 采样频率为1.5GHz、可在4个通道上提供4x6Gb/s =24Gb/s 的总通道速率。