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:DATACLK 和 DACCLK 以及 PLL 不工作

Guru**** 2392775 points
Other Parts Discussed in Thread: CDCE62005, DAC3484

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1536928/dac3484-dataclk-and-dacclk-and-pll-not-working

器件型号:DAC3484
Thread 中讨论的其他器件:CDCE62005

工具/软件:

您好:  

我不熟悉 DAC、正在尝试开始我的第一个设计。

我的系统由 Avnet Microzed 7020 FPGA 板构建而成、该板通过 2 个 DAC3484 和一个 CDCE62005 连接到 PCB。  

我的目标是从其中一个 DAC 设置正弦波。 我的 FPGA 中有一个 DDS 编译器、它提供 5MHz 的正弦波、我设法控制 CDCE 以输出正确的频率(我在 FPGA 输出侧测量了 DATACLK,其行为符合预期)。 我创建了一个 Vitis 应用、该应用遵循数据表的编程示例、包括一个中断来按 RESETB 按钮、但出于某种原因、我会不断获取 DACCLK_GONE 和 DATACLK_GONE、因此 OUTPUT_GONE、ALARM_FROM_PLL 和 ALARM_FROM_fifo。

我初始化的信号包括:
F_DACCLK= 400MHz(参考)
800MHz
(P=5、N=8、M=16、PLL_ENA=1、PLL_SLEEP=0)
F_NCO= 10MHz (0x033334)  
F_DATACLK= 100MHz(在 FPGA 的输出端,已验证)
F_SYNC= 5MHz(源自 slaa584 的公式)
 

F_FRAME=PLL(尽管 25MHz 电路不需要它,但这是我设置的频率)。

这些是 DAC 寄存器的初始化值、通过 FPGA 中的 3 线 SPI 模式传输。

#define DAC_DEFAULT_CONFIG0 0x029C //允许通道 AB 反向正弦。 插值= 4、FIFO 启用
#define DAC_DEFAULT_CONFIG1 0x010E //禁用奇偶校验
#define DAC_DEFAULT_CONFIG2 0xF082 //将输入定义为 16 位数据、启用混频器、启用 NCO、将输入定义为 2 的比较
#define DAC_DEFAULT_CONFIG3 0xA000
#define DAC_DEFAULT_CONFIG7 0xD8FF
#define DAC_DEFAULT_CONFIG24 0x0c68 //单个电荷泵、预分频器= 5、PLL_ENA=1
#define DAC_DEFAULT_CONFIG25 0x1074 //PLL_m=16、PLL_n= 8、vcoitune 至 01 以实现正常 PLL 运行
#define DAC_DEFAULT_CONFIG26 0xFC00 //PLL_VCO=63 (4GHz) PLL_SLEEP=0
#define DAC_DEFAULT_CONFIG27 0x0800 //FUSE_SLEEP=1
将 DAC_DEFAULT_CONFIG30 0x444//syncsel_QMC 定义为 SYNC
#define DAC_DEFAULT_CONFIG31 0x4440 //syncsel_dataformater, syncsel_NCO is sync
#define DAC_DEFAULT_CONFIG32 0x1101//syncsel_fifoin syncsel_fifofout clkdiv_sel 源是同步的(由 FPGA 时钟向导控制)

我检查了我的架构,它似乎没有任何问题,除了一个浮动地在银行 34 和 35 的 FPGA(我知道我得到的输出)。

 “你以为你赢了吗?

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

    您好 Tomer、

    这通常意味着内插率和时钟设置不正确。 请参阅以下应用手册以获得指导。

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

    https://www.ti.com/lit/an/slaa585/slaa585.pdf

    -康

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

    谢谢你的回答,虽然它没有解决的问题.

    我在启动序列中发现一个问题(外部睡眠跳线设置为低电平而不是高电平)、修复后、config5 寄存器显示 0x0060(这意味着只有 ALARM_FROM_PLL 开启)、PLL_lfvolt 显示 111、无论我设置的 VCO 粗调调位是多少(我使用公式选择我的粗调调优位[(x-3253)/11.6]。

    pll_vcoitune 的用途是什么? 它当前设置为 01b

    您是否知道是什么原因导致 PLL 问题?

    Tomer  

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

    您好 Tomer、

    VCOITUNE 在这里不是问题。 应始终将其设置为 0x01。

    pll_vcoitune 的使用是什么? 它当前设置为 01b

    我已经在您的其他主题中提出了一些建议、例如双电荷泵

     DAC3484:pll_lfvolt 卡在 3.3V 上 

    -康