Bus CAN en placa PCB

¿Funcionará también un bus CAN para la comunicación a bordo, sin cableado de par trenzado, entre 2 o más microcontroladores en la misma placa PCB?

Respuestas (4)

No hay necesidad de usar transceptores CAN cuando la comunicación está dentro de una PCB. Sin embargo, no puede conectar los controladores CAN directamente. Necesita diodos para evitar colisiones. Vea aquí para una explicación .

ingrese la descripción de la imagen aquí

CAN es un bus digital que funciona hasta 1MHz. Si diseñas la PCB con las precauciones habituales para una señal de esa velocidad, estará bien.

Las líneas CAN (CAN Tx y CAN Rx) también se han utilizado en nuestro diseño para comunicarse con diferentes MCU en esta misma placa base. El transceptor CAN tampoco se usó.

Habíamos simplificado la comprensión entre las MCU. No estaba ocurriendo ningún arbitraje. Siempre se basó en consulta y respuesta.

En caso de que necesite conectar más de dos dispositivos, use transceptores dedicados para todas las MCU para proteger la MCU y también para cumplir con el protocolo CAN.

También ayuda en el uso de herramientas de depuración estándar basadas en CAN (en caso de que sea necesario en el futuro)

Sí, esto se puede hacer, y como es bastante difícil crear un protocolo multimaestro robusto desde cero, CAN no es una mala opción para esto (aunque la detección/recuperación de errores es un poco excesiva para las aplicaciones integradas). Sin embargo, no me molestaría en usar transceptores CAN, ya que son bastante inútiles y presentarán más problemas con respecto al consumo de energía, el espacio mínimo entre nodos y las longitudes de los tramos (debido a la alta energía que se pone en la línea de transmisión). Si puede configurar las salidas del microcontrolador en modo de colector abierto, entonces puede implementar un sistema simplemente conectando todos los pines TX y RX juntos en un solo bus de nivel lógico OR cableado junto con una resistencia pull-up adecuada. De lo contrario, necesitará un diodo en serie en el pin de transmisión o un transistor discreto.

@Maple ha realizado algunas modificaciones para que quede más claro.