Niveles de señal RS-485 / CAN

Por lo que sé, CAN en la capa física en el estado "recesivo" solo deja que pull-up/pull-down haga el trabajo.

¿Significa eso que el tiempo de subida es teóricamente más lento que un transceptor RS-485?

¿Y sobre el rechazo de ruido en RS-485 y CAN? Ambos usan un bus diferencial, pero nuevamente CAN se basa solo en resistencias para proporcionar la señal "recesiva".

Al leer algunos documentos, la mayoría, si no todos, establece RS-485 como 1200 m a 100 kbit/s, donde CAN normalmente establece un máximo de 40 m a velocidades más lentas (solo he leído uno que hablaba de redes CAN con bus más largo). líneas). E incluso los documentos CAN parecen ser más específicos sobre el uso de pares blindados donde RS-485 parece más "relajado" con UTP .

¿Es RS-485 más robusto y rápido para autobuses largos que CAN?

Sí, sé que uno es teóricamente maestro único y el otro multimaestro, pero para mí eso no es cierto ya que TDMA podría usarse para implementar un buen multimaestro en RS-485, enviando una señal de sincronización desde un "maestro" ( podría llamarse una fuente de sincronización en lugar de un maestro), de vez en cuando, y la ranura solo se usa para acceder al bus.


1 Sí, sé que CAN se diseñó inicialmente para el mercado automotriz, por lo que la distancia no es un gran problema, pero hoy en día parece usarse también en la automatización industrial, donde RS-485, creo, es "dominante".

2 He visto notas que dicen que RS-485 es más expansivo que CAN. Bueno, eso no es realmente lo que obtengo. Los principales microcontroladores "populares" tienen UART, mientras que una pequeña parte tiene controladores CAN, y los controladores CAN externos son difíciles de conseguir o costosos.

RS485 es (o se usa para) entornos más desagradables con más ruido, pero generalmente a menor velocidad. Se usa mucho en CCTV para ejecutar señales de control a cientos de metros (generalmente en cables baratos). El 485 de un solo par es un poco complicado, ya que solo permite comunicaciones simplex, si puede usar 4 cables (RS422), la vida se vuelve mucho más agradable.
Sí, solo permite semidúplex en un solo par (más un par para común, o incluso +V/común), esto no es un problema si tiene buenos dispositivos y protocolo. De todos modos, CAN está diseñado al principio para entornos automotrices que también son ruidosos.
La automoción es ruidosa, pero muy rara vez cae un rayo en el interior de su coche o tiene subestaciones de 20 kV instaladas en la guantera. He trabajado con ambos, RS485 es más robusto en un entorno externo, no solo por diseño, sino que también los chips del controlador generalmente están diseñados teniendo en cuenta el uso final, por lo que cuentan con una buena protección.

Respuestas (1)

CAN puede alcanzar hasta 1 Mbit/s en buses de hasta unas decenas de metros. El estado pasivo realmente no ralentiza la señalización. Un total de 60 Ω está juntando las líneas, lo que hará que lo hagan bastante rápido. He mirado bits en un bus CAN con un alcance, y los bordes han sido agradables y sólidos en ambas direcciones. Piense en el hecho de que el estado pasivo sigue impulsando el bus como si estuviera en cortocircuito, pero la impedancia de activación está en la impedancia característica del cable. Un controlador deliberado tendría la misma impedancia, por lo que realmente no hay diferencia.

Lo que limita la longitud de un bus CAN en la práctica es que la señal debe hacer un viaje de ida y vuelta entre los dos nodos más distantes en una fracción de bit. Esto es necesario para que funcione el mecanismo de detección de colisiones.

RS-485 y CAN están realmente en dos ligas diferentes. RS-485 le arroja una especificación eléctrica para un bus multipunto, y eso es todo. CAN define mensajes completos con ID y bytes de datos, una suma de verificación, información de control, detección de colisiones, detección de algunos errores y manejo de errores, y uso completo del ancho de banda bajo carga pesada, todo en una verdadera red de igual a igual. Además, este reintento de envío automático adicional está integrado en el hardware en varios microcontroladores de bajo costo.

En teoría, podría implementar algo como esto usando RS-485 como el bus subyacente, pero obtener todos los detalles del protocolo correctamente para una operación confiable en todos los casos de esquina no es tan fácil como algunas personas parecen pensar.

Gracias. Conozco la velocidad (aunque CAN FD parece ir a 10 Mbits/s en la parte de datos probablemente por el hecho de que no necesita arbitraje en esta fase), y el viaje de ida y vuelta es realmente la respuesta. De todos modos, mi pregunta se centra en la "robustez" del bus a EMI o RFI en un bus largo sin blindaje, ya que RS-485 normalmente no dicta filtros y CAN normalmente tiene filtros de paso bajo en las terminaciones. En cuanto a los bordes, he visto algunos gráficos que muestran "bordes lentos", tal vez algún controlador o terminación incorrecta.