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.

[参考译文] DAC8565:与 ESP32连接

Guru**** 2609955 points
Other Parts Discussed in Thread: DAC8565

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/668617/dac8565-interfacing-with-esp32

器件型号:DAC8565

您好!

我使用 ESP32连接 DAC8565时似乎遇到问题。 使用万用表、我不断地在所有4个输出端测量3.2V 电压、但在我的代码中、我尝试在2个电压之间进行更改: https://gist.github.com/ChristiaanMuller/b1622f646d676a077ff5781c65003dd6

LDAC、ENABLE、RSTSEL 连接至 GND

我已经像这样连接了 DAC8565:

ESP32 -> DAC8565

IO5 (SS)-> 9、同步
IO18 (SCK)-> 10、SCLK
IO23 (MOSI)-> 11、DIN
IO15 (RST)-> 13、RST
GND -> LDAC、ENABLE、RSTSEL、GND
3V3 -> AVDD、IOVDD、VREFL

如果有人能帮我解决这个问题、那就太棒了。  

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

    您能否共享此设计的完整原理图? 您提供的代替原理图的引脚连接缺少 VREFH 连接的说明、这对于了解 DAC 的配置至关重要。

    根据您的列表、您已将 VREFL 连接至3.3V。 如果这是一个准确的连接而不是排印错误、则这是问题的根本原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    非常感谢您的回复。 这是我的连接的快速原理图:  

    https://ibb.co/hOQXNn

    VREFout 尚未连接、未来将为 OPA 提供基准电压。

    我确实已将 VREFL 连接至3.3V、因为我认为有必要为 DAC 提供基准电压。 我不确定如何以不同的方式连接它?

    如果我看这个示例 :https://github.com/mxmxmx/O_C/blob/master/hardware/o_c_rev2e_schematic.pdf、VREFL 通过一个电容器连接到 GND 和3.3V、这是怎么做的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只是中间的一个快速消息。 我已经尝试将 VREF 连接到 GND、但遗憾的是、仍然没有进展。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Christiaan、

    默认情况下、该器件具有2.5V 内部基准电压、该基准电压可在 VREFH / VREFOUT 引脚上启用和使用。 根据后续帖子的声音、您计划使用此内部参考。 在这种情况下、VREFL 应该被连接至 GND。 实际上、在所有情况下、VREFL 应该被接地、也许+/-0.3V、这是因为这个连接的目的只是一个很小的补偿。 如果 VREFL 被过高的电压偏置、那么内部开关的偏置会有一些问题-在我看来、PDS 应该更清楚地记录这一点...

    我怀疑、由于3.3V 连接到 VREFL 且启用了内部基准、某些内部电路可能已经损坏、因为 VREFL > VREFH。

    数据表第25页的公式1根据 VREFH、VREFL 和 DIN 定义了 VOUT。 您将注意到、对于3.3V VREFL、内部基准和3.3V AVDD、无论输入代码是什么、输出都将始终被排除。

    我还想指出、这个等式中似乎存在一个误差、因为"2x"不应该存在、因为根据图93和串式 DAC 的典型实现、串式中的引线电阻器将基准除以2、 因此、即使输出级具有增益2、总体公式也不应具有任何前导系数。

    [引用 user="Christiaan Muller">只是一条中间的快速消息。 我已经尝试将 VREF 连接到 GND、但遗憾的是、仍然没有进展。[/引述]

    不确定这是以 VREFL 还是 VREFH 为基准。 我建议您在 VREFL 连接到新装置上的 GND 时再次尝试您的设置、因为我怀疑 VREFL 与 AVDD/VREFH 相比有很大的电势会造成一些损坏。

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

    [引述 USER="Christiaan Muller"]如果看这个示例: https://github.com/mxmxmx/O_C/blob/master/hardware/o_c_rev2e_schematic.pdf、VREFL 通过电容器连接到 GND 和3.3V、这是不是这样做的?[/QUERP]

    尽管 VREF_L 似乎同时连接到 GND 和3.3V、但实际情况并非如此-这只是一些误导性的措词。 VREF_L 连接到 GND。 AVDD 具有一个来自3V3_A 网络的100nF 去耦电容器。 模拟组件在电源线上包含旁路电容器是非常典型的做法。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kevin、非常感谢您对这一点进行了全面的研究。 我怀疑通过将 VREF_L 连接到3.3V 确实损坏了装置。 不幸的是、我目前没有另一个、但点了几个慕斯、这将需要几天时间。 将使您保持最新。 还将使用逻辑分析仪了解我在 SPI 通道上实际输出的内容。 如果它不能正常工作、也会进行过帐。 再次感谢、感谢您的观看!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Christiaan、

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

    尊敬的 Kevin:

    我终于让 DAC 工作了。  
    我连接了 Arduino teensy 3.2、它在这一个上运行。 奇怪。 为什么?
    我查看了使用运行 Arduino 代码的 ESP32与 tensy 之间的区别、并确定我使用的是用于 ESP32的长试验电路板电缆。 当我将 MOSI 电缆更改为较短的电缆时、芯片工作正常。 似乎只是试验电路板原型设计问题!

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

    这是一个好消息、很高兴您的系统能够正常工作!

    请回来、并告知我们是否有任何其他可为您提供帮助的资源。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我尝试使用或码(试验电路板上的相同连接)、但它不起作用。 然后我更改为 SPI_mode2 (从 SPI_MODE0)、它工作正常!!!

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

    感谢您的分享。 我自己没有查看代码-通常我更喜欢以模拟工程师的身份查看总线上的结果、但这看起来是正确的。 我根本没有使用 Arduino、因此我的定义可能有点偏离、但 DAC 数据表将下降沿描述为通过时序规格 T5和 T6读取的边缘。 它们均在 SCLK 的下降沿进行测量。

    查看一些 Google 资源、SPI_MODE0看起来是 CPOL = 0、CPHA = 0、这将在上升沿捕获数据。 同时、SPI_mode2为 CPOL = 1且 CPHA = 0、这会在下降沿(与数据表保持一致)捕获数据。 如果您不希望时钟一直处于高电平状态、也可以在 CPOL = 0和 CPHA = 1时使用 SPI_MODE1。

    再次感谢 Victor!