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.

[参考译文] DAC8760:菊花链中的锁存信号

Guru**** 2812305 points

Other Parts Discussed in Thread: DAC8760, DAC7750

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1059561/dac8760-latch-signal-in-daisy-chain

器件型号:DAC8760
主题中讨论的其他器件: DAC7750

您好!

我们构建了一个板、其中两个 DAC8760在 DaisyChainin 连接到 Kinetis K22 SPI。 两个芯片都有自己的 ChipSelect 信号。

在 DaisyChain.中处理第一个 DAC8760时、一切似乎都正常。

尝试访问第二个器件会导致两个器件出现意外行为。

虽然 相应的 ChipSelect 信号没有上升沿、但最初的 DAC8760似乎在24个时钟周期后解读某些数据。 没有解决方案时出现相同问题: https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/471368/dac7750---is-it-possible-for-the-device-to-take-action-on-its-input-shift-register-contents-without-seeing-a-rising-edge-on-latch-if-a-particular-pattern-is-present-on-din-and-sclk

数据表 在这个主题上并不十分精确、E2E 论坛中的几篇论坛帖子显示了一个意想不到的而非 SPI 标准行为。 遗憾的是、对于菊花链模式锁存的工作方式、没有明确的解决方案或答案。

问题:

  1. 在锁存数据的最后一位上升沿的所有传输期间、ChipSelect 信号是否可以为低电平? 或者、芯片会在24位后以任何方式锁存数据吗? 数据表在某种程度上假设0-23位需要注意。
  2. DAC7750/DAC8760示例代码显示了在所有位从高电平传输到低电平到高电平后锁存引脚的手动切换(高-低-高)。 这是锁存数据输入的唯一方法吗? 这与数据表中的 dontcare 相反。
  3. 当以菊花链形式传输48位时(DCEN = 1)、当 ChipSelect 为低电平且没有上升沿时、第一个器件似乎会锁存数据。 这也可以从许多论坛帖子中阅读。 这是正常行为吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jörn μ A、

    首先、我不建议使用菊花链模式。 工作起来可能很困难、并且由于您在 E2E 帖子中指出的一些问题。 这与第8.3.10.1和8.3.11.1节中讨论的器件与 SPI 相互作用的原因相同。 通过某些位输入以及这些部分中显示的数据、器件可以错误地激活看门狗定时器警报或 CRC 警报。 最后、使用控制器可以处理两组独立的 SPI、或者具有具有具有单独/CS 选择和门控 SCLK 的并行 SPI 线路的器件会更容易。

    转到您的问题:

    显然、信号实际上是锁存的。 在发送期间、信号可能为低电平、并且上升沿将锁存在数据中。 如前所述、某些位输入可能会触发错误的看门狗定时器警报或 CRC 警报。

    2.我不确定你的高-低-高模式是什么意思。  您是否正在讨论时序图中的锁存信号(如下所示)?

    在这种情况下、锁存器上升沿是将数据计时到器件中的信号。

    3.正如我之前提到的,由于8.3.10.1和8.3.11.1中讨论的问题,我不建议使用菊花链模式。 无论如何、这两个器件都会在锁存器变为高电平时锁存数据。 在此模式下、SDO 不是 DIN 数据的直接直通。 SDO 是 DIN 的24位延迟版本。 因此、当锁存信号出现时、器件会接收到两个不同的值。

    我不确定我是否已经介绍了所有内容、因此如果您有任何其他问题、请将其发布回。


    吴约瑟

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

    您好 Joseph、感谢您的详细回答。

    我将假定 TI 对"SPI"的解释失败、这使我认为该器件应该被能够按原样处理 SPI 的另一个品牌所取代。

    任何方式:

    关于1:好的、锁存可以像每个微控制器生成的任何 SPI 锁存/CS 信号一样(我从未在任何微芯片中看到过如此处所述的执行 CS/锁存的 SPI 控制器)。
    表4第32页的使能看门狗消息有很多问题。 因此、0b 0010 1011 1xxx XXX XXX X1XX 的任何位序列都会触发接口。 换言之、不向链中的任何器件发送这些模式是安全的。 由于这是 DAC、如何避免这种位模式? 链中可能有 EEPROM 或类似器件。 这太搞笑了(我认为这是作为功能出售的硬件中的一个错误)。

    关于2:是的、明白了。

    关于3:我认为这是 SPI 的正常行为。 两个器件都有24位寄存器、因此我必须用两条消息(一条针对器件 A、一条针对器件 b)和48个时钟之后针对器件的锁存器计时48位。 但我不必发送0b 0010 1011 1xxx XXX X1XX、因为它会使器件锁定数据...

    最后两个问题:

    -如果我的 SPI 上只有 DACx760器件,是否可以保证 0b 0010 1011 1xxx XXX XXX X1XX 只会在总线上发生,而不 会由于数字到模拟数据而偶然发生?

    -如果 DACx760在 总线上看到一个0b 0010 1011 1xxx XXX XXX X1XX 触发其自动 SPI 锁存、它是否会继续计时遍历其余数据并照常将其锁存? 因此、如果不使用 ALARM 引脚并且看门狗功能被忽略、它可以通过任何方式工作吗?

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

    Joe 现在正在研究这一点、并应在明天对评论作出回应。

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

    Jörn μ A、


    我不确定是否理解第一个问题。 如果您仅使用 DACx760、则仅使用一组特定的命令、因此除非您有意将其作为命令输入、否则不会发送0b 0010 1011 1xxx XXX XXX X1XX。

    如果 DAC 看到0b 0010 1011 1xxx XXX XXX X1XX、则它应继续运行。 但是、根据器件的使用方式、仍可能存在问题。

    问题来自器件内的数字电路。 通常、您会认为器件可以从 SDI/SCLK 接收数据、然后当锁存器变为高电平时、器件将获取最后24位(如果启用了 CRC、则为32位)并执行命令。 但是、数字部分会查找传入数据的特定模式。 一个问题是、一个位模式可能触发看门狗计时器并导致器件设置警报。 当引脚上有 SDI/SCLK、并且 SPI 总线上有多个器件(例如将 LATCH 用作/CS)时、这可能会成为一个问题。 随着其他器件通信的进行、这可能会导致 DACx760出现问题(基本上被视为未选择)。

    这也可能是链模式的问题、在链模式下、您需要在将器件设置为锁存之前进行更多通信。 SDI/SCLK 上可能有许多通信、具体取决于链中的器件数量。 在本例中、我们看到 CRC 在何处启用、通过发送意外的位模式、CRC 被关闭。

    上述原因是将第8.3.10.1和8.3.11.1节添加到数据表中的原因。 使用这些说明、您可以避免特定的位模式进入器件。 如果您需要更全面的解释、我需要咨询设计以验证更多详细信息。

    它已在工作中运行了几个月、但现在提供了新版本的数据表。 此时、我们已从数据表中删除菊花链模式、并为器件的其他部分添加了一些阐述。 我之前没有提到过它、因为我不知道何时发布它。

    如果您需要有关这些问题的更多详细信息、请告诉我、我可以跟踪设计。


    吴约瑟

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

    您好 Joseph

    非常感谢您的详细解释!

    第一点说明的是、即使没有锁存信号、DACx760也会处理"启用看门狗计时器数字接口模式"、8.3.10.1中介绍的旧版数据表也是如此。

    我现在的重点是、即使我的链仅包含 DACx760器件、我也可以在任何通信中采用这种模式。

    我做了一个图示来展示我的意思:

    当我发送 DAC 数据时 、可能会根据我要输出的数据出现该模式。 这将错误地启用看门狗。

    只有当器件是 SPI 总线上的唯一器件时、此模式才有效、并且如果锁存器上出现上升沿、则搜索此模式的内部机制会复位。 我弄错了吗?

    现在、我们将为每个 DAC 将设计更改为一个 SPI。

    感谢您的努力!

    您好 Jörn

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

    Jörn μ A、


    我需要返回到这个页面上。 您描述的场景与菊花链器件所见的模式同样关系到我。 我认为该模式仍然可见、因为两个数据帧之间没有锁存。 即使两个器件都是 DACx760器件、我认为这仍然是一个问题。

    我确实与一位审查了这个问题的设计工程师进行了简短的交谈、他非常确信您仍然可以让菊花链正常工作。 但是、通信需要准确且受控。

    正如我提到过的、我很快会回来的。 在此平均时间内、请通读新版本的数据表、查看您是否对其有任何疑问。


    吴约瑟

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

    您好、

    我们得出的结论是、在菊花链中实现该器件并不安全、因此我们将更改设计并将每个 DAC 与微控制器放在单独的 SPI 总线上。

    唯一仍然存在的问题  是、查找该特定模式的机制是否会在上升锁存器后从0开始计数、因为上述两个 DAC 数据发送到一个器件的模式仍然会发生。 但是、只有一个器件、我们可以更轻松地控制数据、例如、我们可以每秒发送一次 NOP。

    大家好