3
\$\begingroup\$

I want to connect 31 ADC slaves to a master. The ADCs simply should measure voltage and response its values to the master after request. I thought about using I2C as bus system. The problem is that most ADC ICs with I2C interface only offer 2 or 3 bits for address (4 or 8 addresses possible) I need 5 bits for my 31 addresses. What can I do to use 31 I2C ADC slaves in one bus system? Are there such devices like address mappers, expanders, switches, multiplexers? What is common and good practice for my requirements? The reason I would like to use a bus system is to keep wiring and pin usage of the master low.

To be more specific I need to measure voltage from multiple in series connected sources:

schematic

simulate this circuit – Schematic created using CircuitLab

I am aware of that I need to provide a galvanic isolation between I2C master and slaves. I am afraid that I cannot use multichannel ADCs in this case am I right?

asked Mar 5, 2015 at 13:23
\$\endgroup\$
6
  • \$\begingroup\$ Yes if you google i2c multiplexer you will find plenty of them. It increases complexity a bit though \$\endgroup\$ Commented Mar 5, 2015 at 14:32
  • 1
    \$\begingroup\$ Surely you must be joking with that schematic. \$\endgroup\$ Commented Mar 5, 2015 at 14:41
  • \$\begingroup\$ Why Dzarda? It is just to get an overview. \$\endgroup\$ Commented Mar 5, 2015 at 14:49
  • \$\begingroup\$ Because galvanically isolating an i2c bus is a much bigger difficulty than just fanning out to 31 slaves, and it completely changes the possible solutions. \$\endgroup\$ Commented Mar 5, 2015 at 15:22
  • \$\begingroup\$ What is the maximum number of batteries you need to measure in series? And how accurately do you need to measure the voltage? \$\endgroup\$ Commented Mar 5, 2015 at 16:37

3 Answers 3

3
\$\begingroup\$

You didn't specify the A/D speed or accuracy, so any A/D will do.

One possibility is to use A/D chips with multiple input channels. You can find them with 8 or 16 or even more inputs. These are essentially a A/D with a analog mux front end integrated into a single package. Four 8x A/Ds would do it, and you can probably find some that do IIC and have at least 2 address bits that can be set via the pins.

Another possibility is to use a small micro with a large number of A/D channels. This is like the previous case in that there is a analog mux integrated with the A/D, but there is also a microcontroller integrated with it. The integrated micro can then do the continuous sampling, perhaps some low pass filtering, and communication back to the master. Now you're not limited to IIC, although many micros have IIC hardware that can act as a slave device. Since the address is set by firmware, you can have as many of these on a IIC bus as it can electrically handle. However, no more than 2 would be needed since a number of micros have 16 or more A/D channels.

answered Mar 5, 2015 at 13:31
\$\endgroup\$
4
  • \$\begingroup\$ How does the interfacing look like? For example If I want to read channel 3 from 2nd ADC? Also can you provide some multichannel ADCs with I2C interface? \$\endgroup\$ Commented Mar 5, 2015 at 13:58
  • 1
    \$\begingroup\$ @armin: A/Ds with multiple channels accept commands from you to set the channel, cause conversions, or whatever. The details vary by manufacturer, but these things wouldn't exist if you weren't able to control the channel to read from. There are many vendors that produce multi-channel A/Ds. Check out the offerings from TI, Linear, Analog Devices, just to name a few. \$\endgroup\$ Commented Mar 5, 2015 at 14:11
  • \$\begingroup\$ Thanks for your participation! Please take a look at my edited question. I think I cannot use multichannel ADCs because I have different potentials. \$\endgroup\$ Commented Mar 5, 2015 at 14:19
  • \$\begingroup\$ @armin: That is now a totally different question, and I would use quite a different approach to it than what I stated above. \$\endgroup\$ Commented Mar 5, 2015 at 14:27
1
\$\begingroup\$

There are quite a few SPI bus ADCs that can be daisy chained together. This means they all receive a common clock and "start conversion" signal but the data output from the "furthest" ADC feeds the data input of the next furthest. They all convert simultaneously and the last in the ADC chain clocks out all 31 slave values: -

enter image description here

Master MISO in the above diagram only connects to the lowest slave's data. It in turn receives data from the middle slave as its own data is being clocked out.

Here's another diagram: -

enter image description here

answered Mar 5, 2015 at 13:43
\$\endgroup\$
1
\$\begingroup\$

A better way to handle your requirements would be an IC like Linear's LTC 6803-2/4 series. They can hadle up to 12 cells per IC, and moreover the ICs can be stacked together with isolation. You need to interface them with a micro using SPI though.

answered Mar 24, 2015 at 0:03
\$\endgroup\$
0

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.