In order to acquire 3 analog signals with Raspberry pi 4 I want to use ADS1256 Waveshare's AD expansion board ( 8 channels single-ended, 24 bit). I was wandering if there's a way to set a different sampling frequency to each channel. ADS1256's datasheet states that the maximum fs is 30kSPS. Since I need to acquire 3 signals and one of them need to be sampled at 10kHz, I want to know if there's a way to set a specific fs to each channel. In this way I could sample correctly the audio signal (10kHz) and not oversample the other ones. So far, I've just downloaded the source code ( Python) provided by Waveshare https://www.waveshare.com/wiki/File:High-Precision-AD-DA-Board-Code.7z but I don't understand if there's a way to change it to do what I want. Thanks
3 signals at 10 kHz is exactly 30 kSPS, so you should be able to sample all three channels at the same rate, then throw away unneeded samples on slow channels.
Sampling different channels at different rates is difficult to implement correctly. Naive implementations result in jitter, because two consecutive samples of a fast channel will have a shorter sampling time than the same two samples with a sample of a slow channel in between.