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.

[参考译文] DAC3482:正弦波输出严重失真,局部跟随锯齿形状

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/652003/dac3482-sine-wave-output-badly-distorted-locally-following-sawtooth-shape

部件号:DAC3482
主题中讨论的其他部件: DAC5687DAC5688

尊敬的任何能帮我解决问题的人

我在定制电路板上使用DAC3482已有几天,但所有的试用都被发现失败。 测试条件和观察到的结果如下所示。

1.测试条件

1)操作参数

-数据时钟:100MHz

- DAC时钟:100MHz (外部,无内插(1x)且NCO已禁用)

- FIFO同步:单同步源模式,与非周期帧同步(双模式也经过测试,但结果相同)

-数据格式:Word格式

-测试输入:频率1亿/1024Hz(=97.66kHz)处1024处的正弦波

2)注册设置和配置顺序

注册     值

0        0x009C

1        0x000E

2        0xF082

3        0xA000

7        0xD8FF

12       0x0400

13       0x0400

20       0x0000

21       0x5000

24       0x2808

26       0x0020

27       0x0800

9.      FIFO偏移(正确选择,不会发出FIFO碰撞警报)

31       0x1110

32       0x2201 (且TXENABLE变为高)

5        0x0000 (循环最后4行,直到不再发生FIFO冲突)

结果

1)始终发生报警FIFO 1或2 AWA以外

2)输出波形严重失真(

3)锯齿形状周期,在观察到的输出中为16个数据时钟周期

4) 拍摄的照片(请查看信封,但不要介意小故障,因为我认为以后可以通过调整时钟相位来处理小故障)

感谢您的关注!

此致,

垫片

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

    我想我终于通过偶然的机会解决了这个问题。 我将插值因子4x更改为8x。 DATA_CLK和DAC_CLK之间的关系是什么? 我需要4个插值,因此我分别为DATA_CLK和DAC_CLK提供了100MHz和400MHz。 这有什么问题吗? 我不明白如果我将插值系数设置为8,它是怎么工作的。 DAC3482是否在处理信号时同时使用上升边缘和下降边缘?  

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

    你好,Shim,

    是的,DAC3482同时使用DAC CLK的上升和下降边缘(DDR)。

    此致,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复,Dan! 但是,我对我的问题和您的答案感到困惑。 我问的是DAC_CLK,而不是DATA_CLK。 上面的时序图是关于DATA_CLK的,我知道要传输的数据在两端都采样。 但我不知道DAC_CLK是否也同时使用这两种方法。 从结果看,似乎是这样。 现在一切都很完美,但我仍然不明白为什么我必须将插值系数设置为8倍,而不是4倍,尽管我需要4倍的插值,并且提供DAC_CLK的速度比DATA_CLK快四倍。

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

    你好,沈振中,  

    当您说您的实验使用 8倍内插法“有效”时 ,您是否认为您的输出频率现在更加平滑? 如果是这样,8x内插比4x内插使用更多的滤波,这可能是您看到更平滑的输出信号的原因,但是在您的设置中,输出频率将不正确。 您是否还观察到正确的输出频率?  

    优素福

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

    您好Yusuf,

    不,我并不是说 输出  更流畅。 当我将插值因子设置为8倍时,我的主板中的DAC3482开始正常工作,没有任何问题:没有变形,也没有异常的锯齿封套。 我不明白为什么我将插值系数设置为8倍而不是4倍。 我在字宽模式下分别提供100MHz和400MHz时钟,作为DATA_CLK和DAC_CLK,因为我要 将基带信号的频率转换为IF @125MHz,并且需要 4x内插。  我  在第一篇文章中提供了所有有关设置的详细信息。  我的想法和做法是否有任何错误? 但是,4x内插结果出现异常行为。 当我将插值因子4x更改为8x时,它突然开始工作。 但为什么呢? 如果我查看一下IF SAW滤波器前面的输出信号,我有125MHz的基本 IF信号和图像,其中一个显示为275MHz。 这对我来说很奇怪,因为 它的工作方式就像插值因子 是4倍的深度,而  它目前被设置为8倍。 如果插值因子8x有效,我应该提供800MHz 作为DAC_CLK,不应该?  此外,我们的应用是雷达, DAC3482用于生成NLFM信号。 我以前使用的是DAC5687,之后是DAC5688。  两者 都显示 了任意相位损伤,无法解决。 这就是我 迁移到DAC3482的原因, 尽管上面有我不理解的奇怪行为,但它确实工作正常。 感谢您的关注,Yusuf。

    垫片   

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

    你好,沈振中,  

    所以我研究了复制你的注册设置,但我没有成功。 但是,在设置中使用数据时钟和DAC时钟速率测试插值1x和2x时,一切都很适合我。  

    因此,我不确定DAC3482和您的设置有什么问题,但对于数据时钟和DAC时钟之间的关系,我发现了一些可能有用的信息。  

    FIFO输出时钟= DacClk/2/插值

    这可以在DAC3482数据表的第31页中找到。 如果进行数学运算,则FIFO输出时钟是FIFO的一半。 但是FIFO输出时钟的数据读数应该是设计的两倍,因此输入和输出速率保持一致。在您的设置中,您似乎必须通过将插值增加一个系数来模拟FIFO输出时钟等式中的除以2 两个。

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

    您好Yusuf,

    非常感谢您的回答。 但是,您突出显示的线条是我完全不理解的内容。 正如我所说,我的DAC3482自定义板工作正常,没有涉及FIFO的错误或警报。 如果是这样,FIFO输出时钟速率不应该是DACCLK/2/插值,而是我的情况下是DACCLK/插值*2,因为DATACLK和DACCLK分别为100MHz和400MHz。 但为什么插值因子应该是8而不是4? 输出的频谱类似于插值因子为4。 我想问TI插值的含义是什么。 这是否与教科书中的内容有所不同?

    您永远不要尝试我在第一篇文章中附加的注册设置,因为它们不起作用。 我所做的最大更改是插值系数4到8,它清除了所有错误和FIFO警报。 但我不知道为什么。 这是我的问题,仍然没有解决。 您在数据表中突出显示的说明相当混乱。 对我来说,寄存器设置,数据表和结果似乎不一致。 这是我在玩了几天,玩了我的定制板之后得出的结论。 我现在很高兴,因为我的3482主板不管怎么说都能完美工作。

    非常感谢,

    垫片

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

    关于注册设置。 我试图说我上传了您的寄存器设置,但无法复制您在上面显示的失真波形结果,更改插值后也不成功。 我知道您对FIFO输出等式感到困惑。 数据表显示FIFO时钟是内部生成的,方法是将DACCLK除以系数2,然后再除以插值系数。 从数学角度讲,FIFO输出频率是DACCLK/(2*Interpolation)是正确的。 我想告诉你的是,由于某种原因,你必须手动模拟方程式分母中的(*2),方法是将内插值增加2倍,这样你的测试才能正常工作。 这确实很奇怪,因为这应该在内部完成。 您是否可以向我发送适用于您工作设置的所有DAC寄存器设置?

    谢谢

    优素福
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Yusuf,
    多么快速的回应! 很高兴您能从世界的另一端快速回复。 我的注册设置如下。

    0 0x049E

    1. 0x000E

    二 0xF0D2

    3. 0xA000

    7. 0xD8FF

    12. 0x0400

    13. 0x0400

    20. 0x0000

    21. 0x5000

    24岁 0x2808

    26. 0x0020

    27. 0X0800

    31. 0x2120

    32岁 0x2400 (且TXENABLE变为高电位)

    5. 0x0000 (循环最后4行,直到不再发生FIFO冲突)

    就是这样。 谢谢!
    垫片
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    附注:我知道为什么输出是锯齿形的。 这是因为输出FIFO速率比输入速率快2倍。 插值因子4至8的变化解决了不匹配问题,FIFO警报消失。 显示在第三个尼奎斯特区域中的图像表示内插系数为4,而不是8。 那么我的问题是“TI的插值是什么意思?”。 它与教科书中的一般描述是否有所不同?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对,我理解这也是问题所在。 我不理解的是,为什么插值因子是正确的。 DAC应生成FIFO输出时钟,方法是先将DAC_clock除以系数2,然后再再除以插值系数。 因此,您不需要输入两倍的插值速率,它就可以工作。

    TI的插值定义是经典定义。 (data_clock *插值= dac时钟)。 即使正常工作,也会出现错误。 对于100M &的Data_clock和400m的DAC时钟,插值因子为4x,因此应该工作。 有问题导致DAC生成错误的FIFO输出时钟。 我想再试一次。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是一种实时对话。 是的,我觉得我们的关切现在正趋于一致。 我设置了寄存器并提供了DATA_CLK和DAC_CLK,假设内插系数为4。 但它不起作用。 我将插值因子4更改为8后,它就开始工作了。 这正是问题的关键。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,沈振中,

    我不能很清楚你为什么会遇到这个问题。 在我的最后,使用正确的插值因子一切正常。 我想更重要的是,它现在对你有用,这也让我高兴。

    谢谢

    优素福