TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Javicho en 01 de Febrero de 2008, 18:51:07

Título: PIC's + RS485
Publicado por: Javicho 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.
Título: Re: PIC's + RS485
Publicado por: elreypic2 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.
Título: Re: PIC's + RS485
Publicado por: ema 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
Título: Re: PIC's + RS485
Publicado por: Javicho 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.
Título: Re: PIC's + RS485
Publicado por: elreypic2 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.
Título: Re: PIC's + RS485
Publicado por: Javicho 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.
Título: Re: PIC's + RS485
Publicado por: RedPic 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.
Título: Re: PIC's + RS485
Publicado por: Javicho en 02 de Febrero de 2008, 22:06:54
Ni modo entonces haré un polling, ojalá no salgan mas problemas. Gracias por todo.

Javicho.