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.

[参考译文] INA220:总线电压满量程范围设置

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting

器件型号:INA220
主题中讨论的其他器件: INA239INA238INA228INA229

大家好、

我对 INA220中的总线电压计算有疑问。  

1:总线电压可通过配置寄存器中的 BADC 位以9位、10位、11位或12位采样。  

但它看起来总线电压在32V FSR 时基本为13位(02h[15:3])、在16V FSR 时基本为12位(02h[14:3])。  

问题1. 对于32V FSR、寄存器02h 的13位如何与12位分辨率 ADC 配合工作?

问题2. 对于16V FSR、如果 ADC 分辨率设置为9位、总线电压值是右对齐还是左对齐?

2.您能帮我理解 FSR 的基本概念吗?  有两个 FSR:32V 和16V。 我目前的理解是:  

如果我设置32V FSR、26V 的 VBUS 将对应32V。 因此、26V 可以分为8000步。  

VBUS = 26V -- 02h [15:3]= 1F40 h = 1 1111 0100 0000 b (32/4mV * 26/26 = 8000 -> 1F40 h)

VBUS = 13V -- 02h [15:3]= 0FA0 h = 0 1111 1010 0000 b (32/4mV * 13/26= 4000 -> 0FA0 h)

如果我设置16V FSR、26V 的 VBUS 将对应16V。 因此、26V 可以分为4000步。

VBUS = 26V --02h [14:3]= Fah = 1111 1010 0000 b  (16/4mV * 26/26 = 4000 -> Fah )

VBUS = 13V -- 02h [14:3]= 7D0 h = 0111 1101 0000 b (16/4mV * 13/26= 2000 -> 7D0  h)

但我意识到我的理解有问题。 因为我的计算与数据表中的9.2.2不同。  

问题3. 根据数据表中的9.2.2、11.98V 的 VBUS 将存储为02h [14:3]= BB3h、具有16V FSR。 如果我设置32V FSR 并在 VBUS 上施加11.98V 电压、应该是什么02h[15:3]? 这将有助于我了解总线电压 FSR 的基本概念。

谢谢。

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

    您好 Ella、

    感谢您使用 TI 论坛。 以下是我对您问题的回答:

    Q1:12位 ADC 值进入13位寄存器的原因是、结果值在对样本取平均值时可以使用更高的分辨率。   

    Q2:为方便测量、总线电压寄存器的 lsb 始终为4mV、因此无论 ADC 设置如何、相同的测量值都将始终在总线电压寄存器中显示相同的值。  更改 ADC 设置的代价是精度/分辨率较低、从而获得更快的结果。  如果 使用 9位 ADC 进行16V FSR、结果不是右对齐或左对齐到12个可用位、但仍然以4mV 的 LSB 读出。  

    Q3:在16和32之间更改 FSR 会影响 ADC 的测量范围、但不会更改总线电压结果寄存器的 LSB。 因此、无论 使用的 FSR 或平均值计算设置如何、VBUS 上的11.98V 都将读出为0xBB3。  

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

    您好 Mitch、

    感谢您的回答。

    当谈到您在第三季度的回答时、 我认为我不能完全理解它的工作原理。 如果 VBUS 寄存器的值与11.98V 相同、LSB 等于4mV、那么为什么 INA220有两个 FSR 选项?  

    [引用 userid="300200" URL"~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting/3781448 #3781448"]在16和32之间更改 FSR 会影响 ADC[/引用]的测量范围

    请帮我理解以上您的评论。

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

    您好 Ella、

    我知道这可能会有点混乱。  我认为这种混淆是由内部 ADC 位分辨率与寄存器结果位分辨率造成的。  我在上面的注释中说过、FSR 会改变内部 ADC 范围、但不会改变寄存器结果输出格式。  因此、当您将 ADC 上的范围从32V 更改为16V 时、您将在0V 和16V 之间获得比在32V 范围内更高的分辨率、但为了方便起见、该值将转换为统一的输出格式。  

    还需要注意的是、当使用较低的位分辨率时、寄存器结果输出中可能不会提供每个位代码(因为该寄存器很大、可以适应所有模式)。  例如、如果您使用的是16V 范围且 ADC 只有9位、则 ADC 分辨率为16/512 = 31.25mV。  在这个设置中、结果寄存器仍然显示在4mV LSB 中、所以输出不会使用每个代码、因为你不能测量低至4mV。

    因此、尽管11.98V 的 VBUS 结果寄存器在16V 和32V FSR 下的输出代码与0xBB3相同、但在16V FSR 下、您的精度和无噪声精度将比在32V FSR 下更高。 此外、根据配置的 ADC 和平均值计算设置、该代码可能无法测量。  

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

    您好 Mitch、

    感谢您的回复。

    我正在尝试理解它。  请检查我在下面的理解是否正确?

    1.16V FSR 和12位 ADC -> LSB = 16/(2^12-1)= 3.97mV

    32V FSR 和12位 ACD ->LSB 32/(2^12-1)= 7.81mV;这就是您在下面提到的原因。

    [引用 userid="300200" URL"~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting/3781687 #3781687"]您将获得高于32V 范围的0V 至16V 分辨率

    2. 32V FSR 和9位 ADC --> LSB =32/(2^9-1)=62.6mV

    如果我在 VBUS 引脚上施加12V 电压、总线电压寄存器[15:3]中会存储什么值? 我相信位[15]将为0、位[14:3]将为 BB0h。 (原因如下。) BB0h 相当于十进制的2992、该 值2992乘以4mV LSB 会得到11.968V 的值。这是由于 ADC 分辨率(9位)较低而导致的不准确结果、因为实际 VBUS 电压为12V、而非11.968V。

    - 12V/64mV = 187.5、在量化期间将为187 (0BBh)

    - 0BBh 变为 BB0h 以满足4mV LSB 格式

    3. 如果我设置16V FSR、内部 ADC 可读取的最大总线电压仅高达16.38V (当0x02 = 7FF1h -> 0FFFh = 4095d 时)。 如果我设置32V FSR、则最大总线电压高达32.764V (当0x02 = FFF1h -> 1FFFh = 8191d 时)、但 INA220的总线电压限制将小于 数据表7.1中指定的26V。

    再次感谢你的帮助。

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

    您好 Ella、

    以下是我对您问题的回答。  请注意,我在前面的消息中出现了一个小的数学错误,但现在已经更正了它(512而不是511....)。  因此、您在数学中使用了与我相同的过程、因此这些过程会稍有不同(您不需要"-1")。

    1.是的、这就是为什么您在16V 范围内获得更高分辨率的原因。 (请注意、对于我提到的数学误差、分别为3.90625mV 和7.8125mV)

    (更新了数学校正、将计算结果设置为62.5mV)。  通过此数学校正、 我将重新运行上述数字:  

    对于32V FSR 和9位 ADC、如果电压为12V、ADC LSB 将为7.8125mV、即 ADC 代码为1536 (0x600)。 然后、这将转换为十六进制代码0xBB8中的输出寄存器格式、即3000十进制。  然后乘以4mV 的 LSB、得到3000 * 0.004 = 12V。

    因此、在本例中、12V 测量工作正常、很抱歉让您在前面混淆了我的数学错误。

    3.我在这里没有看到问题,但我会尝试澄清。  首先、最大电压实际上是32V 和16V、而不是16.38和32.764。  这是因为 4mV 的 LSB 是一个选择的值、不是基于输出寄存器中可能的最大值。  因此、上面提到的值0x0FFF 和0x1FFF 实际上不可测量。 满量程范围下的最大值显示在数据表中:  

    话虽如此、您答对了、尽管 ADC FSR 使用32V 电压、但26V 仍是 VBUS 引脚允许的最大值。

    希望这有助于回答您的问题。

    另一个注意事项是、如果您正在寻找更高的电压或更高的精度、您可以始终查看我们更新的数字 INA 系列、即 INA228 (20位 I2C)和 INA229 (20位 SPI)。  如果这些太贵、我们还提供了16位版本、即 INA238 (16位 I2C)和 INA239 (16位 SPI)。

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

    您好 Mitch、

    再次感谢您的善意回应。 我理解您对第1和第3项的评论、但 我仍有一些不清楚的方面。

    [引用 userid="300200" URL"~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting/3782783 #3782783"](您不需要"-1")。[/quot]

    据我所知、在计算 LSB 时、替换1是一个正常的过程。 我指的是应用程序。 注(https://www.ti.com/lit/an/slaa013/slaa013.pdf)。 我能否仅使用(2^n)而不是(2^n-1)进行计算?

    [引用 userid="300200" URL"~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting/3782783 #3782783"]对于32V FSR 和9位 ADC、如果是12V、ADC LSB 将为7.8125mV、[/引用]

    我认为 LSB 应该是62.5mV、因为它是9位 ADC。 但您提到了7.8125mV。 如果有任何误解、您能纠正我吗?

    (32V FSR 和9位 ADC -> LSB = 32/(2^9)= 62.5mV)

    (32V FSR 和12位 ADC -> LSB = 32/(2^12)= 62.5mV)

    [引用 userid="300200" URL"~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1023077/ina220-bus-voltage-full-scale-range-setting/3782783 #3782783"]ADC 代码1536 (0x600)。 然后将其转换为十六进制代码0xBB8中的输出寄存器格式、即3000十进制。

    请向我提供有关如何将1536 (0x600)转换为3000 (0xBB8)的更多信息?

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

    您好 Ella、

    很抱歉让人困惑… 仔细查看 公式的"-1"部分、结果表明、无论是否使用"-1"的公式历来都使用。 不使用"-1"进行数学运算是一种简单的近似方法、通常可提供更好的 LSB、而添加"-1"则是一个在技术上更准确/正确的公式。

    是的,我不小心计算了12位,而不是9位.....  因此 lsb 将为62.5mV (使用"-1"时为62.6223)。 但是、通常情况下、使用9位 ADC 时分辨率会较低、因此可能会导致误差。

    我无法访问确切的转换是如何完成的、但总的来说、我相信它会根据4mV 的新 LSB 来转换数据、而不仅仅是直接将数字转换为新的位大小。  

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

    Mitch、

    感谢您的澄清。 最后、您能否检查如何 完成4mV LSB 格式的转换? 我认为应该有任何指南文档或一些关于 INA220如何与 ADC 和寄存器一起工作的内容。 否则、测试 EVM 并比较结果是检查 其运行情况的唯一方法?

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

    您好 Ella、

    实际上、我们不会给出器件的详细程度、但精度将是数据表中指定的值。 如果您想了解有关如何查看精度和误差源的更多信息、请随时观看我们的 TI 高精度实验室视频、网址为 :https://training.ti.com/ti-precision-labs-current-sense-amplifiers (第3节全部涉及误差源)。