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.

[参考译文] PGA309:PGA309:校准算法

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/939196/pga309-pga309-calibration-algorithm

器件型号:PGA309

您好!

要在每个温度下查找 GAIN_DAC 和 Vzero_DAC、我使用 您提供的校准算法。 我有几个问题:

1.“为了进一步提高精度,我们将对偏移(GD,和 ZD)进行线性校正”。但如何对偏移?进行线性校正

2.GD 和 ZD 已在最大压力下完成计算、并在第二次输入零压力时重新计算。这是否会影响最大压力下的输出?如果不是、如何计算?

3.选择 Go and GI (执行和 GI)时是否有优先级?是否要先设置最大放大倍数或最小放大倍数?

e2e.ti.com/.../4760.PGA309_5F00_calibration_5F00_procedure-_2800_3_2900_.pdf

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

    您好!

    1 - 增益误差和失调电压误差均为线性误差、在第9步之后、仅通过零 DAC (精细失调电压)和增益 DAC (精细增益)调节设置进行微调

    2 -之前的步骤9、已 应用 GI (输入级增益)、GO (输出级增益)和 V粗糙 度(粗调 DAC 偏移调整)和初始 Vzero (精细偏移 DAC 调整)...

    本质上、在步骤9中、使用这些新设置进行更精确的 Vin_max 测量。  使用更精确的 Vin_max 测量、对零 DAC 进行第二次调整、使 Vout_max 接近所需的目标。  在步骤10中、保持相同的设置、重新测量 Vin_min、重新计算 total_gain、现在应用 GD (增益 DAC)校正、同时应用更精细的零 DAC 调节。

    该过程以迭代方式重复、每次迭代时输出电压测量值都接近所需的目标值。 每次迭代的调整越来越小。  

    此外、请记住、校准算法依赖于通过算法中的不同步骤应用于传感器的固定/稳定最小和最大压力设置、因此、该算法将在几次迭代后收敛到理想的校正因数。

    3 -通常、在任何级联放大器电路中、最佳做法是对输入级应用更大的增益。 通过这种方式、级联放大器电路将产生最低的漂移和偏移误差。  对于 PGA309也是如此、这就是 PGA309为输入级提供更大增益和更多增益选项设置的原因。

    谢谢、此致、

    Luis

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

    • 您好!

      我仍然有一些疑问。

    • 1.step 8    fVz=(Vout-G_Amp*G_FRONT*fGainDAC*(DCoarse*(0.00085*Vref)+GetVmin))/(G_Amp*fGainDAC);
    • ZeroDAC  =(无符号短整型)(fVz/4.096*65536);
    •  
    •  Vout 是测量值吗? 或者 Vout_min?我尝试了 Vout_min、结果正常。步骤9、Vout_max 也正常。

       但 测量的输出电压 可能会受到较大误差的影响。

       Vout_min=0.5、Vout_max=4.5。

      Vout 是  测量值还是 Vout_min (Vout_max)、有时 fVz 将是负数。这会导致结果完全错误。如何解决这个问题?

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

    抱歉、

    1.step 8    fVz=(Vout-G_Amp*G_FRONT*fGainDAC*(DCoarse*(0.00085*Vref)+GetVmin))/(G_Amp*fGainDAC);

                      ZeroDAC  =(无符号短整型)(fVz/4.096*65536);

     Vout 是测量值吗? 或者 Vout_max?我尝试了 Vout_max 并成功了。步骤9、Vout_max 也成功了。结果正常。

     但 测量的输出电压 可能会受到较大误差的影响。

     Vout_min=0.5、Vout_max=4.5。

    Vout 是  测量值还是 Vout_min (Vout_max)、有时 fVz 将是负数。这会导致结果完全错误。如何解决这个问题?

    谢谢一百万。

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

    您好!

    -公式8、Vout 将是目标值(Vout_max)、因为您可能会在使用测量的 Vin_max 时调整最大压力  我将与在该项目中执行校准例程(如果可用)的原始工程师之一进行验证。 留出几天时间。

    -零 DAC (精细偏移 DAC)是单向的、然而、在校准例程开始时、Vzero DAC 在开始时被设定为一个接近中量程的值、以具有进行正或负偏移微调的范围。  例如、在校准过程示例的步骤1中、零 DAC 已偏置为+1.874V 的电压。  由于您从+1.874V 的 ZeroDAC 开始、因此有范围可以降低或增加偏移微调 DAC 电压值。

    谢谢、此致、

    Luis

     

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

    您好!

     在步骤8中、零 DAC 已更新、不再是1.874V。它将是一个较小的值。因此、在以后的计算中将会有负值。我不知道如何解决它。

     2."在步骤10中、保持相同的设置、重新测量 Vin_min、重新计算 total_gain、现在应用 GD (增益 DAC)校正、同时应用更精细的零 DAC 调节。"

       GD 是否应用于步骤6而不是步骤10?

    谢谢你。

      

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

    您好!

    在继续之前、请提供以下详细信息:

    原理图:

    -这是使用您自己的硬件设计还是 PGA309EVM、如果使用您自己的硬件、您能否提供完整的 PGA309原理图。  

    请显示电源电压、基准电压、传感器连接、传感器激励电压 VFB/VOUT 连接。

    传感器:

    -请告诉我传感器的基准电压、激励电压。

    什么是大约 Vin_min (使用外部精密仪表测量输入端的差分电压)?计算出什么是 PGA309 (Vin_min)(步骤1、2)?

    什么是大约 Vin_max (使用外部精密仪表测量输入端的差分电压)?计算出什么是 PGA309 (Vin_max)(步骤3)?

    在使用外部仪表测量的最小压力下、传感器的共模电压是多少(或绝对电压 Vinp 和 Vinn)?

    输出电压目标:

    此应用中所需的 Vout 目标最小电压和 Vout 目标最大电压是多少?

    初始增益>

     您的算法中的步骤6、7应用了什么 GI、GO、GD 和 V粗糙 偏移设置?

    要回答您的问题:  

    在校准算法中、在步骤1中、 在对传感器施加最小压力的同时、根据 Vout-min 测量值重新计算 Vin_min。

    在第2步中、Vin_min 的绝对值用于为  第2步选择最佳的前置增益。 您可以使用新的增益重新测量/重新计算 Vin_min、以获得更高的精度、   

    在第3步中、使用最大压力、重复或遵循与第1步和第2步相同的步骤以反向计算 Vin_max

     第4步计算总增益:使用精确测量的 Vin_min 和 Vin_max;使用 Vout_min 和 Vout_max 目标值、求解 TOTAL_GAIN。

    第5步搜索 输入和输出增益产品的最佳组合,以找到 最接近的最佳增益 GI*Go*0.667。   

    在步骤6中、除以 TOTAL_GAIN (从步骤4开始)和 GI、GO 设置的比率、计算并应用新的 GD 调整。 (编辑错误)

    在步骤7上 、将设置 V粗糙 偏移以抵消文本所述的计算 Vin 最小值(或传感器最小电压)、 根据用户指南中的建议、 步骤7的正确公式如下(文档中的公式有一个拼写错误、公式如下所示...)

    V粗糙 偏移=-Vin_minimum

    根据 最小 Vin 传感器电压、粗略偏移仅设置一次、在 经过精细校准的过程中不会再次调整。     此后仅再次调整了精细偏移和精细增益(零 DAC 和增益 DAC)设置。

    在步骤8中、在调整粗偏移后、会调整 Vzero_DAC 精细值。  请注意,Vzero_DAC 的调整应该很小,因为在步骤7....上调整了粗调

    谢谢、此致、

    Luis

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

    您好!  

    我对第5步和第6步进行了说明。

    谢谢、此致、

    Luis

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

    您好,

    1.Vout_min=0.5V、Vout_max=4.5V、Vin_min=2.3mV、Vin_max=19.9mV、Gi=128、Go=3、V粗糙 偏移=0。在这种情况下、计算无法完成。

    2.Vout_min=0.5V、Vout_max=4.5V、Vin_min=2.3mV、Vin_max=24.3mV、Gi=128、Go=2.4.在这种情况下、可以完成计算。

    • 如有必要、我将提供其他信息。

    谢谢大家、此致。

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

    您好!

    请提供原理图和基准/电源设置、以便我们验证硬件并了解电路。  还提供初始寄存器1、2、3、4设置。  这将有所帮助、因为很难调试有关部分信息的问题。   

    在上一篇帖子中、您提到了:

    "1.Vout_min=0.5V、Vout_max=4.5V、Vin_min=2.3mV、Vin_max=19.9mV、Gi=128、Go=3、V粗糙 偏移=0。在这种情况下、计算无法完成":

    问题:

    - 关于 Vin_min=2.3mV、Vin_max=19.9mV、澄清一下、这些是 PGA309反向计算的电压输入值还是用外部仪表测量的电压?  请在程序开始时提供仪表测量值和 PGA309计算的输入电压。

    - 在校准程序的第7步中,需要在调整 Vzero-DAC 微调之前将 V粗糙 度设置为–Vin_min。 V粗糙 度是双向的、允许正负值。  您能解释一下为什么使用 V粗糙=0V?

    使用 PGA309的转换公式(根据用户指南),并假设 PGA309是一个没有偏移误差的“理想”PGA309,理想设置将是(大约):Gi =128V/V,GO=3V/V,Gd=~0.591V/V;VCoarse =-2.30mV (Vrand 等于-VIN_min),Vzero_dac =~…0.280V+V

    当然、PGA309具有偏移误差、所以您不会得到上面这些准确的值、然而、器件应该仍在范围内。 将 V粗糙 度调整为–Vin_min 后、Vzero DAC 应具有足够的范围来进行微调偏移

    -      第6步,您要应用什么 GD 设置?

    -      在步骤7之后、施加最小压力、调整 GD、GI、GO 之后、您将 Vraset 设置为-VIN_MIN 或 Vraset =-2.30mV;您测量的电压输出是多少? 在此步骤中、您的 Vzero-DAC 值是多少?

    -      第8步、如果在调整 GD、GI 后、GO、您将 Vrick 设置为-VIN_MIN 或 Vrick =-2.30mV;在最小压力下、请尝试将 Vzero-DAC 从+100mV 缓慢扫描到+VREF、并在获得 Vout = 0.5V 时停止扫描、您是否获得正 DAC 值? 您的 GD 设置是什么?

    零 DAC 只是将偏移乘以 GD*GO 加入 PGA309传递函数中。 例如、当使用 Gd=~0.59且 go=3时、VzeroDAC 上+0.282V 的设置会产生+0.5V 的输出变化。   

    谢谢、此致、

    Luis

     


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

    您好!

    原理图:
     我将 PRG 连接到了输出电压。PGA309的电源电压为5.2V。选择内部4.096V 作为基准电压。传感器连接到3.4V 电压、3.4V 未线性化、且值固定。
    传感器:
     Vin_min=2.3mV、Vin_max=19.9mV 是 PGA309反向计算电压。
    Vin 最小值约为2mV 乘以仪表。Vin_max 通过仪表测量约为18mV、我忘记了该值的具体值、稍后我将进行测量。
     V粗糙=0V:
       4.096*0.00085=3.4816mV.Vin_min=2.3mV.I 认为我们不能使零偏差等于零。所以我让 V粗糙=0V。
    寄存器1、2、3、4:
       R1  ZeroDAC=0x7520;//1  register_1 fVz=1.874,VZERO_DAC=0x7520
       R2 GainDAC=0x8021;/2  G=0.667,fGainDAC=0.667,GainDAC=0x8021
       R3 PGA309.RefLinear = 0x0500; //
       R4 PGA309.FrontPGA_Amp = 0x0800;
    步骤6.
         VSpan  = Vinmax-Vinmin;
         gl     =晶圆制造厂(((VoutMax-VoutMin)/(VSpan));
         fGainDAC = GL/(G_FRONT*G_AMP);
    在步骤7之后
      测得的电压输出约为0.53V、有时为0.7V。
      
    第8步
       Vruth=-2.30mV.这是不可能的吗?4.096*0.00085=3.4816mV。
    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果您使用的是 VREF=4.096V、则 Vr粗略 LSB 为~3.482mV。  如果传感器的偏移(Vin_min)为2.3mV、则将 Vrill 设置为-3.483mV 仍可能使您比设置为 Vring=0V...

    但是,我认为这不是主要问题。

    如果您将 Vzero DAC 设置为从1.874V 开始、您应该有足够的范围来在+100mV 和+VREF 之间调节 Vzero DAC。  这意味着、如果您将这个零 DAC 范围乘以增益 GD*GO、假设 GD=~0.591V/V 和 GO=3V/V、则 VzeroDAC 具有大约-3.45V 至+4.33V 的输出增量调整范围(有足够的范围可调节输出、例如、如果测量值为0.53、则为0.5V)。  

    我的主要问题是、在步骤7之后的阶跃输出电压有时为0.53V 或0.7V;根据您的说明、这似乎不是可重复测量。  如果您使用相同的恒定最小/最大传感器压力、则在继续之前、此结果必须是可重复的。

    主要问题是测量不可重复... 算法是否每次生成不同的增益设置? PGA309输出是振荡还是存在很多噪声?  

    另一个可能的原因、PGA309、所有外部 RC 滤波器、和传感器、在你每次改变传感器压力或者执行增益改变或偏移设置改变时、所有这些都必须稳定。  在代码上的每次增益设置更改之后以及每次偏移更改之后、在执行输出测量之前、是否允许长时间延迟?  如果您减慢算法速度、在每次测量步骤前都允许长时间延迟、结果是否会得到改善?  

    所需的延迟取决于电路中的 RC 常数以及您的传感器稳定。 我没有原理图可以提供详细的建议或验证电路。  如果您希望我们查看原理图、请发布。  如果您希望私下分享原理图、则可以开始私人对话。

    谢谢、此致、

    Luis