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.

[参考译文] LMX2594:是否可以在 CLK 未转换的情况下切换 nCS?

Guru**** 2559910 points
Other Parts Discussed in Thread: LMX2594

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/851105/lmx2594-can-ncs-be-toggled-as-long-as-clk-is-not-transitioning

器件型号:LMX2594

你好。

我看到 LMX2594出现了一些奇怪的行为、无法再通过 SPI 对器件进行写回或读。  

如果 CLK 和数据保持低电平并且我切换 nCS 线路、则会发生这种情况。  (nCS 再次从高电平变为低电平再变为高电平)。

这是预期的吗?

根据数据表、我的理解是、仅当(并且仅当) nCS 为低电平时、才应在 CLK 的上升沿将数据计时到 LMX2594。  因此、只要我确保 CLK 未转换(保持低电平)、我就可以摆脱 NCS 的转换。

有时、我可以通过执行软件复位(写入以在 reg 0中复位)来恢复器件、但一旦我将 nCS 执行 goggle 操作、LMX 就会返回到坏状态。

感谢你的帮助。

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

    感谢您在 E2E 上发帖。 我已将您的职位分配给负责的工程师。 他很快就会回复你。

    此致、
    通道

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

    尊敬的 Variac:

    最后写入的寄存器是什么?

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

    你(们)好、Noel。

    我进一步了解了这一点、我的说法是"我将 nCS 混合后、LMX 就会返回到坏状态"、这是不正确的。

    LMX2594位于共享总线上(SPI CLK 和数据连接到许多器件)、因此 LMX2594在进入"不良状态"之前会遇到大量 SPI 流量。 对这种混乱表示歉意。

    我故意写入 LMX2594的最后一个寄存 器是寄存器 R0、用于校准 VCO (FCAL_EN)。  为了恢复器件、我必须使 RESET 位生效/失效。 向 MUXOUT_LD_SEL 写入零而不切换复位不会恢复器件、因此我认为 MUXOUT_LD_SEL 不会意外置位。

    如果我将 LMX2594放置在运行正常的总线上、我不会对其产生任何问题(与 LMX2594通信时、NCS 仅为低电平)、因此我想知道 LMX2594在 CLK/DATA 为低电平时是否对 NCS 转换敏感。  

    (NCS 进行转换的原因是、我有一个 Buggy SPI 控制器、它使用3-8解码器来驱动8芯片选择、仅使用3条芯片选择线路。 控制器默认状态为片选7、而3-8解码器未被 SPI 控制器芯片正确启用。 这意味着当它选择另一个芯片时、它无意中选择了芯片选择7、因为它在改变3-8解码器输入之前启用3-8解码器。)

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

    Variac、

    如果 CS 线路未切换、数据实际上不会被忽略。

    实际发生的是、它对位进行计数、然后将其锁存。  例如、如果您写入寄存器 R0、但不使用 CSB 位、我实际上认为它会锁存在最后一个时钟位、而不是 CSB 位上升沿。

    实际上、对于该器件、您实际上可以将整个寄存器集编程为一个大字。

    那么、CSB 的用途是什么?  当 CSB 有一个上升沿时、接下来的8位被视为 R/W 位和地址。  否则、它会自动递增到下一个寄存器。

    我不知道这是否完全解释了您所看到的内容、但可能。

    此致、
    Dean

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

    你(们)好,迪

    感谢您的观看。  在我的系统中、LMX2594位于 SPI 总线上(CLK 和器件之间共享的数据)、因此它将看到总线上其他器件的大量流量。

    [引用用户="Dean Banerjee "]

    实际发生的是、它对位进行计数、然后将其锁存。  例如、如果您写入寄存器 R0、但不使用 CSB 位、我实际上认为它会锁存在最后一个时钟位、而不是 CSB 位上升沿。

    [/报价]

    这是否意味着 LMX2594不能在共享 SPI 总线上使用? (当 CSB 处于低电平时、LMX2594似乎忽略流量、因为我已将其移至不存在"干扰"的芯片选择、并且 LMX2594似乎工作正常...因此希望这可以!)

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

    Variac、

    我想您可以这样做、这是我在这方面遇到的第一个问题、但我们的一般建议是切换 RESET 位、以消除意外编程到器件中的任何垃圾。  。  我想、如果 CSB 为高电平、那么它应该忽略 CLK 和数据。

    Dean

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

    尊敬的 Variac:

    只要 SPI 总线的 CSB 保持高电平、就可以与其他器件共享。

    当 CSB 为高电平时、CLK 和数据被忽略。

    在 LMX2594中、写入的寄存器将在最后一个 CLK 信号的上升沿锁存到寄存器组。 需要一个来自 CSB 的低电平-高电平转换来告诉芯片为下一个寄存器写入做好准备。

    我已经尝试了以下操作、器件始终无故障锁定。

    -对器件进行编程(最后一次寄存器写入为 R0)

    -保持 CLK、DATA 和 CSB =低电平

    -将 CSB 从低电平-高电平-低电平切换

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

    您好、Dean 和 Noel。

    感谢您向我介绍这方面的内容、并解释了正在发生的情况。 这让我更有信心、LMX2594将在不需要重新制造的情况下与我们当前的设计完美配合。

    当我确保不会干扰 CSB 时、LMX2594在共享 SPI 总线上工作正常。  幸运的是、虽然我的 SPI 控制器的芯片选择不佳、但其信号通过 FPGA 结构进行路由、因此我可以将行为正常的 CSB 重新路由到 LMX2594。

    (SPI 器件存储在共享 CLK/数据线路上看到的流量并将其锁定在 CSB 变为低电平的情况似乎并不少见。  我可以与其他制造商的其他 SPI 器件重复此行为...因此、接下来我将确保避免"粗糙"的芯片选择!)