ADC with external trigger, SPI, single input?

I've got a project where I need to trigger 50 to 100 ADCs simultaneously, and need a minimum of 200Hz sample rate. I need SPI to maintain the sampling rate, and an external trigger to make sure they all fire at once. An ADC with only 1 input would be great, since I'm fairly space-constrained as well.

Any suggestions? The TLV2544 looks like a likely candidate, but I'd like to have something even smaller.


How about the MAX187, 12bits, 8 pins, and according to the spec sheet

Active-low chip select initiates conversions on the falling edge. When CS is high, DOUT is high impedance.

This does imply though that DOUT will be driven when CS is low and therefore you couldn't connect them all together. But even if you could will SPI run with 100 devices hung off the signals?

You may have to break them into groups of 8 and mux the outputs into the Arduino.

Do you need 12 bits?

The MAX287 has the same problem as most all of the others - no external trigger. Most SPI devices start the conversion when CS goes active, and I can't drive a bunch of them at once without playing some games with multiple (bit-banged) clocks and/or multiple MISOs, and I'd rather throw hardware at the problem than play games.

I'm not absolutely sure the TLV2544's /CSTART will do what I want, either. I need to spend some time with the datasheet to be sure.

Yeah, drive current could be an issue, but with SPI everything on the peripheral should be hi-Z and I only talk to one at a time.

My initial guess is that I'll try to drive 12 to 25 sensors per microcontroller. There will be several boards in the system, with a master board driving the trigger for all other boards, supplying power, etc.

12 bit resolution is also an initial guess. If I can get by with 10 bits, I may throw a bunch of ATtiny85s at the problem.


I may throw a bunch of ATtiny85s at the problem.

That's my favorite ADC controller and it's hard to beat in terms of board space (8 pins), interface flexibility (Serial, SPI, I2C), on-chip clock (no need to clock it "slowly" with SPI/I2C to drive the ADC clock and it's also cost effective compared to dedicated ADC's. It wil also happily do post-processing, averaging, custom triggers (as in your case) and what not you may need (including differential inputs, and built-in reference).

Gee - I should work for Atmel. ;)

If I can get by with 10 bits, I may throw a bunch of ATtiny85s at the problem.

That's what my question was leading to.