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.

[参考译文] ADS1013:采集的值固定为最大值。

Guru**** 2510095 points
Other Parts Discussed in Thread: ADS1013

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/775049/ads1013-the-acquired-value-is-fixed-to-the-maximum-value

器件型号:ADS1013

您好!

 我使用的是 ADS1013。 ADS1013出现问题。 请告诉我如何解决。

I2C 通信使用 MCU 来获取数据。 数据在单次模式下定期转换、但采集的值似乎固定为最大值。

数据速率选择为1600SPS。   通过在 I2C 通信中插入在执行写入/读取之前的1ms 等待、它变得非常稳定。

然而,发生率正在下降,但这一现象仍在发生。

在这个系统中、为了减少流耗、电源在转换前被立即提供给转换电路。

我感到不安,因为我不理解原因。 是否有任何对策?

 此致、

Yukie。

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

    Yukie-San、


    为了确保我了解、当您读回器件时、您返回的数据是 FFF (或类似的数据)?

    我会得到一个示波器并检查 SDA 和 SCL 线路、以确保器件确认通信。 如果 I2C 地址错误、器件将不会响应(作为一个 NACK)、并且 SDA 线始终保持高电平。 在 I2C 通信的前8位之后、第9位应该为低电平、ADS1013堆叠 I2C 地址。

    用示波器绘制 SDA 和 SCL 并将结果布置在这里。 我希望有足够的分辨率来读取发送到器件和从器件接收到的数字数据。


    吴约瑟

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

    您好、 Joseph、

    感谢您的支持。

    我附加了使用示波器绘制 SDA 和 SCL 的结果。

    A、B、C 和 D 是一系列流程。

    请检查内容。

    此致、

    Yukie

    e2e.ti.com/.../SCL-SDA.pdf

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

    Yukie-San、

    感谢您提供 pdf。 但是、我认为通信有点问题。 让我向您展示我看到的内容:

    A 信号看起来像是对配置寄存器的写入。 这看起来是正确的、但数据速率是关闭的。 主器件写入10010000、器件发出 ACK 信号。 然后主器件写入00000001以指示写入配置寄存器(然后是器件的 ACK)。 下一个字节为10000101。 这会在输入 AIN0-AIN、PGA=±2.048V 时以单冲模式启动新的转换(然后是另一个 ACK)。 然后主器件发送10000000 (带有 ACK 和 STOP)。 这会将数据速率设置为1600SPS。 然后、在使用 ACK 和 STOP 完成写入之前、有几个比较器设置。 这似乎是与器件的正确通信、类似于数据表中的图16。

    请注意、在此通信之后、数据将在转换完成后才会就绪。 如果器件处于单次转换模式、那么以下是事件序列:转换开始后、启动 ADC 大约需要20us。 然后、您将等待转换完成。 这通常需要1/(数据速率)完成、内部振荡器变化量为±10%。 例如,如果数据速率为128SPS,则等待20us+(1/128)*1.1 =0.708ms。 在此时间段之后、您可以读取器件、数据应准备就绪。

    之后、B 看起来是从器件中读取的、器件通过配置寄存器进行响应。 这不是从器件读取的工作方式、主器件应写入器件、并写入要从中读取的寄存器。 请参阅数据表中的图15。

    然后、信号 C 看起来像对00的器件(即数据寄存器)的写入、那么它看起来像对配置寄存器的写入。 但我认为这不是正确设置的。

    信号 D 看起来像读取、但它只提供00s、我也认为它设置不正确。

    我认为应该发生以下情况、而不是您所展示的情况:

    信号 A 正确。 向提供配置寄存器的器件发送写入。 发送10010000A00000001A10000101A1000000A 这也将在单次模式下启动转换。

    然后等待转换完成。 如果数据速率为1600SPS、则应为0.708ms。

    3.使用图15的格式读取设备。 请注意、对器件的读取从写入开始、以显示您从哪个寄存器读取。 这将成为地址写入、00、地址读取、读取数据(2个字节)。

    发送10010000A00000000A10010001AXXXXXXAXXXXXXA

    Xs 都是来自器件的数据。 这是总计5字节的事务。

    之后、再次使用1开始新的转换(或者您可以更改配置寄存器并进行不同的转换)。

    通读我的解释、看看这是否合理。 我认为、如果您尝试这样做、应该可以正常工作。

    吴约瑟