Autor Tema: Como establecer un bus i2c incluyendo 2 pics, ambos como maestros  (Leído 3902 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado aiwa_7

  • PIC10
  • *
  • Mensajes: 44
 :-/

Que tal...

Estoy trabajando con un proyecto en el cual es necesario emplear dos pic´s, especificamente
dos 18F452, los cuales realizan actividades distintas pero no de de forma independiente, es decir,
que por ejemplo para cierta funcion que realizan ambos microcontroladores es necesario que
los dos obtengan o proporcionen datos a una eeprom, una 24c64, solo por citar una situacion
ya que tambien se requiere que puedan acceder a otros dispositivos en el bus i2c como RTC etc
auque no necesariamente simultaneamente.
El asunto es que he realizado ambos programas para los pic´s, y de manera separada trabajan
correctamente, la comunicacion con los dispositivos externos es exactamente la esperada, el
problema viene a ser cuando se conectan ambos micros, se presentan comportamientos extraños
en ambos, justo en rutinas donde ambos tienen que establecer comunicacion con algun dispositivo
de los antes mencionados, mi primera teoria es que existe algun conflicto en el bus, pero no he
encontrado la forma de solucionarlo, y tampoco he podido localizar alguna fuente bibliografica que
pueda ayudar.
Programo en C, con el CCS.

De antemano gracias, espero alguien tenga alguna idea.

                                     :-/           :-/           :-/     

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Como establecer un bus i2c incluyendo 2 pics, ambos como maestros
« Respuesta #1 en: 25 de Febrero de 2010, 20:29:33 »
mmm... por lo que tengo entendido tenes que configurar los pics en multimaster e implementar rutinas que detecten colisiones, osea cuando ambos micros quieren utilizar el bus se genera una batalla donde uno de los 2 gana  :mrgreen: Estás funciones hay que hacerlas ya que CCS no las tiene implementadas o no he leído nada al respecto por lo menos  :rolleyes:


Saludos!
No contesto mensajes privados, las consultas en el foro

romulood7@hotmail.com

  • Visitante
I2C EN CCS
« Respuesta #2 en: 22 de Julio de 2010, 19:57:10 »
Hola, estoy realizando un proyecto con I2C usando CCS, tengo un problema, el programa sale bien sin errores, y la simulación en Proteus es correcta, pero al implementarlo en el protoboard no funciona, alguien me puede pasar un programa de comunicación I2C entre dos PICs (preferible 18F4550, 16F877) que funcione.
Se lo agradecería.
Mi correo es romulood7@hotmail.com.

Zarbio Rómulo Ordóñez Dávila.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Como establecer un bus i2c incluyendo 2 pics, ambos como maestros
« Respuesta #3 en: 22 de Julio de 2010, 21:43:58 »
hola, no se que tan posible es q encuentres ese ejemplo aqui, pero si posteas tu codigo de seguro vas a encontrar ayuda para ponerlo a funcionar
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Como establecer un bus i2c incluyendo 2 pics, ambos como maestros
« Respuesta #4 en: 23 de Julio de 2010, 06:28:44 »
Creo que una opción podría ser usar una linea especifica de arbitraje.

- Cuando un PIC está usando el I2C tendra esta linea a nivel bajo como salida.
- Antes de  "apropiarte del bus I2C" hay que chequear su estado, configura el PIN como entrada y lees el valos, si es 0 está ocupada, sino está libre.
- Tiene que ser una linea controlada con colector abierto, para evitar conflictos de niveles.