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.

[参考译文] ADS8686S:ADC 数据不来自 SPI 通信。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1095384/ads8686s-adc-data-not-coming-from-spi-communication

器件型号:ADS8686S

在 ADC 转换期间、BUSY 状态在转换脉冲之后变为高电平、但它不会变为低电平。因此我们无法获得任何转换结果。

BUSY 信号只有在 ADC 复位时才变为低电平。我们能够读取 ADC 的内部寄存器、它们正在工作。 但在转换期间、我们面临着问题。

我们在软件模式和单线制串行通信模式下使用 ADC。

我们尝试使用 SPI 通信来读取和写入 ADC 的内部寄存器、并且我们能够成功地读取和写入内部寄存器。 由于 BUSY 信号在转换开始脉冲之后变为高电平后不会变为低电平、因此我们不会获得任何转换结果。

请告诉我们是否还有其他可以尝试的东西

.e2e.ti.com/.../ads8686-error-report.pdf

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

    你好,Lidong,

    您是否在为 ADC 加电后通过向/RESET 引脚发送低逻辑脉冲来复位 ADC?

    此致、

    戴尔

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

    是的、我们在上电后提供复位脉冲。

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

    你好,Lidong,

    感谢您的配置。 我需要更多信息来解决该问题。 是否使用突发序列发生器模式? 您能否提供包含 CONVST、SCLK 和 SDI/SDO、BUSY 的时序图? 还请向我发送原理图? 谢谢。

    此致、

    戴尔

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

    我在这里附加了一个文件供您参考

    e2e.ti.com/.../ads8686-error.pdf

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

    你好,Lidong,

    您的原理图显示 了 ADC、AGND、DGND、REGGND 和 REGGNDD 的4种接地方式、它们 是否完全独立?   我在您的原理图中看不到它们之间有任何连接。  

    此外、 您尝试使用步骤4中的命令读取哪个寄存器?

    此致、

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    目前 REGGNDD 和 REGGND 未连接至 AGND 和 DGND。 REGGNDD 和 REGGND 是独立的。 我们将在将 REGGNDD 和 REGGND 短接至 DGND 之后尝试。
    我们在步骤4中读取的寄存器是地址为0x10的器件 ID 寄存器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Lidong,

    所有这些  AGND、DGND、REGGND 和 REGGNDD 应短接在一起、数据表建议使用单个实心接地层。

    寄存器读取命令为16位格式、可在下一帧中检索寄存器。

    此致、

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢输入、我们尝试将所有短接地连接到单个接地。
    之后、我们将接收寄存器数据。但 BUSY 信号现在显示为低电平有效状态。 与 CONVST 不同步。
    以前、它每次都显示高信号。
    我们能够读取寄存器数据、但未接收到 ADC 转换后的数据、读取数据时需要执行任何步骤。请建议我们逐步从通道中读取 ADC0数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Lidong,

    您能否提供包含 CONVST、SCLK、SDI 和/CS 在内的示波器的时序图以启动转换?  您是否测量了 REFIO 引脚上的电压? 您是否在进行数据转换之前对任何寄存器进行了编程?

    此致、

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    REFIO 提供1.8V 电压
    我们不运行任何后台代码。
    这是我们在发送寄存器数据0x000120aa 时收到的信号图像。BUSY 处于低电平有效状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Lidong,

    1、REFIO 上的1.8V 电压不正确。 REFIO 引脚上的电压应该为2.5V、REFCAP 引脚上的电压应该为4V、请参阅 ADS8686S 数据表第14页的电气特性表。 您的 ADC 未以 正确的模式运行。 检查您的复位脉冲是否满足要求以及您的引脚连接、尤其是所有接地引脚的连接。

    2.我没有在时序图中看到 CONVST 信号。 CONVST 的上升沿启动转换并将器件从采集阶段转换为转换阶段、同时 BUSY 输出高电平、以指示转换过程在转换过程完成之前正在进行。 如果没有 CONVST 信号、您将无法看到来自器件的繁忙高电平信号。

    3.您的0x000120aa (32位)不是一个完整的命令 ,而 是以两帧的形式发送它们。 如果要读取/写入寄存器、则只需要16位命令。

    •   您在前一帧中的0x0001 表示读取不存在的0x00寄存器。
    •   您在当前 帧中的0x20aa 此处的时序图表示读取 Device_ID 寄存器、ID 寄存器数据将显示在下一帧的 SDO 上。  
    •   两者都与数据转换和数据读取无关、因此您肯定无法看到繁忙的高电平。

    4. 如果您尝试读取转换数据、则只需发送32个用于单线制 SDO 模式的 SCLK 以及一个 CONVST 脉冲信号、 您在 SDI 上的数据/命令就会被忽略。

    此致、

    戴尔

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

    根据我们之前的讨论,我们尝试了其他 IC,它提供 REFIO 4V 和 REGCAP 2.5V,寄存器数据也在继续,但忙的不是相对于 CONVST 的高电平。

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

    你好,Lidong,

    当 REFIO 上的4V 电压不正确时、 如果启用了内部基准电压、则应在 REFIO 上看到2.5V 电压。

    此外、您能否遵循我在项目2和3和4中的建议?

    此致、

    戴尔  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢  Dale。根据您的指导、我们已经解决了问题、并解决了问题。问题通过提供外部复位信号来解决。现在转换数据即将到来。
    请帮助我们了解如何在软件单线模式下以突发序列模式使用此功能。请提供分步序列、以从突发序列模式获取数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Lidong,

    28天前、我在第一篇为您提供支持的文章中询问 您是否通过在 ADC 上电后向/RESET 引脚发送低逻辑脉冲来复位 ADC、您告诉我"是的、我们在上电后提供复位脉冲"。  我很好奇 您如何通过现在提供外部复位信号来解决这个问题、您能否提供更多信息并进行澄清? 谢谢。

    此致、

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将检查连接到 REGCAP 的电容器上的电压、并对其进行扼要重述 、以使其无法正常工作。因此、我们在通过控制器进行外部复位后尝试了这些值、之后这些值将变为可用。然后 BUSY 也可以在 r.t CONVST 下正常工作。
    稍后我们尝试了通道寄存器详细信息、它显示了转换值。
    请在软件模式下帮助我们处理突发序列以获取数据。我们需要执行的所有步骤是什么。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    利东

    如果我的建议得到妥善落实,所有这些问题都会在28天前得到解决。

    ADS8686S 数据表第51页的第7.4.2.5.2节介绍了在软件模式下使用突发序列发生器的过程/详细信息。 我在此处复制了它们:

    配置和启用序列发生器的建议过程(有关其他信息、请参阅图7-17)如下:

    1. 对所需模拟输入通道的模拟输入范围进行编程。
    2. 对序列发生器堆栈寄存器(S0、S1、...Sn)进行编程、以选择序列的通道。
    3. 在最后一个所需序列步骤中设置 SSRENx 位。
    4. 将配置寄存器中的 SEQEN 位置位。
    5. 提供一个虚拟 CONVST 脉冲。
    6. 提供额外的 CONVST 脉冲并读取转换结果。

    在所有序列步骤循环完成后、序列会使用下一个 CONVST 脉冲从序列发生器堆栈中的第一个元素自动重新启动。  

    此致、

    戴尔