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.

[参考译文] LP5861:LP5861的读取始终使用寄存器1和#39数据进行响应

Guru**** 2394305 points
Other Parts Discussed in Thread: LP5861

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1517847/lp5861-reads-of-lp5861-always-respond-with-register-1-s-data

器件型号:LP5861

工具/软件:

我已收到 LP5861的样片并将其连接起来。 我通过一个电阻器将 Vsync 连接至低电平、并将其编程为 MODE1。

我将 IPS 连接至低电平、A1 = 3.3V、A0 = 0V。 当我与它通话时、它会响应0x48 - 0x4A (以及0x54-0x57)。  
我 将寄存器0x001写入 0x5A (模式1)、然后再写入0x5E (模式3)。  

问题:当我回读时、无论我使用哪个 I2C 寄存器地址、我都会收到寄存器0x001的数据0x5A 或0x5E、以我最后写入的数据为准。

I2C 流量看起来良好、频率为100kHz 或400kHz、但事实并非如此。

写入/读取寄存器是否必须为芯片启用?  数据表中并未说明这一点。 在启用输出之前、我想等待所有寄存器都完成编程。

我会继续尝试...

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

    我指的是 IFS (I2C 模式)。

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

    这里是寄存器0x002读取的100kHz 流量的屏幕截图。 它应该读取0x00而不是0x5A (寄存器1中的内容)。

    我从寄存器0x000读取的读数与此相同。  它卡在0x5A。
    如果我尝试0x49 (高位地址位为0x100)、则会得到0x00作为数据。 我认为如果我还没有对该寄存器进行编程、它应该是0x80。

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

    我发现了一个问题。 由于寄存器地址的高2位是 I2C 地址字节的一部分、我当时将 I2C 工具设置为2字节存储器地址、而实际上只有1字节地址。  
    这"修复了"问题、但我仍然没有收到对写入和读取某个地址(如0x004)的响应。 读数为0x47。  
    默认情况下、该位应为0x57。 我也无法更改它。

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

    是的、似乎必须将 CHIP_EN 设置为1才能正确对寄存器进行编程。
    看起来寄存器0x004高位字节默认为4、而不是5、尽管可以对其进行编程。 即使在软件复位后也发现了这一点。

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

    您好、WST:

    是、当 chip_en = 0时、器件将保持待机模式、在该模式下 、I2C/SPI 仍可用于 Chip_EN 系统 并且寄存器的数据会保留。

    是的、寄存器0x004 (Dev_config3)的默认值应为0x57以外的0x47 (将提交修改数据表的请求)。

    此致、

    Felix

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

    感谢您的答复!!!  我很高兴你证实了我看到的。
    我还有一个问题。 我不打算使用 PWM 调光、因此会将它们设置为0xFF 以获得100%输出(无切换)。 然后使用直流寄存器进行调光。  
    您能解释一下8位与16位 PWM 的区别吗? 当 IC 处于8位与16位模式时、我在数据表中看不到。 我假设我可以将8位 PWM 编程为0xFF、但我不确定是否正确。

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

    我在表8-4中发现、当使用模式1时、它使用8位 PWM 设置。 这就是它响应0x207 (CS7)而不响应0x20E/0x20F 的原因。 我本来应该更仔细地看看。
    如果我想使用 PWM、则模式3和 Vsync 允许16位。 我不打算使用它。
    因此、我将使用8位 PWM 寄存器0x200 - 0x211。

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

    您好、WST:

    当然、如果还有其他问题、请告诉我。

    此致、

    Felix