Post Go back to editing

AD5144B - Unable to actuate daisy-chained digipots - manufacturing issue?

Category: Hardware
Product Number: AD5144

I'm seeing very odd behavior with this part that we've used in multiple past designs. We're seeing it on multiple different PCB designs that are quite different from each other, and the problems present themselves differently on every unit.

I've got a daisy chain of these digipots used for various purposes. Some are used in the feedback loops of voltage regulators (linear and switching), others are going to the non-inverting input of an op-amp. We have successfully used these for a couple years but here are the issues we're suddenly seeing:

1. Not actuating at all. We're sending commands and absolutely nothing is happening. This is happening on some chips or even channels within chips, and it's different board to board.

2. Chip select is held low. When our SPI controller sends a command, we see that the CS line is idling at ~40mV, then a quick pulse to 3.3V before going to 0V while data is transmitting. We're seeing this on some boards but not others.

3. Wiper shorted to GND (even when powered off), or railed high (but only when powered on). This one varies channel to channel, we'll see it on the first channel of one digipot and then the second channel of another digipot on the same board. The wiper is connected to the non-inverting input of an op-amp, a high impedance node, A and B go to 3.3V and GND.

4. "Half-code"/non-linear output. This is the strangest one to me. The digipot should be accepting values of 0-255 which maps from 0 to full-scale (3.3V in this case). Sending 127 should therefore get us an output of 1.65V, but instead it gets us exactly half, 825mV. For most values, we get almost exactly half of what we should be getting. Sending 250 gets us ~2V. Sending 255 gets us 3V. It's as if the chip internally is not interpreting its register correctly. This again happens on some chips/boards but not others.

One of the designs that we see these problems on is simply a new revision of an older verified design with altered layout, and another design is entirely different. The only commonality is that they were manufactured around the same time. The design that's working has chips with lot code 2342, and the ones that are giving us issues are from lot code 2305. Is there a known issue with this lot code?

Here is an image of the SPI clock and SDO sending a code of 127. Looks okay across all boards and the past design. We've confirmed that the firmware is completely fine.

Any help or insight into debugging this would be appreciated, thanks in advance!



SPI contrller
[edited by: sambadyAP at 6:55 PM (GMT -4) on 9 Aug 2024]
  • Hi SambadyAP

    The product support team will get back to you. Thanks.

    Regards.

    edo

  • Hi 

    Please share the schematic with the host controller included. A snapshot of your system design will be bonus.

  • Here are screenshots of the digipot schematic, and how it's daisy chained on one of the boards. The schematic is unchanged from the design that worked, it's been copy-pasted directly. The first digipot's A, W, and B are connected to the output, feedback pin, and ground of a switching regulator, and the second digipot is connected to 3.3V and the non-inverting input of an op-amp.

  • HI  ,

    Have you tried to test these units on your old system design? This is to verify and narrow down the problem. Let me know if the problem persists.

    Best Regards,

    Yokki

  • Hi,

    We didn't put these into our old design, but we did desolder units from our old design and put it into this one. It fixes the issues and works correctly, all the digipots are nicely linear and outputs what they're supposed to. That doesn't necessarily tell us if it's a bad lot or if they were ESD'ed during assembly, but we've identified that it's not a PCB design issue.

    Here is a scope trace of what we see when we sweep through all 255 codes on a non-linear digipot. It is as though one or two of the bits in the middle are not getting interpreted at all. Even at code 255 it's not reaching 3.3V. We've verified that the digipot in the chain before it is properly sending the full message.

  • Hi  ,

    Thank you for this one. How many digipots have you tested that yield the same results as the one you showed above? What were the changes in the new PCB design vs the old design?

    Best Regards,

    Yokki

  • Only 1 digipot shows this specific issue, but it shows it on all channels.

    The only change is layout due to the board shape changing. The digipots are now closer to each other.

  • This issue is still unresolved.

    The first digipot was being used to control a buck converter. We found stability issues with this so we removed and bypassed it, and still the rest of the chain is showing issues. We sent the PCB back to the assembly house to get the digipots and associated components completely removed, cleaned, and replaced, still doesn't work.

    For some, the first in the chain does not actuate at all. When it does, it gives that non-linear curve, which is identical to if the digipot was in parallel with a fixed voltage divider. It must be getting internally shorted somehow, there's no way to program it like this. It also doesn't output anything on the SDO line. We've looked at all the SPI lines, they are correctly timed and clean, there's no noise that would cause it to miscount the frame.

  • Hi 

    R149 of 2.2K on SDO line should be changed to 20K ohm or higher.

    Are you using a resistor divider on the non-inverting input of the opamp?

    If you are connecting the digipot wiper to the non-inverting input of the opamp, what is the supply configuration of that opamp? 

    Regarding the data on the SPI register write and the actual wiper configuration, you need to confirm on the SPI timings. It is more likely that you are raising the CS high earlier than expected or the SDI setup/hold times are getting violated.