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.

[参考译文] ADS124S08:ADC 转换中的异常行为

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS124S08, ADS114S06, ADS124S06, INA240

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/875327/ads124s08-unusual-behavior-in-adc-conversion

器件型号:ADS124S08
主题中讨论的其他器件: ADS114S06ADS124S06INA240

您好!

我们正在使用您的 ADS124S08 ADC 开发应用。

我们已经开发了原型、现在我们正在运行固件并测试 ADC。

我们使用的 TI 库可简化开发过程、因为它具有读取、写入、初始化和配置 ADC 的所有函数。

在初始化 MCU 和内部接口后、我们开始初始化 ADC、固件中的序列如下:

ADS124S08_sendCommand (RESET_OPADE_MASK);
ADS124S08_writeRegs (0、18、&register[0]);
ADS124S08_readRegs (0、18、&register[0]);
ADS124S08_restart ();

在无限循环中、我们有:

HAL_DELAY (500);
liAcqDigPress = ADS124S08_dataRead (&ucAdStatus、&ucAdCRC);

我们没有对配置寄存器进行任何特定配置。 我们将其全部保留为默认值。

运行代码后、函数"ADS124S08_dataRead (&ucAdStatus、&ucAdCRC)"将原始 ADC 结果返回到变量"liAcqDigPress"。

输入差分电压来自 Keller 10L 传感器。

当我们从高精度压力发生器施加固定压力并监测变量"liAcqDigPress"时、我们观察到结果保持静态、具有特定值的时间很长、另一段时间内、结果保持静态并具有另一个值。

例如:在我们的最新测试中、对于施加的特定压力、我们从变量"liAcqDigPress"中得到了27039 (十进制)、该变量会长期保持静态(几个样本、假设为80)、26783 (十进制)也会长期保持静态。

这种行为对我来说听起来很奇怪。 通常、该结果应该在样本之间振荡一些位、不应该这样?

您能给我们介绍什么? 可以帮帮我们吗?

您在我们的固件中使用了 TI 库。


谢谢、此致、

Marco Aurelio P. Coelho
固件开发人员
Sensycal 介入和系统

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

    尊敬的 Marco:

    欢迎来到 E2E 论坛!  您是否有任何显示转换数据的时序和读取的逻辑分析仪数据? 配置设置使内部基准关闭、REF0被用作基准输入。  您是否有一个原理图可供分享、其中显示了如何连接传感器以及您使用的基准?

    一种连接方法是使用 IDAC 电流源作为激励源、并使用 IDAC 在电桥上产生的电压作为基准输入。  这将导致最低噪声和更高的漂移性能。  这还需要为 IDAC 启用内部基准。  您还需要使用5V 模拟电源来满足 IDAC 合规电压。

    对于配置(默认设置)、您不使用 IDAC 或内部基准、默认数据速率为20sps。  这意味着一个新的转换结果将只在大约每50ms 准备好一次。  我不确定 HAL_DELAY (500)的延迟时间是多久、但您很可能会在这个50ms 周期内反复读取相同的转换结果。  您应该监控 DRDY 以确定何时有新的转换结果可用。  如果使用了计时器、则必须确保根据所选的数据速率等待适当的时间量。  示波器或逻辑分析仪将帮助确定相对于 DRDY 的时序、您可以通过监控来查看是否在 DRDY 脉冲之间多次读取数据。

    该配置还设置为 PGA 旁路和增益1。  您应该能够启用 PGA 并使用一些增益、但可用的增益量将取决于施加的基准电压。

    此致、

    Bob B

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

    尊敬的 Bob:

    很抱歉耽误你的回答。 我今天不在办公室,又回来了。

    非常感谢您的关注和支持。

    只需确认:您建议使用5V 和 GND 为 AVdd 和 AVss 供电,以满足 IDAC 合规电压。 我们通过固件启用 IDAC、以便将 IDAC1电流源连接到 REFP1、并从外部将 REFN1连接到 GND。 对吗?

    n´t 执行了您建议的更改、并进行了以下测试:

    我们从一个精密电源施加了几个(差分)电压、步长为2mV、我们注意到了一个奇怪的行为:  

     如果我们不启用 PGA (增益= 1)、则 ADC 工作正常、但如果我们启用 PGA、我们会注意到、从特定点(Vin)开始、ADC 读取的值始终与饱和值相同。 我不知道为什么。

    请附上我们的原理图(ADC 连接和电源)。 如您所见、我们已经使用5V 为模拟供电、J1是一个焊接跳线、我们可以移除该跳线、以便在 IDAC 电流源为 REFP1供电的情况下执行测试。

    此外、还附上了包含上述测试结果的工作表

    我们将使用 IDAC 电流源执行新的测试、完成后、我们会将结果发送给您(包括示波器测量结果)。

    谢谢、此致、

    Marco Aurelio P. Coelho

    固件 Engineere2e.ti.com/.../schematics_5F00_p_5F00_sensor_5F00_ads124s08.zip

    Sensycal Instruments

     e2e.ti.com/.../teste_5F00_ads124S08.xlsx

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

    尊敬的 Marco:

    在原理图中、您有 IN+也连接到 REFP1、这是正确的。  但是、您不应将 IDAC 电流流经 REFP1、因为4.12k 电阻器上会出现明显的压降。  我建议使用其中一个当前未使用的输入、并将电流从该输入路由到 IN+网络。  您可以将其他所有内容保持不变。  对于寄存器设置、您需要将内部基准打开、并选择 REF1作为基准输入。  您还需要打开 IDAC 电流源(我认为传感器需要1mA 电流)、并将该电流通过所需输入路由到 IN+网络。  您现在应该能够进行测量。

    当启用 PGA 时、您共享的结果显然超出了 PGA 的输入限制。  如果您尝试将输入驱动得太接近电源轨、那么您将开始看到线性问题。  如果您要通过 REFP1驱动电流、那么这很可能是 R3上的压降导致的问题。  我还认为、由于类似的原因、您可能会看到 IDAC 的电压顺从性产生了一些线性问题。

    如我在上面所述配置寄存器设置后、使用外部电压表测量 IN+到 IN-以及 OUT+到 OUT-之间的电压。  还可以检索转换结果并与您在上一帖子中所做的相同共享。  同时共享您当前使用的所有寄存器设置。  如果您不使用实际的传感器、而是从外部电压源施加电压、则必须确保该电压在输入范围内。  根据您所连接的电源电压、您实际上可能测量单端电压、并且在启用 PGA 时超出输入范围。

    此外、为了让我清楚、该线程标记为 ADS124S08 (24位)、但原理图显示的是 ADS114S06 (16位)。  那么、您使用的特定 ADC 是什么、以便我可以正确计算。

    此致、

    Bob B

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

    尊敬的 Bob:

    您就在电阻器旁边。 我们可以将其删除以进行新测试。 没问题。

    但是、现在我们非常担心绝对输入电压(VAINx)和 Vin (VAINp-VAINn)限制。

    在我们的应用中、我们需要测量 Keller 的压力传感器。 起初、我们的目的是将其直接连接到 ADC 输入。 查看传感器的数据表、它看起来像一个 Whitstone 桥、但我们无法确定启用 PGA 时、传感器在 AIN0和 AIN1上生成的电压将在数据表指定的 VAINx 范围内。

    我们拥有0-14mV 至0-160mV 范围内的传感器。  因此、考虑到我们的电源条件:AVss=Vref1n=0V 和 AVdd=Vref1p=5V、获得最佳分辨率的理想 PGA 增益为16、0-160mV 和128、0-14mV。

    通过应用数据表中的最大值和最小值 VAINx 公式、我们得到以下值:

    PGA 增益 最小 VAINx 最大 VAINx 最大输入电压(VAINp - VAINn)
    2. 1、4 3.6. 2.5.
    4. 2、025 2 975 1、25
    8. 2、3375 2、6625 0、625
    16. 2、49375 2、50625 0、3125
    32 2、571875 2、428、125 0、15625
    64 1、3609375 3、6390625 0、078125
    128 0、7554688 4、24453125 0、0390625

    如果 PGA 增益= 16、请注意 VAINx 范围太窄:13mV!! 如果 PGA 增益= 128、我们可以使用更大且更舒适的范围、但如果我们保持该增益、则14mV 传感器的分辨率会降低。

    我们知道传感器产生的差分电压、因为它由数据表指定、但我们不知道每个 AINx 引脚上产生的差分电压。 我们必须对每一个进行测量。  

    我们如何使用传感器满足这些条件? 是否需要插入具有运算放大器的某种信号调节电路来满足这些工作条件?

    谢谢、此致、

    Marco Aurelio P. Coelho

    固件工程师

    Sensycal Instrumentse2e.ti.com/.../Vref_2600_VAIN_5F00_max_5F00_min.xlsxe2e.ti.com/.../Keller-_2D00_-Series-3-L-to-10-L.pdf

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

    尊敬的 Marco:

    您的计算不正确。  数据表第8页第7.3节的表格显示了绝对输入电压的计算。  您可能会误解此方程式的含义。  ADC 满量程输入范围为+/-VREF/Gain. 如果基准电压为5V 且增益为16、则满量程范围为+/- 312.5mV。  如果增益增加到128、则输入范围为+/- 39.06mV。  需要注意的是输入相对于 AGND 和 PGA 增益的影响、因此不会使 PGA 输出饱和。  我建议下载用于计算输入范围的 ADS124S08设计计算器工具:

    http://www.ti.com/tool/ADS124S08-EXCEL-CALC-TOOL

    惠斯通桥接器件的输出以 EXC/2为中心。  如果您以5V 电压激励惠斯通电桥、则在平衡空载状态下直流输出将为2.5V (OUT+= 2.5V、OUT-= 2.5V、差值为0V)。  例如、如果电桥输出为+25mV、OUT+的输出电压将为2.5+12.5mV、OUT-的输出电压将为2.5-12.5mV。  该差值将为25mV、集中在2.5V。 在计算器工具中将2.5125V 和2.4875V 作为输入电压、您将看到该输入组合适用于 ADS124S08。  请注意、计算器将显示与 AGND 相关的允许输入范围、这与您的计算结果大相径庭。

    由于数据表中显示的激励电流为1mA、因此问题仍然是您是否可以对传感器进行电压激励。  由于传感器的校准基于1mA 电流激励、因此我怀疑最好使用电流激励。  电桥电阻的标称值为3.5k 欧姆、1mA 激励电流将是电桥上的3.5V 压降。  3.5V 也将用作基准、而不是 AVDD。 电桥的输出将以3.5/2或1.75V 为中心、这仍处于计算器中显示的输入范围内。

    此致、

    Bob B

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

    关于您的第一次响应、您建议我们将其中一个模拟输入连接到内部 IDAC 电流源、并将此引脚路由到 IN+网络、而 IN+网络又通过 R3电阻连接到 REFP1。 是这样吗?

    根据我们对您建议的理解、我们在附加文件中以红色突出显示的中添加了一个新连接。 请检查您的意思是什么?

    另一个注意事项是、我们使用之前的 REFP1设置完成了一些测试、并发现了一些问题、希望您提供一些输入。

    测试设置如下:

    1) 1)我们将0 - 2巴压力传感器连接到 ADC、并将其放入我们的温度控制实验室5小时、以 使其温度稳定。

    2)使用 Druck PACE 5000压力控制器、我们在传感器的范围(0.0、0.4、0.8、1.2、1.6和2.0 bar)内施加了6种不同的压力。

    3) 3)对于每个压力点、我们测量了平均 ADC 数字信号。

    4) 4)保持电路通电、我们在等待5分钟后再次重复步骤2和3两次。


    结果表明、ADC 具有非常低的噪声、这很好。

    不过、我们还注意到、在重复测试时 ADC 读数会出现向上漂移、如所附的电子表格中所示。 我们不知道可能是什么原因造成了这种情况。 您是否知道什么可能导致读数漂移、以及我们如何纠正漂移?


    谢谢、此致、

    Marco Aurelio P. Coelho
    固件工程师
    Sensycal Instrumentse2e.ti.com/.../ADS124S-TI-_2D00_-Pressure-Tests-_2D00_-0_2D00_2bar.xlsxe2e.ti.com/.../Altera_E700E300_o-corrente-no-_2B00_IN.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marco:

    新版本的原理图显示了我的目标。  这将允许1mA 激励电流激励传感器。  使用电流激励时、需要移除 J1处的自举跳线以移除电压激励源。

    关于使用之前的实现方案进行的测试、我需要准确了解您使用的器件(ADS114S06或 ADS124S06)和所有配置寄存器设置。  我还需要知道您为 R29-R32的补偿电阻器使用的电阻器值。  您最好提供器件型号、以便我验证电阻器的漂移特性。  

    测量期间的实验室温度是否约为25摄氏度?  此外、根据传感器数据表信息、所有校准都是使用1mA 激励完成的。  数据表还指出、还为每个提供的传感器提供了补偿电阻器值。  引用数据表中的数据、"通过使用励磁、与校准励磁不同、输出信号可能会偏离校准值"。  使用电压激励与1mA 恒流源不同。  

    此外、将原理图与传感器数据表第2页所示的原理图进行比较后、配置看起来会有所不同。  我很清楚、传感器是否具有内置补偿电阻器、或者是否需要外部电阻器?  传感器实际上有6根导线吗?  数据表仅显示5。   

    此致、

    Bob B

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

    您好、Bob

    我们对延迟答复表示歉意。 我们正在使用您建议的新配置进行测试。 关于先前的问题:

    我们使用的是哪种广告?

    我们使用的是 ADS124S06。 我们发送给您的原理图未正确显示旧版本工程中的 ADS114S06。

    2.我们的寄存器配置是什么?

    寄存器[INPMUX_ADDR_MASK]= 0x01;

    寄存器[PGA_ADDR_MASK]= 0x0C;对于0-2bar 传感器、// PGA 增益= 16;对于0-0.2bar 传感器、PGA 增益= 64

    寄存器[datarate_ADDR_MASK]= ADS_DR_5;//筛选器 syncd3/数据速率= 5SPS

    寄存器[REF_ADDR_MASK]= 0x06;//启用来自 REFP1和 REFN1/内部基准缓冲器的 ADC 基准电压

    寄存器[IDACMAG_ADDR_MASK]= 0x07;//激励电流= 1mA

    寄存器[IDACMUX_ADDR_MASK]= 0xf5;// IDAC2关闭/ IDAC1输出= AIN5

    寄存器[VBIAS_ADDR_MASK]= 0x00;

    寄存器[SYS_ADDR_MASK]= 0x10;//要进行校准、请使用8个采样的平均值

    寄存器[OFCAL0_ADDR_MASK]= 0x00;

    寄存器[OFCAL1_ADDR_MASK]= 0x00;

    寄存器[OFCAL2_ADDR_MASK]= 0x00;

    寄存器[FSCAL0_ADDR_MASK]= 0x00;

    寄存器[FSCAL1_ADDR_MASK]= 0x00;

    寄存器[FSCAL2_ADDR_MASK]= 0x40;

    寄存器[GPIODAT_ADDR_MASK]= 0x00;

    寄存器[GPIOCON_ADDR_MASK]= 0x00;

     

    我们将使用什么电阻器值来实现 R29-R32?

    我们将使用传感器制造商为2巴压力传感器指定的补偿电阻器。

    R29 (传感器数据表中的 R2):未安装

    R30 (传感器数据表中的 R4):0欧姆

    R31 (传感器数据表中的 R3):0 Ω

    R32 (传感器数据表中的 R1):1 M Ω

     

    我们使用的是什么电阻器?

    1 M Ω:CR0805 - FX-1004ELF 0 Ω:RMCF0805ZT0R00

     

    5.测量过程中的实验室温度是否约为25摄氏度?

    是的、实验室温度控制在21摄氏度

     

    6.传感器是否具有内置补偿电阻器,或者是否需要外部电阻器?

    传感器没有内置电阻器、我们使用的是外部电阻器。

     

    7.传感器实际上有6根导线吗? 数据表仅显示5。

    否、传感器只有5根导线、如数据表中所示。 原理图中显示的第6根导线实际上不存在。

     

    在进行 Bob 建议的更改后、我们在稳定的测试温度下获得了更好的结果。 然而、我们在温度未受控制时仍然观察到测量漂移、我们计划使用温度传感器和补偿算法来校正漂移。 我们的产品还需要测量0 - 50mA 范围内的电流、精度为满量程的0.02%。 我们还计划将 ADS124S06与一个感应电阻配合使用。 是针对这种应用推荐的 ADC、还是有更适合的 ADC?

    感谢您的支持。

    此致、

    Marco Aurelio Pedreira Coelho

    固件工程师

    Sensycal Instruments

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

    尊敬的 Marco:

    ADS124S06在此应用中应该能够正常工作。  有几个建议。 我首先建议您禁用负基准缓冲器。  这会将基准控制寄存器更改为0x16。  基准输入为接地基准、因此应禁用负基准缓冲器。   

    第二个建议是关于1M 欧姆电阻器 R32。  您使用的是一个温度系数为+/- 100ppm 的1%电阻器。  由于该电阻器位于补偿网络中、我强烈建议使用温度系数低得多(10-25ppm)的电阻器。  这可能会对您看到的漂移问题大有帮助。

    此致、

    Bob B

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

    尊敬的 Bob:

    感谢您的回答。

    上周六开始了国庆假期,今天又回来,明天我们将开始实施你们提出的措施。

    谢谢、此致、

    Marco Aurelio Coelho

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

     尊敬的 Bob:

    建议禁用负基准缓冲器。 根据数据表、基准控制寄存器的第4位和第5位实际上禁用了负基准缓冲器和正基准缓冲器中的旁路。 因此、为了禁用(旁路)负缓冲器并启用正缓冲器、该寄存器应设置为0x26、对吧?

    请向我们澄清这一问题。

    谢谢、此致、

    Marco Aurelio Coelho

    固件工程师

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

    尊敬的 Marco:

    将基准控制寄存器设置为0x26将启用正基准缓冲器、禁用负基准缓冲器、使用 REF1作为基准输入源、并将内部基准打开为始终打开(对于 IDAC 电流源)。

    此致、

    Bob B

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

    好的、Bob、

    我们要将基准控制寄存器设置为0x26、从而绕过负缓冲器并启用正缓冲器、对吧?

    我们正在寻找具有更好温度性能的电阻器。

    同时、我们正在执行仿真电流传感器的测试。

    我们的产品还需要测量0 - 50mA 范围内的电流、精度为满量程的0.02%。 我们还计划将 ADS124S06与一个感应电阻配合使用。 是针对这种应用推荐的 ADC、还是有更适合的 ADC/解决方案?

    当 PGA 增益= 1时、我们可以对 VAINx 使用从 AVss 到 AVdd 的范围、这也会简化 Rsense 和电流感应电路的实现。 另一方面、我们会遇到另一个问题、即电流感应电路产生的 Rsense 上的输出电压低电平(满量程为数百毫伏)。 如果我们添加运算放大器来放大该信号、我们还将添加可能影响精度的误差。

    您会建议什么?

    谢谢、此致、

    Marco Aurelio Coelho

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

    尊敬的 Marco:

    根据基准输入与电源轨的接近程度、或者如果使用内部基准进行 ADC 转换测量、您可以启用或禁用基准缓冲器。  在 ADS124S06数据表的第36页的第9.3.3.3节中、它指出:"当选择内部基准进行测量时、建议禁用基准缓冲器。 当外部基准输入处于电源电压时(AVDD 上的 REFPx 或 AVSS 上的 REFNx)、建议禁用基准缓冲器。"

    使用基准缓冲器的优势是增加比例式基准输入的输入阻抗。  如果没有缓冲器、阻抗约为250k 欧姆。  使用 IDAC 源激励电桥和基准时、可能会创建一个分压器。  这不应成为问题、因为测量是比例式的。  因此、无论采用哪种方法、您都应该看到类似的结果。

    ADS124S06可用于测量电流、但如前所述、增益为1时的输入范围将决定可用于测量的无噪声计数、从而确定电流测量的分辨率。

    您可以使用专为测量电流而设计的仪表放大器、例如 INA240、其中的输出为模拟、然后 ADS124S06可以测量该输出。  以下是可能的电流分流监控器器件列表:

    http://www.ti.com/amplifier-circuit/current-sense/overview.html

    此致、

    Bob B