Hi there,
I wonder if you can help me understand how to use the multiplexing facility on the ADS124X.
Here's some pseudo code explaining what I'm currently doing:
//Setup the first channel: Write registers (0x40) Write four registers (0x03) Set +ve input to AIN0, -ve input to AIN1 (0x01) Disable VBIAS (0x00) Set gain & rate (0x05) Delay 1ms for MUX write RDATA (0x12) loop while DRDY==HIGH Store byte 1 (0xFF) Store byte 2 (0xFF) Store byte 3 (0xFF) //Setup the second channel: Write registers (0x40) Write four registers (0x03) Set +ve input to AIN4, -ve input to AIN5 (0x25) Disable VBIAS (0x00) Set gain & rate (0x05) Delay 1ms for MUX write RDATA (0x12) loop while DRDY==HIGH Store byte 1 (0xFF) Store byte 2 (0xFF) Store byte 3 (0xFF)
I have 2 questions about this. First, is it necessary to send an RDATA for each channel? When START is pulled HIGH does the ADC perform a conversion on the currently selected channel, or on all channels simultaneously?
Secondly, From the datasheet section 10.1.8 it suggests that I could speed up and simplify this by sending the commands needed to change the channel while the data is being read, i.e.
Store byte 1 (0x40) Store byte 2 (0x00) Store byte 3 (0x25)
But when I try this I get a zero value out. Have I misunderstood?
Many thanks,
Foz Hughes