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.

[参考译文] DAC39J84:DAC39J84无输出和通道错误

Guru**** 2513185 points
Other Parts Discussed in Thread: DAC39J84, LMK04828

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1035132/dac39j84-no-outputs-and-lanes-errors-for-dac39j84

器件型号:DAC39J84
主题中讨论的其他器件: LMK04828

尊敬的所有人:

我正在努力解决 DAC39J84的配置问题。

由于通道上的错误、我没有看到 DAC 的任何输出。 即使我能够 执行 NCO 测试并且 PRBS 测试模式成功。 我想问您是否可以检查 DAC 的配置。

这是我的配置:

  • 来自 Abaco DAC39J84和 LMK04828的 FMC120
  • 带 TE0808的 Trenz 板、带9EG。

在 FPGA 端、我签署了 IP Xilinx JESD204b (PG066)和 IP JESD204 PHY (PG198)。

我将通过 I2C 至 SPI 桥与 DAC 通信。

下面介绍了 LMK 如何连接到 DAC 和 FPGA,以及预期的频率是多少 :

LMK 100MHz CLK2in 输入时电路板的内部基准

DCLK0→1000MHz DAC 时钟

设计中的 DCLK2→250MHz 时钟打开以进行调试

DCLK4→1000MHz ADC A 时钟

DCLK6→1000MHz ADC B 时钟

连接到 GTH 线路的 DCLK8→250MHz 时钟

连接到 GTH 线路的 DCLK10→250MHz 时钟

配置寄存器的设置与文件 lmk04828.txt 中的设置相同。

e2e.ti.com/.../1830.lmk04828.txt

由于可以看到配置形式、我将 SYS REF 编程为间隙脉冲。

对于 DAC、这些是主要参数:

L = 8

M = 4

f = 1

S = 1

HD = 1

Fdac = 1000MHz

DACPLL 使能、VCO L 频带 P=4、M=2、N=2

JESD 时钟分频器2

串行器/解串器:10Gbps、全速率、PLL @ 2.5GHz、SerDes_REFCLK_div=2、MPY =0b10100

此处是编程序列

操作读/写

地址

注释

HW DAC_RESET

(应用此复位后、DAC sif 寄存器具有默认值、因此此硬件复位有效)

写入

0x02

0x0082

主机 IRQ

0x7f

0x800a

从数据表中、从该寄存器读取的 visionid=0x1为0x2

写入

0x1A

0x0

写入

0x0

0x18

写入

0x25

0x2000

JESDCLK_DIV

写入

0x31

0x6C08

写入

0x32

0x120

写入

0x33

0xAF40

写入

0x3B

0x8800

写入

0x3C

0x828

写入

0x3D

0x8E

写入

0x3E

0x108

写入

0x3F

0x0

写入

0x46

0x44

写入

0x47

0x190A

写入

0x48

0x31C3

写入

0x49

0x0

写入

0x04

0xFF

报警屏蔽

写入

0x05

0xC0F2

报警屏蔽

写入

0x06

0xFF00

报警屏蔽

写入

0x24

0x10

SYSREFMODE_for_clkdvr

写入

0x1E

0x2222

SET_SYSREF_for_DSP

写入

0x1f

0x2220

SET_SYSREF_for_DSP

写入

0x20

0x2022

SET_SYSREF_for_DSP

写入

0x23

0x2022

SET_SYSREF_for_DSP

写入

0x5C

0x1111

SYSREFMODE_OR_JESD

写入

0x34

0x80

SYNC 设置 LVDS 格式

写入

0x4B

0x1F00

Buffer=32帧=1、帧八位位组=1

写入

0x4C

0x1F07

K=32、L=8

写入

0x4D

0x0300

M = 3 S = 1

写入

0x4E

0xF4F

SCR=0、高密度、N=16 N'=16

写入

0x4F

0x1CC1

写入

0x51

0xFF

写入

0x52

0xFF

写入

0x54

0xFF

写入

0x55

0xFF

写入

0x5F

0x123

写入

0x60

0x4567

写入

0x01

0x0000

写入

0x03

0xA300

写入

0x61

0x211

DAC_TX_EN

写入

0x4A

0xFF1E

写入

0x4A

0xFF1F

写入

0x4A

0xFF01

在 LMK04824上启用1个脉冲

清除 CONFIG100-CONFIG107 (先写入全部1、然后写入全部零)

通道状态寄存器 CONFIG100-CONFIG107提供0x400

因此、我们有一个"代码同步错误"、 DAC 输出中没有任何内容。

在 DAC 编程序列之后、我可以看到同步信号在 切换后保持高电平。

为了查看我是否可以从 DAC 获取输出和从 LMK 获取 SYSREF、我尝试执行 NCO 测试、并且在我从 SIF 配置输出电平后、混频器频率并发送 SYSREF 脉冲、我可以获取我期望的正弦波。

我执行的另一项测试是 PRBS 测试、方法是从 FPGA 发送 PRBS 序列、并通过期望相同的 PRBS 或不同的 PRBS 来配置 DAC 通道。

当 DAC 需要扩散序列时、Alarm 引脚变为高电平、 当 PRBS 序列正确时、它保持低电平。 从这些测试来看、SERDES 链路似乎没有任何问题。

我还会执行链路层测试(关于这些测试、我对编程序列并不完全确定):

ILA 测试 来自 conf100-107 I 获取始终为0x400  

K28.5测试:conf100-107 I obtain always 0x0  

D21.5测试:conf100-107 I obatin Always 0x0

因此、很明显、代码同步错误 似乎是问题所在。  

您对我如何解决此问题有什么建议吗?

感谢您的关注

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

    Dario、

    为什么要使用 DACPLL? 根据您的设置、这将以1GHz 输入参考时钟在1GHz 频率下运行。 不确定这是你想要的。 根据您的所有设置、这就是 DAC PLL 输出的值。 如果这是您想要的频率、则使用 LMK 时钟作为 DAC 时钟、而不是 DAC PLL、您将获得更好的性能。  

    此致、

    Jim  

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

    尊敬的 Jim:

    感谢你的答复。 DAC 的配置主要目的是检查 DAC 的输入时钟。 它仅用于调试。

    现在、我通过对 DAC 寄存器进行一些修改、将 DAC 配置为不使用 DAC PLL:

    寄存器  值

    0x1A  0x20

    0x31  0x1000

    0x32  0x0

    0x33  0x0

    但 conf100-107为我提供0x503。 同步信号只是一个脉冲

    我尝试执行 PRBS 测试、测试通过。 但是、我仍然无法看到任何类型的输出。  

    感谢您的支持

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

    Dario、

    您似乎没有通过 CGS。 这通常是由于接收器和发送器之间的时钟频率不匹配造成的。 请将您的 DAC 寄存器设置与随附的设置进行比较。 当 K =32时、SYSREF 可使用的最大频率= 31.25MHz。 SYSREF 可以设置为该值、也可以将该值除以整数。 在附加的文件中、SYSREF = 7.8125MHz。 这可能是您的问题。

    此致、

    Jim

    e2e.ti.com/.../1G_5F00_8411_5F00_K_5F00_32.cfg 

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

    Jim、  

    我非常感谢您的努力。 我已经按照您的建议检查了所有寄存器以及 SYSREF 时钟。 我没有看到输出发生任何变化。 如果 SYSREF 是连续的、SYNCb 是周期性方波。  

    相反、当我使用 DAC PLL 时、我至少可以看到切换后的 SYNCb 信号将保持稳定、如 我在上图中所示。

    我能够看到的唯一方法是将通道速率从10Gbps 降低到5Gbps。 我认为主板不支持高比特率。 因此、我通过 将通道速率设置为 5Gbps 来实现了新的 Vivado 设计。

    --发送 SYSREF 脉冲后,我注意到 SYNC 信号上有周期性的行为

    DAC 输出 显示了一些东西  

    因此、由于可以在 Vivado 和 示波器中观察到 周期性信号。 示波器显示了 FPGA 正在发送的内容。 此时、我在 FPGA 上激活了波形发生器、并获得了我所期望的结果。  

    我能够复制此行为、但我必须:激活 DAC PLL、 绕过 TX 侧的 ILA 序列并将0x4F 寄存 器设置为0x1CE1。 SYSREF 是频率为7.8125MHz 的脉冲序列。 我无法以10Gbps 的速率复制此数据。

    您对 正在发生的情况有什么看法吗?  

    此致

    Dario

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

    Dario、

    某些具有 GTEX2收发器和-2速度等级的较早 Xilinx FPGA 在 SerDes 中有一个死区、该死区不允许器件在8-9.8Gsps 之间工作。 FPGA 使用的是什么器件? 此问题也可能是您使用的 PCB 的限制。  

    您可能还会遇到在更高采样率下满足 SYSREF 时序的问题。 两个附加的文件将允许您测试 DAC 时钟是否正常工作(仅 NCO 测试)以及 SYSREF 计时是否满足。

    如果您可以访问 DAC 上的 JTAG 信号、则可以运行眼图扫描以观察每个通道的信号完整性。  

    此致、

    Jim

     e2e.ti.com/.../3566.DAC38J84-100MHz-NCO-Test.pptxe2e.ti.com/.../7534.SYSREF-trouble_2D00_shooting.docx