Autor Tema: PIC's + RS485  (Leído 3232 veces)

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

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
PIC's + RS485
« en: 01 de Febrero de 2008, 18:51:07 »
Saludos:

Quisiera comunicar varios pic's por RS485 usando el SN75176. Tengo una duda con este chip: Si hago DE=1 y RE=0 entonces esto habilitará tanto el bloque de transmisión como el de recepción del SN75176?

Si esto es asi entonces al conectar el USART del PIC con el SN75176 (RX y TX del USART del PIC con el RX y TX del SN75176) el PIC recibirá por RX lo que envia por TX? osea podrá "escuchar" lo que él "habla" por el bus?

Javicho.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC's + RS485
« Respuesta #1 en: 01 de Febrero de 2008, 18:58:47 »
Javicho,

Lo que mencionas efectivamente sucede, lo unico que tienes que tener en cuenta es que si haces eso no sobrepases las 32 unidades carga que deben estar en el bus RS-485.

Saludos.

Elreypic.

Desconectado ema

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1078
Re: PIC's + RS485
« Respuesta #2 en: 01 de Febrero de 2008, 19:01:55 »
Date una vuelta por este link. Esta muy bien explicado.

http://www.todopic.com.ar/foros/index.php?topic=19057.0

Saludos

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: PIC's + RS485
« Respuesta #3 en: 01 de Febrero de 2008, 19:10:39 »
Gracias el reypic, es la respuesta que esperaba simple y concisa.

Otra duda: como puedo evitar las colisiones cuando 2 o mas pic's (por cosas del destino) justo quieren enviar al mismo tiempo info a algún otro pic (en modo multi-master, sin tener un solo master que haga un polling atodos los demas)?

Cuando un pic (o varios) envia un 1 y otro(s) pic(s) envia un 0 al bus al mismo tiempo que pasa con el chip? se daña por el cruce de niveles? está protegido para estos casos? o sucede lo mismo que en el bus CAN que predomina el bit dominante osea el 0 frente al 1?

Javicho.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC's + RS485
« Respuesta #4 en: 01 de Febrero de 2008, 22:22:48 »
Javicho,

En el caso de RS-485 no existe de forma "natural" algun protocolo anticolision como sucede con el bus CAN. Cuando usas este tipo de bus (RS-485) debes verificar si el bus esta libre antes de comenzar a transmitir asi como tambien implementer algun checksum en tu protocolo. A los drivers no les pasa nada, pero los datos obviamente se pierden ya que existe la colision de datos.

Saludos.

Elreypic.

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: PIC's + RS485
« Respuesta #5 en: 01 de Febrero de 2008, 22:57:35 »
Entonces de que forma puedo evitar colisiones (que no sea por polling) ?

Si un pic envia un 1 y otro envia un 0 al bus RS485 (cada pic con su respectivo SN75176) que obtengo en el RX de cada SN75176? es indeterminado? a veces 0 a veces 1?

Edison.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: PIC's + RS485
« Respuesta #6 en: 01 de Febrero de 2008, 23:03:40 »
Javicho, el RS485 esta pensado para funcionar por polling de un master y a los demás slaves, que solo hablan cuando se les pregunta. Ese es su modo "natural" de funcionar. Cuando varios pueden hablar al mismo tiempo los resultados son aleatorios.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: PIC's + RS485
« Respuesta #7 en: 02 de Febrero de 2008, 22:06:54 »
Ni modo entonces haré un polling, ojalá no salgan mas problemas. Gracias por todo.

Javicho.