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.

[参考译文] CCS/ADS1118:了解430BOOST-ADS1118-SFT 上的温度转换

Guru**** 2548980 points
Other Parts Discussed in Thread: ADS1118, ADS1018

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/828473/ccs-ads1118-understanding-temperature-conversion-on-430boost-ads1118-sft

器件型号:ADS1118
主题中讨论的其他器件: ADS1018

工具/软件:Code Composer Studio

您好!

我对 在430BOOST-ADS1118-SFT 中的"ADS1118.c"上提供的示例代码有疑问。

/*********
*函数:local_compensation (int local_code)
*简介:
*此函数将内部温度传感器代码转换为补偿代码,该代码已添加到热电偶代码中。
* local_data 位于16位数据寄存器的前14位。
*因此、我们将结果数据除以4以替换右移2位
*对于内部温度传感器、32 LSB 等于1摄氏度。
*我们使用 local_code/4将本地数据转换为 n* 1/32度。
*本地温度直接转换为热电偶的补偿代码。
* (TIN -T[n-1])
* COMP CODE = Code [n-1]+(Code[n]- Code [n-1])*{---}
*(t[n]- t[n-1])
*例如:5-10度方程如下
*
tmp =(0x001A*(local_temp - 5))/5 + 0x0019;
*
0x0019是'Code[n-1]'(5度);0x001A =(Code[n]- Cod[n-1]
)- tin (n-1)*[t_t_5)分母"5"为(T[n]- T[n-1])
*
本地温度的补偿范围为0-125。
*参数:LOCAL_CODE、内部传感器结果
*返回值:补偿代码
******** / 

我的问题是如何确定值0x0019和0x001A? 是否有我可以引用的查找表?
5°C K 型热电偶产生0.198 mV 的电压、10°K 型热电偶产生0.397 mV 的电压

此外、我最终将在项目中使用 ADS1018、结果数据是如何分频和移位的?

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

    我明白了

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

    Shubham、

    我很高兴您能够解决您的问题。 如果您不介意、问题是什么?

    无论您有任何其他问题、请随时回帖。

    吴约瑟

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

    我无法理解这些代码是如何准备的。 事实证明它只是(mV 的温度)*32*4。

    我知道您为什么乘以32 [1/0.03125 = 32]、但我仍然不确定我们为什么乘以4。 可以麻烦你解释一下吗?

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

    Shubham、


    在 ADS1118.c 中、我没有看到代码中乘以4。 不过、您提到的 local_compensation 部分中存在4分频。 您是问这件事的吗?

    对于温度传感器的输出数据、该器件会输出一个表示温度数据的2字节(16位)数字。 但是、在这16位中、使用了14个最高有效位(我认为2个最低有效位为零)。 要获取数据、您可以截断最后两个位、也可以除以四。 这两种方法都可以通过正确的14位数据获得相同的结果。 除以4可以将数据右移两位。

    希望这能解答您的问题。 如果我被误解了、您会在回帖中稍微详细地介绍该问题。


    吴约瑟

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

    感谢您的讲解。

    对于 ADS1018、器件会输出一个表示温度的16位数字。 在该器件上使用了12个 MSB。 如何截断该数据? 在本例中、我是否仍会除以4?

    这是我的最终问题。

    非常感谢

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

    Shubham、

    对于 ADS1018、温度传感器数据仍然以16位字的形式显示、但高12位用于温度感测数据。 您可以在数据表的表2中看到这一点。

    在这种情况下、您可以截断最后四个位、也可以除以16来删除最后四个数据位。

    吴约瑟