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.

[参考译文] DAC60508:器件 ID CAN't 始终被读取;尽管 SPI 模式正确、但行为不同、具体取决于主 uC

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1223182/dac60508-device-id-can-t-always-be-read-different-behavior-depending-on-master-uc-despite-correct-spi-mode-etc

器件型号:DAC60508

我之前在读取器件 ID A 时遇到了问题、并且只需从 nRF52840切换到 STM32即可解决该问题。 但是、我仍然想弄清楚为什么 SPI 通信尽管发送了完全相同的命令、但仍然无法与 nRF52840配合使用、并且 AFAIK 符合所有的时序要求。

第一次捕获来自 STM32、获取正确的地址回显和器件 ID 回读。

第二次捕获来自 nRF52840、发送的读取请求与此完全相同。 DAC 在后续访问周期中无法回显或读回器件 ID。

在这两种情况下、芯片都是在尝试读取器件 ID 之前进行软复位、如下所示:

非常感谢您提供的任何帮助!

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

    尊敬的 Drew:  

    您能否分享两次写入的示波器快照? 逻辑分析仪不捕获任何边沿时序、可能会错过 DAC 可能注册为时钟或数据位的其他尖峰。  

    两个控制器上的逻辑电平是否相同? 您是否能够使用  nRF52840向 DAC 写入?  

    此致!

    Katlynne Jones  

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

    尊敬的 Katlynne:

    感谢您的快速响应。  以下是示波器捕获

    STM32 (P-Nucleo WB55):

    nRF52840dk:

    两者的逻辑电平应为3.3V 或接近该电压。  在两种情况下、SPI 都以500kHz 的频率运行。 NRF 规格指定  VDD-0.4至 VDD。 我使用 nRF52840无法成功写入 DAC。

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

    尊敬的  Drew:  

     nRF52840dk 的屏幕截图

    在第二种情况(如下所示)中、MISO 线好像回显了一些数据。 DAC 是否在上一个快照中尝试回显软件复位写入命令? 看起来 这些数据与您在逻辑分析仪上读回的数据是相同的、因此会  返回一些一致(但不正确)的数据。  在此期间是否有其他东西驱动 SDO 线路? 此外、为什么 SDO 和 SDI 线路 在序列结束时缓慢下降。  STM32序列上不会发生这种情况。  

    此致!

    Katlynne Jones   

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

    尊敬的 Katlynne:

    没有其他东西驱动 SDO 线路。 我仅使用微控制器、试验电路板和 DAC 模块创建了隔离式测试设置。 虽然看起来 DAC 可能会尝试回显 SW 写入命令、但 我认为这可能是 意外的行为或是错误的。 我对微控制器进行了多次复位、与示波器上看到的情况没有偏差、也没有看到任何更接近回波的情况。  STM32也缺少 SW RESET 回波、之后它会按预期运行。 我不知道 nRF52 SDO 和 SDI 线路为什么会这样下降。 将 DAC 直接连接到 nRF52840开发套件、使用用于分离信号的试验电路板。 我还使用 ublox BMD360评估套件在相同行为下进行了测试、但仅限 SDO 系列。 请参阅以下内容:

    是否还有其他任何因素可能导致此行为? 我也可以将此改为 Nordic 论坛、但我只想在我这么做之前将 DAC 消除为潜在的罪魁祸首、尤其是如果 可能指向导致 DAC SPI 通信崩溃的两条 UC SPI 布线之间存在明显不同的情况。

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

    尊敬的 Drew:  

    感谢您对隔离式装置进行测试、这将是我的下一个建议。  我想使用写命令。 如果您无法写入、那么无论如何都无法读取。 您是否可以发送一个写入命令的放大屏幕截图来开启/关闭内部基准? 并再次检查您看到基准响应该命令。 在缩小的屏幕截图中很难看到时间。  

    如果您能够使用另一个控制器对 DAC 末端进行写入、那么它不应该是任何内容。 但是、您或许可以使用  nRF52840和一个与 STM32一起发送一个放大的屏幕截图、因此我可以将这些截图与相同的命令进行比较。 应该会看到两者之间存在一些差异。  

    此致!

    Katlynne Jones  

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

    尊敬的 Katlynne:

    感谢您的耐心。 我已经对 CONFIG 寄存器的写入进行了测试、以关闭内部参考、因为它默认是打开的。

    NRF:

    前面的 RESET 命令:

    NRF 与内部基准的缺省打开状态没有发生变化:

    STM32:

    前面的 RESET 命令:

    但 STM32确实按预期做出响应、并关闭内部基准:

    我仍然无法辨别导致 DAC 响应不同的原因。

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

    尊敬的 Drew:  

    对于第一个屏幕截图、似乎您共享了 STM 重置命令、而不是 NRF 参考禁用命令。  

    我确实注意到 NRF 复位命令中的 SDI 上存在小幅干扰(粉色箭头)。 NRF 基准禁用命令中是否有类似毛刺脉冲的情况?  

    我看到的唯一区别是 CS 在 NRF 上的下降时间更长、但 STM 上的上升时间看起来也很慢、所以我不确定这是否为决定性因素。 您能否共享 NRF 的寄存器禁用命令。 我会问我的同事、他们是否有其他意见。  

    此致!

    Katlynne Jones