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.

[参考译文] LM98640CVAL:dll 错误锁定与放大器;串行接口问题

Guru**** 2381550 points
Other Parts Discussed in Thread: LM98640CVAL, WAVEVISION5
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/727015/lm98640cval-dll-false-lock-serial-interface-problems

器件型号:LM98640CVAL
主题中讨论的其他器件: WAVEVISION5、Strike

您好!

我最近购买了 LM98640CVAL 评估板、通过串行接口与模拟前端(AFE)通信时遇到了问题。

在大多数情况下、我能够成功读取和写入 AFE 寄存器映射。 但是、我偶尔会观察到不一致和不可重现的错误。 例如、从寄存器读取的值有时不会反映最后写入的值。 有时、我似乎会得到错误的输出。

在一个特定的例子中、我意识到 False Lock 信号是由 AFE 设置的。 在后续测试中、我始终观察到错误锁定位的实例、并且错误锁定位的存在与上述错误行为之间似乎存在强烈关联。 此外、通过写入寄存器0x28的位0来复位 DLL 似乎无效。

在介绍测试设置之前、我想注意两点。 在阅读了论坛上的评论后、我至少发现了两个在测试期间评估板的行为与 TI 工程师的陈述不一致的情况:

  1. 这篇文章中、工程师与数据表相矛盾、声称串行通信期间不需要 INCLK。 在串行接口的初始测试期间、我没有应用 INCLK。 但是、在遵循数据表并提供 INCLK 之前、我完全无法与 AFE 通信。
  2. 在这篇文章中、工程师声称 TI 未发现 DLL 中出现错误锁定的情况。 但是、我始终遇到错误锁定、重置 DLL 似乎无法更正。

请就如何继续调试向我提供建议吗? 下面介绍了我的测试设置:

  • 我通过 JR4提供+5V 电压
  • 对于 INCLK、我将提供由 FPGA 开发板生成的5MHz、3.3V CMOS 信号
    • 我正在针对 INCLK = 5MHz 适当地设置寄存器0x25和0x06
    • 我已断开 J31连接并连接 J33。 我不是通过 SMA 连接器为 INCLK 供电、而是通过 JF1上的接头引脚1为其供电。
      • 这是否是问题的根源? 我有点怀疑、因为信号由 U3缓冲并由 U4驱动。
  • 我已将 JF3中的串行接口引脚连接到同一 FPGA 开发板。
    • 我使用的 SCLK 频率为1MHz
    • 我用示波器观察到这些信号、以确保满足所有时序要求、并且 FPGA 接收到的字节反映实际信号

感谢你的帮助。

布拉德利

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

    您好、Bradley、

    您能否确认已向 CVAL EVM 提供的电源。  您说在 JR4上施加+5V 电压、这让我感到困惑、因为原理图上标有-5V 电压。 您是指 JR1?  U3和 U4如何通电?  您是否通过在器件引脚上进行探测来确认所有有源器件的电源是否正确?

    谢谢

    Christian

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

    数据表将最小 SCLK 频率列出为1MHz、因为这是器件测试和认证的方式。 我们发现、该器件在较低的 SCLK 频率下可以正常工作、但没有将其变为字符。
    在器件的测试中、我们使用 TI WaveVision5与 LM98640进行通信。 WV5板的 SCLK 频率为41kHz。 在该设置中、INCLK 上的信号不需要与 LM98640 SPI 进行通信。 在较高的 SCLK 频率下可能会发生这种情况、需要 INCLK。 我将使用这些详细信息更新该帖子。

    有关 False Lock 的声明是在部件正常启动和运行后引用的。 错误锁定和 DLL 重置是针对 DLL 可能由于离子冲击等外部因素而丢失锁定的情况而设计的。 发现在这些情况下、DLL 将自动重新锁定、并且不需要 DLL 重置。

    除了 Christian 的评论外:

    我同意您很可能会获得良好的 INCLK 信号。 您可以通过在测试点 TP22和 TP23处进行探测来验证它。

    LM98640没有上电复位、上电后必须写入所有寄存器。 另请参阅数据表、了解寄存器的写入顺序。 这有时会有所不同、具体取决于您将器件置于何种模式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    @Christian、是的、抱歉。 JR1正确。 我在键入文章时误读了原理图。

    在为电路板的其余部分供电之前、我检查了 JP6和 JP7的引脚5上的电压是否正确。 验证后、我连接了两个跳线上的引脚5和6来为电路板的其余部分供电。

    U3和 U4应由电路板供电。 我是否有理由认为不是这样? 在应用 INCLK 时、我确实验证了我在 TP22和 TP23处看到的信号是否正确、因此我认为我可以假设 U3和 U4已正确供电。

    @Kirby Ah OK。 也许我会在没有 INCLK 的情况下以较低的速度尝试串行接口、看看会发生什么情况。

    我检查了 TP22和 TP23上的 INCLK 信号、一切看起来都正确。 不过、我将再次检查这个。

    是的、我将在启动时写入所有寄存器、我知道数据表中的注释、即我应该在寄存器0x09之前写入寄存器0x3D。 您能否在启动时提供有关最佳写入顺序的建议? 我认为我当前的策略是:

    1. 写入寄存器0x25和0x06以确保正确的 INCLK 配置
    2. 按照顺序写入所有剩余的寄存器(包括保留的寄存器)、从0x3F 开始、到0x00结束。

    我在这里尝试了几种不同的方法、包括:

    • 跳过保留寄存器
    • 按照其余寄存器的顺序写入寄存器0x25和0x06
    • 跳过寄存器0x28、以免干扰 DLL

    但我似乎不可避免地会有问题、无论写入顺序如何。

    您说我不应该遇到错误锁定、在正常操作中、错误锁定位永远不应置位。 您能建议导致错误锁定的任何其他可能原因吗? 您是否希望错误锁定会导致串行接口间歇性和不可重现的问题?

    感谢您的帮助、

    布拉德利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bradley、
    我将向您发送测试图形模式的设置说明。 您可以尝试执行此操作、如果它可以正常工作、则从此处返回进行设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kribby 和 Christian、

    很抱歉耽误你的时间;我昨天打算写信给你。

    我很确定我已经发现了这个问题。 我发现、我的 FPGA 开发板向 AFE 发送了额外的错误写入命令、超出了基于软件命令的预期。 使用示波器、我之前已确认满足了时序要求、并且数据正确。 但是、在我进行进一步测试之前、我没有捕获到错误的写入命令之一。 我认为这完全解释了我所看到的行为。 我想在对 FPGA 重新编程之前进一步测试 HDL、因此目前还无法确认其全部功能。

    在您关闭此主题之前、我有最后一个问题。 写入状态位和保留位时、预期结果是什么? 例如、如果我要向 False Lock 位写入1、我是否应该在下一个周期从该位读取1? 还是忽略了对状态位的写入? 保留位会怎么样?

    感谢您的所有帮助。 很抱歉、我的结尾出现了这个问题 我怀疑 HDL 有问题、但示波器告诉我其他问题。 将来、我一定会考虑到它可能缺少一些东西。

    布拉德利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新、我很高兴您能够解决您的问题。

    就寄存器而言、状态位要么不能写入、要么将自复位。

    一些保留位用于特殊测试模式、我们在测试器件时使用这些模式、更改这些模式可以将器件置于不同的状态。