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.

[参考译文] ADS131M04-Q1:需要帮助:ADS131M04和 RP2040之间的基本通信

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1463526/ads131m04-q1-help-needed-basic-communication-between-ads131m04-and-rp2040

器件型号:ADS131M04-Q1
主题中讨论的其他器件:ADS131M04

工具与软件:

您好!

我目前正在研究如何将 Raspberry Pi Pico 与 ADS131M04相连。 但是、我遇到了一些问题。

当我发送基本的复位命令时、没有响应、

当发送寄存器读取命令时、我收到的响应在结构上不正确。

下面是供您参考的引脚连接图。

此外、所有 AIN 引脚均连接到 DVDD 和 DGND。

对于时钟设置:

  • CLKIN 使用由 RP2040提供的 PWM 输出在8.196 MHz 处进行配置。
  • SCLK 被设定为20 MHz。

电压电源线(3.3V)在3.26V 和3.22V 之间波动。 接地线(GND)在0至0.025V 之间变化。

您能告诉我是否缺少内容或我需要检查的其他内容吗?

感谢您的帮助。

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

    尊敬的 KIRYOUNG YANG:

    欢迎加入 TI E2E 社区!  

    我不确定您是否使用 ADS131M04-Q1 ADC 设计了自己的电路板并进行了测试。 从方框图中可以看到、您将 CAP 引脚连接到 GND (AGND)、ADS131M04-Q1的 CAP 引脚是模拟输出引脚、应在此引脚和 GND 之间放置一个220nF 电容器。  此外、您要在 DGND 和 AGND 之间放置一个220nF 电容器、DGND 应连接到 ADS131M04-Q1 ADC 上的 AGND。 我建议您查看 ADC 数据表中的所有详细信息。

    默认情况下、ADS131M04-Q1 ADC 上 SPI 的字长为24位、因此发送到 ADC 的任何数据/SCLK 都应具有24位长度。 以下是时序示例:

     RREG 读取 GAIN 寄存器(0x4地址):

     

    WREG 时钟寄存器(0x03)+寄存器数据:

    NORMAL Operation_6帧中的字(每个字的长度为24位):

    BR、

    戴尔

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

    我意识到我没有正确地表示方框图。 您提到过、它是配置好的。


    目前、我已将 SPI CPOL 设置为0、将 SPI CPHA 设置为1、它正在正常运行。
    但是、我遇到了一个新问题。 我曾尝试将 MODE 寄存器中的 WLENGTH 更改为16位、但没有应用预期的设置。

    时钟和增益寄存器可正常写入。
    还有什么我应该知道的吗?

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

    尊敬的 KIRYOUNG YANG:

    您能否说明"未应用预期设置"以及设置的过程?

    BR、

    戴尔

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

    下面是寄存器写入

    这是寄存器读取

    响应中的保留部分也填充为1。

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

    尊敬的 KIRYOUNG YANG:

    您是否意味着无法从先前写入的寄存器中正确读取数据? 您是否能够读取寄存器的默认值? 我看到您的/CS 在这些图像中始终处于低电平、您在将 SCLK 发送到 ADC 之前和之后是否切换了/CS?

    BR、

    戴尔

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

    很抱歉响应延迟。

    我已经确认 CS 正确切换、并且正确读取了寄存器的默认值。 例如、STATUS 寄存器的响应地址为0x0500、MODE 寄存器的响应地址为0x0510。

    但是、即使通过写操作修改 MODE 寄存器后、它也会继续读回默认值0x0510。 尽管如此、由于默认设置已经满足所需的规格、因此我决定暂时搁置此问题、继续进行电压测量测试。

    遗憾的是、我在测试过程中遇到另一个意外问题。 通道1和2共用同一个负模拟输入。 当我更改通道2的正值时就会出现问题、因为这也会导致通道1的值发生变化。

    您能否就如何确保每个信道独立运行提供建议? 非常感谢您就此问题提供指导。

    非常感谢您的支持。

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

    尊敬的 KIRYOUNG YANG:

    您能否说明一下"通道1和2共用同一个负模拟输入端"? 您是将 AIN1N 和 AIN2N 短接在一起、还是将它们短接在一起然后连接到信号源? 最好能通过这些引脚上的信号绘制连接。

    BR、

    戴尔

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

    事实证明、我的稳压器电路存在问题。 现在一切都正常。

    我还有最后一个问题。
    当我使用默认设置读取数据时、值以大约500ms 的间隔读取。
    使用全局斩波模式时、时间间隔会增加到约1.6秒。
    即使我将 OSR 设置为64、也会以67ms 的间隔读取这些值。

    这个间隔时间比我预期的要长得多。
    这是预期行为吗?
    我想知道正常条件下的典型速度。

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

    尊敬的 KIRYOUNG YANG:

    如果 ADC 的外部时钟为8.192MHz、则默认数据速率为4ksps、默认为1024 OSR。 请仔细检查并告诉我您的 /DRDY 信号间隔是否为250us。

    BR、

    戴尔