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.

[参考译文] TMP103:有关 TMP103c 的 I2C 连续读取的问题

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1166536/tmp103-question-regarding-i2c-continuous-read-for-tmp103c

器件型号:TMP103

大家好、

我的客户正在其应用中使用 TMP103c。 请分享您对以下问题的见解?谢谢。

  • 我们检查了 TMP103c 是否支持对同一寄存器进行连续读取、对吧?
  • 客户尝试通过写入 TMP103C (1100101)和指针寄存器(P1、P0 = 1、1)来读取同一寄存器1次、但他们只能读取 FF 数据。     寄存器上似乎有-1度。

此致

弗兰克

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

    尊敬的 Frank -

    在我看来、指针不正确。 应该是00000000 (用于温度读数)、如果是00000011、这将指向 THIGH 寄存器、但是、由于发送了00100011、我不确定这是指什么、因此应该显示0xFF 0xFF、因为器件在格式化时不理解该请求。  

    在这里、我建议尝试发送1110 0101 (0xE4)、然后发送0000 0000 (0x00)、然后针对温度计时出一个字节、以确保其固件正常。  

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

    您好、Josh、Frank、

    请注意、TMP103仅观察指针中的两个最低有效位。  00100011b 将解析为限值寄存器11b。

    谢谢、

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

    Josh、Ren、您好

    感谢您的评论。

    当我检查了 Ren 的回复时、指针寄存器00100011不会影响、对吧? 它应与00000011相同。

    此致

    弗兰克

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

    弗兰克-

    是的、我认为这是正确的、但正如我说过的(或暗示的)、您需要在写入指针后发出寻址读取以显示数据。   

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

    Josh、您好!

    我让客户测量整个波形、您可以看到下面的屏幕截图。

    从一开始似乎是1110010、然后进入指针寄存器(00000000、temp 寄存器)、帧3再次是从器件地址(1110010)、并接收到数据00010000,、最后在以下数据中得到0xFF。

    请您分享您对它的见解吗?  TMP103C 是否支持在同一寄存器上继续读取?(我确实看到有连续读取模式、并将 M1变为1)。

    谢谢!

    弗兰克

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

    弗兰克-  

    谢谢-以下是我对它的解码方式。 请告诉我们您的想法。 您有他们的原理图吗?您知道他们是在 MCU 内部使用 I2C 引擎还是在该接口中使用位拆裂吗?   (单击图像以放大)-我认为我看到了无效的停止条件、这会导致 I2C 总线通信中断。 您可以看到、SDA 在 SCL 为低电平时变为高电平、因此、虽然很明显、它们打算发出 STOP (因为它们将时钟留在其工作方式上)、但我目前认为这是中断的地方、 这将指向 MCU 固件、而不考虑 I2C 协议。  

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

    弗兰克、

    TMP103只有8位寄存器。 它不会在第一个字节之后响应后续字节。 您必须启动新的 I2C 读取事务才能获得新的温度读数。

    谢谢、