Esto debería ser posible. La configuración que desea se llama "multi-master"
enlace
La mayoría de las veces, tu dispositivo puede ser un esclavo, pero cuando quieres que hable con la EEPROM, puedes programarlo para que sea maestro. Siempre y cuando sigas las reglas de arbitraje de autobuses, esto debería estar bien. Un fragmento del enlace anterior sobre lo que ambos deben hacer sus maestros de I2C:
a) Ser capaz de seguir la lógica de arbitraje. Si dos dispositivos comienzan a
comunique al mismo tiempo el que escribe más ceros al bus (o
el dispositivo más lento) gana el arbitraje y el otro dispositivo
Interrumpe inmediatamente cualquier operación en el autobús.
b) Detección de bus ocupado. Cada dispositivo debe detectar un bus en curso
Comunicación y no debe interrumpirlo. Esto se logra por
reconocer el tráfico y esperar a que aparezca una condición de parada antes
Empezando a hablar en el autobús.
Si planea usar un dispositivo multimaster en un bus, es esencial que
Todos los maestros son multimasters. Un solo maestro es simplemente un dispositivo,
Que no entiende los mecanismos anteriores. Si un maestro de teatro y
un multimaster está conectado, el singlemaster puede interrumpir el
multimaster que causa resultados impredecibles.
Repasando la hoja de datos de ATtiny, parece que hay algo de soporte para esto. Eche un vistazo a USISR – USI Status Register
en la hoja de datos y, a saber, estos dos bits:
• Bit 5 - USIPF: Indicador de condición de parada Cuando se selecciona el modo de dos cables,
El indicador USIPF se establece (uno) cuando se detecta una condición de parada.
La bandera se borra escribiendo un uno en este bit. Tenga en cuenta que esto es
No es una bandera de interrupción. Esta señal es útil cuando se implementa
arbitraje maestro de bus de dos hilos.
• Bit 4 - USIDC: Salida de datos
Colisión Este bit es lógico cuando el bit 7 en el registro de datos USI
se diferencia del valor físico del pin. La bandera solo es válida cuando
Se utiliza el modo de dos cables. Esta señal es útil cuando se implementa
Arbitraje maestro de bus de dos cables
Parece que hay suficiente soporte para hacerlo, solo tienes que manejarlo en el software, lo que desafortunadamente hará que tu software sea más complicado, pero supongo que esa es la compensación esperada aquí. Como se mencionó, debe asegurarse de que ambos sus maestros se adhieran a las reglas de arbitraje del bus, y me imagino que el otro chip que está usando tendrá un registro similar al que se encuentra en el ATtiny, pero asegúrese de que sí lo hace, de lo contrario, esto no será posible.
EDIT:
También dejé un comentario anterior sobre esto, pero aquí hay una sugerencia alternativa a todo esto:
Si no es necesario que ambos maestros utilicen la EEPROM, si solo el ATTiny necesita usarla, entonces tiene su propia EEPROM interna en el chip que puede utilizar en su lugar en tamaños de 128/256/512 bytes. ¿Es eso lo suficientemente grande?