LM3550: I2C works fine, registers can be read and write, but the super cap can't get charge, and no matter how to config the registers, the flash and torch won't work even if charge the super cap manually

Part Number: LM3550

This is the schematic 

  • Hello,

    Can you provide the I2C sequence of commands you have used to this point?  

    Which charge voltage target are you looking to use?

    The schematic looks ok from a first pass look.  Can you attach a snippet of the layout?  I am curious to see how close C50, C48, C49 and C51 are to the part.

    Greg

  • In reply to Greg Lubarsky:

    Thank you sooo much~

    • when power on , the registers's value are almost the same as the datasheet except the 0xB0, I get 0xB0=0x00 while the datasheet gives  0xB0=0x80, weird
      • config 0xA0=0xC7, config torch current to 200mA and set flash current to 1.5A
      • config 0xB0=0x80, config strobe to level sensitivity cause i want to control flash duration time to 20μs through external pulse signal, as to the overhead Charge voltage, I think 300mV might be enough
      • leave the 0xC0 and 0xD0 register not changed
      • the final step is config the 0x10=0x01(torch) 0x02(charge) 0x03(charge and torch) 0x04(flash) separately, and nothing happens (super awkward~)
    • I meant to use 5V, and have tried 3V3 as well, results are the same
    • FX_CAM_LITE_V1_1_04.7z

  • In reply to user4290762:

    Hello,
    After you write to the registers, example 0xA0 = 0xC7, when you read back 0xA0 you read the correct value? If this is the case, please try writing a 0x12 to register 0x10. This should just charge the output to 5V. If you see no cap charging, please readback the value of register 0x10. If the values of the register are reset back to 0x00, this implies that you are potentially hitting a power on reset case. What is the current limit of your power supply set to in your setup? If you are using a bench supply, please make sure that it is set to allow at least 1A of output current to prevent an unwanted drop on your input supply. Can you show a scope photo of the input supply right as you are writing to the 0x10 register? I would be curious to see if there is a dip in the voltage.

    Greg
  • In reply to Greg Lubarsky:

    The registers act normal, whatever you write into , you can read the values back. it seems like the charge pump is not working at all. By the way , have you found any issues in my schematic and layout ? and i hope I can get a demo board of LM3550 

  • In reply to user4290762:

    I looked at your schematic and it looks to be correct.  I opened up the layout files and tried to look at the layout.  I am not as familiar with the allegro viewer.  Are the flying capacitors connected to the C1 and C2 cap nodes on the other side of the PCB from where the IC is?  It is very odd that you don't see any action on the VOUT node.  When you enable the device in charging mode, can you monitor the input current?   Were you able to look at the input voltage node when you enable the device?  If the I2C is working, the part should show signs of trying to switch.  Scope photos in general would be very helpful.

    To confirm, did you try the following

    1. Power up device
    2. write 0x12 to reg 0x10
    3. wait 1 sec
    4. read reg 0x10.  It should still read 0x12.  

    One other thing to try would be to remove the supercap off of VOUT and see if the part starts up.

    I can work to get an EVM put together.  These boards are hand assembled so it will take a little time to get ready.  To my knowledge, there is not a GUI available at this time so any I2C control would need to be generated through an outside source.

    Greg

  • In reply to Greg Lubarsky:

    Hi~

    • the components' number is corresponding to the label in the schematic,  the lm3550 is U10, and in the layout , it's on the bottom side of the left down of the whole layout (two separate boards)
    • i am trying to probe the waves of input voltage, might send the pics to you tomorrow
    • comfirmed , when boot up the value of register 0x10 is 0x00, if you write 0x12 into it,the register value will be 0x12, and after one second or even longer  you still can read 0x12 back , the other registers act the same way. the values don't change too
    • after remove the super cap, we write 0x12 to register 0x10, and the output of the chip still be about 0, not 5V.
    • it would be very helpful if i can have a working lm3550's demo board,  i can generate the i2c config signals  from other boards, there will be no problem . and i also make a new pcb of lm3550 on which i add more testpoints. i can compare these two board . hope to find any clue. 

  • In reply to user4290762:

    Hi~

    I monitored the voltages of input node/ flying capacity / output node / fet-con with the OSC. It all shows 0V during the register configuration(reg 0x10 val 0x00-->0x12).

    I am looking forwared to the working demo board you send to us and I can send my issue board to you as well,  Does that helps?

  • In reply to user4290762:

    Hello,

    That is very odd.  I have a board being built and hope to have it shipped out by the end of the week, so hopefully this will help you debug your system.  I will close out this e2e for now.  Thanks.

    Greg