Other Parts Discussed in Thread: ADS1234, , ADS1232
Tool/software: Linux
Hello!
So I have been doing a good bit of prototyping with the ADS123X line of ADCs, and was curious as to one thing.
As of right now, I have a 4-channel ADS1234 listening to 4 separate channels, talking to a raspberry pi.
Everything is going perfectly; I have been bit banging the ADC to get data as quickly as possible and am getting fairly accurate results.
With my current python code I can get 70 samples per second happily on one channel. When I start swapping between channels, however, it seems that 'settling time' is bringing me down to about 20 samples happily, 5 on each channel per second.
I would like to keep a high sample rate on each channel, so my next thought was to have four separate ADS1231's all reporting their own data. Would the following work?:
When I want to get data, I could have all four ADC's all tied to the same SCLK. As I apply SCLKs, the Raspberry Pi would shift in the data from each of the four channels, each with their respective DOUT pins tied to a different GPIO? That way I leave the organization of data between channels to the application, and the ADC can continue with high output rates, not worrying about any settling times.
Alternatively, is there a way that I could negate the settling time of the ADC1234, and therefore get a better sample rate? I'm not necessarily looking for 70 samples per second on each channel - but working at 5 samples per second on each definitely isn't going to work.
Thanks for your time!