Was just at my client's site tracking down some of these ADC problems and found another very strange one that I need help on. It looks like a component problem but I need to get an opinion. Again, I am using the part in strictly register read/write mode as with my other posts.
Symptoms:
On certain channels (channel 1 in particular), the ADS1241 seems to be injecting energy or outputting a voltage when the MUX channel is selected. This is causing the 4.1V signal to change to 4.6V on channel when the MUX is selected to channel 1. The input stays at 4.6V until a different MUX channel is selected and then returns to the 4.1V level.
I have at least 2 parts that show this problem and probably a bunch more.
Replacing the ADS1241 with a known working part resolves the problem.
This product has been in production for 10 years without any problems on this ADC until about 1 year ago.
Circuit:
The driving circuit is a buffered sensor output that is driving the signal through a 2 pole RC low pass filter. The first pole is 1k/1.0uF the second pole is 10k/0.1uF. This puts a total series resistance of 11K between the sensor and the ADC. The sensor output is capable of driving 100uA of output current. The sensor output is generally static as it measured atmospheric pressure and so you can really treat this as a fixed DC source.
ADC Register read/write loop:
This uses the older version of the read/write loop.
0. set channel to 0
1. poll the ACR register for DRDY 0
2. read DOR (cmd 1)
3. set the MUX channel (register 1) 0xN8 where N is the channel
4. increment channel, if 8 then set to 0
5. wait about 88 ms
6. go to step #1
ADC Configuration:
0x50, // Writer register command starting at register 0
0x0C, // number of registers (minus 1) to write
0x00, // Setup Register
0x01, // Multiplexer Control Register
0x04, // Analog Control Register
0x00, // Offset DAC
0x00, // Data I/O
0xFF, // Direction Control for Data I/O
0x00, // I/O Configuration Register
0x00, // Offset Calibration Coefficient (Least Significant Byte)
0x00, // Offset Calibration Coefficient (Middle Byte)
0x00, // Offset Calibration Coefficient (Most Significant Byte)
0x59, // Full-Scale Register (Least Significant Byte)
0x55, // Full-Scale Register (Middle Byte)
0x55 // Full-Scale Register (Most Significant Byte)
Test Data:
I can provide schematic of this application and scope traces of the problem. I would rather not post those on the forum for reasons of IP protection for my client. Probably not a huge IP issue but I would need to get permission from my client first.
Failed Parts:
I have two failed parts that were removed and I can send to TI for failure analysis and testing.