主题中讨论的其他器件:LM3435、
工具/软件:
大家好、TI E2E
之前、我使用 LM3435作为头戴式显示 LED 驱动器。
结果很好、但在极少数情况下、例如 LED 控制失败(I2C 写入 LED 电流控制失败)
LM3435将在非常高的电流输出下工作、它会使电池和 HMD PCB 损坏、
所以、我想在全新的头戴式显示器中试用 LM3549。
这是我的软件和硬件设置、我不确定是否正确。
无法选择 LM3549 I2C 器件地址、因此我选择 I2C 多路复用器 PCA9543。
硬件连接路径为 STM32F1 (MCU)_I2C2->PCA9543 (I2C MUX)->LM3549_RIGHT 和 LM3549_LEFT (LED 驱动器)->LCOS
PDF TI_LM3549 pdf 中(如下所示)、这是 LED 驱动器设计的一部分(硬件请参阅 LM3549 EVK)。
e2e.ti.com/.../TI_5F00_LM3549.pdf
从 PCA9543 (PCA9543.schDoc、器件型号 U10)下拉 A0和 A1引脚、导致 I2C 器件只有两个。
在同一页面中、我使用四个 MOS 来防止电流从 I2C 从设备泄漏到主设备。(我不确定这种方法是否正确)
在如下所示的软件控制中
(3-1) MCU 和 PCA9543同时开启
(3-2)拉高 LM3549的 I2C 基准电压
(3-3)拉高 LM3549使能
(3-4)为 SD0和 SC0设置 PCA9543
(3-5)配置 LM3549_RIGHT
(3-6)为 SD1和 SC1设置 PCA9543
(3-7)配置 LM3549_LEFT
(3-8)关闭 PCA9543以防止出现某些故障
/*启用 lm3549电源和 lm3549 i2c 基准电压 start*/
/*为两个 lm3549添加 PCA9543控件、其 i2c 设备地址相同*/
uint8_t pca9543_cmd_R = 0x01;
uint8_t pca9543_cmd_L = 0x02;
uint8_t pca9543_cmd_off = 0x00;
HAL_GPIO_WritePin (GPIOB、V3V3_EN_I2C、GPIO_PIN_SET);//为 lm3549启用 Pin_Pin 参考电压
HAL_GPIO_WritePin (GPIOA、LM3435_EN_Pin、GPIO_PIN_SET);//将 lm3549复位引脚拉高、使其正常工作。
//配置右侧 lm3435
HAL_I2C_CRP Master_Transmit (&hi2c2、0x70 << 1、&pca9543_cmd_R、1、10);
set_bank0 (&hi2c2);
SET_RGB_current (&hi2c2,153,153);//15% duty = 1023*0.15 ->附近的153
//配置左侧 lm3435
HAL_I2C_CMD_L Master_Transmit (&hi2c2、0x70 << 1、&pca9543_cmd_L、1、10);
set_bank0 (&hi2c2);
SET_RGB_current (&hi2c2,153,153);//15% duty = 1023*0.15 ->附近的153
//关闭 pca9543通道
HAL_I2C_OFF Master_Transmit (&hi2c2、0x70<<<1、&pca9543_cmd_off、1、10);
谢谢你
最好的照顾史蒂夫

