Looking for a 4 input ADC for SDR project. - Page 1
Forum section: electronics / projects

author: psyon
author_rank: Contributor
timestamp: August 26, 2024, 06:53:45 pm
content: I've been working on a 4 channel SDR to pick up some CW pulses and hopefully do direction of arrival calculations. The ADC on the STM32 is just too noisy, so I am looking for another one to use. I have narrowed down my searches to the ADS131M04 or the MCP3564. The ADS does simultaneous sampling which would be nice, but I am not certain about using it for single ended inputs. The datasheet shows using it for measuring battery voltage, but it doesn't make it clear if that can only be done on the one input, or any of them. When used single ended for that, you really only get 23bits of resolution though. For the MCP it clearly says it can be single-ended for inputs, but I can't find anything about whether or not it uses the full 24bits for the positive voltage range, or if I lose a bit for signedness like on the ADS. If anyone has an experience with either of those ADCs, I could use some input. Otherwise, if someone can think of anything else too look at, that would help too. I need 4 inputs, continuous mode, simultaneous is nice but not required, and it needs to sample at at least 32ksps per channel, though higher is better.

author: moffy
author_rank: Super Contributor
timestamp: August 26, 2024, 10:17:10 pm
content: If you are worried about dropping from 24bit to 23bit resolution for the ADS131M04, I wouldn't, your noise and temperature drift will be well above the 24bit resolution especially at 64ksps.

author: psyon
author_rank: Contributor
timestamp: August 27, 2024, 12:08:45 am
content: Quote from: moffy on August 26, 2024, 10:17:10 pmI wasn't worried about it too much, but extra resolution never hurts.

author: ArdWar
author_rank: Frequent Contributor
timestamp: August 27, 2024, 02:00:38 am
content: Using ADC single ended almost certainly hurt at least one bit on almost any ADC since you're practically halving your input range. You're also losing common mode noise and drift rejection.

author: psyon
author_rank: Contributor
timestamp: August 27, 2024, 04:38:13 pm
content: Quote from: ArdWar on August 27, 2024, 02:00:38 amThe ADC I have been using, that is built in to the STM32, only reads positive voltages, so the 12bit resolution is for the range of 0 to 3.3V. I don't lose half the range by having it single ended because it was designed to be single ended and the resolution is spread between the positive voltage range.

author: radiolistener
author_rank: Super Contributor
timestamp: August 28, 2024, 02:29:10 pm
content: if your solution is not critical to current consumption, it's better to use high speed ADC and then get additional bits with downsampling than using high resolution ADC running at low SR.

author: iMo
author_rank: Super Contributor
timestamp: August 28, 2024, 02:40:22 pm
content: Quote from: psyon on August 27, 2024, 04:38:13 pmYou do, as to get negative values your single ended ADC input has to be biased to 3.3V/2 (so its range is +/- 1/2 full scale, it means from -1.65V to + 1.65V around a virtual ground).A differential input works such that when IN+ is lower than IN- you get negative values, when IN+ is higher than IN- you get positive numbers, in both cases full scale (its range is from -3.3V to +3.3V).

author: nctnico
author_rank: Super Contributor
timestamp: August 28, 2024, 02:52:09 pm
content: Quote from: radiolistener on August 28, 2024, 02:29:10 pmThat only works if there is enough noise. With a 12bit ADC, you can easely run into a situation where there isn't enough noise for oversampling. On top of that, the ADC will need to have decent linearity beyond what it has been designed for. Bottom line is that it is better to use an ADC with more bits compared to doing oversampling.To the OP: I'd go for the ADS131M04 and feed the signal as a differential input. Having differential signal paths will improve the design either way. Stay clear from anything Microchip makes where it comes to 'precission' analog.

author: psyon
author_rank: Contributor
timestamp: September 01, 2024, 11:10:56 pm
content: Quote from: nctnico on August 28, 2024, 02:52:09 pmThe only reason I was avoiding it, is that I have never dealth with differential signaling before. I have been working on this a little at a time, and adding new things in with each revision as wrap my head around how it works. My first version was just making sure I knew how to use the SI5351 for an LO. It just dumped RF straight into a mixer, and then had a basic RC low pass filter into the ADC. Second version added some bandpass filters and LNA to boost the signal, and some op amps to boost the output before the ADC too. I am having issues with execution time on the STM32 (not with it taking too long, with it changing every time I make the smallest code change, so hard to make sure my code runs between ADC interrupts), so I am building a new version with it's own ADC, that I can use with a pi or something else if I want more head room for code execution. When I have tried to look into differential signalling, I get a lot of stuff about the pros and cons of using it, but haven't been able to find much about generating differential signals from single ended signals. Seems like it could just be using an inverting unity gain amp, but wasn't sure that was the best route so far.