TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: mandoanaiz en 08 de Julio de 2008, 12:55:05
-
Buenas, tengo un problemilla con el rob-araña, pretendo hacer varias placas de control, una para cada pata y una controladora general, que se comunicarían mediante I2C entre ellas, creo tener casi todo perfilado, pero.....
no termino de aclararme en como hacer la sincronizacion de cada placa con el master. He visto por ahí que algunos sincronizan las placas mediante un pin dedicado al efecto, de manera que cuando está en 1 comunica y sino no; cabría la posibilidad de poder hacer la sincronización de las placas desde el master y mediante soft?
En espera de alguna(s) respuesta(s) aclaratorias de tan doctos foreros :-) :-) :-)
Gracias por anticipado por las respuestas
-
Cuando se utiliza el I2C el maestro interroga a los esclavos y estos responden, por lo que el control lo tendría la placa principal que comandaria a cada una de las placas esclavas.
Para controlar a los esclavos, los programamos para que respondan a una serie de comandos enviados desde el maestro de tal forma que el maestro envía por el bus I2C la dirección del esclavo y seguidamente el comando a ejecutar y al recibirlo esl esclavo este decodifica el comando y lo ejecuta.
Un saludo
-
Además de lo anterior, y suponiendo que decidas que cada placa esté configurada para actuar como maestro en un bus I2C, tendrías un entorno multimaster, y la maravilla de I2C es que no necesita ningún mecanismo adicional para manejar las contenciones del bus, sino que incluye su propio protocolo de contención, así que no debe haber problemas en que dos maestros transmitan al mismo tiempo por el bus, excepto que uno de ellos perderá el control del bus y por consiguiente el controlador I2C debe generar un error, para que tu uC sepa que es preciso retransmitir el dato.
De todos modos te aconsejo que revises bien la documentación del protocolo I2C porque aunque sea un bus sencillo, tiene ciertas especificidades que es preciso revisar, la documentación del estándar la puedes sacar de la página de NXP, que es quién actualmente da soporte al bus y no Philips su creador.
Saludos
Reineir