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.

[参考译文] DAC8562:即使使用据称正确的 SPI 信号、DAC 也不响应

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1483806/dac8562-dac-not-responding-even-with-supposedly-correct-spi-signals

器件型号:DAC8562

工具与软件:

我们有一个正在开发中的新产品、使 DAC8562正常工作会出现一些问题。 这是数据表: https://www.ti.com/lit/ds/symlink/dac8562.pdf?HQS=dis-dk-null-digikeymode-dsf-pf-null-wwe&ts = 1740129067155&ref_url=https%253A%252F%252Fwww.ti.com%252Fgeneral%252Fdocs%252Fsuppproductinfo.tsp%253FdistId%253D10%2526gotoUrl%253Dhttps%253A%252F%252Fwww.ti.com%252Flit%252Fgpn%252Fdac8562

从数据表中我们收集到可以:  

  • 使用同相时钟极性-第9页。
  • 预计采样会在时钟周期的下降沿发生。  -第9页。
  • 选择200kHz SPI 时钟就可以了  -第9页。
  • CLR 引脚永久接地没有问题 -第9页。
    • 由于 Vout 只有在 CLR 变为低电平时看起来才会变为低电平、因此可以将其永久接地、因为它只会变为低电平一次。 经过 24个时钟周期后、它应该无关紧要。 第8.4.5段
  • 长期接地 LDAC 没有问题-第35页
    • "在同步模式中、数据在第24个 SCLK 周期的下降边沿上被更新、此边沿之后是一个 SYNC 的下降边沿。 对于这样的同步更新、不需要 LDAC 引脚、在向器件发送命令前、它必须被永久地接至 GND 或者被置为有效并保持低电平。"
  • 只需在 VREF 引脚上放置一个电容器、因为我们将使用内部基准。 -第34页
  • 我们首先要写入的是使用内部基准并将增益设置为2的命令。
    • [0x38、0x00、0x01]或0b00111000 00000000 00000001 -靠近底部的页面38。 是最后一条命令。
    • 应立即开启我们的 VREF。 (几微秒)

我们使用 VREF 上的电压来衡量"工作"的指标。 因此、如果 VREF 变为2.5V、那么它将正常工作、如果它保持在0V、那么它将无法工作。

这是我们使用的原理图:

我知道 SYNC 引脚和"芯片选择"不同、但对于我们的意图、降低意味着我们在与它通信、升高意味着我们不在与它通信、这已经足够接近了。

以下是我们发送到芯片的图片:

顶部黄色:芯片选择/同步

绿色:时钟

蓝色:MOSI

底部粉色:Vref (但缩小了一点、因此即使此图像中它始终为0、也更容易看到)。

这是上电后、该芯片选择变为低电平、所以没有其他东西与它通信、它应该处于已知状态。

我预计图中为该 DAC 芯片提供的信号会打开 VREF。 但 VREF 保持低电平(即使器件进入稳定状态后、例如在多秒后)。

有没有我们遗漏的东西? 我希望获得反馈。

--------------------------------------------------------------------------------------------

其他信息:

  • 软件 SPI (位拆裂)工作。 我能够通过使用主 CPU 而不是我们微控制器中内置的硬件外设命令引脚开关来控制 DAC。
  • 我们使用的是 ATSAME54P20A 微控制器。 这些是 数据表
  • 我们以前实际上在一个较旧的项目上使用过 DAC8652。 让我们将该板称为"A"、并将我们正在开发的新易出问题的板称为"B"
  • 我们已经排除了 PCB 布局错误
    • 最重要的是、通过使用已知正常的"A"板并将"A"板上的 SPI 线路连接到"B"板、"A"板可以正确控制"B"板上的 DAC。
      • 请告诉我、这项测试对您是否有意义、或者您是否想了解更多信息。 我有很多关于这方面的信息,但不想混乱这篇帖子
      • 示波器无需断开任何连接(以排除错误放置物品的人为错误)即可观看通过这些 SPI 线路传输的内容
      • 布线"非常非常"接近、这意味着就 SPI 协议而言、它们是相同的。 我把它们重叠在一起、所以如果您想看到它们、请告诉我。
        • 他们是如此接近,他们是无法区分90%的它接近终点。
      • 如果您很好奇并想分析数据、我还可以从示波器中获取 csv 和 Excel 文件、只需询问即可。
    • 通过检查和仔细检查是否存在短路和断路
  • 我们希望通过使用全部4种 CPOL 和 CPHA 组合、能够排除错误的 SPI 配置
  • 通过使用与已知良好的"A"板相同的微控制器、我们有望消除微控制器配置方面的问题
  • 它"不应该"重要、但为了防止出现这种情况、我们还先发送了一条"reset"命令、看看这是否有用。 没有。 该命令在第38页靠近底部的位置[0x28 0x00 0x01](它是底部的第7条命令)
  • 将 DAC 放入分线板中、并在开发中通过焊线将其连接到电路板。 "A"板可以控制它、但"B"板仍无法查看 HW SPI
  • 我们已尝试轻轻地将 LDAC 拉高而不是将其接地。 不工作。 但"A"板仍支持
  • 我们尝试了不同的 SPI 速度。 运气差。
  • 我们对全部10个引脚进行了仔细研究、以便在与完全相同的芯片(不是同一型号、而是完全相同的硅和塑料、但未拆焊)通信时发现"A"板和"B"板之间的异常或差异、它们仍然相同。 我们将示波器引线尽可能靠近 DAC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andrew、您好!  

    感谢您的详细写作。 您在数据表中的假设都是正确的。 您可以直接将 LDAC 和 CLR 接地。  

    当任一 DAC 通道断电时、基准保持断电状态。 您是否还编写了启用 DAC 之一并检查基准的命令? 我不确定您在"A"板上使用的顺序是否与此新板上的顺序完全相同。 您提到使用同一个微控制器、但您没有注释每个微控制器上运行的代码。 如果您使用相同的序列、那么我假设这不是问题。  

    并且您是否已尝试使用"B"板中的 SPI 来控制"A"板上的 DAC?

    此致!

    Katlynne Jones

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

    感谢您的答复。

    在发送命令以选择 VREF 后、我们立即发送命令以写入 DACA 并更新 DACA [0x18、0x66、0x66]、这应该会得到大约2V 的电压。  

    从"A"板发送第一条命令后、"A"板和"B"板上的 VREF 在几微秒后变为2.5V。

    然后、在发送用于写入和更新 DACA 的命令后、"A"和"B"电路板上的 VoutA 均变为2V。

    但是、如果"B"板发送命令、则在写入命令以使用内部参考后、VREF 保持低电平、这与"A"板传输不同。

    之后、如果"B"板发送写入和更新 DACA 的命令、则 VoutA 保持低电平、这与"A"板传输不同。 此外、VREF 在这之后也会保持低电平。

    这是在上电后发生的、并且 CS 在之前的任何时间都没有变为低电平。 此外、我们已经先尝试发送 RESET 命令、但没有区别、"A"板仍可控制"A"和"B" DAC、而"B"板无法控制任何 DAC。

    请允许我进一步解释我如何知道它们是相同的信号。

    下面是有关如何将板连接在一起的原理图:







    CS 连接到 CS、CLK 连接到 CLK、MOSI 连接到 MOSI、GND 连接到 GND。

    应该同时运行只有一个 CPU、这样它们就不会越过 SPI 线路。

    然后、我用示波器获取了用于传输的 CSV 数据、我可以在 Excel 中将这些数据叠加起来以查找差异。

    我无法上传更高质量的图像、但这里有一个指向电子表格的链接、其中图表位于右侧。 此外、所有数据也位于文件中: https://prefutil-my.sharepoint.com/:x:/g/personal/amcclary_preferred-mfg_com/ESkdlQ022ylFlxdOmsPziCoBjlbAYFRTKmdf6tl08i73GA?e=iFFeb9

    绿色是"A"板传输。 红色是"B"板传输。 橙色表示它们重叠。 唯一的区别是"B"板在计时之前将 cs 拉低更长时间。 除此之外、它们在 SPI 协议方面是相同的。

    如果您在打开它时遇到困难、请告诉我。 我确保为每个人打开权限、但您永远不知道它是否会恢复。

    因此、我可以非常肯定地说、我会将相同的 SPI 信号发送到完全相同的硅和塑料芯片、但会得到不同的结果。

    只是在有任何混淆的情况下、它是完全相同的芯片、没有硬件差异。 我甚至不移动示波器引线、因为它们都在与同一个芯片通信。

    另外要回答您的另一个问题、"B"板无法控制"A"板的 DAC。 但我还没有对该板上的信号进行详细分析。 它们应该相似、但只是在少量噪声方面存在差异。

    如果你不同意我的任何发现或认为我得出了错误的结论,让我知道。 我很容易逻辑谬误,就像其他人一样。 我很想弄清楚我们在哪里做错了

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

    此外、我还想补充一点、DAC 的 DACA 和 DACB 寄存器的默认状态已通电。 (不是你暗示他们不是,但我只是认为这是值得注意的)。 -第32页 表5第一行。

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

    Andrew、您好!  

    回到你原来的帖子,你说位拆裂与主 CPU 工作. 这是与 ATSAME54P20A 不同的器件吗? 或者、如果它们是同一个器件、该位拆裂是使用与 SPI 外设相同的 SPI 引脚完成的、还是使用您连接的不同引脚完成的?  

    您展示了接地端在方框图中从电路板 A 连接到电路板 B、但您是否确定 CPU B 与 DAC B 之间共享了良好的接地?  

    您是否在 您制造的多个"B"板上发现了此问题?  

    此致!

    Katlynne Jones

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

    再次感谢您的帮助!

    "这是与 ATSAME54P20A 不同的器件吗?":是的、它是相同的 CPU 型号。

    "该位拆裂是使用与 SPI 外设相同的 SPI 引脚完成的吗":I 位拆裂了 SPI 协议、使用了硬件 SPI 所使用的相同 CS、MOSI 和 CLK 引脚。 唯一的区别应该是软件 SPI 比硬件 SPI 慢得多

    "您确定 CPU B 到 DAC B 之间共享了一个良好的接地":好问题。 让我仔细检查一下。 接地连接非常好。 使用万用表进行测量、并使用示波器进行检查以查找是否存在回振或噪声。 似乎是一个伟大的联系

    "您是否在 您制造的多块"B"板上发现了此问题?" 是的、每个"B"板似乎都是这样的。

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

    Andrew、您好!  

    需要知道的是、位拆裂方法 在同一个 CPU 上使用了相同的引脚。 这让我对 CPU B 和 DAC B 之间的硬件连接的评论不太相关。  

    您最初提到降低 SPI 频率没有帮助:

    Unknown 说:
    我们尝试了不同的 SPI 速度。 运气不好。

    您是否尝试了 低至位拆裂方法所需的频率?  

    此致!

    Katlynne Jones

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

    我仅测试了低至200kHz 的硬件 SPI。 软件 SPI 的速度只能达到166khz

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

    Andrew、您好!  

    哦、 我看到、我把它弄反了。 HW SPI 比 SW SPI 快。 在这种情况下、较慢的 SW SPI 可能不会出现时序违规问题。 此时、我认为问题可能与 B 板上较长的 CS 延迟有关、因为这是唯一不同的地方、您似乎已经通过证明 HW SPI 在 B 板上工作而排除了布局问题。 您能否对硬件 SPI 进行实验 、以尝试模拟 SPI 的第一个上升沿之前 SW SPI 中较长的 CS 延迟?  

    我找不到有关此器件可能具有的任何最大时序要求的任何数据、但可能存在。 例如、我们规定了从 CS 下降沿到第一个 SCLK 下降沿的13ns 最短建立时间。 可能确实存在一些最长时间会导致超时。 我们不打算在任何我知道的 DAC 中包含 SPI 超时。 如果能够通过增加 CS 和第一个时钟边沿之间的延迟来重现与硬件 SPI 通信失败的情况、这会向我表明这就是问题所在。

    此致!

    Katlynne  

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

    这听起来是一个很好的测试。 我会试一下、可能明天吧。

    我认为我应该能够在这里添加一些 NOP 来增加延迟。

    我们过去意外发现其他器件存在未记录的调试和测试模式。 我想知道这是否类似。

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

    延长 CS 和第一个时钟边沿之间的延迟没有任何差异。

    此外、我们运行了一些其他测试、并且使用 不同品牌的 DAC 芯片(具有相同的引脚排列)、它可以正常运行。

    我不会说它是什么芯片因为我不认为它属于这里。 这是一个 TI 论坛、向他人指出其他公司是不对的。

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

    Andrew、您好!  

    我仔细看了示波器数据、就 CS 下降沿之外的任何时序差异而言、仍然只有微小的差异。 我认为这些都不是影响因素。 我注意到工作中的 SPI 具有 大得多的 噪声尖峰、来自 VDD 和接地约为+/-1V。 忽略它、因为这是工作板、它也看起来整体逻辑电平达到了更高的电压。 测量的是 DAC 附近还是 MCU 附近的 SPI 信号? 到达 DAC 的 SPI 信号是否会衰减? 可能考虑不到您在这些相同的引脚上运行 Bit-Bang SPI、但我对其他要查看的内容不太熟悉。  

    此致!

    Katlynne Jones

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

    感谢您的持续帮助!

    测量是在尽可能靠近 DAC 的情况下进行的、但不直接接触引脚。

    .

    .

    而且,在一个好的注意! 我在试验中发现、连接示波器引线改变了不同品牌 DAC 芯片的行为。 从那里、我能够找到使 TI DAC 工作的电容的最佳位置。 信号仍然看起来相同、但现在 TI DAC 可以工作了!

    我假设在一个高于示波器可读频率的频率上一定会出现噪声。

    我猜这就是我现在的结论、示波器可能会接收不到一些高频噪声、这就是信号看起来相同的原因。

    我想我现在就可以把它解决了、谢谢您的参与!

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

    Andrew、您好!  

    很高兴听到您能够使其正常工作。 如果您遇到任何其他问题、请告诉我。  

    此致!

    Katlynne