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.

[参考译文] TMP112-Q1:12位值、D0=1b

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/955384/tmp112-q1-12bit-value-with-d0-1b

器件型号:TMP112-Q1
主题中讨论的其他器件:TMP112TMP112EVM

大家好、

我的客户正在使用具有13位扩展模式的 TMP112。 由于默认设置、我知道第一次读取是12位。

我建议它们区分由 D0位0b (12位)或1b (13位)读取的数据。

但我的客户在 D0位= 1b (13位)时观察到12位数据、例如0xDE01 (-34degC 乘以12位、LSB 为1)。

例如、客户将模式更改为13位、并在第二次转换完成之前读取温度寄存器。 因此温度数据为12位、但 LSB 更新为13位。

可以发生吗?

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

    您好、Atsushi、

    每次转换完成时、温度寄存器的内容都会更新。 转换时间指定为最大35mS、因此在上电后可进行首次测量35mS。 默认情况下、转换率(CR)配置为4Hz。 这意味着每秒4次、TMP112将执行一个最多花费35mS 的转换。  

    当13位模式被启用时(EM=1、)、在下一个转换完成前、温度寄存器将不会被更新。 在此之前、它可能包含旧的12位数据。 在默认转换速率下、更新温度寄存器可能需要250ms (4Hz)的时间。

    温度寄存器中没有将数据确认为12位或13位的线索。 为避免读数不正确、应在代码中插入适当的等待、或应使用 Shutdown/OneShot 功能。 使用关断(SD=1)时、每个测量都由 OneShot (OS=1)触发。 必须写入代码、这样操作系统= 1、超过35mS、然后温度读数正常。 这样、您只能读取最近的转换/测量值。  

    谢谢、

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

    Ren-San、您好!

    感谢您的回答。

    您认为我的猜测是正确的吗? 我想知道温度寄存器是否具有 D0 =1b 的12位数据。

    >例如,客户将模式更改为13位,并在完成第二次转换之前读取温度寄存器。 因此温度数据为12位、但 LSB 更新为13位。

    此致、

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

    大家好、Atsushia-San、

    请参阅数据表的第11页:

    字节2的 D0位表示正常模式(EM 位等于0)或扩展模式(EM 位等于1)、可用于区分两种温度寄存器数据格式。 温度寄存器中未使用的位始终读为0。

    我已在 TMP112EVM 上验证此行为。

    谢谢、