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.

[参考译文] DAC80501:SPI 通信不工作

Guru**** 2394685 points
Other Parts Discussed in Thread: ADS1262, DAC80501

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/923490/dac80501-spi-communication-not-working

器件型号:DAC80501
主题中讨论的其他器件:ADS1262

大家好、

我在使用采用 VSSOP 封装的 DAC80501Z 调试项目时需要一些帮助、这似乎是其他 SPI 通信相关博文的主要区别。
请参阅以下原理图。 3条 SPI 线路通过47R 电阻器连接到微控制器。 输出通过 RC 低通(715R、1nF)连接到运算放大器输入。

遗憾的是、DAC 未显示接收任何 SPI 命令的任何迹象。 我尝试按照这些论坛中的建议禁用内部基准、但写入0x03 01 00、基准电压仍然保持在2.5V。 我还尝试了复位命令0x05 00 0A、将增益寄存器设置为 REF-DIV 0、将缓冲器增益0设置为0x04 01 00、并发送多个 DAC 代码、如0x08 80 00。 无论我做什么、我都无法检测到 DAC 状态的任何变化。 输出始终保持在0V。

我已经尝试过1MHz 至50MHz 的 SPI 速度以及 SPI 模式1和2 (下降沿检测)。 使用支持 SPI 的示波器、我检查了事务、看起来非常好:时钟空闲、芯片选择变为低电平、3个字节被传输、芯片选择再次变为高电平。 我还 µs 了芯片选择和字节传输之间的2 μ s 延迟、没有效果。

在同一 SPI 线路上、还有一个 ADS1262、SPI 通信与之完美配合(8MHz、SPI 模式1)。 它似乎不会干扰 DAC 通信、MISO 线路保持低电平。

到目前为止、已经制造了两个硬件原型、它们都显示了相同的行为。 电气测试表明、在这里没有任何东西连接到不应该连接的地方。 SPI2C 上的10k 下拉电阻值可能会很高、因此器件会进入 SPI 模式?

非常感谢您的帮助。

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

    您好!

    不知怎么说、我无法看到随附的原理图。 您可以再发布一次吗?

    您使用的电源电压是多少? 内部或外部基准? 也请分享 SPI 帧的示波器快照。

    您是否尝试回读任何默认寄存器值以检查 SPI 帧是否正常?

    此致、

    AK

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

    很抱歉、原理图肯定已丢失。 我将再次附加它们。

    电源为3.3V。 我使用内部基准。 我知道、由于电源余量的原因、我需要调整增益寄存器以获得任何输出。

    据我所知、DAC80501在 SPI 模式下是只写的。 没有 MISO 功能引脚或数据表中提到的任何内容。

    我明天可能会尝试提供示波器屏幕截图。

    编辑:

    这里是直接在 DAC 引脚上拍摄的示波器图片、8MHz、SPI 模式1。 写入的代码为0x08 97 53、这应该将 DAC 的输出电压设置为高于0、但不能这样做。

    SDIN 和 SCLK:

    !SYNC 和 SCLK:

    提前感谢您对此问题的任何帮助。

    遗憾的是,直到8月,我才能够进入实验室,再也不能提供任何屏幕截图。

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

    您好!

    我看不到您的时序图有任何问题。 您在引脚10上获得2.5V 电压这一事实表明器件已通电并处于运行状态。

    我可以建议的一个调试是从 SPI2C 引脚移除10K 并直接接地并进行检查。 理想情况下、10K 接地应该正常。 我现在无法访问实验来检查这些内容。 请查看这些调试选项。

    我将在转到实验练习并验证这些内容时立即跟进您的这个主题。

    此致、

    AK

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

    感谢您的建议。 我尝试过该方法、并将10k 下拉电阻替换为零欧姆跳线、但遗憾的是、没有效果。 仍然没有输出、并且仍然无法停用基准。

    我查看了更多设计详细信息。 3.3V DAC 电源需要不到1ms 的时间才能完全稳定。 所有 SPI 总线活动在启动2秒后启动、因此 DAC 应准备就绪。 我还尝试了启动后或事务之间的大量延迟、但没有结果。

    我还监测了 SPI2C 引脚、但10k Ω 或零 Ω 电阻不存在毛刺脉冲或异或现象。 它保持在地面:

    到目前为止、大多数人似乎都使用 WSON-8封装。 此问题是否与设计中使用10引脚 VSSOP 封装有关? 当您在实验中时、能否确认 VSSOP 版本上的引脚位置?

    此致

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

    您好!

    无论是使用 VSSOP 还是 WSON、封装都没有任何关系。

    由于您的电源为3.3V、内部基准电压为2.5V、因此初始化代码应执行以下操作。

    为 DAC 加电

    2.将 REF_DIV 位设置为1、以便内部基准被分频(默认情况下、REF_DIV 被设置为0)

    3.将 BUF_GAIN 位设置为1,以便增益为 2,输出电压将为0至2.5V

    是使用同步模式还是异步模式?  

    此致、

    AK

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

    我使用以下初始化代码、如开始帖子中所述:

    0x05 00 0A //软复位 
    延迟200ms 0x04 01 00 // RefDiv 2、增益1 -> 1.25V 最大值 输出 0x08 43 21 //一些 DAC 代码,~328mV

    我使用默认 DAC 模式(异步模式、应立即更新)。

    但是、即使初始化发生故障、我也应该能够使用命令0x03 01 00关闭内部基准、但我不能这么做。

    此致

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

    您好!

    我使用了完全相同的初始化代码来测试这一点。

    我将获得无任何问题的输出。 您能否检查从3、3V 电源汲取的电流是多少? 另外、请再次检查数字引脚的焊接情况。 如果可能、尝试探测 DAC 引脚上的信号、而不是焊点上的信号、这样我们就可以对连接情况进行双精度检查。

    在进行本实验时、请断开使用此电源的任何其他器件。

    此致、

    AK

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

    您好、

    正如您所建议的、我再次检查了所有 DAC 引脚连接、但未发现任何问题。 还检查了是否存在交叉连接、但也没有检查。 当然、所有的东西都是直接从 DAC 引脚测得的(就像之前发布的示波器图像一样)。

    遗憾的是、我无法直接测量3.3V 电流。 电源的定序范围为12V 直流(开关类型、2A)至10V 直流(LDO TPS7A4501、1.5A)至3.3V (LDO TPS7A4501、1.5A)。 我只能提供10V 的总电流消耗、大约为25mA、远低于任何功率限制。 此外、没有任何东西变得很热。 3.3V 通过大约100µF μ F 的电容进行缓冲、并且具有可摇臂性、我看不到电源线上的任何压降或其他任何东西。 所有其他3.3V 器件都在工作、内部 DAC 基准也是如此。

    我可能无法将其他器件从3.3V 上断开(这是一个预生产 PCB、在这条线路上还有超过10个其他 SMD IC、在不损坏 PCB/其他组件的情况下不会将所有这些器件断开)。 我将使用最少的附加组件再制作一个原型、并进行报告。


    所有 DAC 单元的串行接口在焊接过程中是否都损坏、但它们的基准仍然上电? 我的意思是、这些器件具有电源、接地、并且在引脚上接收到的数字信号形状良好。 SPI2C 引脚始终处于接地电平。 但是、我发送的任何内容都不会被处理。 似乎不可能以相同的方式损坏多个装置、但有时您会感到运气不好。

    感谢您迄今为止的帮助!

    编辑:刚刚再次检查 ADS1262、它位于同一 SPI 接口(模式1、8MHz)上且使用相同的3.3V 电源、一切正常。

    8月7日编辑:

    现在、我总共有4个原型、其中2个原型仅具有最小数量的组件来测试 DAC 功能。 所有连接和信号均已确认正确。 他们中只有一人在组装后工作了大约半个小时、但此后停止工作。 所有 DAC 都具有相同的行为:基准仍然上电、但根本不会处理任何命令。 我确信、它们的串行接口会以某种方式被破坏。 在来自 SPI 信号的示波器快照中、线路的峰值高达4.0V、在 DAC 引脚上测量。 我将对此进行调查并报告、我目前正在等待更多芯片来测试解决方案。

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

    您好!

    让我们知道结果。 我想知道发生了什么。

    在 IO 线路上测量4V 电压显示出发生了怪异的情况、但器件很可能已损坏。 你说它工作了半个小时,这似乎很奇怪。

    此致、

    AK

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

    您好、

    我最终必须测试新批次。 我将 SPI 线路上的47R 电阻替换为390R。 现在、似乎我不再杀死 DAC、然后他们才能回答。  

    但通信仍然非常尴尬。 有时、它的工作方式无可挑剔、然后 DAC 在1秒或几分钟内没有响应。 有时、RESET 命令起作用、有时什么也不起作用。

    有时、我可以在 SPI 线路上观察到奇怪的毛刺脉冲、但只能在 SPI 电阻器的 DAC 侧观察到(电阻器端子和 DAC 引脚上的信号相同)。 它们如下所示(显示的是 SCLK、黄色- MCU、绿色- DAC):

    这些操作重复任意次数、大致符合响应/无响应模式、有时会返回到 DAC 侧的可读模式、如下所示:

    任何 DAC 输出值都会发生这种情况。 尽管上述图片看起来我意外地使用示波器探针连接了 SlCK 和 CS、但我可以向您保证情况并非如此。 在电阻器上进行测量时、我可以获得相同的任意变化模式。 此外、还检查了新 DAC 的电气连接、一切都很好、没有引脚/焊盘等互连。

    在电源序列侧、我还特别注意在 DAC 接收3.3V 电压之前、在 SPI 上没有通信。 数据表表示这可能会损坏 DAC (其 SPI 引脚额定电压为 Vdd + 0.3V)。 但在我的测试中、当 DAC 的 Vdd 仍在 GND (持续几秒钟)时、无法使工作正常的 DAC 被 SPI 通信破坏。

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

    您好!

    第二个图数据在我看来就像在 SCLK 线上有某种反射一样。 SCLK 的频率是多少?

    您能否降低 SPI 工作频率并进行持续检查以观察是否存在任何故障?

    此致、

    AK

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

    现在的频率为2MHz。 我目前正在准备一个长期测试装置、并且将使用低得多的频率。

    我认为问题也与设计相关、因此我想分享更多详细信息:SPI 隔离电阻器放置在微控制器插座旁边。 主 PCB 上的 SPI 线路大约为3cm、通过10cm 的直向 FFC 电缆连接到 FFC 连接器。 这连接到 DAC-PCB;DAC 就在 FFC 连接器旁边。 当我用示波器在 DAC 引脚和主板电阻器的 DAC 端子上进行测量时、我始终会接收相同的信号。

    我始终检查电缆是否导通、并且在电阻器与 DAC 引脚之间的测量值始终小于1欧姆。 互连从未发生。 我已经从连接线绘制了波特图、但无法观察到任何高达20MHz 的奇数(我现在无法访问更高频率的发生器)。 从0dB 开始、在 MHz 频率下显示低通行为、390R 时截止频率约为10MHz。 这表示线路上的电容约为40pF、根据数据表、其中10pF 位于 DAC 引脚上。

    现在、所有4个 DAC-PCB 似乎都可以工作、至少是部分时间、但仅适用于具有390R SPI 线路电阻器的主板。 我怀疑连接器是问题的一部分。  

    当我有更多数据时、我将报告。

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

    您好!

    感谢您的更新。 我将等待您的数据。

    此致、

    AK

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

    我现在找到了一个解决方案、它适用于2MHz 的通信。 上周、我记录了每个原型的数百万个数据点、现在一切都按预期工作。

    信号干扰与 DAC 无关。 它们来自0.5mm FFC 连接器。 我们的制造似乎对我们使用的特定模型有一些问题。 尽管电阻测量正常、但似乎存在一些缺陷触点。 我能够对其进行返工。

    2. SPI 线路在某种程度上需要390R 电阻器。 只需用390R 替换那些不能正常工作的 PCB、即可修复47R 或120R 的问题。 我总是更改所有电阻器、因此我不知道它是否只需要在芯片选择或其他器件上使用。 使用的微控制器是 SAMD51。 请注意、当电流为390R @ 3.3V 时、DAC80501和 SAMD51均低于其各自的最大电流限制 10mA、而47R 或120R 理论上超过它。 这在电压驱动接口上确实无关紧要、但肯定会发生一些奇怪的事情。

    不管怎样、现在它终于开始工作了!

    感谢您的帮助!