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.

[参考译文] ADS1146:ADS1146增益校准

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/662252/ads1146-ads1146-gain-calibration

部件号:ADS1146
线程中讨论的其他部件: ADS1246ADS1248ADS1148

你好。

我在比例式RTD测量方案中使用ADS1146 (100欧姆RTD,1kOhm参考电流,约1 mA激励电流)。 PGA = 1,ODR = 5 SPS)。

ADS增益误差0.5 % 对应于最差时1.5 度的温度误差。 这太多了。

ADS1146是否允许执行增益校准(发送SOLFOCAL命令,在MUX寄存器中设置MUXCAL=010,以及发送SYSGCAL命令)? 文件对我来说不是很清楚。

此增益校准后,FSC寄存器从0x40万更改为0x404c5d (关于0.47 % 增益校正)。 但在这种情况下,温度测量误差会上升!

我尝试为24位ADC ADS1246执行相同的自偏移和增益校准。 令我惊讶的是,FSC寄存器已从0x40.068万更改为0x40.3687万 (关于0.33 % 增益校正,但ADS1246的最大增益错误是0.02 % !)。 这看起来是错误的。

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


    您展示的电路相当简单,因此增益误差应该不难确定。 我不知道为什么校准值与预期相差太远。 但是,您看到的错误取决于您如何设置校准以及如何针对RT1和R2中的错误进行校准。

    首先,我们来解释校准命令及其使用方式:

    SELFOCAL -这是自偏移校准。 执行此命令时,器件将输入多路复用器中的ADC输入短接在一起,然后运行转换。 它尝试消除与ADC输入和PGA增益1相结合的任何偏移。

    SYSOCAL -这是系统偏移校准。 它假定您有某种外部前端(可能是一个mux或一个用于信号调节的附加放大器)。 在这里,您将输入短至前端并运行ADC转换。 这样您就可以从前端移除偏移

    SYSGCAL-这是系统增益校准。 它可用于正常校准,但您需要能够在ADC的输入上放置参考满刻度。 请注意,这实际上仅适用于1的增益。 增益校准实际上用于在输入采样和参考采样之间进行校准。 输入和引用都进行了容量采样。 这可确保这两组电容器之间的匹配。

    我不确定您的系统中的错误出现在何处。 首先,让我们从ADS1246开始。 此设备在出厂时已针对每个增益的增益误差进行了微调。 对于每个增益设置,FSC有一个出厂调整值。 只要设置了PGA增益,就会上传此FSC值。 因为这个数值是经过工厂测试和修整的,所以我相信这是正确的。 通常,我只运行SELFOCAL,并接受ADS1146值。

    对于您的系统,是否将MUXCAL设置为010,然后运行SYSGCAL? 我认为这应该会起作用,您会遇到一个很好的增益错误。 如果您不使用此方法,如何将参考电压连接到输入端? 我提到只有当设备的增益为1时,SYSGCAL才会起作用。 原理图上是否有其它附件? 请注意,通过RT1和R2的任何电流泄漏都可能被视为增益错误。

    您是否使用精密万用表测量R2和RT1? 在使用精密电阻器和Agilent 3458A万用表之前,我已经进行了此计算,并且获得了非常好的ADS1148和ADS1248测量结果。 请注意,万用表不应自动缩放。

    不管怎样,我需要更具体的信息来评论错误。


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

    谢谢,Josehp

    您说的对,电路简单,所有组件都放在一个小板上。

    主要问题是关于ADS1146。    
    这是重置后使用的初始化序列:
    1.将PGA设置为1 (不过,很方便的PGA值是4,但在这种情况下无法在内部校准增益错误)。
    2.将ODR设置为5 SPS。
    3.发送SELFOCAL命令并等待就绪信号。 OFS寄存器略有变化(例如0x0.0053万 @ ADS1146和0x0万f @ ADS1246)。 没关系。
    4.在MUX寄存器中设置MUXCAL=010。
    5.发送SYSGCAL命令并等待就绪信号。 FSC寄存器意外更改(如上所述,0.47 % @ ADS1146和0.33 % @ ADS1246)。
    6.在MUX寄存器中设置MUXCAL=000。

    测试条件:RT1=132Ohm±0.05 % , R2=1kOhm±0.1 %。 这应能提供足够的绝对温度测量精度。
    我有一些带ADS1146的器件,它们在没有任何增益校准的情况下工作正常。 但是,ADS1146增益错误0.5 % 会在未来的器件中导致较大的温度错误。

    这是ADS1146寄存器转储:

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


    让我们先尝试确定设备的未校准增益错误。 此外,我们还要确保电阻器也正确。 然后我们可以确定校准错误。

    1.首先,从ADS1146开始。 让我们使用默认设置PGA = 1,数据速率为5SPS。

    2.现在使用万用表测量电阻,测量RT1和R2。 我不知道你是否有能力从电路上断开电阻来测量这一点。 您需要一个精密万用表来完成此操作。 记录值。

    3.将电阻放回电路中,测量RT1和R2之间的电压。 记录值。

    4.发送SELFOCAL命令。 记录OFC寄存器。 这些数据可能不是那么重要,但无论如何都要记录下来。

    5.使用ADC进行测量。 此时,ADC尚未进行增益校准。 记录输出原始数据。 在这里,您应该能够确认ADC数据与RT1和R2的测量值(电压和电阻)是相互关联的。 从预期数据中输出数据的任何更改都是增益错误。

    6.现在将MUXCAL设置为010。 运行SYSGCAL。 记录FSC值。 理想情况下,这应与5中的增益误差相关。 但是,如果有问题,我们可以在这里看到。

    7.使用ADC进行测量。 记录输出原始数据。 进行增益校准后,应已消除剩余的增益误差。

    8.返回并测量RT1和R2之间的电压。 记录值。 这应该与3中的值相同。 但是,我要确保没有任何变化。

    我想逐步完成这一步。 此时,我不确定错误的来源。 通过结果数据,我们应该能够找到与预期数据和结果数据之间的差异。 不过,我要注意两件事。 首先,ADS1146出现了0.5 % 的增益错误,这似乎就是您所处的位置。 但是,我认为你应该能够得到比你在PGA=1的情况下得到的好得多的东西。 其次,工厂微调值和校准值之间的FSC值差异如此之大,这让我认为校准设置或方法存在其他问题。

    再次,执行这些步骤,记录数据并将结果发回。



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


    您是否能够验证我在上一篇文章中概述的增益误差测量值? 由于我没有收到您的消息,我将关闭此帖子。 但是,如果您仍在处理此问题,则应该能够重新打开帖子并回复。 如果您因某种原因无法完成此帖子,请随时打开新的线程。

    如果您没有机会处理此问题,请通读我的上一篇文章。 我概述了用于确定增益误差的基本测量方法。


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

    我对拖延表示歉意。

    以下是根据预期步骤得出的实验结果。

    1.重置后排除初始化代码,并使用默认设置PGA=1,数据速率为5SPS。

    两种器件有两种实验(步骤2..8),唯一不同的是ADC类型(ADS1146和ADS1246)。

    ADS1146的后续步骤:
    2.我无法很好地测量电阻R2。 这就是为什么我使用具有1千欧,0.01 % 容差的正电阻器的原因。 如果RT1与板断开,则其测量值为131.996 欧姆。

    3. Vrt1 = 130.07 mV;Vr2= 986.1 mV。 在这种情况下,预期的ADC代码为0x10E236 (Vrt1/Vr2*0x80万)。

    4.在SELFOCAL校准后,OFC寄存器值为0x4E。

    5.偏移校准后ADC代码为0x10E000 (根据步骤3是0.05 % 增益错误,结果良好)。

    6.将MUXCAL设置为010。 运行SYSGCAL。 FSC寄存器值为0x404D78 (0.47 % 增益校正)。

    7.增益校准后ADC代码为0x10F500 (根据步骤3为0.43 % 增益错误)。

    8.再次在RT1和R2上测量电压。 Vrt1= 130.02 mV;Vr2= 986.0 mV。


    ADS1246的步骤相同:

    2. RT2= 132.048 欧姆。
    3. Vrt1= 130.84 mV;Vr2= 991.1 mV。 预期代码为0x10E5DE。
    4.OFC = 0xF。
    5. ADC代码为0x10E963 (0.07 % 增益错误)。
    6. FSC从0x40.068万更改为0x40.3721万 (0.30 % 增益校正)。
    7. ADC代码为0x10F62A (0.38 % 增益错误)。
    Vrt1= 130.84 mV;Vr2= 991.2 mV。

    在两个ADC中,增益校准会导致测量误差增加。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尤金


    今天我无法回答您的问题,可能需要一些时间来查看您的结果。 明天我会试着去做。


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

    尤金

    我想我知道发生了什么问题。 如果您使用SYSGCAL运行校准,则将参考发送到ADC输入以进行校准测量。 如果您测量参考电压并将其与原始参考电压进行比较,则SYSGCAL可以正常工作,因此您应该获得满刻度测量值(7FFF)。 设备实现此目的的方式是使用FSC (标准值接近4000h)扩展输入。

    但是,我忘记了参考的设置方式,参考电压不在零件的输入范围内。 由于PGA有输入/输出范围,因此输入受到限制。 在GAIN=1时,输入必须介于AVSS+0.1V和AVDD-0.1V之间。 查看原理图,参考电压连接到GND,因此低于零件的输入范围。

    根据您的数据,对于ADS1146和ADS1246,增益校准后的FSC寄存器值将显示为0x404D78和0x40.3721万。 这两个值都显示输入的结果比预期的要小,FSC值正在向上扩展输入以使其更大。 这是有意义的,因为PGA在测量参考电压时限制输入范围,无法将AINN信号一直驱动到地电位。

    为了解决这一问题,您可以添加偏置电阻器,以将输入和参考电阻升高到更高位置。 您可以在堆栈中添加另一个电阻器,而不是原始原理图:

    在这里,我将200Ω Ω 电阻添加到底部,并将电阻降低到顶部。 这应升高参考电压的输入,使其高于GND,使其处于ADC的输入范围内。

    如果可以,请尝试此操作,查看值是否正确显示。

    吴若瑟

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

    你是对的。 我在底部添加了270欧姆电阻器。 增益校准变得非常有用。

    谢谢你。