Hi there,
I am trying to take a single-ended measurement with an ADS1247, but whatever I do it always returns the same value.
Here's my schematic:
I have set the registers on the ADS1247 as follows:
- PGA=1
- Data output rate is 5 sps
The process I'm using to read data from it (in pseudocode) goes something like this:
(START is pulled high long before this code runs and never goes low)
- Pull #CS low (enable SPI)
- Send command RDATA (0x12)
- Pull #CS high
- Wait for #DRDY to go low
- Pull #CS low
- Send command NOP (0xFF) recording returned byte in variable0
- Send command NOP (0xFF) recording returned byte in variable1
- Send command NOP (0xFF) recording returned byte in variable2
- Pull #CS high
When I look at the data returned, the three values are always 0x80, 0x00 and 0x00 respectively. The voltage input at VIN on the schematic fluctuates around 70-100mV.
I know that SPI communications are working correctly as I can read back the registers I've written and they match. I've tried using the self-offset calibration, applying a mid-supply bias to AIN1 and turning on the internal reference, but nothing seems to make any difference.
I'm positive I've done something stupid. Can you point me in the right direction?
Many thanks,
Foz