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.

[参考译文] DAC81404:是否可以在菊花链中读取操作?

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1128169/dac81404-read-operation-possible-in-daisy-chain

器件型号:DAC81404

您好!

在菊花链模式下使用多个 DAC81404时,是否仍然可以执行读取操作(读回 DAC 的寄存器)?
链中最后一个 DAC 的 SDO 将连接回主机 MCU/FPGA。

如果可能,读取过程会是怎样的?

提前感谢您的帮助。

此致、
Marcel

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

    Marcel、您好!

    在菊花链配置中、虽然共享芯片选择引脚保持低电平、但帧会通过链中的每个器件按顺序发送、直到芯片选择变为高电平、此时每个器件会锁存最后在 SDI 上接收到的命令。 通常、这意味 着主机 MCU 发出的第一个命令将被链中的最后一个器  件锁存、第二个命令将被第二个到最后一个器件锁存、等等。

    因此、假设您的菊花链中有4个 DAC、并且您希望从每个 DAC 中读取数据。 下面的时序图显示了如何完成此操作(请注意、此图是指 MCU 上的引脚、即图中的 SDI 线是微控制器的 SDI、连接到  DAC3的 SDO。)

                                       

    从颜色编码中可以看出、在发送全部96位时、帧 N-1的前24位到达 DAC3、并且芯片选择 再次变为高电平。 这会在每个相应的 DAC 中锁存 READ_CMD 指令、当 MCU 通过拉低芯片选择再次启动通信时、DAC 将以其各自的数据进行响应、其连接顺序为相反顺序(因为 DAC3的输出首先到达 MCU、然后是 DAC2、DAC1、最后是 DAC0)。  

    例如、如果您只需要来自 DAC2的数据、则时序图如下所示  

                                         

    因此、可以通过在正确的帧位置发出读取命令并适当地解析最后一个 DAC (MCU 的 SDI)的 SDO 中的数据来执行读取操作。

    希望这对您有所帮助!

    Anshuman

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

    哇,谢谢你们的解释和帮助 Anshuman!

    祝您度过美好的一天!

    -Marcel