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.

[参考译文] DAC3484:多个 DAC3484输出同步(相位对齐)

Guru**** 2502205 points
Other Parts Discussed in Thread: DAC3484

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/890986/dac3484-multiple-dac3484-output-synchronization-phase-alignment

器件型号:DAC3484

尊敬的 TI 支持:  

我使用的 FPGA 板可驱动同一电路板上的两个 DAC3484芯片。  每个 DAC3484使用双通道输出。 混频器禁用。  

即:DAC 器件1、通道 A 和通道 C

      DAC 器件2、通道 A 和通道 C  

在总共使用的四(4)个 DAC 通道中、我们将其命名为通道1、通道2、通道3和通道4。  

我使用的是双同步源模式。 我基本上可以获得两个 DAC 输出波形"基本同步"、但仍然有一些小问题:

1)。 有时通道1和通道2处于同步状态;通道3和通道4处于同步状态。 但 CH1和 CH3的1~2 μ m 采样值是分开的。  

2)。 有时 CH2、3、4是同步的、但通道1是不同步的。 如下图所示。  

我还在设置 DAC3484之前和之后封闭了 DAC3484寄存器转储。  

您能告诉我在这里的设置可能出错的地方吗? 我的要求是使四(4)个通道(来自两个 DAC 器件)的输出波形相位一致。  

谢谢你。  

美国东

befor 设置 DAC3484
寄存器# 0000 = 0000029c
寄存器编号0001 = 00000000
寄存器# 0002 = 00008082
寄存器# 0003 = 0000f001
寄存器# 0004 = 0000FFFF
寄存器# 0005 = 00000260
寄存器# 0006 = 00003600
寄存器# 0007 = 00000000
寄存器# 0008 = 00000000
寄存器# 0009 = 00000000
寄存器# 000a = 00000000
寄存器# 000b = 00000000
寄存器# 000c = 00000000
寄存器# 000d = 00000000
寄存器# 000e = 00000000
寄存器# 000f = 00000000
寄存器# 0010 = 00000000
寄存器# 0011 = 00000000
寄存器# 0012 = 00000000
寄存器#0013 = 00000000
寄存器# 0014 = 00000000
寄存器# 0015 = 00000000
寄存器# 0016 = 00000000
寄存器# 0017 = 00000000
寄存器#0018 = 00000807
寄存器#0019 = 00000454
寄存器# 001A = 00000020
寄存器# 001b = 00000800
寄存器# 001C = 00000000
寄存器# 001D = 00000000
寄存器# 001e = 00008888
寄存器# 001f = 0000ccc4
寄存器# 0020 = 00008801

寄存器# 0000 = 0000029c
寄存器编号0001 = 00000000
寄存器# 0002 = 00008082
寄存器# 0003 = 0000f001
寄存器# 0004 = 0000efff
寄存器# 0005 = 00000260
寄存器# 0006 = 00003600
寄存器# 0007 = 00000000
寄存器# 0008 = 00000000
寄存器# 0009 = 00000000
寄存器# 000a = 00000000
寄存器# 000b = 00000000
寄存器# 000c = 00000000
寄存器# 000d = 00000000
寄存器# 000e = 00000000
寄存器# 000f = 00000000
寄存器# 0010 = 00000000
寄存器# 0011 = 00000000
寄存器# 0012 = 00000000
寄存器#0013 = 00000000
寄存器# 0014 = 00000000
寄存器# 0015 = 00000000
寄存器# 0016 = 00000000
寄存器# 0017 = 00000000
寄存器#0018 = 00000807
寄存器#0019 = 00000454
寄存器# 001A = 00000020
寄存器# 001b = 00000800
寄存器# 001C = 00000000
寄存器# 001D = 00000000
寄存器# 001e = 00008888
寄存器# 001f = 0000ccc4
寄存器# 0020 = 00008801

在 configuration()之后:
寄存器# 0000 = 0000029c
寄存器编号0001 = 00000000
寄存器# 0002 = 00008082
寄存器# 0003 = 0000f001
寄存器# 0004 = 0000FFFF
寄存器# 0005 = 00000260
寄存器# 0006 = 00003600
寄存器# 0007 = 00000000
寄存器# 0008 = 00000000
寄存器# 0009 = 00000000
寄存器# 000a = 00000000
寄存器# 000b = 00000000
寄存器# 000c = 00000000
寄存器# 000d = 00000000
寄存器# 000e = 00000000
寄存器# 000f = 00000000
寄存器# 0010 = 00000000
寄存器# 0011 = 00000000
寄存器# 0012 = 00000000
寄存器#0013 = 00000000
寄存器# 0014 = 00000000
寄存器# 0015 = 00000000
寄存器# 0016 = 00000000
寄存器# 0017 = 00000000
寄存器#0018 = 00000807
寄存器#0019 = 00000454
寄存器# 001A = 00000020
寄存器# 001b = 00000800
寄存器# 001C = 00000000
寄存器# 001D = 00000000
寄存器# 001e = 00004444
寄存器# 001f = 00004424
寄存器# 0020 = 00001401

寄存器# 0000 = 0000029c
寄存器编号0001 = 00000000
寄存器# 0002 = 00008082
寄存器# 0003 = 0000f001
寄存器# 0004 = 0000efff
寄存器# 0005 = 00000260
寄存器# 0006 = 00003600
寄存器# 0007 = 00000000
寄存器# 0008 = 00000000
寄存器# 0009 = 00000000
寄存器# 000a = 00000000
寄存器# 000b = 00000000
寄存器# 000c = 00000000
寄存器# 000d = 00000000
寄存器# 000e = 00000000
寄存器# 000f = 00000000
寄存器# 0010 = 00000000
寄存器# 0011 = 00000000
寄存器# 0012 = 00000000
寄存器#0013 = 00000000
寄存器# 0014 = 00000000
寄存器# 0015 = 00000000
寄存器# 0016 = 00000000
寄存器# 0017 = 00000000
寄存器#0018 = 00000807
寄存器#0019 = 00000454
寄存器# 001A = 00000020
寄存器# 001b = 00000800
寄存器# 001C = 00000000
寄存器# 001D = 00000000
寄存器# 001e = 00004444
寄存器# 001f = 00004424
寄存器# 0020 = 00001401

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

    您好!

    有关详细信息、请参阅随附的应用手册。 您很可能需要根据经验数据重新调整 FIFO。 请特别参阅第2.5节。  

    http://www.ti.com/lit/an/slaa584/slaa584.pdf

    -Kang

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

    你好,Kang,  

    感谢你的答复。  

    我通读了您的应用手册(slaa584.pdf)、这对了解双同步模式非常有帮助。

    我已尝试调整寄存器设置、但问题仍然存在。 现在的问题是:

    1)。 有时通道1和2处于同步状态;通道3和4处于同步状态、但通道1和通道3可能会被2个数据样本偏移。  

    2)。 有时通道1、2、3处于同步(相位对齐)状态、但通道4通过1~2 μ s 样本不同步。

    3)。 有时通道3、4同步、但通道1和2最多可偏移6个样本。 (见附图)

    在设置 DAC3484前后、我还在这里封闭了我的寄存器转储。 如果这里有任何设置错误、您会给我任何建议吗?  

    befor 设置 DAC3484
    寄存器# 0000 = 0000029c
    寄存器编号0001 = 00000000
    寄存器# 0002 = 00008082
    寄存器# 0003 = 0000f000
    寄存器# 0004 = 0000fffe
    寄存器# 0005 = 00000260
    寄存器# 0006 = 00003a00
    寄存器# 0007 = 00000000
    寄存器# 0008 = 00000000
    寄存器# 0009 = 00000000
    寄存器# 000a = 00000000
    寄存器# 000b = 00000000
    寄存器# 000c = 00000000
    寄存器# 000d = 00000000
    寄存器# 000e = 00000000
    寄存器# 000f = 00000000
    寄存器# 0010 = 00000000
    寄存器# 0011 = 00000000
    寄存器# 0012 = 00000000
    寄存器#0013 = 00000000
    寄存器# 0014 = 00000000
    寄存器# 0015 = 00000000
    寄存器# 0016 = 00000000
    寄存器# 0017 = 00000000
    寄存器#0018 = 00000807
    寄存器#0019 = 00000454
    寄存器# 001A = 00000020
    寄存器# 001b = 00000800
    寄存器# 001C = 00000000
    寄存器# 001D = 00000000
    寄存器# 001e = 00008888
    寄存器# 001f = 0000ccc4
    寄存器# 0020 = 00008801

    寄存器# 0000 = 0000029c
    寄存器编号0001 = 00000000
    寄存器# 0002 = 00008082
    寄存器# 0003 = 0000f000
    寄存器# 0004 = 0000efff
    寄存器# 0005 = 00000260
    寄存器# 0006 = 00003600
    寄存器# 0007 = 00000000
    寄存器# 0008 = 00000000
    寄存器# 0009 = 00000000
    寄存器# 000a = 00000000
    寄存器# 000b = 00000000
    寄存器# 000c = 00000000
    寄存器# 000d = 00000000
    寄存器# 000e = 00000000
    寄存器# 000f = 00000000
    寄存器# 0010 = 00000000
    寄存器# 0011 = 00000000
    寄存器# 0012 = 00000000
    寄存器#0013 = 00000000
    寄存器# 0014 = 00000000
    寄存器# 0015 = 00000000
    寄存器# 0016 = 00000000
    寄存器# 0017 = 00000000
    寄存器#0018 = 00000807
    寄存器#0019 = 00000454
    寄存器# 001A = 00000020
    寄存器# 001b = 00000800
    寄存器# 001C = 00000000
    寄存器# 001D = 00000000
    寄存器# 001e = 00008888
    寄存器# 001f = 0000ccc4
    寄存器# 0020 = 00008801

    在 configuration()之后:
    寄存器# 0000 = 00000298
    寄存器编号0001 = 00000000
    寄存器# 0002 = 00008082
    寄存器# 0003 = 0000f000
    寄存器# 0004 = 0000fffe
    寄存器# 0005 = 00000260
    寄存器# 0006 = 00003a00
    寄存器# 0007 = 00000000
    寄存器# 0008 = 00000000
    寄存器# 0009 = 00000000
    寄存器# 000a = 00000000
    寄存器# 000b = 00000000
    寄存器# 000c = 00000000
    寄存器# 000d = 00000000
    寄存器# 000e = 00000000
    寄存器# 000f = 00000000
    寄存器# 0010 = 00000000
    寄存器# 0011 = 00000000
    寄存器# 0012 = 00000000
    寄存器#0013 = 00000000
    寄存器# 0014 = 00000000
    寄存器# 0015 = 00000000
    寄存器# 0016 = 00000000
    寄存器# 0017 = 00000000
    寄存器#0018 = 00000807
    寄存器#0019 = 00000454
    寄存器# 001A = 00000020
    寄存器# 001b = 00000800
    寄存器# 001C = 00000000
    寄存器# 001D = 00000000
    寄存器# 001e = 00004444
    寄存器# 001f = 00004424
    寄存器# 0020 = 00001401

    寄存器# 0000 = 00000298
    寄存器编号0001 = 00000000
    寄存器# 0002 = 00008082
    寄存器# 0003 = 0000f000
    寄存器# 0004 = 0000efff
    寄存器# 0005 = 00000260
    寄存器# 0006 = 00003600
    寄存器# 0007 = 00000000
    寄存器# 0008 = 00000000
    寄存器# 0009 = 00000000
    寄存器# 000a = 00000000
    寄存器# 000b = 00000000
    寄存器# 000c = 00000000
    寄存器# 000d = 00000000
    寄存器# 000e = 00000000
    寄存器# 000f = 00000000
    寄存器# 0010 = 00000000
    寄存器# 0011 = 00000000
    寄存器# 0012 = 00000000
    寄存器#0013 = 00000000
    寄存器# 0014 = 00000000
    寄存器# 0015 = 00000000
    寄存器# 0016 = 00000000
    寄存器# 0017 = 00000000
    寄存器#0018 = 00000807
    寄存器#0019 = 00000454
    寄存器# 001A = 00000020
    寄存器# 001b = 00000800
    寄存器# 001C = 00000000
    寄存器# 001D = 00000000
    寄存器# 001e = 00004444
    寄存器# 001f = 00004424
    寄存器# 0020 = 00001401

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

    你好,Kang,  

    1).根据 AppNote 启动序列、数据将首先填入 FIFO、然后通过 OSTR 复位读取指针。 之后、TX_ENABLE 设置为高电平以输出波形。  

    我有两个 DAC 芯片、因此需要通过软件逐个为每个 DAC 芯片设置 TX_ENABLE。 从这个角度来看、它是否会导致 DAC 输出波形相位偏移?  

    2)。 我以这种方式实现事件序列:

    (a):复位工作方案;

    (b):将 TX_Enable 设置为高电平。

    (C):打开门、将数据写入 DAC FIFO。

    (D):(c)中打开日期后2个时钟、OSTR 变为高电平以开始读取数据。

    由于 GATE 和 OSTR 是一个全局信号、两个 DAC 芯片同时设为高电平、那么两个 DAC 输出波形是否应该同步? (但测试结果通常被2个时钟偏移)。  

    3)。 如2)中所述。 我的测试结果大多数情况下、偏移量是2个数据样本、有时最多可以是6个数据样本。 我不确定这是否是因为 FIFO 深度为8个采样、所以一个通道延迟一个完整的8个采样? 但是、由于我的栅极和 OSTR 是同时给出的、这怎么会发生呢?  

    谢谢你。

    美国东

     

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

    你(们)好

    按照设计、无需额外的注意、1x DAC3484器件内的通道将同步。 即使在一个 DAC 器件上也看不到一致的输出相位、这一事实表明您的 FPGA 输入模式不是源同步模式。 我认为这不是 DAC 问题。 请仔细检查 FPGA、甚至发送恒定模式以检查数据源的对齐情况。

    另请阐明哪个通道是哪个器件。 我希望您首先重点关注在一个器件的两个通道上获得稳定的同步通道、然后在另一个器件的另两个通道上获得稳定的同步通道。 然后,您可以继续同步两个设备。

    -Kang

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

    你好,Kang,  

    感谢您的回复。  

    我应该在为每个 DAC 器件提供适当的 SYNC 信号后立即更新您、我能够使 DAC 1 (CH1和 CH2)保持同步。 波形完全重叠。  

    DAC 2 (ch3和 Ch4)也重叠。 (请参见下图)。  

    但是、CH1和 CH3之间的偏移大部分时间为2个样本;有时会变为6个样本。  

    请告知、他们在2个样本和6个样本之间跳转的原因是什么? 如果您能在上一帖子中就我的问题提供建议、我将不胜感激。 谢谢你。  

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

    你(们)好

    [引用 user="guodong mei"]

    1).根据 AppNote 启动序列、数据将首先填入 FIFO、然后通过 OSTR 复位读取指针。 之后、TX_ENABLE 设置为高电平以输出波形。  

    我有两个 DAC 芯片、因此需要通过软件逐个为每个 DAC 芯片设置 TX_ENABLE。 从这个角度来看、它是否会导致 DAC 输出波形相位偏移?  

    [/报价]

    TX_ENABLE 与 FIFO 和 ISTR/FRAME/OSTR 异步。 它仅启用 DAC 内核。 器件的延迟完全由 ISTR/FRAME/SYNC/OSTR 控制

    [引用 USER="guodong mei"](c):打开门将数据写入 DAC FIFO。[/引用]

    我不知道您的栅极是什么意思。 如果您正在选通输入数据、则可能会遇到一些问题。 假设您要将输入端的数据与 ISTR/帧/同步信号对齐

    [引用 user="guodong mei"]3)。 如2)中所述。 我的测试结果大多数情况下、偏移量是2个数据样本、有时最多可以是6个数据样本。 我不确定这是否是因为 FIFO 深度为8个采样、所以一个通道延迟一个完整的8个采样? 但是、由于我的栅极和 OSTR 是同时给出的、这怎么会发生呢?  [/报价]

    如何控制 ISTR/FRAME/SYNC? 您将需要控制输入 FIFO 指针复位和输出 FIFO 指针复位、以确保确定性延迟。

    -Kang

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

    您好!

    我现在将关闭此主题、因为我没有听到您的反馈。 您可以随时返回并回复重新打开该主题帖。 祝你好运。

    -Kang

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

    你好,Kang,  

    我正在与硬件电路板设计人员核实您的问题、因此此回复延迟了。  

    虽然我仍在硬件设计中了解 ISTR/帧信号的详细信息、但我将 SYNC 信号用作 WP 复位的 SYNC src。  

    电子邮件中的 GATE 信号是高电平有效信号、启用后、数据开始流入 DAC3484。  

    我的控制流程如下:  

    1)。 我设置 SYNC 信号以复位 WP 指针。

    2)。 20us 后、启用栅极、以使数据流式进入 DAC3484 FIFO。

    3)。 在 GATE 信号之后的2个时钟周期内、OSTR 信号被提供来重新设置 RP 指针。

    4)。 将 TX_Enable 拉至高电平以实现波形输出。  

    此序列中是否存在任何问题?  

    引用您的注释:"假设您将输入端的数据与 ISTR/FRAME/SYNC 信号对齐"

    这是否意味着当数据开始流入时、我还应该同时设置 SYNC 信号以复位 WP 指针?  

    SYNC 和 OSTR 信号是否需要是"脉冲信号"? 还是可以将 WP/RP 复位为永久高电平信号?  

    谢谢你。  

    美国东

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

    国东

    我看到的主要问题是 SYNC 信号与栅极控制不同步。 您只有一个通用20us 延迟。 应用手册中突出显示的一个要求是输入数据必须与 SYNC 输入对齐。 这假设输入数据也是同步加载的。 请仔细检查。  

    -Kang