TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: anfelgo en 18 de Agosto de 2009, 12:13:43
-
Si se tiene una comucacion a traves de I2C multi-master y varios dispositivos, es posible la comunicacion entre masters??
Al parecer tengo bastantes dudas acerca del bus I2C :? ......
Saludos
-
No, no se puede :mrgreen:
Saludos!
-
jeje me lo imaginaba.
Gracias.
-
Sólo puede haber un maestro controlando el bus, si dos maestros mandan una condición de start al mismo tiempo se inicia un proceso para seleccionar que maestro coge el control del bus, el que "gana" pasa a ser el master y el resto se ponen como esclavos, el maestro que ha ganado el control se puede comunicar con el que lo ha perdido pasando éste a ser esclavo.
-
Una configuracion i2c multimaestro muy comun es esta: cada maestro posee una direccion como si se tratara de un esclavo más; al ser direccionado debidamente, envía un ACK si necesita ocupar el bus, en cuyo caso pasara a ser el que controla la linea SCK y el maestro anterior pasara a ser un esclavo mas esperando recibir el control nuevamente.
El bit RW puede sirvirte para la comuncacion entre maestros, por ejemplo, si le direccionas en modo lectura, leeras el registro que te interesa del otro maestro, pero si le direcciones en modo de escritura le estas sediendo el control del bus :-/
-
Uuuu Me las mande entonces :oops: Pero lo que dices fabianjm no veo como se implementaría con CCS porque para establecer la configuración del bus i2c solo se puede utilizar #use i2c(..., habría que crear funciones propias para la modificación de los registros para este tipo de caso :?
Saludos.