[sdiy] Paralleling lots of ADC inputs

rsdio at audiobanshee.com rsdio at audiobanshee.com
Mon Apr 30 18:00:20 CEST 2018

One ADC on a “master” dsPIC, then UART or SPI comms to all of the other dsPIC chips.

If you use an SPI style ADC that’s external to the dsPIC, then one could drive the SPI output command to the ADC, and all of the dsPIC chips could be listening on their individual SPI ports (as slaves). I’ve something similar where I drove two ADC chips from a single SPI output, but then listened to each ADC values on separate SPI inputs. I see no reason why you couldn’t flip it around and share a single SPI ADC across several SPI listeners. You just need some way to be sure that only one SPI output drives the ADC, and you might need buffering to fan out the SPI return from the ADC to several dsPIC chips.

If you insist on allowing each dsPIC to convert a slightly different digital version of the same analog signal, then you’ll probably need an op-amp follower for each ADC input. The typical ADC on a SOC is a SAC and will pull a lot of current during the conversion. This sudden current draw will cause the voltage to change if it’s not buffered well. Each ADC will be pulling its own current, so tying them all together might work especially poorly unless you have a very, very strong op-amp driving them all. Probably easier with a few quad op-amps so each one only drives a single ADC. Some data sheets will explain this in the notes.


On Apr 30, 2018, at 8:14 AM, Tom Wiltshire <tom at electricdruid.net> wrote:
> Has anyone ever tried paralleling up lots of uP ADC inputs?
> I’ve got several dsPIC processors running simultaneously producing audio (I was asking about the comms on this board the other day - I’ll show you when it’s a bit further along) and I want to add vibrato. The obvious way for me to get the same vibrato on each individual processor is to use an ADC input to vary the pitch. This has some advantages, like I can use whatever waveshape I like (and I don’t have to decide now) and I can provide a pitch modulation input. The downside is that noise can get in, but I can filter the ADC results heavily to minimise that, so I’m not too worried.
> So - I need to tie together several ADC inputs. Can I just tie them together? Should I drive the tied-together-inputs with an op-amp follower or something to make sure I’ve got a nice low impedance output? Or do the inputs themselves need buffers in front of them (e.g. tied-together-signal -> opamp buffer -> ADC input). Has anyone tried anything like this?
> Any experience you can offer would be appreciated.

More information about the Synth-diy mailing list