Other Parts Discussed in Thread: ADS1018
Hello,
I am having difficulty getting the ADS1018 ADC to work in a new design, to read temperature, or anything else.
This is first time I've used this part, but used a lot of SPI interface data converters.
Been working a week on this. Can't see what I'm doing wrong. Need some more eyes.
When I power up the part it should come up in power down, single conversion mode.
I keep it there.
I do a 32 bit transmission cycle every 15 ms, using config code 0x8112.
SCLK is low
CS goes low
I see DOUT go low (saying a conversion is ready?).
I send the hex code 0x8112, twice in succession, as follows:
I set the DIN from the MS bit of the word being sent, I raise SCLK for 5 us, lower SCLK then read DOUT.
I do this for 32 clocks, wait 5 us after the 32nd time SCLK goes low, then raise CS. End of cycle
0x8112 should be single shot read, doing 1 conversion of temperature sensor and staying in power down mode.
On the next (and successive cycles) I would expect to see the first 16 bits from DOUT be the temperature value, and the next 16 bits be whatever was in the config register, 0x8112.
What I get is 0x0000 (for the data) and 0x0E70 for the config. This does not change with temperature.
The ADS1018 Vdd is 5 v, very clean.
Ground is clean.
I'm driving the ADS1018 from a PIC24 3.3v mpu, using gpio bits.
CSL, SCLK and DIN inputs are pulled up to 5v through 2k resistors.
Signals swing rail to rail, very clean, Vih and Vil values are met easily, no ringing.
I put 50 ohm resistors in series with the PIC outputs - no joy.
I checked the 4 voltage input pins, They're all sitting nicely at 0 - not over driven or anything bad coming in.
I made another board with another ADS1018 - same thing.
I changed the config word to 0x0000 then 0xFFFF which should be ignored because the NOP code isn't valid.
They were. In these cases, the output of the ADS1018 did not change, it was still 0x0000 0x0E70.
I am trying to read temperature to eliminate variables. Attempts to use the MUX and PGA were similarly confusing.
What am I missing? Or where should I look?
Thanks,
Ed Kelleher