Autor Tema: Conexión de 3 Pic por 232 entre ellos  (Leído 2834 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Conexión de 3 Pic por 232 entre ellos
« en: 08 de Marzo de 2013, 12:32:59 »
Hola:

Estoy tratando de conectar 3 Pic entre sí usando la usart. El sistema se compone de una placa con un PIC que hará de "maestro" y será el que reciba y envíe datos al pc, y a la vez envía ciertos datos recibidos del PC a otros 2 PIC en otras placas. Esto me funciona bien, los otros 2 Pic reciben los datos correctamente. Lo que no me funciona nada bien es cuando alguno de estos dos "esclavos" mandan algo al maestro, muchas veces no llegan estos datos, seguramente por problemas de colisiones o no se.

Las placas están bastante cerca y no utilizo max232, va conectado directamente uno a otro. ¿Cómo puedo controlar que no está enviando ninguno para poder utilizar el bus?

Un saludo y gracias

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #1 en: 08 de Marzo de 2013, 12:50:37 »
Hola, estas frente a dos cuestiones
1: ambos micros esclavos envian simultaneamente, utiliza un control de flujo o protocolo para evitar las colisiones.
2: electricamente ambos son salidas y en estado de reposo estan a 1, entonces por alli que cuando uno pone el "bus" a 0 se producen problemas, te sugiero coloques un diodo a cada salida de TX de los esclavos y unidos por el catodo al RX del master.

saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #2 en: 08 de Marzo de 2013, 13:02:11 »
Simulando con el Proteus, si coloco los diodos solo envía uno de ellos, el contrario que sin diodos.... :?

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #3 en: 08 de Marzo de 2013, 13:03:34 »
Simulando con el Proteus, si coloco los diodos solo envía uno de ellos, el contrario que sin diodos.... :?

Y si pruebas en fisico??

Edito: cambia los diodos por una compuerta AND, en la misma simulacion.

saludos
« Última modificación: 08 de Marzo de 2013, 13:24:08 por KALLITOS »
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #4 en: 08 de Marzo de 2013, 13:21:02 »
Las placas están bastante cerca y no utilizo max232, va conectado directamente uno a otro. ¿Cómo puedo controlar que no está enviando ninguno para poder utilizar el bus?


No creo que RS232 esté diseñado para lo que pretendes hacer (una red compartida entre varios dispositivos), yo utilizaría I2C o SPI.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #5 en: 08 de Marzo de 2013, 13:33:05 »
Con la puerta AND tampoco funciona, ahora envia el otro. No lo puedo probar físicamente porque no estoy en casa

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #6 en: 08 de Marzo de 2013, 14:01:18 »
  Puedes intentar con una llave comandada mediante un pin del pic. Si dicho pin se encuentra en 1, se comunicará al pic maestro con el esclavo 1, si el pin de control se encuentra a 0 se comunicará el maestro con el esclavo 2. Si utilizas dos llaves comandadas por el mismo pin, lograrías conmutar tanto RX como TX
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #7 en: 08 de Marzo de 2013, 16:47:41 »
Mañana probaré en el circuito físico a ver si funciona o que falla, porque con el proteus no va. Si no funciona, tendré que hacerlo en i2c...
Saludos

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #8 en: 08 de Marzo de 2013, 16:48:52 »
Estoy de acuerdo con planeta9999, mejor utiliza otro protocolo, SPI me parece lo mas ideal
Lo que no me destruye, me fortalece

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #9 en: 08 de Marzo de 2013, 17:17:20 »
Pero con SPI tengo que utilizar un pin de enable en el master para cada esclavo, ¿no?

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #10 en: 08 de Marzo de 2013, 18:15:27 »
Yo creo que con un correcto orden y flujo se puede utilizar el uart sin problemas.

saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #11 en: 08 de Marzo de 2013, 21:03:04 »
Pero con SPI tengo que utilizar un pin de enable en el master para cada esclavo, ¿no?

No necesariamente, eso depende de lo que quieras hacer y si te sobran dos pines podrias utilizarlos para habilitar el esclavo con quien desees intercambiar datos   :mrgreen:

Como te dicen los compañeros SPI es una excelente opcion   :mrgreen:

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #12 en: 08 de Marzo de 2013, 21:54:41 »
  SPI e I2C ¿no están pensados para comunicaciones en una misma placa? Pienso, como comunicación entre un micro y un periférico dentro de un mismo producto.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #13 en: 08 de Marzo de 2013, 22:30:12 »
también podrías controlar el bus de datos con un buffer tri-estado desde el pic master

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Conexión de 3 Pic por 232 entre ellos
« Respuesta #14 en: 08 de Marzo de 2013, 22:58:33 »
  SPI e I2C ¿no están pensados para comunicaciones en una misma placa? Pienso, como comunicación entre un micro y un periférico dentro de un mismo producto.

Asi es puedes emplear o I2C o SPI, dependiendo tambien de la velocidad a que quieres intercambiar informacion y el tipo de comunciacion que soporte el periferico, podrias enotnces utilizar una u otra  :mrgreen:


 

anything