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.

[参考译文] ADS131A02:初始化后、数据不会改变。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1339892/ads131a02-after-initialization-data-is-not-changed

器件型号:ADS131A02
主题中讨论的其他器件: ADS131A04

您好!

我将 ADS131A02与微控制器配合使用、我的数据通道有问题。 我始终为数据通道读取0x7FFFFF。

我的配置:

M0 = IOVDD (异步中断模式)

M1 = IOVDD (32位字长)

M2 = GND (汉明数据关闭)

接口模式:异步 中断模式

fCLKIN:16.384MHz X-tal

寄存器的读取和写入工作正常、当我发送命令时、我收到正确的 ACK。

初始化设置:

  • 电源使能
  • 复位
  • 发送 NULL 16位值(0x0000)、而我接收0xFF02。
  • 解锁命令、并且我收到0x0655。
  • 配置每个寄存器(A_SYS_CFG = 0x4B60 (默认)、D_SYS_CFG = 0x4C3C (默认)、CLK1 = 0x4D02 (fCLKIN/2)、CLK2 = 0x4E20 (fICLK/2、FMOD/4096、 1kHz Fdata)、并且我收到每个响应0x2XXX。
  • 启用所有通道(0x4F0F)并且我接收0x2F03 (这可以吗? 或者必须接收0x2F0F?)
  • 唤醒命令、并且我接收到0x0033。
  • 锁定命令、并且我接收到0x0555。

当 DRDY 引脚下降中断时、我始终接收0x7FFFFF 数据。

当我更改输入电压时、数据不会改变。 始终为0x7FFFFF 或0xFFFFFF。

问题是什么?

谢谢。

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

    尊敬的 盛相:

    对于您的问题"Enable All channel (0x4F0F) and I receive 0x2F03 (这可以吗? 或者必须接收0x2F0F?)"、

    我的回答: 0x2F03是 ADS131A02对您的0x4F0F 命令的正确响应、因为 ADS131A02只有2个输入通道、如果您 向 ADC 发送0x4F03命令、您将得到相同的响应。  只应为 ADS131A04 ADC 提供0x2F0F 响应。

    您为该 ADC 配置32位字长是否有任何具体原因? 如果选择32位字大小、则必须发送每个长度为32位的字。 最好能分享 SCLK、DIN、DOUT、/DRDY 和/CS 的时序图。 此外、您可以将其更改为24位字大小、但还需要为每个命令发送24位大小和 NULL。

    Br、

    戴尔

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

    谢谢 Dale、

    我发送 SPI 字长32位。 0xXXXX0000。

    当我发送到 ADC 时、我附加了零(2个字节)。

    当我接收响应时、我捕获前2个字节的数据。

    我的初始化序列如下, plz 检查和帮助,抓住问题.

    从左到右的方向指示时间流。

    DOUT 是 MISO 引脚、DIN 是 MOSI 引脚。

    这些是同一时间的数据。

    我认为黄色标记可疑。 但我不知道为什么。

    Br、

    成相

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

    尊敬的 盛相:

    在没有更多信息的情况下、要理解您共享的内容并不容易、因为 ADC 始终会响应前一条命令、因此我的第一个问题是、您显示的是几帧数据吗? 您将显示11个字(32位)、这些字比一帧所需的数据多。 最好能包含 SCLK、/CS 和/DRDY 信号。

    Br

    戴尔

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

    尊敬的 Dale:

    我的问题得到了解决(?)。

    I SUPPLY 至 Vref 5V、非2.5V。

    使用 SPI 时、所有寄存器设置均正常。 和输出数据随电源输入而变化。

    但我有一个新问题。

    如果 I 输入5.0V、ADC 输出 0x7FFFFF。 并输入0.0V、然后 ADC 输出0x000000。

    这些是23位分辨率。

    我需要使用0~5.0V 范围、24位分辨率。

    如何使用? 我需要更改哪些内容?

    Br、

    成相

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

    尊敬的 盛相:

    我没有看到原理图、但 如果您的信号是0~5V 单端输入、Vref 是2.5V、则可以使用伪差动输入配置(Vcm=2.5V)、如下所示。

    Br、

    戴尔

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

    尊敬的 Dale:

    感谢你的帮助。

    请查阅下面的原理图。  您确定我们使用的是伪差动输入模式吗?

    我不了解原理图。 我是一名软件工程师。

    我有一个问题。

    如果我们使用伪差动输入模式、那么 ADC 的输出数据范围是0x000000 (0V)~ 0xFFFFFF (5V)?

    请 查看我们的原理图并作出回复。

    Br

    成相

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

    尊敬的  Hi  Seungsang:

    您的原理图显示、您未使用 伪差分输入。 使用单个+5V 电源、禁用内部负电荷泵(A_SYS_CFG = 0x60默认值)、选择外部 Vref = 2.5V。 此外、AINN 也是接地的、因此 ADS131A02 ADC 测量差分电压 VIN = VINP–VINN、输入范围为-VREF/增益至+VREF/增益、默认情况下它介于-2.5V 至+2.5V 之间作为您的增益=1。  

    当您向 AINP 施加+5V 电压时、差分电压为 VINP-VINN=5-0=5V、根据您的原理图和配置、这已超过了最大输入范围(+2.5V)、您看到的就是(如果 I 输入5.0V、ADC 输出 0x7FFFFF)。 并且输入0.0V、然后 ADC 输出0x000000)是正确的。  当 AINP 的输入电压介于+2.5V 和+5V 之间时、您将始终看到0x7FFFFF。 如果您要测量0V 和+5V 之间的信号、应该将2.5V 直流连接到 AINN 引脚、该引脚是 伪差动输入、如我之前的帖子中所示的方框图。

    此外、在 AGND 和 DGND 之间使用铁氧体磁珠不是一种好的设计、建议使用实心接地层、请参阅数据表中的布局指南。

    Br、

    戴尔

x 出现错误。请重试或与管理员联系。