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.

[参考译文] TMP114:I2C 总线问题

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1362063/tmp114-i2c-bus-issue

器件型号:TMP114

使用 STM32H735开发套件、并将 TMP114传感器连接到开发套件。 扫描 i2c 总线上的从器件时仅检测板载音频芯片、不检测 TMP114器件。 该传感器已用于另一个具有另一个平台的项目、可以正常工作。 但我不能缝合,以获得任何反应。 我使用带上拉电阻和上拉电阻的标准模式100kHz。 我可以看到总线上同时有数据和时钟。 该器件是否使用了与正常运行不同的任何特定时序或运行?

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

    尊敬的 Johan:

    我的 TMP114样本会响应地址0x48下的 Linux 命令 i2cdetect。 当然、TMP114的地址将取决于您拥有的可订购型号、但它与标准扫描工具兼容。  

    您是否焊接了 TMP114? 作为 BGA 器件、手动焊接可能具有挑战性、并且很难在 TMP114处验证连接。 您是否检查了另一个样片?  

    谢谢。

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

    我们有4个器件焊接到 FPC 上、我还认为它是作为组装元件购买的、带有可以连接到电路板的电缆。 FPC 被用于其他项目,它确实工作。 因此不会出现焊接问题。 我确实知道器件的 A、B、C、D 型号、但我扫描从器件地址0-FF、以便如果器件工作、应能检测到器件。

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

    虽然我强烈怀疑您遇到了连接问题、但我必须要求使用示波器捕获总线活动的信息以进一步进行调试。 请在网络中再次检查您的连接。

    谢谢。

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

    我已经确认一切正常、换了一些传感器后(某些连接也没有完全连接)。 现在确认数据地址和寄存器指针以及输出2个字节。 但不管我读取的哪个电阻器都会返回 FFFF。  

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

    我很高兴听到您解决了连接问题。 我需要查看总线活动的捕捉以便了解正在向器件发送什么数据。 请注意、该器件需要在写入指针之后使用 RESTART、如图8-14所示。 这只影响读取操作。

    谢谢。

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

    从流程来看、它是一种常规的飞利浦 i2c 协议、我使用常规 halt API 来传输和接收数据。 有什么我漏掉的地方吗?

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

    可以在写入指针事务后执行 STOP (P)。 我们的大多数温度传感器会无限期地存储写入的指针。 TMP114不会保留指针、需要在不停止的情况下写入/重新启动才能执行读取事务。

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

    目前我没有 I2C 事务的图表。 但当我处理它的时候看起来不错。 我们将 STM32用作 MCU、并在下面的链接中、它基本上运行与我所做的相同的设置。

    https://www.digikey.be/en/maker/projects/getting-started-with-stm32-i2c-example/ba8c2bfef2024654b5dd10012425fa23

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

    尝试使用 HAL_I2C_HAL Mem_Read

    https://community.st.com/t5/stm32-mcus-products/support-for-repeated-start-in-stm32-hal-i2c-library/td - p/429213

    谢谢。

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

    这涉及到问题、因为我们将在 TMP114与平台之间使用 I2C 多路复用器、因此这个技巧不起作用。 在定制硬件送达之前、我先尝试测试驱动程序、以便为 TMP114设置正确的处理。 在示例中、我作为链接发送、它显示使用正常的 HAL I2C 驱动程序时、它应该可以工作、但它不会工作。

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

    TMP114与 I2C 多路复用器兼容。 您还有其他问题要问我吗?

    谢谢。

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

    我想我们必须看看它是否在定制硬件上有效。