主题中讨论的其他器件:SN74AUP1G125、LMX1204、 LMK04828
我注意到在用户手册中、下一版本的电路板将支持使用来自 FMC+连接器的 SPI 信号的功能。 是否有权变措施允许当前版本的电路板使用来自 FMC+连接器的 SPI 信号?
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.
我注意到在用户手册中、下一版本的电路板将支持使用来自 FMC+连接器的 SPI 信号的功能。 是否有权变措施允许当前版本的电路板使用来自 FMC+连接器的 SPI 信号?
Matthew、您好!
为了跟进此问题、我在组装跳线 J12后尝试通过 SPI 通过 FMC+对 EVM 进行编程、但未能这样做。 按照 DAC 用户指南、我尝试读取 FUSE_DONE 寄存器并接收到0xFF 而不是0x1。 我到目前为止的测试似乎表明 EVM 未正确接收到 SPI 信号。 我将执行更多的测试、但我有几个问题:
您好、Evan:
我已经附上了电路板的原理图、以便您可以确认引脚排列。 只需短接 J12接头即可实现从 FTDI 到 FMC+连接器的 LMX、LMK 和 DAC SPI 信号多路复用。
e2e.ti.com/.../DAC39RF10-EVM_5F00_RevA2_2800_001_29005F00_Sch_5F00_2023_2D00_02_2D00_21.pdf
谢谢,Chase
尊敬的 Chase:
我能够验证 FMC+连接器的引脚排列、并能够将信号传递到 EVM。 我已注意到、当我尝试从 FPGA 将 FMC_CS_DAC 驱动为低电平时、探测点的电压读数为~0.025V、而不是0V。 根据 SN74AUP1G125的数据表、此电压应足够低、能够寄存为低电平输入、从而将逻辑从 DAC_CIPO 传递到 FMC_CIPO、但探测 FMC_CIPO 的读数为1.8V、而 DAC_CIPO 的读数为~0.057V。注意:DAC SDO 和 SDI 的探测点似乎在原理图中交换。
似乎1.8V 信号上连接至3.3V 的上拉电阻会阻止 FMC DAC 芯片选择正常工作。 您知道芯片使能端是否必须接地(0V)才能启用该数据路径吗?
嗨、Evan、
上拉电阻应达到1.8V。 如果您不介意尝试移除该上拉电阻、但如果 FPGA 的输出是推挽式 CMOS 输出、它应该仍然可以正常工作。 我会确保记下此情况以更正我们的 EVM。
未写入器件时、CSB 通常较高、 这可能是将其放置在那里的原因。 某些器件在不从中读取时不会进入 tri 状态、因此增加了 tri 状态缓冲器。 只要 CS 从 FPGA 发出、就会推挽、这是不需要的。
此致、
马特
Matthew、您好!
感谢您的快速回复。 我会将其添加到要尝试的事情列表中。 在与同行交谈时、他们还指出、在尝试与 DAC 进行通信时、U30电平位移 A3输出和 U34缓冲器输出之间似乎会发生争用。 U29和 U32 tri 状态缓冲器的输出应设置为高阻抗、因为 LMX_CS 和 LMK_CS 将置为高电平。 上拉电阻 R150会将 U30的 B3引脚设为3.3V、那么在未选择右侧 LMX 和 LMK 的情况下、电平位移的 A3输出始终为1.8V?
您好、Matt、
为了跟进我的上次回复、我们移除了该上拉电阻器、仍无法通过 SPI 从 DAC 读取数据。
我们还观察到、DAC_COPI 和 DAC_CIPO 的 PP36和 PP37似乎都没有对 FMC_COPI 信号做出反应。
当 FMC_COPI 被 FPGA 驱动为高电平时、FMC_COPI (PP28)探测点读数为1.8V、LMK_SDI 探测点(PP27)读数为3.3V、LMX_SDI 探测点(PP20)读数为3.3V、这基本上符合预期。 根据原理图、LMX_SDI 的 PP20是在3.3V 至2.5V 电平转换后、似乎应该读数为2.5V、但所有探测点都指示逻辑高值。 当 FMC_COPI 被驱动为低电平时、FMC_COPI、LMK_SDI 和 LMX_SDI 探测点读取为0V。
无论 FMC_COPI 被驱动至什么值、DAC_COPI 和 DAC_CIPO 探测点读数都为0.057V。您是否有关于这些探测点为什么看起来没有预期反应或者我在周四提出的 FMC_CIPO 信号可能的双驱动器的任何信息?
谢谢。
埃文
您好、Geoff、
我们尝试了焊接 DAC_SDO 和 FMC_SPI_COPI 测试点、但仍然无法从 DAC 读回数据、可能是由于我之前提到的 FMC_SPI_CIPO 可能是双驱动器情况。 然后、我们在 DAC_SDI 测试点和位于 EVM 板右下角的其中一个 FPGA GPIO 点之间焊接了一根跳线。 按照之前的建议移除了这两条跳线并移除 R163后、我们就能够确认对 DAC 的写入和读取操作。
谢谢。
埃文
您好、Geoff、
使用我上次回复中概述的修改、我们能够通过 FMC SPI 与所有三款器件通信。 不过、我们注意到、每次尝试时、时钟似乎都没有正确编程。 请告诉我、这是否应该移至单独的讨论主题。
我们将时钟连接到 FPGA 上的调试 LED、该 LED 将每秒切换一次、在某些编程尝试中、时钟运行速度比预期稍快。 这会导致使用从 DAC EVM 板接收的时钟的其他逻辑出现错误。 我有一个可读取 DAC、LMK 和 LMX 器件的所有 SPI 寄存器的脚本、"成功"EVM 配置和"不成功"EVM 配置之间的寄存器值没有差异。
为了进一步调试该问题、我切换回了 DAC39RF10EVM GUI v2.0.37编程方法、并且能够在那里重现该问题。 我每次都使用相同的设置对 DAC EVM 进行编程、有时 FPGA 接收到的时钟正是我们所期望的、但有时则不是。 为了排除电路板改动导致的问题、我换了另一个电路板并观察到了相同的行为。
注意、我们的 FPGA 中的时钟路径如下所示:
DAC_FMC 连接器->收发器输入缓冲器->通用时钟缓冲器->寄存器
嗨、Evan、
我想我知道这个问题是什么。
LMX1204有一个非常奇怪的奇怪现象、即它回读的时间比在 SYSREF_DIV 和 LOGICLK_DIV 寄存器中编程的时间短2。 如果您在工作状态下从 LMX1204进行了寄存器转储、而不是从寄存器映射文件进行转储、那么这些字段的值可能错误。 SYSREF_DIV 在寄存器0x10中、LOGICLK_DIV 在寄存器0x09中。
要确定问题是否出在此处、一种简单的方法是将2添加到工作转储中的寄存器0x09和寄存器0x10、然后查看这是否修复了问题。
此致、
马特
您好、Matt、
写入的寄存器值基于通过 GUI 对 EVM 进行编程时的控制台输出。 根据控制台、这些值来自 LMX1204.cfg 和 LMK04828 64b66b.cfg。 我与之比较的"预期"值确实来自通过 TI GUI 读回寄存器、因此、这些值已经考虑了 SYSREF_DIB 和 LOGICLK_DIV 寄存器读回2的次数低于已编程值。
正如我提到过的、在使用 FMC+上的 FPGA 配置 EVM 时和使用 TI DAC EVM GUI 时、都会出现这种间歇性问题。 无论采用何种配置和回读方法、以及时钟是否正确或运行快速、SYSREF_DIV 和 LOGICLK_DIV 的寄存器值都将返回相同的值。
谢谢。
埃文
您好、Matt、
很抱歉回复被延迟。 没有一种简单/直接的方法来测量进入 FPGA 的时钟、因此我们将时钟连接到 FPGA 固件中的计数器。 计数器具有基于预期时钟频率的最大值、并连接到 FPGA 板上的 LED、因此灯应每秒切换一次(一秒开启、一秒关闭)。
我们总共有8个 LED、其他 LED 以相同的方式连接到我们系统中的其他时钟。 在尝试调试这个问题时、我注意到在 LMK 和 LMX 的编程过程中、LED 会以不同的速率切换、因为乘法器发生了变化、所以我要对 EVM 进行编程、然后尝试启动 JESD 链路。 然后、我会注意到 JESD 链路是否成功建立、然后重新同步/复位所有 LED。 如果成功启动了 EVM 编程和 JESD 链路、则与 FPGA 从 DAC EVM 接收到的时钟相对应的 LED 将与其余 LED 同步切换。 对 EVM 进行编程但 JESD 链路无法连接时、DAC EVM 的时钟 LED 在复位/同步后的切换速度将比其余 LED 快一点。 注意到这一点后、我卸载了跳线 J12、然后按照相同的测试程序对 EVM 板进行编程、启动 JESD 链路、注意状态、然后重新同步 LED、但使用 TI GUI 而不是 FPGA 固件使用 DAC EVM 进行编程、并且能够复制前面提到的相同行为。
谢谢。
埃文
Matthew、您好!
附件是编程到 LMX 1204的寄存器组。 DAC 采样时钟为9GHz、预期的逻辑时钟为70.3125 MHz。