Autor Tema: Comunicacion por RS485  (Leído 5534 veces)

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

Desconectado ogris

  • PIC10
  • *
  • Mensajes: 26
Comunicacion por RS485
« en: 20 de Mayo de 2007, 13:59:36 »
Hola a todos,

a ver si me podéis solucionar una duda sobre la comunicación RS485, no tengo muy claro si el RS485 es un protocolo o si es solo un tipo de conexion. Me explico, en el protocolo I2C esta definido las conexiones y tramas del protocolo (hay por ejemplo 7 bit para direccionar los dispositivos), pero para el RS485 no encuentro nada de las tramas,

¿sabeis si hay algo normalizado para la tramas, direccionamiento, etc?

gracias y un saludo

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Comunicacion por RS485
« Respuesta #1 en: 20 de Mayo de 2007, 14:50:20 »
 Hola, no hay una restricción en la comunicación, puedes enviar cualquier tipo de trama por el RS485, este actua a nivel físico modificando las señales de 0 y 5v a voltajes diferenciales para que puedan transmitirse con más inmunidad al ruido a largas distancias, puedes hacer un I2C y transmitirlo por 485.

Te dejo este documento.

Saludos
control de movimiento

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Comunicacion por RS485
« Respuesta #2 en: 21 de Mayo de 2007, 08:15:54 »
ogris si vas a comunicar solo equipos hechos y diseñados por tí no habrá problemas, si quieres comunicarte con dispositivos de terceros ahí se suele usar por ejemplo MODBUS que es un protocolo de más alto nivel, también hay otros menos conocidos o populares.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado ogris

  • PIC10
  • *
  • Mensajes: 26
Re: Comunicacion por RS485
« Respuesta #3 en: 21 de Mayo de 2007, 08:54:14 »
Sí, voy a mirar como va el MOSBUS, creo que tambien el PROFIBUS se usa sobre RS485, ¿cual recomendais? en principio es solo para comunicar equipos hechos por mi, pero seguro que estos protocolos estarán muy bien pensados y ademas asi aprendo y dejo abierta la posibilidad de usar otros equipos.

muchas gracias y un saludo

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Comunicacion por RS485
« Respuesta #4 en: 21 de Mayo de 2007, 09:39:35 »
Sobre ese tema, hace unos días tuve una disucsión bastante interesante con mi hermano.

Me pedía un convertidor de medios RS-485 a Ethernet, como si eso fuera tan fácil.

Bien, RS-485 no define un protocolo de comunicación, sino un medio físico para el transporte de datos, es decir que solamente define cómo deben realizarse las conexiones, las características del cable a utilizar, distancias que soporta la comunicación, tensiones, y otro conjunto de definiciones de crácter eléctrico.

La confusión de muchos, entre ellos mi hermano, viene dada porque como RS-485 o también EIA-485, es un estándar, se piensa que implementa una interfaz completa con la parte eléctrica y el protocolo de comunicación, pero no es así.

El protocolo lo pone el diseñador del sistema, no el estánar EIA-485, así que tendrás que crear tu estándar propio o utilizar alguno ya existente como MODBUS, HDLC, SDLC, FIELDBUS u otro que te guste o utilice el equipo con el cual te vas a comunicar.

Es por eso que yo le decía a mi hermano, un convertidor de medios RS-485+(protocolo que se implementa) a Ethernet.

Un saludo Reinier

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Comunicacion por RS485
« Respuesta #5 en: 21 de Mayo de 2007, 12:36:02 »
Sí, voy a mirar como va el MOSBUS, creo que tambien el PROFIBUS se usa sobre RS485, ¿cual recomendais? en principio es solo para comunicar equipos hechos por mi, pero seguro que estos protocolos estarán muy bien pensados y ademas asi aprendo y dejo abierta la posibilidad de usar otros equipos.

muchas gracias y un saludo

MODBUS es tremendamente más fácil que PROFIBUS...  MODBUS está muy documentado PROFIBUS no... o mejor dicho 'no gratuitamente'.  El Profibus requiere un manejo de las señales bastante importante lo que obliga en casi todos los casos a usar un integrado para el modo esclavo y el modo maestro... bueno, no tengo ni la más pálida idea de cómo hacerlo y que leyendo y leyendo lo poco que pude bajar, nada se comentaba más que "comprar la placa xxx con el soft xxx" de siemens... y asunto solucionado.



- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Comunicacion por RS485
« Respuesta #6 en: 21 de Mayo de 2007, 12:48:17 »
Uno muy sencillo, tal vez por lo añejo es SDLC (Serial Data Link Contro) desarrolaldo por IBM, que tiene versiones más actuales como HDLC, básicamente tiene la siguiente estructura

Flag | address | command | data | CRC | Flag

En google pones SDLC y te salen una pila de páginas que lo explican de maravillas

Es muy sencillo pero eficaz, a tal punto que muchas centrales telefónicas lo implementan

un Saludo Reinier

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Comunicacion por RS485
« Respuesta #7 en: 21 de Mayo de 2007, 14:47:01 »
Uno muy sencillo, tal vez por lo añejo es SDLC (Serial Data Link Contro) desarrolaldo por IBM, que tiene versiones más actuales como HDLC, básicamente tiene la siguiente estructura

Reinier, el HDLC tiene varias décadas, de hecho es lo que se usa en Ethernet.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Comunicacion por RS485
« Respuesta #8 en: 21 de Mayo de 2007, 15:10:12 »
Una razón más para aprender a utilizarlo, no lo cree usted mease maunix?

Desconectado ogris

  • PIC10
  • *
  • Mensajes: 26
Re: Comunicacion por RS485
« Respuesta #9 en: 21 de Mayo de 2007, 19:24:25 »
Muchas gracias por la ayuda, desconocia mucho el tema.

Estoy indeciso, el HDLC tiene muy buena pinta, aunque no me llega a gustar demasiado los Flags de inicio y fin q obligan a introducir un bit de relleno en algunos  bytes para no confundirlos con los flags.

El Modbus parece muy sencillo, lo que no acabo de ver es el tema del acceso al medio, ya que es un sistema maestro-esclavo y yo necesito q a veces los esclavos tienen que hacer llamadas al maestro sin que haya un polling.

el Profibus queda descartado por lo que me habeis comentado.

saludos



Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Comunicacion por RS485
« Respuesta #10 en: 21 de Mayo de 2007, 19:37:04 »
Una razón más para aprender a utilizarlo, no lo cree usted mease maunix?

Maese Reinier... por supuesto.  De hecho yo lo uso desde mi primer comunicación 485 hasta hoy en día. :)

El espíritu de mi post fue el de agregar un comentario o información al tema, más no corregirlo.  Espero no haya pensado que fue para corregir... un abrazo.

PD: siempre tengo que revisar como 3 veces cuando escribo tu nombre!!! tantas vocales y encima... me acabo de dar cuenta que tu nombre es capicúa!! ¿estoy en lo cierto?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Comunicacion por RS485
« Respuesta #11 en: 21 de Mayo de 2007, 19:49:40 »
Completamente CORRECTO respecto al nombre

Y por supuesto que nunca pensé que la nota era para rectificar nada en particular, simplemente contesté para reafirmar que era una excelente opción implementar HDLC o SDLC, más aún cuando es el mismo protocolo usado en Ethernet, cosa que no conocía.

Por cierto el problema del byte de flag se puede evitar codificándolo como una combinación de otros bytes, puede inventarte el código que desees. Por ejemplo si en la trama aparece un byte igual al flag lo puedes convertir en "\F\" o cualquier otro código, así te evitas tener que meter la serie de unos y ceros para resolver el problema. Claro cuando recibas una trama deberás sustituir el código por el valor adecuado.

Un saludo Reinier
« Última modificación: 21 de Mayo de 2007, 19:53:21 por reiniertl »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Comunicacion por RS485
« Respuesta #12 en: 25 de Mayo de 2007, 05:49:01 »
PD: siempre tengo que revisar como 3 veces cuando escribo tu nombre!!! tantas vocales y encima... me acabo de dar cuenta que tu nombre es capicúa!! ¿estoy en lo cierto?
¡Qué curioso!, un nombre capicúa. Yo sólo conocía el de Ana  :mrgreen:

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Comunicacion por RS485
« Respuesta #13 en: 25 de Mayo de 2007, 22:36:14 »
Yo sabia de Ada  :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Comunicacion por RS485
« Respuesta #14 en: 26 de Mayo de 2007, 11:50:34 »
Dejando un poco el asunto del nombre capicúa y retomando el de este hilo, recomendaría a este amigo utilizar el protoclo MODBUS porque en la última versión de CCS ya viene un driver para este protocolo.

Ya me estuve quemando las pestañas con SDLC y he comprobado que para implementarlo tal y como viene en el estándar voy a tener que escribir un programa en VHDL para meterlo dentro de un PLD, porque la USART no me sirve para ello, y hacer que el uC se encargue de emularlo sería demasiada carga para el uC o muy ineficiente.

Un saludo Reinier