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.
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.
Juan U.
Diego C Nascimento
Juan U.