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]