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.

[参考译文] ADS1015:ADS1015配置寄存器默认值问题

Guru**** 2515395 points
Other Parts Discussed in Thread: ADS1015

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/912341/ads1015-problem-on-ads1015-config-register-default-value

器件型号:ADS1015

您好、先生、

我将使用具有 ADS1015接口的 ATSAMD51控制器。

 ADS1015的电源电压为5.5V   

模拟输入通道3:2.3V

写入配置寄存器设置值:E103。  (ADC 通道:3,单端输入,+/- 6.144,128SPS,单模式,操作系统启用)

读取配置寄存器值后:8583 (默认值)。

由于该默认值、我们无法测量通道输入 电压。

请提供以下几点的解决方案、

1.当在 ADS1015中成功写入配置寄存器值(E103)时,为什么配置寄存器值始终为默认值? 。

谢谢、此致、

Poovai Anitha.L

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

    Anitha、


    您似乎尚未成功写入 ADS1015。 在这种情况下、您需要验证与设备的通信。 有几个方面需要检查。 请确保您具有正确的 I2C 地址、并且在读取和写入时都使用相同的地址。如果您有多个器件、这一点尤其重要。 应确保写入正确的地址指针以写入配置寄存器。 您可以在此处看到指针表:

    您应该验证进入器件的 I2C 通信。 它应该是地址的四个字节、配置寄存器的指针、然后是寄存器本身的两个字节。 通信应如下所示:

    您应该使用示波器来验证这一点。 如果器件接收到通信、则每个字节都应具有器件的 ACK、以表明已接收到通信。 我会在示波器上(或使用逻辑分析仪)捕获所有这些内容、以查看所有这些内容。 如果您仍然遇到问题、请获取示波器图并将其发布回此主题、以便我们可以查看它。


    吴约瑟

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

    您好、Joseph、

    谢谢 Joseph、以上提到的问题已得到解决。 ADS1015的电源为5V。  ADS1015第二通道(AIN1和 GND)的模拟输入:- 2.1V。 配置寄存器设置:- DBC3,根据数据表,我遵循转换寄存器写入,在主器发出停止位之后,然后读取转换寄存器值(请参阅数据表和示波器附件图像)。

    从机地址:0x90 (写入)

    从机地址:0x91 (读取)

    当读取转换寄存器值时、即使我将模拟输入电压从0更改为3.3V、我也始终得到0XFF60/0xFF90  

    请为上述问题提供解决方案。

    我已写入器件的配置寄存器、但没有任何问题、即使我已经从 ADS1015读取了配置寄存器值、也要进行验证。 下面是读取 CONFIG 寄存器的示波器结果。

    此致、

    Poovai Anitha.L

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

    Anitha、


    我在您发送的 I2C 通信中没有发现任何异常情况(尽管确实需要一些时间才能找到 ACK 位、因为它们并未全部按照我的预期进行分段)。

    将 ADS1015设置为 DBC3、应将以下内容设置到寄存器中:

    启动单次转换(处于断电状态时)
    AINP = AIN1、AINN = GND
    FSR =±0.256V
    单次模式或断电状态
    128 SPS
    禁用比较器

    有了这个设置、需要检查几个事项。 首先验证您是否已将输入连接到 AIN1、这是您要测量的通道(请记住、还有一个 AIN0通道)。 我还会将器件编程到其他通道、以查看它们是否随您的输入电压变化。 ±0.256V 的 FSR 设置通常用于小信号、通过测量 FF60h、等效电压为:

    FF6 =-10d
    输入电压=(-10 / 2^11)* 256mV =-1.25mV

    这意味着测量值为一个位负、或者有一个负偏移。 请注意、即使输入设置为单端、ADC 仍是差分输入。

    检查输入电压、并验证您的通道。 请告诉我您的发现。


    吴约瑟

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

    您好、Joseph、

    我更改了 ADS1015 (AIN2和 GND)上的通道。 配置寄存器设置:- E1C3, FSR 设置:+/- 6.144,单端输入,单模式,3300 SPS。 模拟输入电压:2.3V。

    但我仍然始终从转换寄存器获取0xFF60/0xFF90。

    谢谢、此致、

    Poovai Anitha.L

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

    Anitha、


    您能否共享原理图(以及您的设置照片)? 我想了解您如何设置器件的输入。 该器件还可以测量其自身的电源、因此您可以将其他输入之一连接到电源。 如果确实测量电源、请将器件设置为±6.144V 范围。

    每次测量返回 FF60h 肯定是不正常的。 我将继续进行测试测量、并继续从器件读回配置。 测量所有模拟输入的不同值。 此时、我只想更改一些内容、以便为您提供与您看到的内容不同的测量结果。


    吴约瑟

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

    您好、Joseph、

    我随附了电路板原理图(仅适用于 ADS1015 部分)。 在我们的设置中、我们使用150V 直流电源和分压器电路转换为5V。 该5V 电压用于连接 AIN2和 GND 进行测量。 我们已经尝试改变电压、为此进行了测量、我们还会得到一些奇怪的值、例如0xFF6、0xFFD 等 读取配置寄存器始终返回我们先前写入的正确值。

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

    Anitha、


    感谢您提供原理图。 它确实让我了解了事物是如何连接的。 但是、我并不认为这可能是一个问题。 这些连接是基本的、没有任何其他有源电路。 隔离可能是一个问题、但它看起来连接正确、您似乎获得了良好的通信以进行回读。

    您使用的是哪种封装的 ADS1015? 如果您使用的是超小型 X2QFN、则器件下方可能存在焊接桥接、从而使输入短路。 您可以在输入之间使用万用表来检查这一点。

    请注意、为了进行正确的测量、输入电压必须介于 GND 和 VDD 之间。 VCC_BATMON 的值是什么? 如果这是3.3V、您将无法测量5V。 无论如何、我建议您继续在±6.144V 的最大输入范围内进行测试、然后将输入连接到 VCC_BATMON。 作为电源、这应该为您提供一个处于输入范围内的电压。 如果 VCC_BATMON 为5V、则 ADC 应报告6830h。 再次检查所有输入。

    就在问题来自隔离的情况下、您能否使用隔离的 ADC 侧的示波器测量通信回读? 我想排除该部分。


    吴约瑟

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

    您好、Joseph、

    感谢 您的快速支持。 IC 封装错误。 测试设置:5.3V 直流连接到 AIN0和 GND,我没有向 AIN1和 GND 提供任何电压。 配置设置:C1C3H (AIN0和 GND)、D1C3H (AIN1和 GND)。 首先,我从通道0 (AIN0和 GND)读取值,它报告7FF0H。 然后、我配置(D1C3H)并从通道1 (AIN1和 GND)读取该值、它还报告7FF0H。 两个引脚之间没有短路。

    注意:我在两个通道之间为读取该值提供了2秒的延迟。

    当 通道1上没有提供电压电源时,为什么 ADC 通道1报告的值与通道0相同?

    此致、

    Poovai Anitha.L

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

    您好、Joseph、

    感谢 您的快速支持。 IC 封装错误。 在更改封装后、现在工作正常。  但下面仍然有以下问题。

    测试设置:5.3V 直流连接到 AIN0和 GND,我没有为  AIN1和 GND 提供电压。 配置设置:C1C3H (AIN0和 GND)、D1C3H (AIN1和 GND)。 首先,我从通道0 (AIN0和 GND)读取值,它报告7FF0H。 然后、我配置(D1C3H)并从通道1 (AIN1和 GND)读取该值、它还报告7FF0H。 两个引脚之间没有短路。

    注意:我在两个通道之间为读取该值提供了2秒的延迟。

    当 通道1上没有提供电压电源时,为什么 ADC 通道1报告的值与通道0相同?

    此致、

    Poovai Anitha.L

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

    Anitha、


    当您将5.3V 电压连接到 AIN0和 GND 时、VDD 的电压是多少? 这是 VCC_BATMON 上的电压。 请记住、输入电压不应大于 VDD。

    读数7FF0显示正满量程读数。 通常情况下、如果您的输入超出范围、我会预料到这一点、但当 FSR 设置为±6.144时、我猜输入不能超出范围。

    这次我会返回验证连接、然后返回测量采样器输入或接地输入发生的情况。 此时、如果您测量满量程读数、输入可能会断开连接或浮动。 此外、我将验证与器件的通信、并读回每个设置的配置寄存器。

    原始设备有什么问题? 器件是否损坏? 或者焊接它时是否有问题?


    吴约瑟

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

    Anitha、

    有一段时间没有收到您的回复、因此我想我会检查您在读取问题上的进度。

    在我的上一篇文章中、我确实对您看到的全量程读数提出了一些建议、并就验证您与器件的连接提出了一些建议。

    我现在将关闭此帖子、但如果您继续遇到此问题的问题、请发帖、我们可以再次处理此问题。

    吴约瑟