ADC con interfaz I2C con múltiples direcciones

Quiero conectar 31 esclavos ADC a un maestro. Los ADC simplemente deben medir el voltaje y responder sus valores al maestro después de la solicitud. Pensé en usar I2C como sistema de bus. El problema es que la mayoría de los circuitos integrados ADC con interfaz I2C solo ofrecen 2 o 3 bits por dirección (4 u 8 direcciones posibles). Necesito 5 bits para mis 31 direcciones. ¿Qué puedo hacer para usar 31 esclavos ADC I2C en un sistema de bus? ¿Existen dispositivos como mapeadores de direcciones, expansores, conmutadores, multiplexores? ¿Qué es una práctica común y buena para mis requisitos? La razón por la que me gustaría usar un sistema de bus es para mantener bajo el cableado y el uso de pines del maestro.

Para ser más específico, necesito medir el voltaje de múltiples fuentes conectadas en serie:

esquemático

simular este circuito : esquema creado con CircuitLab

Soy consciente de que necesito proporcionar un aislamiento galvánico entre el maestro y los esclavos I2C. Me temo que no puedo usar ADC multicanal en este caso, ¿verdad?

Sí, si busca en Google el multiplexor i2c, encontrará muchos de ellos. Aunque aumenta un poco la complejidad.
Seguramente debes estar bromeando con ese esquema.
¿Por qué Dzarda? Es solo para tener una visión general.
Porque aislar galvánicamente un bus i2c es una dificultad mucho mayor que solo desplegar 31 esclavos, y cambia por completo las posibles soluciones.
¿Cuál es el número máximo de baterías que necesita para medir en serie? ¿Y con qué precisión necesita medir el voltaje?
Máximo 11 baterías en serie, la precisión debe ser de 50 mV.

Respuestas (3)

No especificó la velocidad o la precisión A/D, por lo que cualquier A/D servirá.

Una posibilidad es usar chips A/D con múltiples canales de entrada. Puedes encontrarlos con 8 o 16 o incluso más entradas. Estos son esencialmente un A/D con un front-end mux analógico integrado en un solo paquete. Cuatro A/D 8x lo harían, y probablemente pueda encontrar algunos que hagan IIC y tengan al menos 2 bits de dirección que se puedan configurar a través de los pines.

Otra posibilidad es utilizar un pequeño micro con un gran número de canales A/D. Este es como el caso anterior en el que hay un mux analógico integrado con el A/D, pero también hay un microcontrolador integrado con él. El micro integrado puede entonces hacer el muestreo continuo, tal vez algún filtrado de paso bajo, y la comunicación con el maestro. Ahora no está limitado a IIC, aunque muchos micros tienen hardware IIC que puede actuar como un dispositivo esclavo. Dado que la dirección la establece el firmware, puede tener tantos de estos en un bus IIC como pueda manejar eléctricamente. Sin embargo, no se necesitarían más de 2 ya que varios micros tienen 16 o más canales A/D.

¿Cómo se ve la interfaz? Por ejemplo, si quiero leer el canal 3 del segundo ADC. ¿También puede proporcionar algunos ADC multicanal con interfaz I2C?
@armin: Los A/D con múltiples canales aceptan comandos suyos para configurar el canal, generar conversiones o lo que sea. Los detalles varían según el fabricante, pero estas cosas no existirían si no pudieras controlar el canal desde el que leer. Hay muchos proveedores que producen A/D multicanal. Consulte las ofertas de TI, Linear, Analog Devices, solo por nombrar algunas.
¡Gracias por tu participación! Por favor, eche un vistazo a mi pregunta editada. Creo que no puedo usar ADC multicanal porque tengo diferentes potenciales.
@armin: Esa es ahora una pregunta totalmente diferente, y usaría un enfoque bastante diferente al que expuse anteriormente.

Hay bastantes ADC de bus SPI que se pueden conectar en cadena. Esto significa que todos reciben un reloj común y una señal de "inicio de conversión", pero la salida de datos del ADC "más lejano" alimenta la entrada de datos del siguiente más lejano. Todos se convierten simultáneamente y el último en la cadena ADC registra los 31 valores esclavos: -

ingrese la descripción de la imagen aquí

Master MISO en el diagrama anterior solo se conecta a los datos del esclavo más bajo. A su vez, recibe datos del esclavo intermedio a medida que se registran sus propios datos.

Aquí hay otro diagrama: -

ingrese la descripción de la imagen aquí

Una mejor manera de manejar sus requisitos sería un IC como la serie LTC 6803-2/4 de Linear. Pueden manejar hasta 12 celdas por IC y, además, los IC se pueden apilar juntos con aislamiento. Sin embargo, debe conectarlos con un micro usando SPI.