This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1251: How can I read several ADS1251 data with only one port?

Part Number: ADS1251
Other Parts Discussed in Thread: ADS1258

Hi,

I want to read multiple ADS1251 data, and I will use a MUX to switch between different ADS1251's serial interface(SCLK+ DOUT).

The problem is: DOUT is always sending out data. What if DOUT of one ADS1251(let's call it A)has sended out 4bits and the MUX is switched to another ADS1251(let's call it B), and at the instant B has sended out 6bits already, so the MCU will not read correct results for both A and B, right?

How can I make sure the data is correctly read when switching MUX?

  • Hi Howard,

    The ADS1251 will not automatically send out data. The data is only transmitted if SCLKs are sent to the device. So you would want to make sure that all the data is been read out of one device before switching the mux to another device.

    As the DOUT/DRDY pin is dual function, each device would need to be monitored for the transition of the pin going from a high to low state to make sure that the data are valid when reading from the device(s). The only safe way to accomplish this is to wait for the DOUT/DRDY pin to pulse before reading the result.

    Instead of using an external mux with several ADS1251 devices, you could use a single ADC with a built in mux that has an auto scan feature such as the ADS1258. The ADS1258 can auto scan through the internal mux which saves a lot of effort and components. The ADS1258 can be configured as 8 differential inputs or 16 single-ended inputs.

    Best regards,
    Bob B
  • Bob,
    thanks. But they need isolation, so they choose one channel device.