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.

[参考译文] ADS1261:数据转换器论坛

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1062252/ads1261-data-converters-forum

器件型号:ADS1261

您好!

我们使用 ADS1261将传感器配置为差分输入、从而对设计中的磁力计进行采样。 我们的代码可以读取/写入寄存器并从传感器获取样本。 为了验证芯片是否正常工作、我们将测试代码设置如下并读取差分信号:(AVDD-AVSS)/4 - DVDD/4或 DVDD/4 -(AVDD-AVSS)/4。 遗憾的是、我们无法获得预期值。
在我们的设计中:AVDD = 5.0VDC;AVSS = GND;DVDD = 3.3VDC。 基准电压设置为内部2.5VDC。 所有三个电压引脚均可通过万用表正确读数正常工作。
2. ADC 设置为:
  [MODE0]= 0b01001000:1200SPS、SINF1
  [mode1]默认值为0b00000001:斩波模式关闭、连续转换、50us 延迟
  [mode3]作为默认值、0x00h
  [Ref]= 0b00010000:2.5V 内部基准
  [OFCAL0]作为默认值、0x00h
  [OFCAL1]作为默认值、0x00h
  [OFCAL2]作为默认值、0x00h
  [FSCAL0]作为默认值、0x00h
  [FSCAL1]作为默认值、0x00h
  [FSCAL2]作为默认值、0x40h
  [IMUx]作为默认值、0xxh
  [Imag]作为默认值、0x00h
  [PGA]= 0b00000000:增益1
  [INPMUX]= 0b11001101: Positive 输入多路复用器=(AVDD-AVSS)/4=5.0VDC/4;Negative 输入多路复用器=DVDD/4=3.3VDC/4。  
  [INPBIAS]作为默认值、0x00h
应用测试代码 RREG 命令以读回具有3个字节的所有寄存器、以验证设置。 所有读数如下所示:
  RREG ID:FF=0xff;B1_20h=0x20;B2_8xh=0x81
  RREG 状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RREG MODE0:FF=0xff;B1_22h=0x22;B2_48h=0x48
  RREG 默认 MODE1:FF=0xff;B1_23h=0x23;B2_01h=0x01
  RREG 默认模式2:FF=0xff;B1_24h=0x24;B2_00h=0x00
  RREG 默认 MODE3:FF=0xff;B1_25h=0x25;B2_00h=0x00
  RREG REF:FF=0xff;B1_26h=0x26;B2_10h=0x10
  RREG 默认 OFCAL0:FF=0xff;B1_27H=0x27;B2_00h=0x00
  RREG 默认 OFCAL1:FF=0xff;B1_28h=0x28;B2_00h=0x00
  RREG 默认 OFCAL2:FF=0xff;B1_29H=0x29;B2_00h=0x00
  RREG 默认 FSCAL0:FF=0xff;B1_2Ah=0x2a;B2_00h=0x00
  RREG 默认 FSCAL1:FF=0xff;B1_2bh=0x2b;B2_00h=0x00
  RREG 默认 FSCAL2:FF=0xff;B1_2ch=0x2C;B2_40h=0x40
  RREG 默认 IMUX:FF=0xff;B1_2dh=0x2D;B2_FFH=0xff
  RREG 默认 IMAG:FF=0xff;B1_2Eh=0x2e;B2_00h=0x00
  RREG PGA:FF=0xff;B1_30h=0x30;B2_00h=0x00
  INPMUX:FF=0xff;B1_31h=0x31;B2_CDH=0xcd
  RREG 默认 INPBIAS:FF=0xff;B1_32H=0x32;B2_00h=0x00
然后发出 START 命令。
然后应用 RDATA 命令和 RREG 获取状态命令以1KHz 读取差分信号+状态。 调试打印是  
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0x7f;B3_MID=0xff;B4_LSB=0xff; 结果= 8388607
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0x7f;B3_MID=0xff;B4_LSB=0xff; 结果= 8388607
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0x7f;B3_MID=0xff;B4_LSB=0xff; 结果= 8388607
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05

 结果有2个问题:
 1) 1) 0x7ffff = 8388607为2.5V、这不是预期值:5.0V/4 - 3.3V/4 = 0.425V。  
 2) 2)似乎存在溢出、因为我们始终得到0x7fff。 但未指示0x05的状态。

6.对于上述测试,我们将[INPMUx]= 0b11001101更改为0b11011100,原因是:  
  Positive 输入多路复用器= DVDD/4=3.3VDC/4;Negative 输入多路复用器=(AVDD-AVSS)/4=5.0VDC/4。  
  调试打印包括:
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xDE;B3_MID=0xc6;B4_LSB=0xc8; 结果=-2177336
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xDE;B3_MID=0xdb;B4_LSB=0x0B; 结果=-2172149
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xDE;B3_MID=0xc9;B4_LSB=0x95; 结果=-2176619
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xDE;B3_MID=0xD3;B4_LSB=0x16; 结果=-2174186
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
  RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xDE;B3_MID=0xD5;B4_LSB=0xdf; 结果=-2173473
  状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
 
 结果大约为-2177336 (猜中噪声会导致变化)。
 预期值为:(3.3V/4 - 5.0V/4) X 0x7fff/2.5V =-1426063。  
 即使采样值不接近预期值、采样值也似乎是部分合理的。

7.对于步骤1~6的上述测试、我们将[PGA]= 0b00000001更改为增益为2以进行另一项测试。  
  1) 1)对于步骤5、我们将按进行调试打印
    RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0x7f;B3_MID=0xff;B4_LSB=0xff; 结果= 8388607
    状态:FF=0xff;B1_21h=0x21;B2_05h=0x25
 
   尽管0x7ffff = 8388607的结果没有变化、但状态的 PGAL_ALM 位设置为高电平以指示溢出。

  2) 2)对于步骤6、我们将按进行调试打印
    RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xBD;B3_MID=0x97;B4_LSB=0xc1; 结果=-4352063
    状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
    RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xBD;B3_MID=b5;B4_LSB=0xdc; 结果=-4344356
    状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
    RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xBD;B3_MID=0x92;B4_LSB=0x84; 结果=-4353404
    状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
    RADTA:B0_FF=0xff;B1_12h=0x12;B2_MSB=0xBD;B3_MID=0xb1;B4_LSB=0x03; 结果=-4345597
    状态:FF=0xff;B1_21h=0x21;B2_05h=0x05
 
 与步骤6中的结果相比、-4352063的结果大约翻了一倍。 这是预期的、因为增益加倍。

要寻求帮助的问题汇总如下:
1.为什么在[INPMUX]= 0b11001101时无法获得采样值?
2.当[INPMUX]= 0b11011100时、为什么无法获得准确的采样值?

 

此致、

二进制文件

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

    您好、Bin、

    是否可以尝试将 INPMUX 设置为1100 1100b 或1101 1101b? 您不应将两个信号混合在一起、这不是内部测量的工作方式。

    将 INPMUX 设置为1100 1100b 或1101 1101b 应分别为~1.25V 和~0.825V。

    布莱恩

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

    您好、Bryan、

    感谢您的快速回答! 我将  INPMUX 更改为1100 1100b 和1101 1101b、  并按预期获得1.258V 和~0.826V、我还有2个其他问题:  

    1、如何理解将 INPMUX 配置为1100 1100b 应获得~1.25V? 我是说 Positive 输入多路复用器和 Negative 输入多路复用器都连接到(AVDD-AVSS)/4。 理论上、在这种情况下、差分输入是否应为零? 在我的应用中、 INPMUX 将被设定为0x012、 0x034和0x056 作为差分输入来读取3D 磁性传感器3。

    2. 如何配置 INPMUX 以获得-1.25V 和-0.825V?

    二进制文件

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

    您好、Bin、

    AVDD 和 DVDD 的测量是差分的、与我在下面所示的图像类似。 ADC 正在测量 AVDD 和 AVSS 之间建立的内部电阻分压器、并测量中心电阻以跟踪 AVDD 处的电压。 实际电路与下面的电路不同、但适用相同的原理。

    实际上、如果 AVDD = 5V 且 AVSS =接地、则 AINP 为~3.125V、AINN 为~1.875。 AINP 和 AINN 之间的差分电压为1.25V、这是 ADC 测量并报告的结果(DVDD 的工作方式类似)。 这就是为什么设置 INPMUX = 1100 1101b 未能提供预期结果的原因:AINP 或 AINN 上的电压均不= AVDD/4、AINP 和 AINN 之间的差分电压均等于 AVDD/4

    无法配置 ADC 多路复用器来提供您请求的电压。 您可以在外部提供这些电压、然后使用 ADC 测量这些电压、但 AVDD 和 DVDD 测量值始终为正。

    布莱恩

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

    您好、Bryan、

    现在我了解了。 非常感谢您的帮助!

    二进制文件