Multiplexar un bus CAN

4

Quiero usar un pequeño microcontrolador de 8 bits que tiene un solo CAN rx / tx, es decir, Atmel 32c1, pero en mi aplicación debo poder enviar y recibir solicitudes de dos buses CAN.

He leído la hoja de datos de un transceptor en particular, AMIS − 42700 ( enlace ), pero no entiendo si esto se une físicamente a los dos autobuses o permite que un microcontrolador reciba y envíe en los dos autobuses, como un mux.

Absolutamente no quiero que los dos buses se unan para ningún otro dispositivo.

¿Es esto posible usando un transceptor o multiplexor? Siento que la solución ideal sería algo así como un dispositivo que se une de manera inteligente a los dos buses que ingresan al microcontrolador y tiene un mux en TX (quizás controlado por gpio) que puedo cambiar entre escribir mensajes en los dos buses diferentes para seleccionar un bus para escribir .

    
pregunta kvanberendonck

2 respuestas

5

En principio, debería poder multiplexar líneas de señal CAN de MCU, antes de que se utilicen para conectarse a un transceptor de capa física CAN, utilizando algo como a 74HC4052 .

En la práctica, sugeriría que no es una muy buena idea hacerlo. El problema es que la multiplexación significaría que se garantiza que perderá periódicamente las transmisiones de cada uno de los buses.

Si no puede tolerar la falta de tráfico regular en cualquiera de los dos buses, entonces sería mejor utilizar un periférico CAN externo; un ejemplo sería el MCP25625 , que tiene una capa de enlace CAN y PHY y se controla mediante SPI . Agregar esto a su MCU + CAN PHY existente le permitiría interactuar de manera simultánea y por separado con ambos buses CAN, con poco o ningún riesgo de perder tráfico.

    
respondido por el markt
1
  

¿Es esto posible usando un transceptor o multiplexor? Siento que la solución ideal sería algo así como un dispositivo que se une de manera inteligente a los dos buses que ingresan al microcontrolador y tiene un mux en TX (quizás controlado por gpio) que puedo cambiar entre escribir mensajes en los dos buses diferentes para seleccionar un bus para escribir .

Bueno, este chip es exactamente lo que estás buscando, pero con un toque. No puede transmitir o recibir en ambos buses CAN al mismo tiempo.

Hacer que un sistema que utiliza uno u otro puede ser utilizado por bus o por otro, es fácil.

Crear un sistema que los use a ambos al mismo tiempo, sin problemas.

    
respondido por el iggy

Lea otras preguntas en las etiquetas