RS-422 para topología de bus pseudo-multipunto?

2

He estado tratando de obtener una respuesta definitiva sobre la posibilidad de usar RS-422 para conectar un maestro y varios esclavos en forma de pseudo-multipunto / bus, y los esclavos pueden enviar algunos datos al maestro.

Mi caso de uso es:

  • 1 maestro
  • 4 esclavos
  • un par de Tx controlado por el maestro, conectado a todos los esclavos (es decir, topología de múltiples gotas RS-422)
  • un par Rx compartido manejado por (todos) los esclavos, de vuelta al maestro
  • solo el maestro iniciaría las comunicaciones.
  • no se requiere comunicación dúplex completa.
  • el maestro incluiría una dirección de esclavo de destino en los mensajes emitidos en el bus Tx, de modo que solo un esclavo específico lo procese, otros lo descartarán.
  • el esclavo seleccionado devuelve algunos datos al maestro a través del bus Rx único / compartido

Ahora, sé que RS-485 sería más apropiado, pero todavía me gustaría entender hasta qué punto puedo empujar RS-422. Solo tengo 4 nodos de destino, muy por debajo del límite de 10 permitido por RS-R422. El único problema que veo es que todos los esclavos están conectados / conduciendo permanentemente el bus Rx, incluso si solo hablan de uno en uno: ¿funcionará? También entiendo que si un esclavo falla, mi bus Rx se ha ido para siempre.

He leído declaraciones contradictorias sobre lo que RS-422 no puede / no debe usarse (con un área gris sobre el uso de RS-422 para el caso de uso anterior), por lo que cualquier información sería apreciada.

Saludos, Julien

    
pregunta Bids

1 respuesta

2

Lo que usted describe podría funcionar, pero cada esclavo tendría que poder habilitar y deshabilitar la conducción del único bus de retorno, y ese bus tendría que flotar pasivamente al nivel de inactividad. RS-422 no está diseñado para esto.

Como el maestro solo está transmitiendo o recibiendo al mismo tiempo, también puede usar un solo bus RS-485. No parece que esté obteniendo ninguna ventaja de dos señales en lugar de una sola señal RS-485.

Todo lo dicho, ya no es la década de 1990. Utilice CAN. Piense en ello como una versión para adultos de RS-485. Eléctricamente, sigue siendo un par diferencial de múltiples gotas. Sin embargo, el estándar cubre cómo se transmiten los paquetes completos, incluida una suma de comprobación CRC de 16 bits, detección de colisiones, reintentos y algunas otras cosas interesantes. Como todo esto es parte del estándar, puede encontrar fácilmente microcontroladores con periféricos CAN incorporados. A nivel de firmware, usted envía y recibe paquetes completos, y el hardware se encarga de todo lo que se encuentra debajo. Esto es mucho mejor que el RS-485, que simplemente te dice cómo marcar un 0 y un 1 y te deja el resto a ti.

Diseñar un protocolo de dispositivos múltiples verdaderamente robusto en RS-485 es mucho más difícil de lo que la mayoría de la gente cree. Muchos aficionados han estado aquí antes y han resuelto el 80% del problema muy bien. Luego, cuando suceden los casos de esquina en los que no pensaron correctamente, el sistema se bloquea, los datos se corrompen, etc. Una forma de hacerlo correctamente es usar el protocolo CAN, pero también puede usar CAN todo lo posible. . Una vez más, deje RS-485 a los historiadores.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas