¿Mezclar nodos CAN con y sin transceptores en un bus?

Puedo ver, según la respuesta a esta pregunta, que es posible hacer un bus CAN corto/lento sin usar transceptores y un bus diferencial. Esto plantea (al menos para mí) una pregunta relacionada interesante: ¿hay alguna manera de mezclar nodos en un solo bus CAN, algunos de los cuales tienen transceptores y otros no?

El caso de uso que imagino es el siguiente: hay varias MCU en una PCB que están en el mismo bus CAN. Están muy juntos y el recinto está bien protegido usando, por ejemplo, una caja de aluminio. Supongamos que funciona conectarlos de la manera recomendada en el enlace anterior.

Este bus luego sale de la placa, a varios nodos CAN remotos. Enviar el cable único fuera del gabinete es una idea terrible. Pero, ¿existe un diseño generalmente aceptado que le permita conectar estos nodos sin transceptor a un transceptor que luego envía un par completamente diferencial a los nodos remotos?

Como una forma alternativa de considerar esta pregunta: ¿hay alguna forma de conectar múltiples MCU habilitados para CAN a un solo transceptor?

Respuestas (2)

Esto podría funcionar:

esquemático

simular este circuito : esquema creado con CircuitLab

Si MCU1 quiere transmitir, extraerá la línea compartida con MCU2 y la línea CANTX del transceptor a través de D2 y D4.

Si MCU2 quiere transmitir, extraerá la línea compartida con MCU1 y la línea CANTX del transceptor a través de D1 y D5.

Si el transceptor recibe un cero, extraerá la línea compartida a través de D3.

Cuando ninguno de los dispositivos está funcionando, las resistencias elevan las líneas.

Es "hacker". Consideraría diferentes interfaces (como SPI o I2C, o un montón de UART) para comunicarse en la misma PCB y hacer que una MCU sea una puerta de enlace al bus CAN externo.

Interesante. De acuerdo en que es un truco. El uso de una MCU como conmutador entre redes es algo que esta pregunta se formuló para evitar: si los mensajes CAN van directamente a cada nodo de la red, se pueden usar los filtros de mensajería CAN integrados en lugar de técnicas de enrutamiento/conmutación más activas. Resulta que esto puede ahorrar cantidades sustanciales de tiempo de cómputo si las tasas de datos son lo suficientemente altas. Y aunque cada nodo en una PCB técnicamente podría tener la pila de hardware CAN completa, parece una exageración dentro de un gabinete blindado.
Voy a marcar esto como la respuesta (más prometedora), con la advertencia de que no lo he probado yo mismo, y aparte de que es plausible a primera vista, no puedo verificar que funcionará.

He visto esta publicación, probé lo anterior, pero no funcionó. Entonces, hice algunas modificaciones y lo probé y lo siguiente está funcionando:Conexión de transceptor CAN mixto