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.

[参考译文] ADS114S08:AIN8-AIN11失调电压大

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1437814/ads114s08-ain8-ain11-large-offset

器件型号:ADS114S08
主题中讨论的其他器件:ADS114S06

工具与软件:

你(们)好 是多少。 12路输入配置。 我 将所有输入从外部连接至 AINCOM。

内部2.5V 基准

我在0和0x0B 之间切换 PMUX。 还为通道激活500uA IDAC。

对于输入 AIN0 - AIN7、我得到0 - 12之间的 ADC 读数。 这是可以的。

对于输入 AIN8-AIN11、我得到大约330。 这就是问题所在。   

如果我不激活 IDAC、我将获得0-12 ADC 读数。  

如果我测量输入和 AINCOM 之间的 mV、通道激活时、该值为6mV。 所有通道均具有6mV 电压、即使是"良好"通道也是如此。 似乎不是问题。   

AIN8-AIN11也恰好是可选 GPIO、但它处于默认状态(模拟输入)

我已检查逻辑分析仪的 SPI 通信、正确无误。 还按照预期制作了寄存器回读和寄存器。   

能否帮我理解一下、通道8-11有什么问题? 我有6个这样的板、它们的行为都相同。 我似乎是某种配置问题。

初始配置:

const uint8_t ADS114_S08B_init_commands[]={
0x03、//起始地址
ADS_DELAY_14 + ADS_PGA_BYPASS + ADS_GAIN_1、//对于 xx08B 芯片必须为延迟14
对于 xx08B 芯片、ADS_FilterType_LL + ADS_DR_50、//bit7必须为0且位4 1
ADS_REFP_BYP_ENABLE + ADS_REFN_BYP_ENABLE + ADS_REFSEL_INT + ADS_REFINT_ON_Always、
对于 XB 芯片、ADS_IDACMAG_500、//7:4必须为零
ADS_IDAC2_OFF + ADS_IDAC1_OFF、
0、//VBIAS 控制
0、//系统控制。 对于 XB 芯片、1:0必须为0
};

通道切换命令:

SPI1_ByteWrite (0x40 + INPMUX_ADDR_MASK);//WREG 命令及起始地址
SPI1_ByteWrite (6);// data length - 1
SPI1_ByteWrite ((Ch_no << 4)+ ADS_N_AINCOM);
SPI1_ByteWrite (ADS_delay_14 + ADS_PGA_BYPASS + ADS_GAIN_1);//对于 xx08B 芯片、必须延迟14
SPI1_ByteWrite (ADS_FilterType_LL + ADS_DR_50);//对于 xx08B 芯片、bit7必须为0、位4必须为1
SPI1_ByteWrite (ADS_REFP_BYP_ENABLE + ADS_REFN_BYP_ENABLE + ADS_REFSEL_INT + ADS_REFINT_ON_ALWAYS);
SPI1_ByteWrite (ADS_IDACMAG_500);对于 XB 芯片、//7:4必须为零
SPI1_ByteWrite (ADS_IDAC2_OFF + Ch_no);//
SPI1_ByteWrite (ADS_VBIAS_LVL_DIV2 + 0);//Vbias

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

    编辑:如果正输入和 AINCOM 之间有大约12欧姆的电阻器、则会得到6 mV。 如果通过电线连接、则为0mV。  

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

    尊敬的 Erki Leitaru:

    我在跟踪您正在做的事情时遇到问题、您能否画一张图片?

    听起来您正在测量12个输入(您正在测量什么? RTD?)、每个传感器都连接到 AINCOM、该 AINCOM 接地(因此您的所有测量都是单端的)

    然后将 IDAC 应用到每个输入、会得到不同的读数? 一个"0-12 ADC 读数"表示你不是真的在测量任何东西、那么你能更清楚你在做什么吗? 您是否将模拟输入短接至地、然后强制通过模拟输入的 IDAC 并测量模拟输入和 AINCOM 之间的 ADC 代码?

    将 IDAC 应用于您选择作为模拟输入(AINP)的同一通道、从而测量一些多路复用器电阻。 由于增加了 GPIO 功能、通道 AIN8-AIN11上的多路复用器电阻可能有所不同。

    如果您可以提供更多信息、或者这可以回答您的问题、请告诉我

    -Bryan

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

    你(们)好 现在、边栏上弹出了类似的主题。  https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/947023/ads114s08-ain0-7-gets-different-results-than-ain8-11

    我认为一定是这样。 AIN8-AIN11内部不同。 遗憾的是、数据表中未提及这一点并对此发出警告。

    我尝试进行12次单端 PT1000测量。 就像您所说的那样-逐个选择输入并在内部将励磁电流直接施加到输入引脚。

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

    尊敬的 Erki Leitaru:

    感谢您更详细地进行解释、现在我明白了

    通常、 IDAC 和模拟输入是单独的引脚、否则您将容易看到错误。 您通常还需要在 ADC 输入上使用抗混叠滤波器(您当前没有该滤波器)、这是 AIN1/AIN2之间的 RC 滤波器、如下图所示。 因此、您不能使 IDAC 电流经过输入、而是需要连接到滤波电阻器的另一侧(如图所示)。 因此、对于典型的 RTD 测量系统而言、多路复用器电阻不会成为问题

    您可以考虑为模拟输入添加一个外部多路复用器、为 IDAC 添加一个多路复用器、然后使用 ADC GPIO 来控制该多路复用器。 这将为您提供更好的结果、并且是首选方法。 由于您不需要太多模拟输入、您也可以在这种情况下使用 ADS114S06。 ADS114S06是 ADS114S08的成本稍低版本、可能会抵消添加2个多路复用器的成本

    -Bryan