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.

[参考译文] OPT3001:读取数据时 MSB 被截断

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1115, OPT3001, DAC121C085

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/736382/opt3001-msb-truncated-when-reading-data

器件型号:OPT3001
主题中讨论的其他器件:ADS1115

大家好、我注意到我的器件总是在 MSB = 0时返回读回数据、无论是配置寄存器、转换数据寄存器还是阈值寄存器。 我的总线时钟为400kHz。

当我从明亮的光源读取时、我首先注意到这个问题、并注意到报告的 lux 因指数值大于7而下降。 为了进行简单测试、我为器件加电、将 A5B6h 写入低限值寄存器02h、然后进行读取并获得25B6h。 该器件与 ADS1115共享总线、工作正常;从阈值和配置寄存器中读回数据始终与写入的数据匹配、并且转换数据始终正确。 我对总线上的所有器件都使用相同的时钟速率。

上述所有内容均已使用示波器进行验证。

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

    当您说"从阈值和配置寄存器中读回数据始终与写入的数据匹配、并且转换数据始终正确"时、这些寄存器的 MSB 为1时、是否正确?

    另外、您在该测试中使用的配置寄存器值是多少?

    最棒的

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

    这句话是指我对 ADS1115的测试。 是的、我将所有1写入这些寄存器、它们从 ADS1115正确回读。

    对于 OPT3001、我的配置寄存器值为 C210h。 最初、我读回40B0h (C、MSB 截断= 4)、表示我的转换准备就绪、器件返回关断模式、然后当转换准备就绪位设置为低电平时、我读出4010h。

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

    下面是几个示波器屏幕截图、其中显示了向寄存器02h (低限)写入 FFFFh 的值以及以下回读操作。 这已在3个不同的电路板上得到确认。 此外、我已读取正确的制造商 ID 和器件 ID、因此我知道我正在与正确的器件通信。

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

    感谢您提供所有这些信息。 我以前没有看到过这个问题,看起来很奇怪。 我将花更多的时间来查看您的示波器快照、并对此进行研究。 您是否在多个器件上尝试过此操作? 当您说"已在3个不同的电路板上确认"时、这意味着您已经在3个版本的同一电路板上使用3个不同的 OPT3001进行了测试?

    您是否碰巧有适用于 OPT3001的 EVM、也可以进行测试? 我正在尝试缩小重新创建此问题所需的范围。

    最棒的

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

    谢谢 Alex。 每个电路板上都有一个 OPT3001、它们都显示了相同的问题。 我还尝试将 I2C 时钟频率降低到300kHz、但这没有任何作用。 我可能有一个评估板踢,我可以在这段时间内玩。

    谢谢!

    Paul

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

    您好、获得更多数据! 我发现、我在实验室的仪器上使用的这些器件中的50个左右都有这个问题、并且一直有这个问题。

    今天、我想通过将时钟速度降低至100kHz 并将 I2C 上拉电阻降低至511欧姆来排除任何时序问题、以确保上升时间符合规格(不认为上升时间对于 I2C 而言是一大问题、但我想无论如何都要排除它...)。 因此、在进行这些更改时、我仍然有相同的问题。 但额外的好处是、通过在接近 OPT3001的位置进行探测、我可以看到它是主器件还是 OPT3001将 SDA 线路拉低。 在示波器捕获中、低于 SDA 信号下限意味着 OPT3001会将其下拉。 在第二个捕获中、即回读、您可以看到 OPT3001看起来是回读期间 MSB 传输期间 SDA 保持低电平的那个。 此时我都不知道自己的想法、可以提供一些帮助。 谢谢!

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

    到目前为止、我无法在我们的 EVM 上重现此问题。 您是否能够提供您在其上看到此问题的电路板的原理图? 当您说问题发生在50个器件上时、它们是否都使用相同的原理图或它们是否采用不同的设计? 您是否还设法找到了适用于此芯片的 EVM 并尝试了它? 进一步缩小范围将有助于我知道到底要测试什么

    最棒的

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

    尊敬的 Alex:

    原理图中没有太多内容;3.3V 电源和 I2C 连接上只有100nF 去耦电容。 请参见下图。 此外、在回读期间、我用一个短接地引线在去耦电容器上探测3.3V、并且在每分段50mV 时不会出现可测量的压降或毛刺脉冲。

    我确实找到了评估板、并确认其工作正常、但未显示此问题。  我知道评估板是否工作正常、我板上的所有器件都出现了错误行为、那么这就是我的问题、但同一 I2C 总线上的其他器件工作正常、我看不到我有什么问题。 我在设计中使用的其他 I2C 器件通常都可以正常工作、几乎没有任何问题、但这是我遇到的更令人困惑的问题之一。   

    谢谢、

    Paul

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

    您知道我如何重现此问题吗? 您是否在与其他器件相同的总线上尝试过 EVM 板、或者它是单独的?

    更多问题:
    从原理图中、我希望了解总线上的内容和上拉电阻器。 我们是否能够说这个问题只发生在这个与所有其它器件的总线上? 如果是、您是否可以开始断开其他器件的连接、直到我们进入工作状态?

    最棒的

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

    尊敬的 Alex:

    上拉电阻为1.6k、正如我提到过的、我将其降低到511、以排除由于上升时间过慢而可能出现的任何问题。 我想我可以尝试关闭其他器件、但我看不到不良的 I2C 波形。 其他器件为2 个 DAC121C085和1个 ADS1115。  

    谢谢、

    Paul

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

    我们是否可以将此对话移至电子邮件中、我将关闭此主题? 请给我发送电子邮件:Bhandari、网址为 TI.com

    我计划在总线上测试多个 OPT3001、但需要一些时间来运行此测试。 请告诉我从总线上移除其他器件是否有任何结果、以尝试隔离是否是导致问题的特定器件。 如果多个 OPT3001测试工作正常、并且我们需要使用另一个特定器件进行测试以重现问题、这将对我们有所帮助。

    最棒的

    Alex