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.

LP55231SQEVM: 2 LP55231 out of sync

Part Number: LP55231SQEVM
Other Parts Discussed in Thread: LP55231

Hi,

We are using two LP55231 to drive 4 RGB LEDs, each chip is driving two LEDs respectively.

Below is the configuration:

1) LP55231 is configured to use internal clock

2) Using Engine program code to drive the led patterns, ramp up/down

3) Using Trigger signal to sync two lp55231 chips, one master and other slave

When we set the pattern to blink all leds at the same time, we see at the beginning all 4 leds are in blinking at the same time as expected.

But after some time they goes out of sync.

Could you please help us understand what could be causing the issue? 

We also noticed that , some time for the below engine code, even though leds mapping is fixed, leds starts functioning properly , but after some time , the leds becomes off or turn into different colors. 

when we dump 0x70/0x71 register, the values are changing randomly. Could you please help us understand in what condition , led mapping changes randomly?

Example engine code 

engine 1:

ENGINE_INS_LED_MAP_START + ENGINE1_PROGRAM_START_ADDRESS +
0x08, // 0x00 : led mapping start
ENGINE_INS_LED_MAP_END + ENGINE1_PROGRAM_START_ADDRESS +
0x08, // 0x01 : led mapping end address,
ENGINE_INS_WAIT_EXT_TRIGGER, // 0x02 wait for ext trigger
ENGINE_INS_RAMP_UP_DEFAULT, // 0x03 : ramp up the led
ENGINE_INS_WAIT_MIN, // 0x04 : wait in led ramp on state
ENGINE_INS_RAMP_DOWN_DEFAULT, // 0x05 : ramp down the led
ENGINE_INS_WAIT_MIN, // 0x06 : wait in led ramp off state
ENGINE_INS_BRANCH + ENGINE1_PROGRAM_START_ADDRESS +
0x02, // 0x07 : loop to ramp up
LED_1_COLOUR_WHITE | LED_2_COLOUR_WHITE, // 0x08
0, // 0x09
engine 2:
ENGINE_INS_LED_MAP_START + ENGINE1_PROGRAM_START_ADDRESS +
0x08, // 0x00 : led mapping start
ENGINE_INS_LED_MAP_END + ENGINE1_PROGRAM_START_ADDRESS +
0x08, // 0x01 : led mapping end address,
ENGINE_INS_SEND_EXT_TRIGGER, // 0x02 send ext trigger
ENGINE_INS_RAMP_UP_DEFAULT, // 0x03 : ramp up the led
ENGINE_INS_WAIT_MIN, // 0x04 : wait in led ramp on state
ENGINE_INS_RAMP_DOWN_DEFAULT, // 0x05 : ramp down the led
ENGINE_INS_WAIT_MIN, // 0x06 : wait in led ramp off state
ENGINE_INS_BRANCH + ENGINE1_PROGRAM_START_ADDRESS +
0x02, // 0x07 : loop to ramp up
LED_3_COLOUR_WHITE | LED_4_COLOUR_WHITE, // 0x08
0, // 0x09
  • Hi,

    Could you try below configurations for your application to see if unsync abnormal still exist:

    engine 1:

    ENGINE_INS_LED_MAP_START + ENGINE1_PROGRAM_START_ADDRESS +
    0x09// 0x00 : led mapping start
    ENGINE_INS_LED_MAP_END + ENGINE1_PROGRAM_START_ADDRESS +
    0x0A// 0x01 : led mapping end address,
    ENGINE_INS_WAIT_EXT_TRIGGER// 0x02 wait for ext trigger
    ENGINE_INS_RAMP_UP_DEFAULT// 0x03 : ramp up the led
    ENGINE_INS_WAIT_MIN// 0x04 : wait in led ramp on state
    ENGINE_INS_RAMP_DOWN_DEFAULT// 0x05 : ramp down the led
    ENGINE_INS_WAIT_MIN// 0x06 : wait in led ramp off state
    ENGINE_INS_SEND_EXT_TRIGGER, // 0x07 send ext trigger
    ENGINE_INS_BRANCH + ENGINE1_PROGRAM_START_ADDRESS +
    0x02// 0x08 : loop to ramp up
    LED_1_COLOUR_WHITE | LED_2_COLOUR_WHITE// 0x09
    0// 0x0A
    engine 2:
    ENGINE_INS_LED_MAP_START + ENGINE1_PROGRAM_START_ADDRESS +
    0x09// 0x00 : led mapping start
    ENGINE_INS_LED_MAP_END + ENGINE1_PROGRAM_START_ADDRESS +
    0x0A// 0x01 : led mapping end address,
    ENGINE_INS_SEND_EXT_TRIGGER// 0x02 send ext trigger
    ENGINE_INS_RAMP_UP_DEFAULT// 0x03 : ramp up the led
    ENGINE_INS_WAIT_MIN// 0x04 : wait in led ramp on state
    ENGINE_INS_RAMP_DOWN_DEFAULT// 0x05 : ramp down the led
    ENGINE_INS_WAIT_MIN// 0x06 : wait in led ramp off state
    ENGINE_INS_WAIT_EXT_TRIGGER, // 0x07 wait for ext trigger
    ENGINE_INS_BRANCH + ENGINE1_PROGRAM_START_ADDRESS +
    0x02// 0x08 : loop to ramp up
    LED_3_COLOUR_WHITE | LED_4_COLOUR_WHITE// 0x09
    0// 0x0A
    Thanks!
    Ives Li
  • thanks , below is helping:

    ENGINE_INS_LED_MAP_START + ENGINE1_PROGRAM_START_ADDRESS +
    0x09// 0x00 : led mapping start
    ENGINE_INS_LED_MAP_END + ENGINE1_PROGRAM_START_ADDRESS +
    0x0A// 0x01 : led mapping end address,
    ENGINE_INS_WAIT_EXT_TRIGGER// 0x02 wait for ext trigger
    ENGINE_INS_SEND_EXT_TRIGGER, // 0x07 send ext trigger
    ENGINE_INS_RAMP_UP_DEFAULT// 0x03 : ramp up the led
    ENGINE_INS_WAIT_MIN// 0x04 : wait in led ramp on state
    ENGINE_INS_RAMP_DOWN_DEFAULT// 0x05 : ramp down the led
    ENGINE_INS_WAIT_MIN// 0x06 : wait in led ramp off state
    ENGINE_INS_BRANCH + ENGINE1_PROGRAM_START_ADDRESS +
    0x02// 0x08 : loop to ramp up
    LED_1_COLOUR_WHITE | LED_2_COLOUR_WHITE// 0x09
    0// 0x0A
    Could you please help us understand below :

    We also noticed that , some time for the below engine code, even though leds mapping is fixed, leds starts functioning properly , but after some time , the leds becomes off or turn into different colors. 

    when we dump 0x70/0x71 register, the values are changing randomly. Could you please help us understand in what condition , led mapping changes randomly?

  • Hi 

    Are you sure you didn't send other command to device after engine starting?

    It will not change to random value.

    Could you try to test this code in other device to see if the problem still exist?

    Thanks!