CAN al convertidor SPI

0

Estoy buscando un chip que convierta los mensajes CAN en un mensaje SPI.

¿Hay algún chip disponible como tal?

Hasta ahora he encontrado MCP2515 . Pero este chip no cumple su función, ya que las transacciones SPI deben activarse en este chip. El maestro tiene que solicitar datos de MCP2515. Este no es mi propósito.

Quiero un convertidor de tal forma que convierta inmediatamente CAN a SPI, sin ninguna ayuda del activador.

¿Hay un chip que pueda funcionar así?

También se apreciarán ideas alternativas para cumplir con este requisito.

    
pregunta Pranav Pathak

2 respuestas

5

Tales chips no existen porque eso no tendría ningún sentido. Para entender por qué, necesita saber cómo funcionan SPI y CAN.

En SPI, la transmisión siempre se inicia mediante una iniciativa del maestro. En CAN, cualquier nodo puede iniciar una transmisión en cualquier momento, a menos que el bus esté ocupado, en cuyo caso pondrán en cola el mensaje y lo enviarán la próxima vez que gane un arbitraje de bus. SPI no tiene el concepto de arbitraje de bus.

En SPI, siempre hay una señal de selección de esclavo, que se puede utilizar de varias maneras para determinar qué nodo (s) escuchan. En CAN, cada nodo siempre escucha cada mensaje y la decisión de si deben actuar o no se realiza mediante el firmware, o mediante filtros establecidos a través del firmware.

SPI solo permite la comunicación 1: n con un maestro presente. Los esclavos no pueden hablar directamente entre sí sin que el maestro inicie la comunicación, aunque pueden transferir datos entre ellos a través de un diseño en cadena. CAN funciona sin la presencia de un maestro dedicado, cualquier nodo puede hablar con cualquier otro nodo.

SPI admite velocidades en baudales completamente variables y mucho más altas que CAN.

CAN ha estandarizado marcos de capa de enlace de datos con identificadores, CRC y campos de final de marco, etc. Los controladores CAN pueden manejar muchas cosas automáticamente, que tendría que implementar manualmente en SPI.

etcétera etcétera.

Por lo tanto, el chip que está buscando es un microcontrolador específico para el proyecto, adaptado a las necesidades particulares de un determinado producto, para el que tiene que escribir firmware personalizado. Preferiblemente, la MCU debería tener un controlador CAN a bordo. Casi todos los MCU en el mercado tienen SPI a bordo.

    
respondido por el Lundin
3

De hecho, MCP2515 no es lo que quieres. El propósito de este chip específico es agregar una interfaz CAN a un microcontrolador que no lo tenga. Es un dispositivo SPI esclavo y necesita una MCU maestra para trabajar.

De hecho, lo que quieres no existe como tal. Sin embargo, podría implementarlo muy fácilmente con el microcontrolador más pequeño que tiene una interfaz CAN disponible. Todos los fabricantes ofrecen algunos. Podría sugerir PIC18F25K80 de microchip, STM8AF5268 de ST, ... Pero tendrá que desarrollar el firmware. Sería un firmware muy simple, pero si nunca ha trabajado con microcontroladores, tendrá algunas cosas que aprender.

    
respondido por el dim

Lea otras preguntas en las etiquetas