Quiero conectar varios chips ATmega328P a un bus I2C. Cada unidad está configurada como esclava pero también puede enviar/transmitir mensajes como maestra.
Tengo esto trabajando actualmente con unidades Arduino Nano y funciona bien.
Para reducir el costo y, lo que es más importante, el espacio, quiero reemplazar los chips Arduino Nano con chips ATmega328P.
Ahora, mi pregunta es, ¿necesito cristales externos para estos chips ATmega328P para esta configuración multimaestro?
Sé que I2C no es crítico en el tiempo como RS232 porque el esclavo sigue la línea de reloj del maestro (¿verdad?).
La única preocupación que tengo es: ¿funcionará correctamente la detección de colisiones si dos unidades ATmega sin cristal comienzan a transmitir datos al mismo tiempo?
Múltiples dispositivos IIC no necesitan relojes sincronizados. IIC es en sí mismo un protocolo síncrono. Durante cualquier mensaje, el maestro controla la línea SCL (reloj). Siempre que el maestro deje que el reloj se detenga lo suficiente en cada nivel para que los esclavos tengan tiempo de interpretar SDA correctamente, no habrá problema.
Entonces no, no necesita relojes de precisión cristalina para la comunicación IIC.
david tweed
mvermand