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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/854055/ads131a02-wrong-data-high-noise-while-inputs-shorted

器件型号:ADS131A02

你(们)好

http://www.ti.com/lit/ds/symlink/ads131a02.pdf

我对该 ADC 有一些问题:

输入短路时具有高噪声(差分~1200 ADC 点、VREF = 4V、因此24位分辨率下的噪声约为500uV)
SPI 帧错误: 在我完成所有初始化并执行获取数据的操作后、会设置 STAT_S 寄存器中的 F_FRAME。

我的设置:

AVCC 5V
DVCC 3.3V
VREF 4V -内部使用
M0 - DVCC  
M1 - DVCC
M2 - GND

因此、 它的异步中断模式、 32位 SPI 字大小、 汉明码字验证关闭。

我的初始化步骤:

1.将 RESET 引脚置为高电平
2.读取0x00寄存器以获取0xFF02答案:



3.解锁 ADC (0x0655)


这个阶段、我已经可以配置 ADC、但我读取了所有寄存器。

例如、读取 STAT_1:


如您所见、所有故障位均已清除。

接下来、其他寄存器读数将显示:

STAT_P - 0x00
STAT_N - 0x00
STAT_S - 0x00 (无 SPI 错误!)
ERROR_CNT - 0x00
STAT_M2 - 0x05 (0000 0101b -如上所述设置)
A_SYS_CFG - 0x60
D_SYS_CFG - 0x3C
CLK1 - 0x08
CLK2-0x86
ADC_ENA - 0x00
ADC1 - 0x00
ADC2 - 0x00

与默认情况下应该完全相同。

5、现在我将 CLK2设置为 E0 (1110 0000b)
所以

  • Fmod = fICLK/14
  • Fdata = Fmod / 4096


进行延迟260MS 并回读该寄存器以确认设置。

6. 将 A_SYS_CFG 设置为0x78 (0111 1000b)

所以  

  • REFP 设置为4.0V
  • 启用和选择内部基准电压

进行延迟260MS 并回读该寄存器以确认设置。

7.将 ADC_ENA 设置为0x0F

响应不同于数据表-它应该是0x0F、但我接收到0x03。
我认为这是因为我使用的是双通道器件(因此0x03 = 0000 0011b)、但如果我错了、请纠正我的错误。

将延迟260MS 重新读取该寄存器以确认设置(再次为0x03)。

8.发送唤醒:


延迟260MS。

9.发送锁定命令:


之后产生300ms 的延迟。

轮询 RDRY 引脚:当它变为低电平时、我将开始发送 NULL 命令:




现在出现错误0x30 (显示为 SPI 错误)、我已经读取了其他 STAT_S 寄存器、它给出了0x01:
每帧发送的 SCLK 不足


此外、我的通道会短路、结果为:

对于 CH1、0x000739 = 1849
对于 CH2、0x0004F0 = 1264

为什么会有这样的不同?

下面是一些其他示例:
对于 CH1、0x000736 = 1846
对于 CH2、0x0004EE = 1258

对于 CH1、0x000731 = 1841
对于 CH2、0x0004EB = 1259


希望得到帮助、谢谢!

此致

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

    您好!


    此时、您似乎已经按照数据表图106中的启动过程进行了操作。

    首先、我将尝试使用真实电压输入进行一些替代测量。 我的第一个问题是 ADC 通道的差异可能只是失调电压的通道间变化。 查看第一次测量的值:

    1849代码= 4V *(1849/2^23)= 0.88mV

    1264代码= 4V *(1264/2^23)= 0.66mV

    这与我对器件偏移的预期值不远。 数据表中列出的偏移通常为0.5mV。 虽然这可能略大于平均值、但这并不是意料之外的。

    使用更大的电压、您可能能够确定这是否真的是失调电压误差、或者是否存在与任一通道相关的其他增益误差。



    吴约瑟

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

    感谢您的回复。

    您能否指定数据表偏移值(~0.5mV)中提到的确切位置?

    此外、为什么在输入短路时接收如此多的 ADC 代码?  我想它应该低得多吗?  
    还是存在一些固定 的偏移? 因此、我可以在计算中执行如下操作:

    CH1_ADC_CODES = ADValueCH1 -偏移;
    convert_TO_VOLTAGE (CH1_ADC_CODES);//使用 ADC 代码的修正值转换为电压... 



    我想知道、这些值是如何获得的? 它是否包含偏移校正?




    增益。 我无法使用增益修改任何设置、此外、数据表中还指出、仅适用于4通道版本 IC 的增益修改:


    此致

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

    您好!



    失调电压规格可在电气特性中找到。 我已在下图中将其剪切掉。


    这是直流失调电压。 测量完该偏移后、您可以从以后的测量中减去该偏移误差、以将其删除。 但是、我要注意的是、偏移具有典型值为2.5uV/°C 的漂移分量 如果温度大幅变化、您可能需要进行另一次偏移测量。

    在您显示的动态范围表中、您用红色框的列基本上是噪声测量。 在这种情况下、输入被短接、偏移被移除并且噪声的 RMS 值被计算。 这是噪声的均方根值。

    对于数字增益配置寄存器、这句话是错误的。 仅保留13h 和14h、增益控制应在 ADS131A02通道上工作。 如果您看一下表15上的寄存器映射、可以更清楚地看到:




    吴约瑟