Paso 6: Con varios adaptadores en un autobús
Aquí es una cosa que recordar. Los tableros pueden tener revisiones de otro regulador IC - PCF8574 o PCF8574A. Sé esto porque tengo muchos de esos adaptadores y tienen diferentes ICs. Lo que cambió es tal vez de otros parámetros, el esquema de direccionamiento. ¿Cómo?
Los ICs tienen 3 entradas de la dirección, que nos da 2 ^ 3 = 8 posibles direcciones. Puedes ver el A0, A1, A2 las almohadillas. Está levantados a VCC por defecto, que los hace todos 1s. Por cortocircuito, digamos, un pad de A2, eres poco haciendo A2 en la dirección 0 y por lo tanto es cambiar la dirección I2C. (ponga en cortocircuito estas almohadillas es tan simple como hacer un puente de soldadura). Que puede ser muy útil si desea añadir una pantalla y 8 botones o dos pantallas, o... Combinación arbitraria de la pantalla y botones - mis scripts son capaces de usar diversas direcciones, como se puede ver, y generalmente no interfieren entre sí, así con botones y una pantalla funciona muy bien =) pero acerca de direcciones...
Mirar su expansión, luego consulte la tabla adjunta arriba. Entonces, si te ves 2ICs o más de una revisión (con un sufijo o sin), necesita cambiar direcciones. Puede dejar una de las mochilas con los cojines unbridged (usando la dirección HHH) y puente de diferentes combinaciones de cojines en todos los demás. Diferentes revisiones no entran en conflicto, así que si tienes dos adaptadores, uno con PCF8574 y PCF8574A otro, no conflicto independientemente de la combinación. También, esta cosa significa que podemos tener hasta 16 mochilas en un autobús si conectamos 8 tableros que tienen PCF8574 y 8 que tienen PCF8574A.
También, en el caso de varias mochilas hay un problema más. Todos los tableros tienen a bordo pullups I2C. Eso es bueno para un solo combo de MCU-mochila pero el tamaño del adaptador empieza a aumentar, el valor común de todos los pullups empieza a disminuir (electrónica 101 - poner resistencias en paralelo), y a medida que disminuye, es más difícil para mochilas y MCU para conducir el bajo de línea, que puede afectar negativamente la comunicación. Al aviod que, puede que tenga que eliminar algunos de los pullups, incluso puede dejar un par de ellos, y, como los tableros de frambuesa Pi todos pullups, básicamente puede quitar todos los pullups SDA y SCL de los tableros. Es fácil de encontrar en las tablas - estas son las resistencias que un lado está conectado a VCC y otro se une ya sea SDA y SCL.
¿Si tienes 2 buses I2C diferentes, aunque, puedes simplemente usar un autobús por un adaptador, o incluso hasta 16 adaptadores (como el truco de revisión) en un autobús, haciendo los números enormemente grande, si usted necesita que muchos =) Recuerde especificar números de autobús, mmkay?