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:问题地址

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

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1496312/lp5012-problem-adress

器件型号:LP5012

工具/软件:

您好、

 地址 ADDR0和 ADDR1上的 LP5012RUKR 是否为 "1"有任何问题?  

当 ADDR0和 ADDR1为 "1"时、我们可以使用除所有地址之外的驱动程序

可以帮帮我吗?  

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

    您好、Foison、

    否、当 ADDR0和 ADDR1为1时应该没有问题。

    当 ADDR0和 ADDR1为"1"时有什么问题? 来自 LP5012的 NACK 时、通信是否失败?

    设置为"1"时、您是否测量了 ADDR0和 ADDR1上的电压? 此外、您能否向我展示您发送到 LP5012的数据日志?

    此致、

    Felix

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

    您好 Felix:

    我与 Foison 合作,我也联系了你在这里的支持:  

    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1496368/lp5012-4-driver-in-same-i2c-line-problem/5749052#5749052

    我认为 LP5012器件不会出现 NACK、因为我从未向驱动器发出读取命令、而是仅写入命令来配置驱动器、设置亮度和更改每个 LED 的颜色。

    您将在项目的 C 文件中找到数据日志、位于 Wetransfer 链接 bellow 中、该链接是在 Microchip Studio 上开发的、可在 Atmega32u4上运行。

    https://we.tl/t-tF2hH3RXts 

     

    这是一个测试项目、我仅用于与 LP5012通信。 正如我所说的、它适用于以下驱动程序:

    驱动器1:ADDR0 = GND 且 ADDR1 = GND

    -驱动器2:ADDR0 = GND 且 ADDR1 = VCC

    驱动程序3:ADDR0 = VCC 且 ADDR1 = GND

    并且不适用于:

    -驱动程序4:ADDR0 = VCC、ADDR1 = VCC

     

    项目说明

     

    在 main.c 中:

     

    位置

    我用 init_led ()函数配置 LED

    我用 set_bright_led ()设置亮度

    我用 led_x_off 关闭所有 LED

     

    在我的 while 循环中(1)

    我发送命令以使用 led_x_on()打开我的 LED

     

    main.c 中调用的函数在 LED.c 中实现

     

    LED.c 中调用的函数调用 I2C.c 中的函数(朝向底部)、从而实现 Atmega32U4和 LP5012之间的 I2C 通信。

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

    您想要 schema 或 PCB 设计吗?  

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

    您好、Foison、

    我们的专家稍后会给你答复。

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

    您好、Foison、

    代码链接被阻止站点。

    因此、当前的问题是无法打开和关闭驱动器4 (ADDR0 = VCC & ADDR1 = VCC)的 LED、对吗? 但是、使用从器件地址= 0x17向驱动器4发送写入或读取命令的通信是成功的(驱动器4以 ACK 进行响应)?

    此致、

    Felix  

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

    您好 Felix:

    图1驱动器1:ADDR0 = GND 且 ADDR1 = GND

    图2驱动器2:ADDR0 = GND 且 ADDR1 = VCC

    图3驱动器3:ADDR0 = VCC 且 ADDR1 = GND

    图4驱动程序4:ADDR0 = VCC 且 ADDR1 = VCC

    我们从4个驱动器捕获了 I2C (SCL 和 SDA)信号、并分别对其进行控制。

    在每种情况下,我发送:

    •  驱动程序地址
    •  用于激活 OUT4_Color 的0x0F 命令
    • 值0x0F

    我希望这能回答您有关 ACK 的问题。

    此致、

    Nicola

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

    您好、Nicola、

    专家稍后会给你答复。

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

    您好、Nicola、

    首先、为什么 SDA 的空闲状态保持在低电平状态? SCL 是否有上拉电路?

    其次、对于 映像4驱动程序4:ADDR0 = VCC 且 ADDR1 = VCC、可能无法识别启动条件。 STOP 和下一次 START 之间的空闲时间应大于1.3us。 驱动器地址字节只有8个时钟周期、即 ACK 的第9个时钟丢失了。

    如果提供了原理图、将会很有帮助。

    此致、

    Felix

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

    您好 Felix:

    停止和下一次启动之间的空闲时间为1.6us。

    这就是原理图

    e2e.ti.com/.../Carte-4-touches-fonction-micon-5-Safety-RGB-Secable-carr_E900_-11.pdf

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

    我们的专家将在下周给你答复。

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

    您好、Nicola、

     EP (21)端子是否连接到电路板上的 GND? 除此之外、为什么在空闲状态下不上拉 SDA? 控制器不是 MCU 吗?

    此致、

    Felix

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

    您好 Felix:

    感谢您的帮助、我们了解了如何使用最后一个地址以及您最后的建议订购我们的驾驶员、告诉我们将 EP 连接到 GND。

    我有一个新问题:

    我们希望在同一 I2C 总线上控制多个具有相同地址的驱动器。

    我们认为可以通过启用和禁用驱动器上的 EN 引脚来选择要控制哪个驱动器、但我们意识到在禁用寄存器复位时会执行该复位。

    我们尝试了使用 DEVICE_CONFIG0寄存器中的 Chip_EN 进行操作、但它只会关闭 LED 而不停止 I2C 通信。

    您是否有一种解决方案可以在同一 I2C 总线上单独控制多个具有相同地址的驱动器?

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

    您好、Nicola、

    如果不添加额外的电路、它就无法在同一 I2C 总线上使用相同地址单独控制驱动器。

    此致、

    Felix