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.

[FAQ] [参考译文] [常见问题解答] PGA305:是否有有关如何使用 PGA305的特定信息?

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1380632/faq-pga305-is-there-specific-information-on-how-to-use-the-pga305

器件型号:PGA305

工具与软件:

我尝试使用 PGA305、但对器件运行的各个方面没有什么了解。  例如、是否提供了有关如何计算系数以及 PGA305如何使用系数的信息。  我在 OWI 通信方面也存在问题、尤其是在进行4P4T 校准时。

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

    PGA305是一款24位 ADC、主要使用14位 DAC 作为输出。  使用由两个独立变量和一个相关变量组成的三阶多项式方程实现线性化和温度补偿。  独立变量是压力(P)和温度(T)、通过多项式计算时、可在 DAC 输出端提供补偿输出。

    启用24位模式时、计算必须转换为16位值、这是通过将结果右移8位(相当于除以256)来实现的。 DAC 输出平均为四个测量周期、因此除以4是实际的 DAC 输出代码。  当转换为 DAC 输出时、24位计算值的总分频值变为1024。  

    PGA305的一个考虑因素是计算值的大小可能需要大于64位(long、long)的整数值、因此使用浮点值。  使用浮点的问题是 M0没有硬件浮点外设、这需要通过软件来实现。  这会增加对 DAC 输出进行最终计算的总处理时间。

    以下是与 PGA305相关的更多详细信息:

    • 系数是如何使用的?
      • 使用的系数如 PGA305数据表所示。  可以使用16个系数的总计组合、并且所有16个系数都用于4P4T 校准。  最简单的组合是2P1T、其中两次压力测量将确定测量的增益斜率、结果是一条直线的方程 、其中 Y = Mx + B。Y 是 DAC 输出、m 是两个压力点的测量斜率、这将成为 G0系数。  b 是偏移值、它是 H0系数。  增加更多的压力和温度读数进行校准会增加使用的系数数量。  有关系数及其如何构成三阶多项式的更多详细信息、请参阅器件数据表。
    • 如何计算系数?
      • 这是通过线性回归实现的。  使用方程组求解通过使用两个独立变量来求解相关变量。  方程组使用的数学运算与求解多项式时实际计算值所使用的数学运算相同。  使用的系数总数通过将获得的压力值数乘以获得的温度值数来确定。  3P1T 为3、3P2T 为6、3P3T 为9、4P4T 全部为16。  其他组合将以类似的方式计算。
      • PGA305还使用数字增益和偏移。  理想动态范围是数字增益为1时、使用 ADC 之前可用的理想 PGA 增益会使之受益。  数字偏移只是 ADC 返回代码的最大值和最小值之间的平均值。  最后、DAC 的输出值不能为负值、因此数字偏移会推动结果、使其保持为正值。  在固件内、计算出的任何负值都将设置为零。
    • 系数如何存储?
      • 系数的值被归一化为22位、因此生成的系数的最大范围将在+/-2范围内。  在大多数情况下、结果将是分数、但系数本身的存储必须成为整数值、以便它们处于 为此目的指定的24位 EEPROM 空间范围内。  分数系数值首先乘以2^22、但在存储到 EEPROM 之前、需要2^8的额外乘法(或总计2^30)、以便在除以256之前将24位值视为最终结果、这最终是14位 DAC 的最终 DAC 输出代码。
    • 与 OWI (单线制接口)和通信相关的问题
      • 这里最大的问题是将 EEPROM 锁定后解锁。  由于使用浮点数学运算进行补偿所需的计算时间、解锁序列可能无法在正确的时间内发生。  随着额外系数的计算、所需的时间长度会增加。  一种选择是使用 I2C 而不是 OWI。  另一个选项是在锁定 EEPROM 之前验证操作。
    • 如何以数字方式读取补偿值?
      • 补偿要求 M0运行补偿算法。  读取数据的唯一方法是使用 数据表表表9中列出的 COMBUF 通信序列。