I2C Multiple Masters

0

Estoy trabajando en el EK-TM4C1294XL de Ti, que es básicamente una placa de evaluación Arm Cortex M4. Estaba pasando por el bus I2C del mismo y tengo la siguiente pregunta con respecto al bus I2C.

Entiendo que I2C es compatible con la configuración de múltiples esclavos y múltiples maestros. Entonces, cuando queremos enviar datos de un maestro en particular a un esclavo en particular, primero escribimos la dirección del esclavo en el bus de ese maestro y, después de recibir el Ack, transmitimos los datos a ese esclavo.

Entonces, en la misma situación, quiero recibir datos de un esclavo en particular a un maestro en particular, pero ¿puede el esclavo iniciar la comunicación? Supongamos que el esclavo es un ADC y una vez que se realiza la conversión, envíe los datos convertidos a un maestro en particular. ¿Es esto posible en I2C?

    
pregunta Hrushikesh HRK

1 respuesta

3
  

Entonces, en la misma situación, quiero recibir datos de un esclavo en particular a un maestro en particular, pero ¿puede el esclavo iniciar la comunicación? Supongamos que el esclavo es un ADC y una vez que se realiza la conversión, envíe los datos convertidos a un maestro en particular. ¿Es esto posible en I2C?

Un dispositivo que es un esclavo puro I 2 C no puede iniciar una transacción I 2 . Esto se aplica tanto a los buses I 2 C de múltiples maestros como a los de un solo maestro.

Sin embargo, algunos dispositivos esclavos pueden alertar al maestro fuera de banda, no a través de I 2 C. Cuando el maestro ve la alerta, iniciará la transacción. Para este propósito, algunos ADC tienen salidas digitales discretas que corresponden al estado de la conversión A / D. (Por ejemplo, el AD7998 tiene un pin ALERT / BUSY y una conexión I 2 C para lectura y configuración.)

Si hay un bus multi-maestro, entonces un dispositivo podría cambiar su función sobre la marcha de maestro a esclavo. Luego puede iniciar una transacción I 2 C como maestro. Tendría que ser un microcontrolador con su propio firmware. La gran mayoría de los dispositivos I 2 C duros son esclavos de bus, aunque hay un puñado de dispositivos I 2 C que son maestros de bus. Nunca he oído hablar de un dispositivo duro I 2 C que cambie de maestro a esclavo.

Por cierto, aquí hay un tema relacionado: enlace .

    
respondido por el Nick Alexeev

Lea otras preguntas en las etiquetas