Analog Mux como Cheap I2C Mux?

6

Solo busco tener dos dispositivos en un solo bus con la misma dirección. Hay muchos multiplexores I2C disponibles, pero parecen costar ~ 4 veces lo que cuesta un multiplexor analógico 2x2: 1.

¿Alguna razón por la que no pueda usar un multiplexor analógico para I2C que ejecuta un bus de 100 kHz?

Por ejemplo, una TI TS3A5223RSWR es de 0,63 centavos y, según la hoja de datos, admite señales analógicas bidireccionales con una impedancia pequeña de ~ 1 Ohm.

    
pregunta MadHatter

3 respuestas

8

Los multiplexores analógicos funcionan bien para las señales I²C (si mantiene la impedancia y la capacidad parásita lo suficientemente pequeña, lo que generalmente no es un problema).

Los multiplexores I²C son más complejos porque se controlan a través del bus I²C. Necesitas uno si no tienes un pin GPIO de repuesto para controlarlo.

    
respondido por el CL.
2

No necesitas costosos interruptores analógicos de baja-R. Las piezas simples como 74HC4066 y 74HC4053 o las versiones de una sola compuerta funcionan bien por $ 0.11, y obtienes 2 o 3 interruptores más para usar en otras cosas. (Pero vea la solución de diodo por $ 0.015 ...)

Puede cambiar la línea SDA solo y dejar SCL común a todos los chips. Por lo tanto, solo necesitas un solo mux o switch.

Asegúrese de tener un pullup de alto valor (100k) en cada chip además del pullup del bus.

(esto funciona porque la condición de inicio es la caída de SDA. Si SDA se mantiene alta, el chip nunca verá INICIO)

    
respondido por el Henry Crun
1

"... todos habían cometido un gran error al bajar de los árboles en primer lugar, y algunos dijeron que incluso los árboles habían sido un mal movimiento y que nadie debería haber abandonado los océanos. "

Usando los pines de los puertos de tres estados para _EN1 y _EN2, establece el pin en OUTPUT-HI para BLOQUEAR el esclavo, y INPUT-no-pullups para habilitar al esclavo. Un diodo dual BAW56 cuesta $ 0.015. ¿Quién necesita más que un diodo de todos modos?

SCL es común y no conmutado. Obviamente, la selección solo se puede cambiar cuando el bus está inactivo.

Si esto es un poco rico para usted, se puede omitir el pullup maestro de 2k2, y las resistencias de 22k se reemplazan por 2k2. Como una de las líneas _EN es siempre HI, su resistencia actuará como la recuperación del bus. Ahora tienes 2 resistencias y 1x BAW56 vs 3 resistencias + 1xIC para la solución de interruptor analógico.

    
respondido por el Henry Crun

Lea otras preguntas en las etiquetas