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.

[参考译文] DAC7760:在具有 ADC 的 SPI 总线上使用?

Guru**** 2398695 points
Other Parts Discussed in Thread: ADS8681, DAC7760, DAC8760

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/939954/dac7760-use-on-spi-bus-w-adc

器件型号:DAC7760
主题中讨论的其他器件:ADS8681DAC8760

您好!

我接管了一个由另一位工程师启动的设计。 目前、DAC7760和 ADS8681位于同一 SPI 总线上。 但是、当我阅读 DAC7760数据表时、原理图中用作芯片选择的元件根本不是芯片选择;它本质上是移位寄存器输出锁存器(甚至标记为 LATCH)。 话虽如此、您似乎无法在没有额外芯片的情况下将 DAC7760与另一个器件(例如具有使能功能的缓冲器、用于关闭 MOSI 线路)进行总线连接。 数据表中提到非24位帧将影响 DAC7760输出的注释似乎确认了这一点。 这意味着、如果我向 ADC 发送一个32位帧、DAC 将不会忽略它(没有 CS)、因此当我向 DAC 发送24位帧时、DAC 实际上已接收到56位、并且可能会出现错误行为。

我是否正确解释了数据表? 我是否确实需要实现次级芯片才能使用 SPI 总线? 是否有人成功为 DAC7760实施了 SPI 总线?

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

    重新读取数据表的 SPI 部分后、我可能早就对这个问题执行了 ping 操作。 如果没有某些级别的外部组件、该器件似乎不是为总线设计的(我看不到关于三态 MISO 线路的任何信息)。 这种情况似乎并不少见。

    但是、数据表语句的上下文似乎是:      "在锁存器的上升沿之前提供多于或少于24个 SCLK 周期会导致不正确的数据。。。"      很可能仅指24位的非整数倍(额外的几个或太少、这将偏移移位寄存器)、不接收任何位数、最后以正确的24位帧结束。

    话虽如此、我认为我只能在 MISO 线路上用一个三态缓冲器将 DAC7760总线连接起来。 这将允许其他从器件进行无争用通信。 LATCH 信号不是 CS、但可以采用相同的方式工作、只是计时不同。 只在正确的24位消息结束时将锁存器置为有效、而不是将整个消息(CS)的信号置为有效。 为了清洁、我也可以在 SCLK 上添加与门。

    我认为这是 DAC7760的总线解决方案、但仍赞赏大家的评论。  

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

    您好、Matt、

    我将在周末查看此内容、并在周一返回给您。

    谢谢、

    Paul

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

    您好、Matt、

    您是否以菊花链形式将 DAC 与 ADC 连接在一起? 我的意思是、您要将 MCU 的 MOSI 线路连接到 DAC8760的 SDI 引脚、然后将 DAC8760的 SDO 引脚连接到 ADC 的 SDI 引脚?  或者您是否将 MOSI 线路短接至两个器件的 SDI 引脚?

    DAC8760可以支持菊花链模式、但如果没有单独的芯片选择、并行模式将很困难。

    请参阅 PDS 的"8.3.11.1 DACx760与其他器件(非 DACx760)共享 SPI 总线"部分。

    谢谢、

    Paul

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

    Paul、

    不、我打算将两个单元并联、这意味着 MOSI 线路和 MISO 线路将被短接。 我希望能够从 DAC 中读取数据、但我在 ADC 中看不到菊花链直通模式、因此我认为需要通过总线才能获得两个 IC 的完整读取和写入功能。

    我通读了该部分和第8.5节、但我认为您已经回答了我的问题、我需要使用外部组件为 SDO 线路提供三态/高阻抗状态、尽管由于锁存操作、这并不是必需的、 为了清洁、我可以在 MOSI 线路上添加一个高速与门。

    谢谢、

    Matt

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

    您好、Matt、

    我认为您的理解是正确的。  也许您可以将 MCU 的两个 GPIO 引脚用作不同的芯片选择?

    谢谢、
    Paul

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

    Paul、

    我认为这就是我要做的。 我希望在 MISO 上放置一个三态缓冲器、并将两条 GPIO 线用于 DAC (一条用于三态缓冲器/与门、另一条用于锁存)。 然后、我将得到 ADC CS 的第三个。 我认为这将会很好地解决问题,感谢你的帮助和澄清。

    -Matt