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.

[参考译文] LP5861T:LP5861T 初始化

Guru**** 2515700 points
Other Parts Discussed in Thread: LP5861T, LP5861

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1556366/lp5861t-lp5861t-initialization

器件型号:LP5861T
主题中讨论的其他器件: LP5861

工具/软件:

您好:

我尝试将 LP5861T 与 USB-I2C 桥接芯片 (MCP2221) 连接、但初始化序列似乎有问题、是否有人 可以查看以下源代码、并告诉我初始化功能是否正常?

//将单个字节写入 LP5861T 寄存器
void LP5861_Write(uint8_t i2cTargetAddress、uint16_t startRegAddress、uint8_t 数据)

uint8_t payload[2]={0};

i2cTargetAddress =(i2cTargetAddress << 2)|((uint8_t)(startRegAddress >> 8));//获得 startRegAddress 的最高 2 位、以构建具有 5 位器件地址的 i2c 从器件地址
PAYLOD[0]=(uint8_t) startRegAddress;//获取 startRegAddress 的低 8 位
PAYLOAD [1]=数据;//要发送的数据
qDebug ()<< Qt::hex << i2cTargetAddress << Qt::hex << payload[0]<< Qt:hex << payload[1];
FLAG = Mcp2221_I2cWrite(handle、2、i2cTargetAddress、I2cAddr7bit,有效载荷);
}

//初始化 LP5861 器件
void LP5861_init ()//(uint8_t i2cTargetAddress、uint16_t startRegAddress)

// GP0 - VSYNC 信号、仅限数据刷新模式 2 和 3
//OutValues[0]= MCP2221_GPVAL_HIGH;//设置 GP0(输出高电平)- VSYNC 引脚
//Mcp2221_SetGpioValues (handle、OutValues);//现在设置 DIO 引脚值


LP5861_Write (I2C_TARGET_ADDRESS_独立、reset_reg、0xff);//复位器件
QThread::uSleep (500);//等待 t_POR(最大 500us)以进入正常模式

LP5861_Write (I2C_TARGET_ADDRESS_独立、chip_en_reg、0x01);//启用器件
QThread::usleep (150);//等待 t_chip_en(最大 100us)以进入正常模式

/*初始化器件*/
LP5861_Write (I2C_TARGET_ADDRESS_独立、dev_initial、0x00);//数据刷新模式= Mode_1、PWM 频率= 125KHz (Mode_1 不需要 VSYNC)
LP5861_Write (I2C_TARGET_ADDRESS_独立、DEV_CONFIG1、0x00);//线性调光标度、PWM 相移关闭
LP5861_Write (I2C_TARGET_ADDRESS_独立、DEV_config2、0x00);//所有组的低亮度补偿时钟移位编号设置 (1、2、3) 关闭
LP5861_Write (I2C_TARGET_ADDRESS_独立、DEV_config3、0x0E);//最大电流 125mA
}

//通过 dc0-DC17 寄存器为所有通道 (0-255) 设置电流
void LP5861_SetCurrentAll (uint8_t CurrentValue)

对于 (I = 0;I <= 17;I++)

LP5861_Write (I2C_TARGET_ADDRESS_独立、dcReg[i]、CurrentValue);
}
}

谢谢、

Karim

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

    尊敬的 Karim:

    感谢您联系我们。

    我仍在审核代码。 我想知道问题是什么? I2C 通信 NACK 或 LED 未亮起?

    否定确认、以确认 I2C 通信。 请分享 I2C 波形以进行分析。

    将其打开。 您需要将一些数据写入信号器 200h~223h、因为如果是 00h、则为 PWM 关闭、则为默认值。

     

    BR、

    Leon

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

    尊敬的 Leon:

    感谢您的答复、非常感谢您的答复。 设置直流寄存器之前、一旦设置了 PWM 寄存器、LED 就会亮起。
    现在又出现了另一个问题、这些通道只会灌入“ADC3"寄存“寄存器中设置的电流的一半、因此如果通道设置为 Dev_Config 125mA、它只灌入 62.5mA。 我测试了多个当前设置和结果始终相同的情况。 为什么会发生这种情况?

    谢谢、
    Karim

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

    尊敬的 Karim:

    LP5861T 器件能够分别调节三个颜色组的输出电流。 对于每种颜色、该器件在“CC_Group1",“,"CC_Group2"、"CC_Group2"和“和"CC_Group3"“"CC_Group3"中“中都“都有 7 位数据。 默认设置为 50%。 因此它仅接收一半的 125mA。

    BTW、为了更好地支持该项目、您能告诉我们终端设备和项目进度吗? 我们可以移动电子邮件来讨论这个问题: leon-he@ti.com、谢谢!

    BRS、

    Leon He

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

    尊敬的 Leon:

    感谢有关“CC_GroupX"寄存“寄存器的更多信息、现在一切都运行良好。  
    我将通过电子邮件与您联系、询问我还有哪些问题。

    谢谢、
    Karim