Dónde usar CAN v RS485

0

No estoy seguro de si esta es una pregunta demasiado amplia pero ... ¿Por qué elegir uno CAN Bus sobre RS485, o viceversa, como interconexión del sistema? Tengo un MCU SBC con varias interfaces, incluidas las dos mencionadas. Al alimentar eso, tengo varios sensores / transductores (hasta 20 en total).

RS485 es el más común, pero algunos también tienen CAN. Los que tienen CAN también pueden tener RS485.

En ciertos casos, no podemos colgar 2 conjuntos de dispositivos que tienen protocolos diferentes si envían paquetes NACK automáticamente, porque un dispositivo NACK perfectamente bueno es el paquete malo de otro (y por lo tanto envía un NACK ...)

Dado que todos los dispositivos tienen paquetes cortos e interconexiones de menos de un metro de longitud, ¿qué otros factores obligarían a usar?

    
pregunta Dirk Bruere

2 respuestas

4

La principal diferencia es que CAN admite operaciones de múltiples maestros a través de un arbitraje no destructivo. Tiene una estructura cableada y. En otras palabras, con RS485 necesita tener un mecanismo para coordinar dispositivos para garantizar que más de un dispositivo no intente transmitir al mismo tiempo. Con el bus CAN esto no es un problema.

La forma habitual de resolver este problema con RS485 es definir un único dispositivo maestro (su SBC, por ejemplo) que sondea cada sensor en la red. Esto puede funcionar bien. La principal desventaja en comparación con CAN es que existe un punto único de falla (su maestro), aunque en su caso no es un problema real, ya que si el maestro falla, no hay nada para usar los datos del sensor de todos modos. Dependiendo de su esquema de muestreo / sondeo, CAN también puede ofrecer una mejor latencia, ya que los sensores pueden transmitir datos de manera autónoma tan pronto como estén disponibles.

Como señalan otras respuestas, CAN también define más capas del protocolo que RS485, pero en la práctica puede emular gran parte de esta funcionalidad, aparte de la que se basa en el arbitraje a nivel de bus.

    
respondido por el Jon
0

RS485 solo aborda la capa 1 (PHY) y CAN también agrega la capa 2 (PHY y DATOS) en el modelo OSI.

Es posible comparar, pero es mejor definir sus requisitos de bus para cada capa, luego decidir.

Por ejemplo, Considere una máquina CNC con XYZ de 3 ejes, husillo de RPM y bomba de agua, etc. Tal vez alguna GUI solo funciona para puertos serie como el código GRBL con múltiples periféricos dentro de 1 m y usted tiene un gran código abierto de software de Capa 7, así que elija este y asegúrese de que su adaptador USB tenga un gran estrangulador de ferrita entre el objetivo flotante con alimentación SMPS y Torre de PC a tierra. Entonces, ¿por qué CAN o RS485?

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas