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.

[参考译文] DAC38RF80:无 DAC 输出

Guru**** 2925850 points

Other Parts Discussed in Thread: DAC38RF80, DAC38RF83

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1639890/dac38rf80-no-dac-output

部件号: DAC38RF80
主题: DAC38RF83 中讨论的其他器件

我之前遇到了使用 DAC38RF83 在定制电路板上没有差分输出的问题、但没有正确偏置输出。 返工无法解决问题。 现在、我使用的是采用单端 DAC38RF80 的改进版电路板、结果相同。

ALM_SYSREF_DET 读取 0x0002、看起来可以正常。

ALM_SD_DET 读取 0x0050、这有点奇怪、因为只有 4 个 SERDES 连接。

警报寄存器 0x64 至 0x6D 全部为零。

我在 JESD_FIFO 中向 SPI_TXENABLE 写入 1。

仅 NCO 模式也不起作用。 电源电压在规格范围内。

什么会导致没有 DAC 输出? 我想 PLL 锁定和电源、但看起来都很好。 SERDES 似乎可以同步、那么它必须是没有输出的数字或者是禁用输出的模拟。 程序是否有问题?

我附上了用于对 DAC 进行编程和在初始化后读取的寄存器值的文件。

Ken

DAC38RF80-260423b-single-1000x6-nco.cfg DAC38RF80-260423b.cfg 

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

    您好、Ken、

    您是否能够启用内部 DAC 测试图形以查看是否可以观察到输出?

    必须启用 SPIDAC_EN、然后对 SPIDAC 值进行编程。 如果您启用了 NCO、则应在 NCO 处观察到音调。

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

    我遵循了我提供的 CFG 文件中的“仅 NCO“说明:

    0x12F = 0x0001 SPIDAC_ENA = 1

    0x130 = 0x0000 SPIDAC = 0

    0x10A = 0x8310 DAC_补 码= 0

    我也尝试了其他值、但仍然没有看到任何输出。

    Ken

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

    尊敬的 Ken:

    您能帮我解决以下问题吗?

    1.您使用的是 PLL 吗? 如果是、您能否读取以下 PLL_LFVOLT 以确保 PLL 已锁定?

    2.是否可以启用 TXENABLE GPIO? 如果是、您能否使用基于 SW 的 SPITXENABLE 命令?

    3.哪个文件是回读值? 我看到 0x04 和 0x5 寄存器有一些警报

    4.您的满量程电流 (0x40D) 设置为最大值,并且应该已经以最大值驱动。 我认为我们可能需要强制使用 TXENABLE GPIO。

    5.可以切换 SPI_SYNC 吗? 这将根据您的同步源选择同步 NCO。 您应该能够执行以下操作

    0x128 -> 0x0330 -> 0x0331 -> 0x0330

    0x228 -> 0x0330 -> 0x0331 -> 0x0330

    这应该会切换 SPI 同步以复位您的 NCO。

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

    进步一点:

    首先下拉 PD
    RST_B 立即被拉高
    写入寄存器后、TXENABLE 引脚会被拉至高电平

    TEMP_PLLVOLT = 99C 4V

    ALM_SYSREF_DET 读取 0x0002、看起来可以正常。
    ALM_SD_DET 读取 0x0050、这有点奇怪、因为只有 4 个 SERDES 连接。
    警报寄存器 0x64 至 0x6D 全部为零。
    我在 JESD_FIFO 中向 SPI_TXENABLE 写入 1。

    切换 SPI_SYNC 使“仅 NCO“模式有效、1.5GHz 下的–5.8dBm 音调。
    0x128 -> 0x0330 -> 0x0332 -> 0x0330

    关闭 SPIDAC_ENA 会使 DAC 输出音调消失、我认为这不应发生在输入 0 和偏移二进制格式上。 如果我也通过数据发送音调、则没有输出。

    Ken

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

    我研究了在仿真模式下 DAC38RFxx EVM GUI v1p1 产生的状态日志、以比较命令顺序、但至今未能有所不同。 我注意到、似乎重复同一个命令几次、重复同一对命令几次。 我应该知道这样做的原因吗?

    当我禁用 SPIDAC_ENA 时、DAC 似乎以某种方式禁用输出。 我认为应该存在偏移二进制格式的输入为 0 的输出是错的吗? 这可能是什么?

    Ken

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

    您好、Ken

    当我禁用 SPIDAC_ENA 时、DAC 似乎在某种程度上禁用输出。 我认为应该存在偏移二进制格式的输入为 0 的输出是错的吗? 可以做什么?

    您的 JESD204 链路必须启动并运行、以使输入 0 和偏移二进制文件正常运行。 否则、PAP 可能会对输入进行门控以防止损坏

    我注意到、它似乎重复了同一个命令几次、重复了同一对命令几次。 我应该知道这样做的原因是什么吗?

    可能有同步命令、例如同步 NCO、QMC 和分压器电路。 您有要分享的示例片段吗?

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

    我没有看到任何表明 JESD204 链路未正常工作的警报。 如果有警报、JESD204 输出不会是 0 吗? 我尚未在 0x10A MULTIDUC_CFG1 中开启 PAP_ENA。

    重复的命令会发生很多情况、如下所示。 我尝试了编写相同命令而没有按照它们从 EVM 日志发出的顺序删除任何重复项、但到目前为止这没有什么区别。 一切似乎都正常工作、但如果我关闭 SPIDAC_ENA、仍然没有输出。

    写入寄存器:DAC38RF8x.config1[0x1]-[0x1080]
    读取寄存器:DAC38RF8x.config1[0x1]-[0x1080]
    写入寄存器:DAC38RF8x.config0[0x0]-[0x5860]
    读取寄存器:DAC38RF8x.config0[0x0]-[0x5860]
    写入寄存器:DAC38RF8x.config0[0x0]-[0x5860]
    读取寄存器:DAC38RF8x.config0[0x0]-[0x5860]
    写入寄存器:DAC38RF8x.config49[0x431]-[0x400]
    读取寄存器:DAC38RF8x.config49[0x431]-[0x400]
    写入寄存器:DAC38RF8x.config50[0x432]-[0x208]
    读取寄存器:DAC38RF8x.config50[0x432]-[0x208]
    空闲
    写入寄存器:DAC38RF8x.config51[0x433]-[0x4818]
    读取寄存器:DAC38RF8x.config51[0x433]-[0x4818]
    空闲
    写入寄存器:DAC38RF8x.config49[0x431]-[0x400]
    读取寄存器:DAC38RF8x.config49[0x431]-[0x400]
    写入寄存器:DAC38RF8x.config49[0x431]-[0x400]
    读取寄存器:DAC38RF8x.config49[0x431]-[0x400]
    写入寄存器:DAC38RF8x.config11[0x40B]-[0x2]
    读取寄存器:DAC38RF8x.config11[0x40B]-[0x2]
    写入寄存器:DAC38RF8x.config59[0x43B]-[0x0]
    读取寄存器:DAC38RF8x.config59[0x43B]-[0x0]
    写入寄存器:DAC38RF8x.config59[0x43B]-[0x0]
    读取寄存器:DAC38RF8x.config59[0x43B]-[0x0]
    写入寄存器:DAC38RF8x.config51[0x433]-[0x4818]
    读取寄存器:DAC38RF8x.config51[0x433]-[0x4818]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    写入寄存器:DAC38RF8x.config60[0x43C]-[0x8029]
    读取寄存器:DAC38RF8x.config60[0x43C]-[0x8029]

    Ken

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

    SYSREF 有问题。 我看了统计数据:
    SYSREF12_CNT = 0x0000
    SYSREF34_CNT = 0xFF00
    所以我使用的是
    SYSR_CAPTURE = 0xD800
    现在可以看到、当 TXENABLE = 1 时、SYNCB 变为低电平并变为高电平。

    我关闭了 SERDES 发送器的电源。
    ALM_SD_DET 仍为 0x0050
    但 SYNCB 保持低电平。

    我现在收到警报:
    JESD_ALM_L0 = 0x0002
    JESD_ALM_L1 = 0x0002
    JESD_ALM_L2 = 0x0002
    JESD_ALM_L3 = 0x0002

    FIFO_ZERO_DATA 阻止输出

    禁用 FIFO_ZERO_DATA 时、即使收到 FIFO 警报、输出看起来也很干净。

    音频正常吗?

    我将基准从 500MHz 更改为 400MHz、我看到了几个 SYSREF12_CNT、还在 JESD_ALM_L3 上看到了不同的警报。

    Ken