Post Go back to editing

LTC2662 - Troubleshooting

We are trying to use the LTC2662 but we are experiencing some problems. We are able to command some current through SPI (between 0mA to 20 mA) to the ADC 0 but when we command larger current that 20mA it drops close to zero and any command that we send doesn't respond IC doesn't respond except Power Down (the current drops to zero).  


At the moment only the VDD0 is connected to 12 V and a resistor of 120 ohms is connected in the low side (pin 24). All the other VDD are floating. Is that ok? All the bits from the fault register that is sent by the ECU is equal to zero for every message that we send through SPI. We were considering deactivating all the protection modes through the config command but we are a bit afraid to damage the IC because we don't know what it is the root cause of the problem. 
Has anyone faced this problem? 
Thanks in advance,
Jaume


Change name of the IC in the post
[edited by: Jaume at 8:53 AM (GMT -5) on 5 Feb 2021]
  • Some additional Information: 

    This are the bytes that we send through SPI

    \x60\x00\x06  -> Write span to ADC 0 = 100 mA
    \x30\x11\xEB  -> "Write Code to ADC 0 = 7 mA"
    \x30\x23\xD6  -> "Write Code to ADC 0 = 14 mA"
    \x30\x33\x33  -> "Write Code to ADC 0 = 20 mA"
    \x30\x45\x1E  -> "Write Code to ADC 0 = 27 mA"
    \x50\x00\x00  -> "Power Down Chip"

    This is the sequence I'm sending with python. The first time we send this sequence it works till we send the 27 mA code and then for some reason  the current drops down to 1 mA. We send the sequence again and it just reacts to the Power Down code, but if we reset the Power Supply it starts to work again. The same happens if we just sent one current like 7 mA 3 or 4 times. We are thinking about a problem with the sequence, so what would be the correct sequence to make it work?

  • Are you sending data in 8 bit chunks or in 24 bit chunks?  If you are using 8 bit chunks you are programming the part incorrectly. Every time chip select comes high the part is programmed.  So 8 bits are shifted in and that command is executed, then 8 more bits the part is executed again, then eight more bits and finally the code you want is in the DAC register and is programmed.  So at some point I suspect you are inadvertatly shifting in a code that is putting the part into a mode you aren't expecting.  I would make sure you are shifting in 24 bits at a time, not 8.