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.

[参考译文] LP5012:无输出-检查 I²C 命令/故障排除步骤?

Guru**** 2513185 points
Other Parts Discussed in Thread: LP5012

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/994589/lp5012-no-output---check-i2c-commands-troubleshooting-steps

器件型号:LP5012

我将两个 LP5012集成到 Raspberry Pi Zero 的 Phat (扩展板)上。 在无法使器件树驱动程序正常工作后、我开始在 Python 中实施驱动程序、并将数据表用作参考。 我已经确认 μ I²C 在给定预期地址的情况下成功读取和写入芯片。 但是、在发送预期会发光的 μ I²C 命令后、器件没有变化。 首先、您能否在设置过程中检查此 μ I²C 命令序列中是否没有遗漏任何内容?



#写入采用0xHEXVAL -> REGISTERh 格式
#读取采用 BINVAL <- REGISTERh 格式
#重置设备
0xFF -> 17h

#禁用自动递增
0x34 -> 01h

#设置设备已启用                                                                                                                                 
0x40 -> 00h
                                                                                                                                
01000000 <- 00h (DEVICE_CONFIG0)
00110100 <- 01h (DEVICE_CONFIG1)
00000000 <- 02h (LED_CONFIG0)

#尝试写入组、即使我们尝试使用独立模式
0xFF -> 03h (Bank_Brightness)
0x0F -> 04h (Bank_A_Color)
0x0F -> 05h
(Bank_B_Color)
0x0F -> 06h (Bank_C_Color)

0x0F -> 07h (LED0_Brightness)
0xFF -> 08h (LED1_Brightness)
0xFF -> 09h (LED2_Brightness)
0xFF -> 0Ah (LED3_Brightness)

#禁用全局关闭和省电
0x24 -> 01h

#尝试写入 out{0..11}_Color                                                                                                            
0xFF -> 0Bh                                                                                                                                 
0xFF -> 0Ch                                                                                                                                 
(笑声)                                                                                                                                 
0xFF -> 15h                                                                                                                                 
0xFF -> 16h

其次、您是否可以建议使用万用表等执行任何故障排除步骤、以查看芯片是否部分损坏(例如 ESD)、从而使芯片接受 I²C Ω 命令但不产生输出? 如果有用、我可以附加原理图/电路板文件/图像。

提前感谢

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

    您好、Monet、您能在这种情况下提供帮助。

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

    您好、Luke、

    操作步骤正确、如果方便、您能否捕获以下波形、我将帮助检查通信情况?

    1. 将0x40写入00h
    2. 将0x34写入01h
    3. 完成写入操作时、从寄存器00h、01h、07h 和0Bh 读取数据。

    最恰当的考虑

    徐美奈

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

    如果您只想运行命令、结果就是这样

    将值0x40 (0b01000000)写入  寄存器00h 
    将值0x34 (0b00110100)写入  寄存器01h
    从 寄存器00h 读取值0x40 (0b01000000)
    从 寄存器01h 读取值0x34 (0b00110100)
    从 寄存器07h 中读取值0xff (0b111111)
    从 寄存器0Bh 中读取值0x00 (0b00000000)

    否则、我将能够在2-3天内使用逻辑分析仪进行检查;我没有示波器。

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

    您好、Luke、

    很抱歉、我的描述不详细、对于步骤3、请在编写完所有代码后读取寄存器。 请再给我反馈。

    但控制器和器件之间的通信似乎正常。 请您提供 原理图/电路板文件/图像、我将帮助您检查是否存在一些硬件问题。

    最恰当的考虑

    徐美奈

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

    e2e.ti.com/.../0066.schematic.pdfe2e.ti.com/.../3021.board.pdf

    这里是原理图和电路板图像。 LP5012封装为 TSSOP-24。 LED 以最方便的方式进行连接、以对 PCB 布线进行布线;我一开始打算使用独立控制、而不是使用 RGB 存储功能。  

    如果仍然有用、这里是完整的寄存器转储。

    将值0x40 (0b01000000)写入  寄存器00h 
    将值0x34 (0b00110100)写入  寄存器01h

    从 寄存器00h 读取值0x40 (0b01000000)
    从 寄存器01h 读取值0x34 (0b00110100)
    从 寄存器02h 中读取值0x00 (0b00000000)

    从 寄存器03h 中读取值0xff (0b111111)
    从 寄存器04h 中读取值0x00 (0b00000000)
    从 寄存器05h 中读取值0x00 (0b00000000)
    从 寄存器06h 中读取值0x00 (0b00000000)

    从 寄存器07h 中读取值0xff (0b111111)
    从 寄存器08h 中读取值0xff (0b111111)
    从 寄存器09h 中读取值0xff (0b111111)
    从 寄存器0Ah 读取值0xff (0b111111)

    从 寄存器0Bh 中读取值0x00 (0b00000000)
    从 寄存器0Ch 中读取值0x00 (0b00000000)
    从 寄存器0Dh 中读取值0x00 (0b00000000)
    从 寄存器0Eh 中读取值0x00 (0b00000000)
    从 寄存器0Fh 中读取值0x00 (0b00000000)
    从 寄存器10h 中读取值0x00 (0b00000000)

    从 寄存器11h 中读取值0x00 (0b00000000)
    从 寄存器12h 中读取值0x00 (0b00000000)
    从 寄存器13h 中读取值0x00 (0b00000000)
    从 寄存器14h 中读取值0x00 (0b00000000)
    从 寄存器15h 中读取值0x00 (0b00000000)
    从 寄存器16h 中读取值0x00 (0b00000000)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Monet、您能继续关注这一情况。

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

    您好、Luke、

    原理图没有问题。 请尝试以下步骤。

    1. 通电
    2. 将 LED_EN 设置为高电平(使用万用表 确保 LED_EN 在运行期间保持高电平)
    3. 将0x40写入00h
    4. 将0x34写入01h
    5. 将0x0F 写入07h
    6. 将0x0F 写入0Bh

    请注意、在此操作期间不执行任何读取指令。 观察 LED_EN 和 VCC 电压。

    最恰当的考虑  

    徐美奈

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

    您好、Monet、

    我还没有忘记这一点、当我有时间设置设备时、我会在几天内尝试这一点。 对拖延表示歉意。

    谢谢、Luke

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

    您好、Luke、

    可以、如果有任何进展、请再次联系我。 我将继续支持这种情况。

    徐美奈

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

    如果没有进一步的反馈、我将关闭此主题。

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

    我发现 U1上的引脚1、2、3与主接地断开;芯 片在探测 μ I²C 总线时仍会记录为预期地址、但这确实意味着 AGND 不是理想的接地端。  

    但是、U2没有此类问题、但它与 U1显示的问题相同。 我会尝试 Monet 建议的两个芯片的故障排除、很抱歉由于设计的原因、在芯片运行时很难探测芯片、现在时间也不多。 正在取得进展、但进展缓慢、因此如果可以、我希望该线程暂时保持打开状态

    再次感谢

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

    由于更努力的一天是5.1到5.5、我们的专家将于5.6回答您的问题  

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

    你(们)好、Monet

    很抱歉耽误了很长时间。 我现在有机会尝试这一点。

    LED_EN 和 VCC 在写入指令之前、期间和之后都保持在3.3V。 通过将万用表设置为"最小值"模式、我可以确保它永远不会低于3.3V。

    谢谢、Luke。

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

    Monet、您好、请继续关注此案例。