ISL97901 output voltage problem

I am using ISL97901 for one of my project and having following issues:

> When I am modifying D1's current gain values, all D1, D2 and D3's output currents are changing. 

> When D2 and D3 data is modified, none of outputs are getting modified.

void ISL_init(I2C_HandleTypeDef *hi2c)
{
    Bus_Write(ISL97901_ENABLE_CONTROL, val_ENABLE_CONTROL , hi2c);
    Bus_Write(ISL97901_CLOCK_CONTROL, val_CLOCK_CONTROL , hi2c);
    Bus_Write(ISL97901_LED_R_LSB, val_LED_R_LSB , hi2c);
    Bus_Write(ISL97901_LED_G_LSB, val_LED_G_LSB , hi2c);
    Bus_Write(ISL97901_LED_B_LSB, val_LED_B_LSB , hi2c);
    Bus_Write(ISL97901_LED_RGB_MSB, val_LED_RGB_MSB , hi2c);
}

#define ISL97901_LED_STATUS            0x01
#define ISL97901_ENABLE_CONTROL        0x02
#define val_ENABLE_CONTROL            0x14
#define ISL97901_CLOCK_CONTROL        0x04
#define val_CLOCK_CONTROL            0x87
#define ISL97901_LED_R_LSB            0x13
#define val_LED_R_LSB                0x0D
#define ISL97901_LED_G_LSB            0x14
#define val_LED_G_LSB                0x0D
#define ISL97901_LED_B_LSB            0x15
#define val_LED_B_LSB                0x0D
#define ISL97901_LED_RGB_MSB        0x17
#define val_LED_RGB_MSB                0x00

Even each gain status registers are showing different values that I am setting in the gain registers. So output is getting programmed as per the code but I am not able to get different currents as output. The next doubt might be hardware but the outputs are not shorted I have checked properly. Can you help me in pinpointing the issue.

Parents
  • Hi, 

    Let me check meanwhile Kindly share schematic to review 

    Thanks 

    AB

  • Hi, 

    Kindly find below details 

    As you are not using D4 , please leave FB2 pin and D4 floating and tie EN4 to GND

    Also in layout for Power input supply  pin needs to be carefully decoupled because it supplies current to the Buck-Boost and eventually to the LEDs. The PVIN/GND loop should be tight. The input decoupling caps should be placed closed to the PVIN pins. Input capacitance is recommended to be 2x20µF or higher

    For Vout for anode of all LEDs extra attention should be paid to this pin. The VOUT/GND loop must be very tight; that is, the output capacitors must be positioned as close to the IC as possible. If there is to much inductance in the loop and when the boost control switch turns off, the high di/dt will generate lots of voltage spike. These spikes may damage the device. Furthermore, a large capacitance is required for stability purpose. The VOUT trace also needs to be thick enough for high current

    Thanks 

    AB

  • Hi,

    Thanks for your valuable insights, following are my replies: 

    1> We have already left D4 pin floating removed the 0.1 ohm resistor from the board. Next iteration we will pull EN to GND too.

    2> We have placed a 22uF Capacitor based on 20-40uF capacitance mentioned in the datasheet and Its close to the PVIN pins(as per PCB design shared in the last image).

    3> As per datasheet reference, they have recommended a 47uF to be used. So same we are using here. 

    It would be very helpful if you can state what needs to be modified exactly in the design. Also kindly check the following issues that I mentioned in the First post and help me how to solve these issues.

    1> When I am modifying D1's current gain values, all D1, D2 and D3's output currents are changing. 

    2> When D2 and D3 data is modified, none of outputs are getting modified.

    You can see that here.

    Looking forward to your replies.

  • Hi,

    In schematic it's showing fb2 is connected.

    Please do EN ground and check once with all this correction 

    Thanks

    AB

  • Hi,

    As you suggested we have grounded the En and removes the resistor on FB2 still I am getting the same issue.

    The Peak to peak voltage on any of the RGB lines when taking VOUT is taken as base, we are not going above 2.4-2.7 Volts.

Reply Children
No Data