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: 转换器数据丢失的问题

Part Number: DAC3482

请教一个问题;

我在使用DAC3482时,从fpga发送DAC的数据会丢掉一部分,找不到原因和解决办法,希望有人能给出解决的办法

我做了一块电路板,DAC为DAC3482IRKD,DAC通过LVDS接口连接到FPGA。

1  DAC配置

       DACCLK                            625 MHz(外部、无内插,NCO禁用)

       DATACLK                          312.5 MHz

       LVDS BUS输入模式         Word wide

       插值滤波器                     *1

       FIFO同步                       Sif同步

       锁相环                           By Pass

2  数据输入

       正弦波(DACI和DACQ都是正弦波),LVDS信号,由FPGA产生

3  寄存器设置

       寄存器           设置值

0x00              0x0098

0x01              0x004E

0x02        0x8082

0x03        0xA000

0x07        0x0100

0x09        0x8000

0x18        0x2008

0x19        0x0440

0x1A        0x0020

0x1B        0x0800

0x1F        0x818C

0x20        0x8800

0x1F        0x818E

0x1F        0x818C

0x20        0x0000

0x24        0xE000

0x03        0xA001

4  结果

  • Alarm FIFO  FIFO pointer collision
  • 输出波形失真,DACI和DACQ输出波形上有锯齿状毛刺,将插值滤波器设置为2X(interpolation factor)时,波形依旧,Alarm FIFO有告警
  • 将插值滤波器设置为4X(interpolation factor)时,Alarm FIFO不再告警,DACI和DACQ输出正常的正弦波
  • 保持设置不变的前提下,在fpga中将正弦波数据做出调整,DACI和DACQ的数据都为1个正弦波有效数据+1个0电平,DACI和DACQ能够输出正常的正弦波

  • 将DACI和DACQ的数据数据调整为1个0电平+1个正弦波有效数据,DACI和DACQ都输出0电平

        

  • 从结果看,DAC把fpga过来数据中的sample1、sample3、sample5、sample7…等都丢掉了,丢失波形数据是不能接受的
  • 您好,

    收到了您的案例,调查需要些时间,感您的耐心等待

  • 你好,

    DAC3482在1x插值模式下,I/Q速率为625MSPS。因此,DATACLK需要为625MHz,以便在625MSPS以DDR方式锁存I/Q数据

  • (1)您好,由于担心时序裕量不够,降低DATACLK速率,当采用DACCLK为625 MHz,DATACLK为312.5 MHz,插值滤波器设置为x4时,Alarm FIFO不告警,DACI和DACQ输出正常的正弦波;我们也试验过DACCLK为625 MHz,DATACLK为625MHz,当x1插值时正弦波形呈锯齿状,fifo有报警,波形如同我第一次提问的第一张图片,当x2插值时正弦波形正常,fifo不告警;

    (2)此外我们对dac3482规格书第29页图6-5有疑问,从图中可以看到Fifo Out Clocks是DACCLK/2/ Interpolation Factor,也就是从fifo读出的数据速率和DAC采样速率是不匹配的,是我理解有问题,还是有什么我没有从规格书中看到的?

  • 对于4x插值,DATACLK应为DACCLK/4=625MHz/4=156.25MHz。原因是您需要输入156.25MSPS的I和156.25MSPS的Q数据。因此,您需要156.25MHz时钟以DDR方式锁存I/Q数据。

    根据上述描述,您需要将DATACLK保持在625MHz,以便进行1x插值。您需要确保FPGA具有良好的设置/保持时间。您可以通过以下方式调整设置和保持时间:

    以下区域与设备的内部时钟有关。只要提供正确的DATACLK和DACLK速率,您就不必担心。

  • 感谢您的回复

    根据您的描述,我将降低了clk频率,DATACLK设置为312.5MHz,DACCLK为312.5MHz,插值1X,这时正弦波呈锯齿状,Alarm Fifo告警,按照规格书5.9的描述调整寄存器36的设置值,正弦波没有改善;插值设置为2X后,Alarm Fifo不再告警,正弦波正常,就像我最初描述的一样,当设置为2X后,会丢失波形数据。

    我的疑问是:当插值设为1X时,不管我怎么调整,Alarm Fifo总是告警,当设置为2X时,不再告警,是否还有更进一步的建议

    您的回复中,好像有图片,我只能看到一个方框,看不到内容

  • 感谢您的回复

    我将寄存器config16配置为0x3000,同时调整到合适的建立保持时间,问题得到解决,DAC能正常工作;

    另外我们发现config1寄存器中调整DACI和DACQ输出的+、-极性是bit7、bit6控制的,而非规格书上的bit6、bit5。

  • 请建议客户仔细检查以下内容。寄存器从bit0开始引用0

    数据表中的位6和位5是正确的。