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.

[参考译文] ADS131M08:增益误差计算

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1303865/ads131m08-gain-error-calculation

器件型号:ADS131M08

您好

根据我之前的问题、您能告诉我什么地方出错吗、我可以根据数据表中的公式13来计算增益误差。

例如:  

测量值(V) 实际(V)
最小电压 0.00994 0.00941
最大值 0.24449 0.24329   

增益误差= 1-(0.24449-0.00994)/(0.24329-0.00941)=-0.00286472   

= -0.00286472 /(1.19*10^-7)=-24073 =>十六进制=> FFFFFFA1F7  

根据数据表、结果应介于0-2 (2^24-1)/2^24之间、非负值。  

即使是尝试仅计算 slop (y=mx+b)。 您可以看到、校准后的结果最差。

例如:  

M = 1.0055730019019 、因此 I 使用 80F091对寄存器进行编程

谢谢

 

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

    尊敬的 Amir Eshragi:

    请注意、公式13指定的是增益误差、而不是您将用于增益校准的增益缩放系数

    请按照以下过程进行增益校准:

    1. 执行失调电压校准。 这会告诉您系统的"零点"(方程 y 中的"B"项= m*x+B)  
    2. 施加一个接近满量程的信号(这是等式中的"x"项)。 请注意、该信号必须具有非常高的精度、因为校准效果仅与校准源精度一样好。 另请注意、满量程根据所使用的增益而变化(请参阅表6.3中的"VIN")
    3. 然后进行几次测量并对其求平均值。 这是公式中的"y"项。
    4. 现在、您可以求解 M

    告诉我您在每个步骤中获得的结果

    -Bryan

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

    您好、Bryan:

    感谢您的快速回复。 需要确保我理解正确。

    1.我想通过短接输入并 从 ADC 中读取代码、然后将其插入寄存器、来确保是否可以找到偏移 B。  (正如您在我的 prev 问题 链接中看到的)

         a. B =-0.00025V   

    2.基于表8.1每增益最大输入。 或 Vref /增益  

         a. Vref /增益= 1.25/4 = 0.3125

         B.几个要点   

    # 实际 测量值 注意
    1 0.30137 0.299999 饱和不计数
    2 0.28918 0.29083  
    3 0.27918 0.28088  
    4 0.227382 0.22869  
    平均 0.265247 0.2668

    3.我计算的是运算"M"。 此外、为什么我们不选取两个点。

    y =mx+b => 0.2668=m*(0.265247)- 0.00025V => m= 1.004911

    但我认为这仍然是错误的、因为 slop 应小于1、因为测量值大于实际值。

    如果您有任何问题、敬请告知。

    谢谢

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

    尊敬的 Amir Eshragi:

    您用于应用信号的源是什么? 您应该施加稳态电压、然后进行多次 ADC 测量并对这些测量值求平均值、以降低测量噪声。 我不确定表中"实际"列中的值为什么变化很大

    您是如何确定 VREF = 1.25V 的? 在您之前的帖子中、您似乎看到 VREF = 1.19V。 您是否在引脚上测量 VREF 电压? 如果是、您在使用什么设备? 您可能至少需要一个6.5位数字的 DMM 才能获得良好的效果

    你使用的是两个点、第一个点是传输函数的"B"值或 y 截距、其中 x = 0。 是的、Dale 在另一主题中介绍的偏移校准方法是正确的。 您还应该在输入短路的情况下进行多次测量、然后对它们求平均值以获得校准结果

    您能提供:

    1. 接收到的用于偏移校准的原始 ADC 代码(十六进制)。 进行16次测量并提供数据
    2. 使用6.5位 DMM 或更高版本测量的输入电压(单位为伏特)
    3.  使用6.5位 DMM 或更高版本测量的 VREF 电压(单位为伏特)
    4. 您接收到的用于增益校准测量的原始 ADC 代码(十六进制)。 在实施增益校准测量之前、首先将正确代码存储在偏移校准寄存器中(从第1步开始)。 进行16次测量并提供数据

    -Bryan

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

    您好、Bryan:

    感谢您的答复。  我正在使用 Rigol DP831作为我的电源、该电源连接至 5.5位 DM3058E。 (我将尝试查看是否可以找到6.6 DMM)

    -抱歉,我写了错误的 Vref ,它是1.2 (电气特性表),使限制1.2/4 = 0.3V

    -我想对多个点求平均值以找到偏移 B、但我不知道如何将浮点重新转换为二进制补码。

    转换为二进制补码是正确的:(偏移平均* 2^24)/ FSR =>转换为十六进制

    下面是您的答案、只是我不知道如何测量 VREF、因为我无法接入 VREF IN 引脚。

      第一点 第二点 后跟第一点 后面的第二点
    1 0.2969 0.00992 0.29863 0.00997
    2 0.2969 0.00994 0.29862 0.00998
    3 0.29689 0.00992 0.29855 0.00999
    4 0.29687 0.00991 0.29867 0.00996
    5 0.29701 0.00991 0.29864 0.00998
    6 0.29694 0.00992 0.29862 0.00999
    7 0.29689 0.00992 0.29859 0.00997
    8 0.29686 0.00993 0.29851 0.00999
    9 0.2969 0.00991 0.29868 0.00997
    10 0.29992 0.00992 0.29862 0.00998
    11 0.29703 0.00992 0.29866 0.00997
    12 0.29697 0.00993 0.29855 0.00999
    13 0.29685 0.0099 0.29859 0.00998
    14 0.29696 0.00992 0.29862 0.00999
    15 0.2969 0.00992 0.29866 0.00997
    16 0.29695 0.00993 0.29863 0.00998
         
    平均 0.29992 0.00992
    实际 0.295831 0.009932  
    运算放大器 1.003847  
    增益误差 8435693 (SLOP/1.19x10^-7)
    十六进制 GE 80B7ED  

    如果您需要其他信息、请告诉我。  

    谢谢

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

    尊敬的  Amir Eshragi:

    我要求使用十六进制的原始 ADC 代码、以便我可以自己执行转换。 这消除了至少一个可能的误差源(转换过程)。 您是否能够发送该数据而不是转换后的电压?

    若要从二进制补码转换:对每个位取倒数、然后加一。 这仅适用于 MSB 为1的值。 如果 MSB 为0、则直接转换为十进制。

    REFIN 上没有电容器? 或者您至少无法探测 REFIN 引脚来测量电压?

    -Bryan

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

    您好、Bryan:

    抱歉,我误解了。 以下是原始数据。

      校准前   校准后
      顶部 底部   顶部 底部
    # 校准 原始(十六进制) 校准 原始   校准 原始(十六进制) 校准 原始(十六进制)
    1 0.297034 7EBC08 0.009908 43A43   0.298800051 7F7CEF 0.009979463 44206
    2 0.297064 7EBF44 0.009922 43BBB   0.298854196 7F82D9 0.009968412 440D1
    3 0.297048 7EBD8F 0.009919 43B77   0.298824728 7F7FA1 0.009970808 44114
    4 0.296988 7EB707 0.009907 43A16   0.298891282 7F86E6 0.009974456 4417A
    5 0.297124 7EC5D9 0.009916 43B0B   0.298777807 7F7A81 0.009956574 43F86
    6 0.297098 7EC308 0.009925 43C19   0.298884022 7F861B 0.009990835 44344
    7 0.297088 7EC1E5 0.00992 43 B93   0.298834562 7F80B4 0.009973884 4416A
    8 0.29698 7EB625 0.00991 43A70   0.298836637 7F80EE 0.009973347 4415B
    9 0.297016 7个评估模块 0.009923 43 BD4   0.298787069 7F7B84 0.009976637 441B7
    10 0.297008 7个 EB93D 0.009908 43A30   0.2998791039 7F7BF3 0.009977353 441CB
    11 0.297022 7个 EBAC5 0.009913 43 AB9   0.298794973 7F7C61 0.009971845 44131
    12 0.297094 7EC29C 0.009916 43B25   0.298793828 7F7C41 0.009972382 44140
    13 0.297066 7EBF7F 0.009897 43902   0.298797262 7F7CA1 0.00996598 4408D
    14 0.297021 7EBAA9 0.00992 43B8A   0.298821223 7F7F3F 0.009973848 44169
    15 0.297018 7EBA4E 0.009897 4390C   0.29875524 7F780A 0.009972703 44149
    16 0.297112 7EC485 0.009914 43a   0.298911846 7F8925 0.009979606 4420A

    我在校准寄存器中写入了0x80C800。

    2.我没有任何连接到 REFIN,但当我探测时它是1.175.99  

    如果您需要其他 信息、请告诉我。

    谢谢

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

    尊敬的  Amir Eshragi:

    我对您发送给我的数据感到困惑。 哪组数据是失调电压校准? 我只看到"顶部"和"底部"。

    您应该首先测量失调电压。 要做到这一点 、请在外部使用物理短路或使用 M08中 MUX 寄存器的正确设置短接 ADC 输入引脚。 然后进行16次测量、并以十六进制报告原始 ADC 代码。 同样、您无需提供计算电压

    此外、我还需要知道您应用到输入以进行增益校准的实际电压。 这些计算结果不正确、因为如果 VREF = 1.176V、那么当 G = 4V 时、您可以施加的最大输入信号为1.176 / 4 = 0.294V。

    我会尝试为增益校准应用0.28V、因为这会为您提供足够的裕量来进行实际的增益误差校正。 但现在不要担心、只需执行偏移测量并报告结果

    -Bryan

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

    您好、Bryan:

    下面的数据是 通道7偏移点的16个采样。

    # 偏移点
    1 1C9A
    2 1个 C2E
    3 1D6C
    4 1亿分频器
    5 1B4A
    6 1C95
    7 1C88
    8 1C7C
    9 1C97
    10 1加拿大元
    11 1C43
    12 1个2通道
    13 1CE4
    14 1C60
    15 1B88
    16 1C53

    我对这些电压取平均值并写入 ch7_ocal、然后开始校准。  

    接下来我将向您发送16个校准点。 我希望这就是您要找的内容。

    谢谢

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

    尊敬的  Amir Eshragi:

    因此、如果您将这些值从十六进制转换为十进制、然后对结果求平均值、则得到7278.4、这会将结果转换回十六进制、即0x1C6E。 这是您应该写入本地寄存器的值。 确保写入到手动变焦寄存器中的正确位置,因为 MSB 和 LSB 被分隔成两个字段(ocal_msb 和 ocal_LSb)。

    接下来、在您施加的电压下在同一通道上执行相同的16次测量。 提醒一下、该值应接近满量程并且应具有非常高的精度。 此外、这不需要您之前包含的"底部"测量值、仅需要接近满量程的电压、例如、假设 G = 4、为0.28V。

    请在发布产品之前

    -Bryan

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

    您好、Bryan:

    很抱歉迟到了回复、我要重写代码、但 TI 论坛网站出错。 我使用0X1C6E 对偏移寄存器 MSB 和 LSB 进行编程。 (编程寄存器后、所有测量电压变为0)。

    然后我在实际电压0.28358 (78FE7F)下采集16个样本

    #原始(十六进制)
    1 797DFA
    2 797E9B
    3 7971DF
    4 798166
    5 7973A9
    6 7976D5
    7 796E5D
    8 797A48
    9 796E17
    10 7973FF
    11 797FD6
    12 797ECE
    13 798456
    14 797BF2
    15 797994
    16 5F0C78
    平均值是0X797A1C、即我的"y"

    0X797A1C = m (0x78FE7F)+ 0X1C6E

    795DAE = m (0x78FE7F)

    M = 0x1ABFA4F

    计算正确、我应该在增益寄存器中放什么。
    谢谢

    谢谢

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

    尊敬的  Amir Eshragi:

    假设您为正在测量的特定通道写入了正确的手动寄存器值、则不应该有"B"值(Y 截距)、因为偏移校正会将其消除、即将 ADC 输出代码"向下"或"向上"移动、就像没有偏移电压一样

    因此、您只需担心斜率。

    (顺便说一下、最后一次测量(#16)发生了什么情况、与其他测量相比、这是一个偏差? 假设此测量存在问题、我将此参数排除在计算之外)

    如果您将这些十六进制值转换为十进制并对结果求平均值(同样不包括#16)、您得到7960944d。 这是测得的

    然后、您可以通过计算1 LSB (= 2 * VREF /(增益* 2^24))将输入信号(VIN)转换为十进制、然后将 VIN 除以1 LSB (这也是高精度信号和 VREF 测量非常重要的原因、因为它们直接影响此计算、因此也会影响增益斜率)

    根据 VREF = 1.176、增益= 4、VIN = 0.28358V、我计算出您的十进制预期 ADC 代码为8091297d。 这意味着您的预期值高于测量值,导致增益比例系数>1。 下图显示了这一情况、

    计算"预期/测量"可得到增益比例系数1.016374。 由于增益调节寄存器使用24位无符号值、因此您可以将该系数乘以2^23以获得十进制值(8525964d)、然后转换为十六进制值(82188Ch)。 这是您会写入增益调节寄存器的值、

    -Bryan

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

    您好、Bryan:

    非常感谢您的支持和耐心。 我将继续测试它、让您知道结果。

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

    尊敬的  Amir Eshragi:

    欢迎您、让我们知道您发现了什么

    -Bryan

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

    您好、Bryan:

    希望你度过了一个美好的假期。 感谢您的全力帮助。 一切都如你所说。

    谢谢

    阿米尔

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

    尊敬的  Amir Eshragi:

    很高兴我们能提供帮助!

    -Bryan