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.

LP5569: LP5569EVM: Programs not running correctly

Part Number: LP5569

Hello,

We're using the LP5569EVM in conjunction with a i.MX8MQ evaluation board to
develop a driver for the LP5569, but we're having some issues.

Below you can find the sequence of I2C reads/writes we use to initialize the
LP5569, load a trivial program (also below) into the SRAM, and start the first
engine.

------------------ 8< ------------------

 001            .segment program1
 002            .segment program2
 003            .segment program3
 004 00 9D01        map_sel 1
 005 01 4064        set_pwm 100
 006 02 C000        end

================================
Labels:

================================
Segments:
program1 = 00
program2 = 00
program3 = 00

================================
Free memory: 252
Errors: 0

------------------ 8< ------------------

The "map_sel 1" command seems to run, since the ENGINE1_MAPPING2 register has a
value of 0x01 after running the sequence below, but the PWM value is never
changed (LED0_PWM is still zero).

Manually changing LED0_PWM works, and the corresponding LED lights up.

I2C read/write sequence used:
-----------------------------

# Disable auto-increment
Read 40 from 2f
Write 00 to 2f

# Enable internal 32-khz clock
Read 00 from 2f
Write 01 to 2f

# Set LED0-9 currents to 0xAF, PWM to 0, external power off, ratiometric dimming off, adjustment mode to linear
Write af to 22
Write 00 to 16
Write 00 to 07
Write af to 23
Write 00 to 17
Write 00 to 08
Write af to 24
Write 00 to 18
Write 00 to 09
Write af to 25
Write 00 to 19
Write 00 to 0A
Write af to 26
Write 00 to 1A
Write 00 to 0B
Write af to 27
Write 00 to 1B
Write 00 to 0C
Write af to 28
Write 00 to 1C
Write 00 to 0D
Write af to 29
Write 00 to 1D
Write 00 to 0E
Write af to 2A
Write 00 to 1E
Write 00 to 0F

# Enable chip
Read 00 from 00
Write 40 to 00

# Wait for startup done
Read c0 from 3c
Read 80 from 3c

# Set engine 1 to Hold / Load Program
Read 00 from 01
Write 00 to 01
Read 00 from 02
Write 40 to 02

# Set engine 2 to Hold / Load Program
Read 00 from 01
Write 00 to 01
Read 40 from 02
Write 50 to 02

# Set engine 3 to Hold / Load Program
Read 00 from 01
Write 00 to 01
Read 50 from 02
Write 54 to 02

# Make sure that engines are ready before writing program data
Read 80 from 3c

# Select SRAM page 0
Read 00 from 4f
Write 00 to 4f

# Write program data
Write 00 to 4f
Write 9d to 50
Write 01 to 51
Write 40 to 52
Write 64 to 53
Write c0 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 1
Read 00 from 4f
Write 01 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 2
Read 01 from 4f
Write 02 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 3
Read 02 from 4f
Write 03 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 4
Read 03 from 4f
Write 04 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 5
Read 04 from 4f
Write 05 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 6
Read 05 from 4f
Write 06 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 7
Read 06 from 4f
Write 07 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 8
Read 07 from 4f
Write 08 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 9
Read 08 from 4f
Write 09 to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 10
Read 09 from 4f
Write 0a to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 11
Read 0a from 4f
Write 0b to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 12
Read 0b from 4f
Write 0c to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 13
Read 0c from 4f
Write 0d to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 14
Read 0d from 4f
Write 0e to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Select SRAM page 15
Read 0e from 4f
Write 0f to 4f

# Write program data
Write 00 to 50
Write 00 to 51
Write 00 to 52
Write 00 to 53
Write 00 to 54
Write 00 to 55
Write 00 to 56
Write 00 to 57
Write 00 to 58
Write 00 to 59
Write 00 to 5a
Write 00 to 5b
Write 00 to 5c
Write 00 to 5d
Write 00 to 5e
Write 00 to 5f
Write 00 to 60
Write 00 to 61
Write 00 to 62
Write 00 to 63
Write 00 to 64
Write 00 to 65
Write 00 to 66
Write 00 to 67
Write 00 to 68
Write 00 to 69
Write 00 to 6a
Write 00 to 6b
Write 00 to 6c
Write 00 to 6d
Write 00 to 6e
Write 00 to 6f

# Set engine 1 to Free run / Run program
Read 00 from 01
Write 80 to 01
Read 54 from 02
Write 94 to 02

Best regards,
Mario Six

  • Hi Mario,

    The code is basically perfect but there is a suggestion.

    "Read 54 from 02
    Write 94 to 02"

    please write 80 to 02 to disabled other engines when execute engine1.

    In addition, please make sure the data write to the correct register when disable auto-increment.

    if there is any question, please contact me again. More information will be send by email.

    Best Regard 

    Monet Xu