Other Parts Discussed in Thread: DAC39RF12, DAC38J84
器件型号: DAC39RF12EVM
主题中讨论的其他器件: DAC38J84、 DAC39RF12
您好:
我们有一个包含 Avnet-Tria UltraZed-7EV 和 DAC39RF12-EVM 板的开发平台。
TL;DR
我能够启动链接:我看到 DAC 在接收到一些 K 字符、然后发送 4 个 ILAS 帧、然后发送数据后、将 SYNC 信号置为无效。 但是、经过一段时间(几 ms)后、DAC 会重新将 SYNC 置为有效、然后保持不变。 此时我不确定是配置问题还是硬件问题。
完整工作流程:
首先、我们使用 ADI ADF4371SD2Z EV 合成器板来生成同相:
- RF16 输出上的 DAC 采样时钟为 10.24GHz、在 50 Ω 时为–9dBm。p -> EVM 用户指南建议使用+6dBm 信号、因此这可能会导致问题。 当前正在尝试找到另一种方法来生成 2 个同相时钟。
- 根据 EVM 板、RF8 输出上的 640MHz 在 50 Ω 时为+6dBm 的系统时钟 p ->良好。 我正在使用 640MHz、而不是本地 160MHz、因为较高的分频器值会产生高度远端的输出

这两个输出连接到 DAC EVM 板、与 REF_CLK 和 DAC_CLK SMA 连接器。
然后、使用 TICS Pro、我们按如下方式配置 LMK 芯片: 

(有时我们将 SYSREF_MUX 设置为脉冲发生器,但稍后对此进行更多介绍) 
(最后的输出被禁用,因此被省略)
我附上了整个寄存器映射的完整副本: LMK04828B_LMK04828.txt Init_Regs
根据 DAC39RF12-EVM GUI 给出的配置、我们按如下方式配置 DAC: 
我们的设置和 GUI 之间的唯一区别是我们在 FPGA BE 160MHz 上有核心时钟和 SERDES 时钟,而不是 80MHz ,因为我们使用的是 Xilinx JESD204C IP 和 PHY ,它们需要 40x 线路速率/参考时钟,而不是 80x 的 TI IP(线路速率 6.4Gbps 是固定的)。 其余参数完全匹配。 我们使用自定义限制将通道映射更新为 1:1(逻辑==物理)、并进行反转(根据请求提供引脚对引脚连接的完整跟踪)
我附上了用于配置 Init_Regs 的完整寄存器映射:DAC39RF12_DAC.txt
我们使用与 DAC 相同的 JESD 参数对 JESD204C IP 进行编程(如 GUI 屏幕截图中所示)。
在之前使用 DAC38J84 和 LMK04828B 的 JESD 系统的基础上、我们的序列如下:
- 对 JESD IP 进行编程
- 通过 DAC 外部 RST 输入引脚实现硬复位 DAC
- 对 DAC 进行编程
- 通过 IP RST 引脚对 Xilinx JESD IP 进行硬复位
- 软复位 DAC JESD 系统
在 DAC JESD 软复位之前、我们可以看到 ILA 上已准备好所有信号: 
在软复位之后: 
我们可以看到 DAC 将 SYNC 信号置为无效、JESD IP 在短时间内持续发送 K SYNC 字符、然后进入 4 个 ILAS 帧、接着是 DATA。 一切似乎都正常、但在几 ms 后、DAC 会将 SYNC 信号置为无效、JESD IP 会继续发送 K 字符、但 DAC 永远不会恢复。
使用自定义实用程序、我可以检查一些寄存器以获取更多有关状态的信息:
====================================================================
DAC39RF12 状态寄存器 — 详细解码
====================================================================
[0x0430] SYS_ALM(系统警报):0x01 (0b00000001)
位 7 - JESD_LINK_DOWN: 0 【正常】
位 6 - JTIMER_EXPIREED: 0 【正常】
位 5 - JESD_CRC: 0 【确定】
位 1 - SYSRST: 0 【确定】
位 0 - SYSREF: 1 [警报:SYSREF 问题!]
[0x0431] ALM_MASK(警报屏蔽):0x00 (0b00000000)
[0x0107] JESD_STATUS(链路状态):0x1C (0b00011100)
位 6 - LINK_UP: 0 【未设置】
位 5 - JSYNC: 0 【未设置】
位 4 - CGS: 1 【良好】
位 3 - FRAME_ALGN: 1 [GOOD]
位 2 - ILA_DONE: 1 【良好】
[0x0410] SYNC_STATUS(同步):0x0D (0b00001101)
位 1 - NCO_SYNC_DET: 0 【未检测到】-->预计、因为我们只是尝试在基带中输出信号、因此现在没有配置或启用 NCO。
位 0 - SYSREF_DET: 1 【检测到】
[0x00108] ALARM1(通道警报,L=4):0x10 (0b00010000)
位 0 — 通道 0: 0 【确定】
位 1 — 通道 1: 0 【确定】
位 2 — 通道 2: 0 【确定】
位 3 — 通道 3: 0 【确定】
[0x0109] ALARM2(链接错误):0x14 (0b00010100)
位 3 - CHKSUM_ERR: 0 [OK]
位 2 - BAD_SIDUCTION: 1 【错误】
位 1 - NOT_IN_TABLE: 0 [OK]
位 0 - unexpected_K: 0 [OK]
[0x010A] ALARM3(系统错误):0x00 (0b00000000)
位 1 - CODE_SYNC_ERR: 0 [OK]
位 0 - BUF_OVERFLOW: 0 [OK]
====================================================================
请注意、所有寄存器读取都通过 AXI 外设上的 AXI 完成、或通过 FPGA 上 PS 系统控制的 SPI 完成
https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1617929/dac39rf12evm-unable-to-trigger-spi-sysref-pulses-from-lmk04828b-on-the-dac39rf12-evm

