Acabo de hacer esta pregunta tratando de averiguar si tengo un esclavo I2C alimentado en un bus ISP durante la programación de MCU (Attiny) sería problemático. Aparentemente lo haría, así que necesito aislar temporalmente a los esclavos del bus.
No puedo simplemente apagar el esclavo (MPU-6050) porque sus entradas no son tolerantes a 3.3V cuando su Vcc = 0V.
También encontré esta pregunta relacionada interesante, pero las soluciones La propuesta no funciona para mí (tengo un espacio limitado en la junta y la disponibilidad específica de los circuitos integrados es un problema para mí en el presupuesto de este proyecto).
Realmente estoy tratando de alejarme de una solución de conmutador DIP / puente, así que estoy considerando soluciones activas. Aquí va:
Utilice un desplazador de nivel bidireccional discreto
Peroenlugardeunladodealtoybajovoltaje,intentaríaalgocomoesto:
simular este circuito : esquema creado usando CircuitLab
Cuando Attiny está programando, sus salidas son de alta impedancia, R5 apaga M3. C1 es principalmente para evitar que los fallos en el pin vuelvan a encender M3.
R7 luego apaga M1 y M2, y SCK / MOSI puede "rebotar" libremente sin molestar a los esclavos I2C.
Al arrancar, el Attiny enciende M3, proporcionando energía al bus I2C.
¿Esto funcionaría? ¿Estoy pasando por alto o complicando algo?