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.

LP55231: LED Driver is not Turning ON all the LEDS

Part Number: LP55231

Dear Team,

I am using LP55231 for turning on and off LEDs.I observed that it is turning on RED Led only not the other two.

For RED LED it is toggling properly.Please find the attached Scope Image .For Blue and Green it is not at all toggling.

I am getting Vout(PIN NO=22) always zero.What is the expected value at Vout

Also please see the I2C Script I used

Please find my attached Schematic.

Regards

Hari

<aardvark>
<configure i2c="1" spi="1" gpio="0" tpower="1" pullups="0"/>
<i2c_bitrate khz="100"/>

<!--i2c_write addr="0x32" count="2" radix="16" nostop="0">00 40</i2c_write-->			//Example to comments any line if required

// ## LP55231 RGB LED Test Program by Ashvin D.##

//Circular 4-Mic Array S1813078_RED_STRIPE_005_A LEDs connections:
//DS1, DS2, DS3 LEDs Connections:
	//0x32	D7_DS1R, 	D1_DS1G, 	D2_DS1B
	//0x32	D8_DS2R, 	D3_DS2G, 	D4_DS2B
	//0x32	D9_DS3R, 	D5_DS3G, 	D6_DS3B

//DS4, DS5, DS6 LEDs Connections:
	//0x33	D7_DS4R, 	D1_DS4G, 	D2_DS4B
	//0x33	D8_DS5R, 	D3_DS5G, 	D4_DS5B
	//0x33	D9_DS6R, 	D5_DS6G, 	D6_DS6B

//DS7, DS8, DS9 LEDs Connections:
	//0x34	D7_DS7R, 	D1_DS7G, 	D2_DS7B
	//0x34	D8_DS8R, 	D3_DS8G, 	D4_DS8B
	//0x34	D9_DS9R, 	D5_DS9G, 	D6_DS9B

//DS10 LEDs Connections:
	//0x35	D7_DS10R, 	D1_DS10G, 	D2_DS10B


// register stuff
	// REG_CNTRL1 = 0x00;		
	// REG_CNTRL2 = 0x01;		
	// REG_RATIO_MSB = 0x02;	
	// REG_RATIO_LSB = 0x03;	
	// REG_OUTPUT_ONOFF_MSB = 0x04;
	// REG_OUTPUT_ONOFF_LSB = 0x05;

// Direct PWM control registers
	// REG_D1_PWM  = 0x16;
	// REG_D2_PWM  = 0x17;
	// REG_D3_PWM  = 0x18;
	// REG_D4_PWM  = 0x19;
	// REG_D5_PWM  = 0x1a;
	// REG_D6_PWM  = 0x1b;
	// REG_D7_PWM  = 0x1c;
	// REG_D8_PWM  = 0x1d;
	// REG_D9_PWM  = 0x1e;


// register stuff:
<i2c_write addr="0x32" count="2" radix="16" nostop="0">00 40</i2c_write>	//REG_CNTRL1 (0x00 = 0x40)
<i2c_write addr="0x32" count="2" radix="16" nostop="0">01 00</i2c_write>	//REG_CNTRL2 (0x01 = 0x00)
<i2c_write addr="0x32" count="2" radix="16" nostop="0">02 00</i2c_write>	//REG_RATIO_MSB (0x02 = 0x00)
<i2c_write addr="0x32" count="2" radix="16" nostop="0">03 00</i2c_write>	//REG_RATIO_LSB (0x03 = 0x00)
<i2c_write addr="0x32" count="2" radix="16" nostop="0">04 01</i2c_write>	//REG_OUTPUT_ONOFF_MSB (0x04 = 0x01)
<i2c_write addr="0x32" count="2" radix="16" nostop="0">05 FF</i2c_write>	//REG_OUTPUT_ONOFF_LSB (0x05 = 0xFF)

<i2c_write addr="0x33" count="2" radix="16" nostop="0">00 40</i2c_write>	//REG_CNTRL1 (0x00 = 0x40)
<i2c_write addr="0x33" count="2" radix="16" nostop="0">01 00</i2c_write>	//REG_CNTRL2 (0x01 = 0x00)
<i2c_write addr="0x33" count="2" radix="16" nostop="0">02 00</i2c_write>	//REG_RATIO_MSB (0x02 = 0x00)
<i2c_write addr="0x33" count="2" radix="16" nostop="0">03 00</i2c_write>	//REG_RATIO_LSB (0x03 = 0x00)
<i2c_write addr="0x33" count="2" radix="16" nostop="0">04 01</i2c_write>	//REG_OUTPUT_ONOFF_MSB (0x04 = 0x01)
<i2c_write addr="0x33" count="2" radix="16" nostop="0">05 FF</i2c_write>	//REG_OUTPUT_ONOFF_LSB (0x05 = 0xFF)

<i2c_write addr="0x34" count="2" radix="16" nostop="0">00 40</i2c_write>	//REG_CNTRL1 (0x00 = 0x40)
<i2c_write addr="0x34" count="2" radix="16" nostop="0">01 00</i2c_write>	//REG_CNTRL2 (0x01 = 0x00)
<i2c_write addr="0x34" count="2" radix="16" nostop="0">02 00</i2c_write>	//REG_RATIO_MSB (0x02 = 0x00)
<i2c_write addr="0x34" count="2" radix="16" nostop="0">03 00</i2c_write>	//REG_RATIO_LSB (0x03 = 0x00)
<i2c_write addr="0x34" count="2" radix="16" nostop="0">04 01</i2c_write>	//REG_OUTPUT_ONOFF_MSB (0x04 = 0x01)
<i2c_write addr="0x34" count="2" radix="16" nostop="0">05 FF</i2c_write>	//REG_OUTPUT_ONOFF_LSB (0x05 = 0xFF)

<i2c_write addr="0x35" count="2" radix="16" nostop="0">00 40</i2c_write>	//REG_CNTRL1 (0x00 = 0x40)
<i2c_write addr="0x35" count="2" radix="16" nostop="0">01 00</i2c_write>	//REG_CNTRL2 (0x01 = 0x00)
<i2c_write addr="0x35" count="2" radix="16" nostop="0">02 00</i2c_write>	//REG_RATIO_MSB (0x02 = 0x00)
<i2c_write addr="0x35" count="2" radix="16" nostop="0">03 00</i2c_write>	//REG_RATIO_LSB (0x03 = 0x00)
<i2c_write addr="0x35" count="2" radix="16" nostop="0">04 01</i2c_write>	//REG_OUTPUT_ONOFF_MSB (0x04 = 0x01)
<i2c_write addr="0x35" count="2" radix="16" nostop="0">05 FF</i2c_write>	//REG_OUTPUT_ONOFF_LSB (0x05 = 0xFF)


// RED LED TEST FOR DS1, DS2, DS3, DS4, DS4, DS5, DS6, DS7, DS8, DS9, DS10
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1C FF</i2c_write>	//REG_D7_PWM (0x1C = 0xFF), D7_DS1R-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1D FF</i2c_write>	//REG_D8_PWM (0x1D = 0xFF), D8_DS2R-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1E FF</i2c_write>	//REG_D9_PWM (0x1E = 0xFF), D9_DS3R-ON

<i2c_write addr="0x33" count="2" radix="16" nostop="0">1C FF</i2c_write>	//REG_D7_PWM (0x1C = 0xFF), D7_DS4R-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1D FF</i2c_write>	//REG_D8_PWM (0x1D = 0xFF), D8_DS5R-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1E FF</i2c_write>	//REG_D9_PWM (0x1E = 0xFF), D9_DS6R-ON

<i2c_write addr="0x34" count="2" radix="16" nostop="0">1C FF</i2c_write>	//REG_D7_PWM (0x1C = 0xFF), D7_DS7R-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1D FF</i2c_write>	//REG_D8_PWM (0x1D = 0xFF), D8_DS8R-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1E FF</i2c_write>	//REG_D9_PWM (0x1E = 0xFF), D9_DS9R-ON

<i2c_write addr="0x35" count="2" radix="16" nostop="0">1C FF</i2c_write>	//REG_D7_PWM (0x1C = 0xFF), D7_DS10R-ON

<sleep ms="2000"/>														//Delay 2000ms

<i2c_write addr="0x32" count="2" radix="16" nostop="0">1C 00</i2c_write>	//REG_D7_PWM (0x1C = 0x00), D7_DS1R-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1D 00</i2c_write>	//REG_D8_PWM (0x1D = 0x00), D8_DS2R-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1E 00</i2c_write>	//REG_D9_PWM (0x1E = 0x00), D9_DS3R-OFF

<i2c_write addr="0x33" count="2" radix="16" nostop="0">1C 00</i2c_write>	//REG_D7_PWM (0x1C = 0x00), D7_DS4R-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1D 00</i2c_write>	//REG_D8_PWM (0x1D = 0x00), D8_DS5R-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1E 00</i2c_write>	//REG_D9_PWM (0x1E = 0x00), D9_DS6R-OFF

<i2c_write addr="0x34" count="2" radix="16" nostop="0">1C 00</i2c_write>	//REG_D7_PWM (0x1C = 0x00), D7_DS7R-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1D 00</i2c_write>	//REG_D8_PWM (0x1D = 0x00), D8_DS8R-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1E 00</i2c_write>	//REG_D9_PWM (0x1E = 0x00), D9_DS9R-OFF

<i2c_write addr="0x35" count="2" radix="16" nostop="0">1C 00</i2c_write>	//REG_D7_PWM (0x1C = 0x00), D7_DS10R-OFF

<sleep ms="100"/>														//Delay 100ms


// GREEN LED TEST FOR DS1, DS2, DS3, DS4, DS4, DS5, DS6, DS7, DS8, DS9, DS10
<i2c_write addr="0x32" count="2" radix="16" nostop="0">16 FF</i2c_write>	//REG_D1_PWM (0x16 = 0xFF), D1_DS1G-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">18 FF</i2c_write>	//REG_D3_PWM (0x18 = 0xFF), D3_DS2G-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1A FF</i2c_write>	//REG_D5_PWM (0x1A = 0xFF), D5_DS3G-ON

<i2c_write addr="0x33" count="2" radix="16" nostop="0">16 FF</i2c_write>	//REG_D1_PWM (0x16 = 0xFF), D1_DS4G-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">18 FF</i2c_write>	//REG_D3_PWM (0x18 = 0xFF), D3_DS5G-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1A FF</i2c_write>	//REG_D5_PWM (0x1A = 0xFF), D5_DS6G-ON

<i2c_write addr="0x34" count="2" radix="16" nostop="0">16 FF</i2c_write>	//REG_D1_PWM (0x16 = 0xFF), D1_DS7G-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">18 FF</i2c_write>	//REG_D3_PWM (0x18 = 0xFF), D3_DS8G-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1A FF</i2c_write>	//REG_D5_PWM (0x1A = 0xFF), D5_DS9G-ON

<i2c_write addr="0x35" count="2" radix="16" nostop="0">16 FF</i2c_write>	//REG_D1_PWM (0x16 = 0xFF), D1_DS10G-ON

<sleep ms="2000"/>														//Delay 2000ms

<i2c_write addr="0x32" count="2" radix="16" nostop="0">16 00</i2c_write>	//REG_D1_PWM (0x16 = 0x00), D1_DS1G-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">18 00</i2c_write>	//REG_D3_PWM (0x18 = 0x00), D3_DS2G-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1A 00</i2c_write>	//REG_D5_PWM (0x1A = 0x00), D5_DS3G-OFF

<i2c_write addr="0x33" count="2" radix="16" nostop="0">16 00</i2c_write>	//REG_D1_PWM (0x16 = 0x00), D1_DS4G-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">18 00</i2c_write>	//REG_D3_PWM (0x18 = 0x00), D3_DS5G-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1A 00</i2c_write>	//REG_D5_PWM (0x1A = 0x00), D5_DS6G-OFF

<i2c_write addr="0x34" count="2" radix="16" nostop="0">16 00</i2c_write>	//REG_D1_PWM (0x16 = 0x00), D1_DS7G-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">18 00</i2c_write>	//REG_D3_PWM (0x18 = 0x00), D3_DS8G-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1A 00</i2c_write>	//REG_D5_PWM (0x1A = 0x00), D5_DS9G-OFF

<i2c_write addr="0x35" count="2" radix="16" nostop="0">16 00</i2c_write>	//REG_D1_PWM (0x16 = 0x00), D1_DS10G-OFF

<sleep ms="100"/>														//Delay 100ms

// BLUE LED TEST FOR DS1, DS2, DS3, DS4, DS4, DS5, DS6, DS7, DS8, DS9, DS10
<i2c_write addr="0x32" count="2" radix="16" nostop="0">17 FF</i2c_write>	//REG_D2_PWM (0x17 = 0xFF), D2_DS1B-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">19 FF</i2c_write>	//REG_D4_PWM (0x19 = 0xFF), D4_DS2B-ON
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1B FF</i2c_write>	//REG_D6_PWM (0x1B = 0xFF), D6_DS3B-ON

<i2c_write addr="0x33" count="2" radix="16" nostop="0">17 FF</i2c_write>	//REG_D2_PWM (0x17 = 0xFF), D2_DS4B-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">19 FF</i2c_write>	//REG_D4_PWM (0x19 = 0xFF), D4_DS5B-ON
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1B FF</i2c_write>	//REG_D6_PWM (0x1B = 0xFF), D6_DS6B-ON

<i2c_write addr="0x34" count="2" radix="16" nostop="0">17 FF</i2c_write>	//REG_D2_PWM (0x17 = 0xFF), D2_DS7B-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">19 FF</i2c_write>	//REG_D4_PWM (0x19 = 0xFF), D4_DS8B-ON
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1B FF</i2c_write>	//REG_D6_PWM (0x1B = 0xFF), D6_DS9B-ON

<i2c_write addr="0x35" count="2" radix="16" nostop="0">17 FF</i2c_write>	//REG_D2_PWM (0x17 = 0xFF), D2_DS10B-ON

<sleep ms="2000"/>														//Delay 2000ms

<i2c_write addr="0x32" count="2" radix="16" nostop="0">17 00</i2c_write>	//REG_D2_PWM (0x17 = 0x00), D2_DS1B-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">19 00</i2c_write>	//REG_D4_PWM (0x19 = 0x00), D4_DS2B-OFF
<i2c_write addr="0x32" count="2" radix="16" nostop="0">1B 00</i2c_write>	//REG_D6_PWM (0x1B = 0x00), D6_DS3B-OFF

<i2c_write addr="0x33" count="2" radix="16" nostop="0">17 00</i2c_write>	//REG_D2_PWM (0x17 = 0x00), D2_DS4B-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">19 00</i2c_write>	//REG_D4_PWM (0x19 = 0x00), D4_DS5B-OFF
<i2c_write addr="0x33" count="2" radix="16" nostop="0">1B 00</i2c_write>	//REG_D6_PWM (0x1B = 0x00), D6_DS6B-OFF

<i2c_write addr="0x34" count="2" radix="16" nostop="0">17 00</i2c_write>	//REG_D2_PWM (0x17 = 0x00), D2_DS7B-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">19 00</i2c_write>	//REG_D4_PWM (0x19 = 0x00), D4_DS8B-OFF
<i2c_write addr="0x34" count="2" radix="16" nostop="0">1B 00</i2c_write>	//REG_D6_PWM (0x1B = 0x00), D6_DS9B-OFF

<i2c_write addr="0x35" count="2" radix="16" nostop="0">17 00</i2c_write>	//REG_D2_PWM (0x17 = 0x00), D2_DS10B-OFF

<sleep ms="100"/>														//Delay 100ms



</aardvark>