ADPD4100 LED Over-Current

Hi Analog Devices team!

Quick question for you, curious if this is something that's come up before. I'm trying to drive a pulsed LED using ADPD4100, but something's not operating properly. I've put the chip on a simple breakout PCB attached to a microcontroller, with short wires going from the ADPD4100 to an external red LED. I tied the LED anode to 3.3V (VLED) and the cathode to LED1A, but upon startup it burned out the LED, indicating that the current was over the LED's limit, despite using the configuration from this post (11mA).

I then tried replacing the LED with a 100k resistor to see if I could detect pulsing on an oscilloscope, but the voltage drop across the resistor (e.g. from VLED to LED1A) remains constant at 3.3V during chip operation, with no pulsing. The same is true if I tie the LED cathode to any of the other LED drivers (1A/B, 2A/B, 3A/B, 4A/B), even though some of those drivers should (based on my understanding of the config) be disabled.

Any thoughts as to what would cause this or how I might debug? The obvious hardware issue would be that all the LEDxx pins somehow got tied to ground, but not sure that would happen or how to verify that this is the case. Is there any possible device configuration that would somehow leave all the LED drivers continually active?

Chip communication is happening via SPI with no noticeable issues.

Any thoughts would be much appreciated!

Best,

Tyler

  • FYI I did check the basic stuff like continuity and verifying that the 11mA configuration was written appropriately - would appreciate any thoughts!

  • +1
    •  Analog Employees 
    on Jun 18, 2021 1:13 PM

    Hi Tyler,

    You might want to check if the LED1A is accidently shorted to the ground when you put on the ADPD4100 part on your breakout board. When did the LED burn-out happen, right upon powered up the board or  after setting bit0/OP_MODE of register 0x0010? If it happened after setting OP_MODE to 1, what was the register config for both global registers and timeslot specific registers? The LED drivers are current sink and will not be turned on until the ADPD4100 part is in "go mode" and the LED current is set to nonzero in register 0x0105/0x0106 for timeslot A, 0x0125/0x0126 for timeslot B, and so on. 

    For your test with resistor, you might want to use a smaller one (such as 200 Ohms) and probe the voltage at the LED driver pin. For instance, if the resistor is 200 Ohms and the LED driver pulsing current is 11mA, the voltage waveform at the LED driver pin will be 1.1V during the LED pulse (3.3V - 2.2V drop by the resistor = 1.1V) and 3.3V other time (LED driver is off and at high impedance) with 3.3V VLED.  

    Regards,

    Glen B.

  • Hi Glen!

    Thanks a ton for the reply! Still not sure how the issue was arising before (perhaps some misconfiguration, though I haven't identified it in my earlier code version) but after following your suggested debugging step with a smaller resistor it's working great.

    Best,

    Tyler

  • 0
    •  Analog Employees 
    on Jun 25, 2021 7:04 PM in reply to tylerchen

    Hi Tyler,

    Thanks for your update!

    It seemed to me not an issue associated with the ADPD4100 part, but rather a problem of the PCB. Debris of metal/solder on the PCB can short circuits.

    Regards,

    Glen B.

  • Hello Tyler,


    I hope you're doing well.

    I am just getting started with the ADPD4100 chip and had a simple question. Could you please let me know which breakout board you used for your design? I would appreciate any help from you.

    Thank you!