¿Cómo funciona la conversión de Ethernet a CAN?

Me pregunto cómo funciona un convertidor de Ethernet a CAN. CAN es una red de transmisión multimaestro donde los mensajes están asociados con ID. Cada tipo de mensaje tiene una identificación única. Los dispositivos escuchan todos los mensajes en el bus y deciden si una identificación es de interés. Ethernet, sin embargo, utiliza direccionamiento de punto a punto, lo que significa que se especifican el remitente y el receptor. Esta información no se puede mapear en CAN, porque no hay un campo de remitente o receptor.

Digamos que el dispositivo A envía un mensaje m al dispositivo B. El dispositivo B está conectado a través de CAN al convertidor. El dispositivo A se comunica a través de Ethernet.

  1. ¿Cómo selecciona el convertidor de CAN a Ethernet la ID del mensaje al convertir una trama de Ethernet a un marco CAN? ¿Se utilizan los mismos ID de CAN para los paquetes al mismo destinatario?

  2. ¿Cómo convierte CAN-to-Ethernet un mensaje CAN en una trama Ethernet? Un mensaje CAN no tiene destinatario, pero una trama Ethernet conoce la dirección del destinatario. ¿Cómo funciona el mapeo?

No los convierte directamente en la capa MAC. Lo más probable es que encapsule el paquete CAN dentro de un paquete TCP y actúe como puerta de enlace. Un enlace a un producto específico ayudaría.
Esta era una pregunta más general sin centrarse en un producto específico.
Esa es la respuesta genérica. Las capas PHY y MAC son incompatibles. La conversión tiene que hacerse en una capa más alta.

Respuestas (2)

Varía según el fabricante del producto, pero en términos generales,

El convertidor de CAN a ETH lee todos los mensajes de CAN Bus, empaqueta cada mensaje como carga útil de datagrama de ethernet y lo envía a la computadora. Esta carga útil contiene ID de mensaje CAN, DLC y datos.

En la computadora, puede configurar para filtrar mensajes según sus requisitos. Por lo general, se proporciona una DLL y puede crear su propia aplicación. Algunos incluso ofrecen una aplicación en la que puedes monitorear el autobús.

Usamos el convertidor CAN-ETH de ProconX. Su manual de usuario contiene este diagrama simple que lo ayudará a comprender:Descripción del protocolo CAN-ETH

Nuevamente, depende del fabricante y puede encontrar detalles en el manual.

CAN-a-ETH: me pregunto qué destinatario está configurado en la trama de Ethernet que contiene el mensaje CAN. CAN es un protocolo de transmisión, pero Ethernet es punto a punto. ¿Significa esto que tales tramas de Ethernet también se transmiten?
Lo que uso está basado en UDP, que es un protocolo de transmisión. Para TCP-IP, probablemente se requiera alguna configuración al inicio donde primero se establece una conexión y luego se inicia la comunicación a través de CAN.
UDP no es un protocolo de transmisión (se puede usar con cualquier IP específica), pero también se puede usar con IP de transmisión o multidifusión. La principal diferencia con TCP es que UDP no establece una conexión y, en consecuencia, no puede asegurar la recepción; esto tampoco hace posible la transmisión a través de TCP. Además, UDP forma parte de TCP-IP (conjunto de protocolos), mientras que TCP es la alternativa a UDP para la capa de Transporte de TCP-IP (diferencia entre TCP y TCP-iP).
@AdrianMaire Sí. Eso es correcto. Pero UDP aquí es el protocolo de elección porque no tiene conexión Y admite transmisión, similar a CAN.

Los programas de aplicación de software que están configurados para funcionar con dispositivos CAN a través de una conexión Ethernet empaquetarán el protocolo CAN (incluidos los ID) en la carga útil de datos de la conexión Ethernet. Un procesador inteligente en el convertidor de Ethernet a CAN conoce tanto el protocolo CAN como cómo desempaquetar/empaquetar ese protocolo en la carga útil de datos de Ethernet. Ese dispositivo simplemente actúa como un puente entre los programas de aplicación de software y los dispositivos CAN de destino utilizando Ethernet como un servicio de entrega conveniente.