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.

[参考译文] TMP431:寄存器运行不正常

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1004873/tmp431-registers-are-not-behaving-as-expected

器件型号:TMP431

我们在使用 TMP431C 器件时遇到了问题、在该器件上电后、寄存器不会初始化为复位值。

温度寄存器似乎正常。 寄存器中的硬编码1或0似乎大部分都很好。 但该部件似乎未正确初始化。

寄存器0x3始终读取0xFC、这毫无意义。

发送软复位命令不会改变任何东西。

我们无法写入配置寄存器。

请参阅随附的寄存器转储。

e2e.ti.com/.../TMP431-Registers.txt

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

    您好、Dave、

    要确认、是否只有一个设备显示此行为?  

    此外、您是否能够在示波器或逻辑分析仪上捕获对这些坏寄存器之一的读取和写入操作?

    此致、
    Brandon Fisher

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

    到目前为止、我们已经在测试的两个器件上看到了这一点。  我们使用示波器和逻辑分析仪查看了 I2C 信号、这些信号看起来不错。  我们始终从 TMP431接收 ACK、以便每次都能识别器件地址。  

    我们感到困惑的是、某些寄存器行为正常、例如器件和制造商 ID 寄存器。  我们运行了一个循环来读取这些寄存器超过40、000次、并且始终获得正确的值(0x31和0x55)。

    我们注意到、TMP431呈现的 I2C 低电平为0.4V 至0.5V、因为信号由电压转换器驱动、这会导致高于接地一个二极管压降。  但是、如果这是一个问题、我认为我们会在所有寄存器中看到各种各样的问题。

    因此、似乎有两个主要问题:寄存器在加电时似乎没有初始化为其复位值、我们无法写入配置寄存器。

    我尝试在 寄存器0x03/0x09上附加一个显示逻辑分析仪读/写结果的文件、但我不知道如何添加附件。  

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

    您好、Dave、

    打开回复工具后、您应该能够使用 Insert -> Image/Video/File 对话框加载文件或图像、如下所示/

    您还可以将文件从 Windows 资源管理器拖放到回复文本窗口中、它还 允许您以这种方式上传文件。  

    [引用 userid="481790" URL"~/support/sensors-group/sensors/f/sensors-forum/1004873/tmp431-registers-are-not-behaving-as-expected/3712723 #3712723"]我们注意到 TMP431呈现的 I2C 低电平为0.4V 至0.5V、因为信号由电压转换器驱动、导致电压高于接地一个二极管压降。  但是、如果这是一个问题、我认为我们会在所有寄存器中看到各种各样的问题。[/引述]

    这有点不寻常、但我同意0.4-0.5V 低逻辑电平不应成为原因、因为这在 TMP431的 VIL 规格范围内。

    鉴于您报告的问题、我建议执行 ABA 交换以查看问题是否在器件级别仍然存在。 假设没有、您共享的 I2C 事务看起来 正常。 我实际上建议将故障器件作为退货提交给我们: www.ti.com/.../customer-returns.html

    这将使我们能够在生产测试环境中检查这些器件、并检查它们是否存在可能导致此类故障的任何潜在损坏。  

    此致、
    Brandon Fisher

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

    我们将尝试换用该器件。  我要在读取/写入/读取周期连接逻辑分析仪波形、尝试将0x04写入配置寄存器1。  该寄存器似乎停留在0xFC。

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

    谢谢 Dave、

    查看您的捕获、我没有看到任何明显的错误会导致这种情况。    对于任何交换结果、我都将处于待机状态。  

    此致、
    Brandon Fisher

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

      在执行部件交换步骤之前、我们进行了软件更改、以删除停止和启动命令之间不必要的 SCL 时钟、从而解决了问题。 我认为 应忽略额外的时钟、当收到 Start 命令时、它 将启动下一个数据周期。  但器件看起来不像这些额外的时钟。  因此、我们的问题似乎已经得到解决。

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

    您好、Dave、

    感谢您的更新。 我很高兴你能找到它。 不确定我是如何错过字节之间的时钟周期的、但这似乎是可能的原因。  

    此致、
    Brandon Fisher