Me asignaron a un proyecto para encontrar la mejor comunicación posible entre varias placas de PCB que tienen microcontroladores para una función específica. Necesito que todos los microcontroladores se comuniquen con la placa principal que contiene una CPU.
Necesito enviar información de la placa base a los controladores y recibir una respuesta de los controladores. Cada placa controladora está diseñada para un propósito específico. No necesito comunicarme entre los microcontroladores, pero incluso si un microcontrolador no se comunica, no afectará a los demás. Actualmente, necesito tener seis microcontroladores que se comuniquen, pero en el futuro más que eso. Quiero evitar más conexiones por cable entre la placa base y los otros controladores (debería ser menos).
La comunicación no debe verse afectada por la temperatura (250 ° F (120 ° C)) y la presión (alta). La distancia entre la placa base y el controlador final puede ser más de un metro. ¿Qué tipo de controladores son los mejores? Necesito realizar algunos cálculos y lecturas de sensores. Cada placa tiene más de dos sensores. Necesito realizar algunos cálculos sobre las lecturas del sensor o enviar valores directamente.
Soy nuevo en este tipo de proyecto. He buscado la mejor comunicación, pero estoy confundiendo cuál es la mejor. Algunas personas me sugieren que use la comunicación CAN. Si elijo la comunicación CAN, ¿qué tipo de microcontroladores es mejor? He adjuntado un diagrama simple de cómo se verá como se muestra a continuación.
fuente
Respuestas:
Si elige CAN, entonces el "mejor" micro es uno con CAN incorporado (muchos tienen esto, Coldfire MCF5225x es un ejemplo).
I2C o RS485 / RS422 también son buenas opciones, dependiendo de las características eléctricas de la situación (distancia, ruido, potencia). El resto se reduce al protocolo que utiliza para comunicarse: cómo abordar los mensajes, controlar el flujo y evitar colisiones.
Le deseo buena suerte al encontrar un micro que funcione a 180c, las especificaciones automotrices superan los 125c y no creo que incluso las especificaciones militares mejoren drásticamente.
Debe comenzar con la capa 1 (eléctrica) para determinar qué debe hacer la interfaz física, después de eso es principalmente un problema de software sobre cómo hablar. En estos días, Ethernet podría incluso ser una opción viable si los micros tienen espacio para ejecutar un sistema operativo modesto.
fuente
Puede consultar http://www.keil.com/dd/chip/3648.htm LPC 2129 ARM7TDMI-S con soporte CAN. Esto puede ayudar si arregla su interfaz como CAN. También puede tener conectores y cables industriales o de grado MIL debido a su restricción de temperatura. Echa un vistazo a proveedores como cables radiantes, conectividad TE, Amphenol, conectores aliados que fabrican cosas para entornos de alta temperatura. Además, puede ver algunos materiales resistentes al calor como el teflón que ayudan a proteger la interfaz de comunicación.
fuente
Para CAN (y recomendaría encarecidamente CAN para su configuración), recomiendo el LPC11C24 , un ARM Cortex-M0. Creo que es el único que ya tiene incorporado el transceptor, por lo que no es necesario un chip adicional para implementar la capa física (como es habitual en el resto de microcontroladores CAN). También tiene algunas librerías C agradables y fáciles de usar ROM incorporadas para CAN y CANOpen estándar.
fuente
La familia Freescale S08D o alguna Kinetis barata tiene CAN y soporte a 125ºC. Sin embargo, los valores más altos de temperatura solo se obtienen en chips valiosos en Freescale (fuente: búsqueda paramétrica). ¡Prueba la búsqueda paramétrica de todos los sitios!
fuente
CAN es bastante complicado en la implementación de software.
¿Por qué no utilizar RS-485, que también es estándar industrial? Hay muchos transceptores RS-485 con soporte de temperatura de 125'C.
fuente