¿Cuáles son las principales aplicaciones del protocolo CAN?

El protocolo CAN (Controller Area Network) fue desarrollado por la empresa europea de electrónica automotriz Robert Bosch GmbH en 1983 para la conexión en red en vehículos. La intención detrás del desarrollo del protocolo CAN era permitir una comunicación de datos sólida entre diferentes unidades de control electrónico (ECU) y unidades de control de microcontrolador (MCU) de un vehículo a través de un solo cable para eliminar el complejo cableado punto a punto entre ellas. . A pesar de comunicar datos a través de un único bus, CAN no requiere ninguna computadora host.

El protocolo CAN estándar opera en las capas física y de enlace de datos del modelo OSI. Las otras capas de la pila de protocolos no se implementan dentro de CAN, lo que ha demostrado ser una gran ventaja. Los ingenieros de sistemas son libres de diseñar otras capas de la pila de protocolos de la manera que mejor se adapte a una aplicación. Hoy en día, CAN tiene la reputación de ser un protocolo de comunicación de red en serie robusto, simple, multidominio y versátil que debe implementarse siempre que se requiera una comunicación frecuente de datos en tiempo real entre dispositivos electrónicos que pertenecen a diferentes dominios. CAN realiza variaciones como CANopen, DeviceNet y J1939, lo que permite la implementación de las siete capas de pila de protocolos junto con las capas CAN estándar 1 y 2 para casos de uso específicos. Aprender la implementación del protocolo CAN estándar sería esclarecedor.

En este artículo, analizaremos el protocolo CAN y sus características distintivas. A continuación, exploraremos algunas aplicaciones típicas del protocolo CAN e investigaremos cómo se utiliza CAN allí.

Puede estándar
Las especificaciones CAN definen el protocolo CAN y la capa física CAN. El protocolo está definido principalmente por las especificaciones ISO-11898, pero también se aplican al protocolo otras especificaciones como ISO-11519 para comunicación de datos en serie de baja velocidad. La especificación ISO-11898 se divide en tres partes. La primera parte define las especificaciones de la capa de enlace de datos y del enlace físico único. La segunda parte de la especificación define la capa física CAN para CAN de alta velocidad. La tercera parte de la especificación define la capa física CAN para CAN de baja velocidad.

CAN de baja velocidad tiene velocidades de datos de 5 Kbps, 10, 20, 50 y 125 Kbps. CAN de alta velocidad tiene velocidades de datos de 250, 500, 800 Kbps y 1 Mbps. En una red CAN, los datos se comunican a través de un cable plano o de par trenzado blindado o no blindado con una impedancia característica de 120 ohmios. Los conectores DB9 (macho) se utilizan según la especificación CiA DS-102. CiA significa "CAN en Automatización". El alcance máximo de un bus CAN es de 1000 m (a 40 Kbps). Para CAN de alta velocidad, el alcance máximo es de 40 m a 1 Mbps. A un bus CAN se pueden conectar como máximo 127 estaciones.

Cómo funciona el protocolo CAN
En una red CAN, cada dispositivo o sistema electrónico conectado al bus es un nodo. Cada nodo consta de tres elementos: controlador de host, controlador CAN y transceptor CAN. El controlador host es un microcontrolador o procesador dentro del dispositivo/sistema que ejecuta alguna aplicación para un trabajo específico. El controlador CAN maneja la transmisión y recepción de mensajes CAN entre el controlador host y el bus CAN. Actúa como un controlador de protocolo. El transceptor CAN se encarga de transmitir y recibir mensajes CAN a través del bus CAN. Actúa como conductor de línea. Si bien el controlador principal es un controlador/procesador físico, el controlador CAN y el transceptor CAN se implementan en software o firmware.

Componentes de un nodo CAN

Cada nodo es un transceptor CAN. Los datos se comunican de forma asincrónica y semidúplex. Los bits se transmiten a través del bus CAN mediante voltaje diferencial. Los dos cables del bus CAN se denominan CAN bajo y CAN alto. Hay dos estados lógicos inusuales en el bus CAN, llamados recesivos y dominantes. La lógica 1 es el estado recesivo y la lógica 0 es el estado dominante. Normalmente, el bus está en un estado recesivo, es decir, lógica 1. Para el estado recesivo o comunicación lógica 1, tanto el cable CAN bajo como el cable CAN alto reciben la mitad del voltaje de suministro VDD o VCC. El voltaje de suministro es normalmente de 5 V, por lo que ambos cables se aplican a 2,5 V. Como resultado, el voltaje diferencial entre los cables es 0 V. Esto se lee como lógica 1. En el estado dominante, CAN alto aumenta a 3,5 V y CAN bajo aumenta a 1,5 V. Como resultado, el voltaje diferencial entre dos cables es 2 V. Este es el estado dominante del bus, que el transceptor CAN lee como 0 lógico.

Ejemplo de niveles de señal CAN

El estado dominante siempre reemplaza al estado recesivo. El bus sólo permanece en el nivel recesivo cuando todos los nodos envían el bit recesivo. Debido a la lógica AND, incluso si un solo nodo envía un bit dominante, el estado del bus es dominante.

CAN es un protocolo basado en mensajes. Los datos se comunican en forma de marcos de mensajes. Una trama es una secuencia significativa de bits. Hay cuatro tipos de tramas de mensajes: tramas de datos, tramas remotas, tramas de error y tramas generales. Las tramas de datos transportan mensajes desde un transceptor CAN, las tramas remotas se envían para solicitar datos de otros transceptores CAN, las tramas de error se envían para indicar un error en una trama de datos y la trama de sobrecarga se envía para indicar una sobrecarga de tramas de datos, lo que indica la necesidad de Retraso en la transmisión de tramas de datos. Un campo identificador identifica cada trama. El campo de identificación es de 11 bits en CAN estándar y de 29 bits en el protocolo CAN extendido. Para obtener más información sobre la estructura/formato de las tramas de datos y otras tramas CAN, consulte este artículo sobre el protocolo CAN estándar.

A la vez, sólo un nodo puede acceder al bus. El método de acceso utilizado en el protocolo CAN es un método de acceso múltiple con detección de portadora y detección de colisiones (CSMA/CD) llamado arbitraje bit a bit (BA). El campo identificador de un marco de datos define la prioridad del mensaje. Cuanto menor sea el valor del identificador, mayor será la prioridad. Por lo tanto, una trama de datos con el campo de identificador 0x6C3 tiene mayor prioridad que una trama de datos con el campo de identificador 0x7B4. Del mismo modo, una trama de datos con el campo de identificación 0x7B3 tiene mayor prioridad que una trama de datos con el campo de identificación 0x7B4.

Cualquier nodo puede acceder al bus CAN si está inactivo, es decir, en estado recesivo. Si dos o más nodos intentan acceder al bus simultáneamente, el nodo que transmite una trama de datos con un campo identificador más pequeño, es decir, una trama de datos con mayor prioridad, tendrá acceso al bus. Los campos de identificador se comparan bit a bit desde el MSB (bit 10) al LSB (bit 0) hasta que un nodo gana el arbitraje. Si un nodo transmite un bit correspondientemente recesivo mientras cualquier otro nodo transmite un bit dominante, el nodo perderá el arbitraje. De esta manera, el nodo que transmite una trama de datos con el valor de identificador más bajo, es decir, con la mayor prioridad, obtiene acceso al bus CAN. Los nodos restantes deben esperar su turno según el nivel de prioridad de su marco de datos.

Una trama de datos transmitida por un nodo CAN se transmite a todos los demás nodos del bus. En otros nodos, lo filtran y lo reciben solo si el campo de identificador se aplica a ellos.

¿Por qué puede?
Hay muchas razones para elegir el protocolo CAN. CAN es un protocolo de comunicación de red en serie y requiere solo dos cables para comunicar datos entre múltiples dispositivos. Todos los dispositivos conectados a una red CAN se comunican a través de un bus común de dos hilos. No es necesario conectar dos nodos/dispositivos uno por uno.

Dado que el controlador CAN y el transceptor CAN se implementan a nivel de software/firmware, y el protocolo se implementa solo en la capa física y de enlace de datos, los dispositivos de diferentes dominios pueden comunicarse en el mismo bus. Los ingenieros de sistemas pueden diseñar individualmente las otras capas del modelo OSI en cada dispositivo o nodo de acuerdo con la necesidad o función del nodo/dispositivo específico.

CAN es un protocolo basado en mensajes. A diferencia del protocolo basado en direcciones, este tipo de protocolo no se ve afectado por la adición o eliminación de nodos en el bus. Los mensajes transmitidos a través del bus se transmiten a todos los demás nodos y se filtran según el campo de identificador a nivel de nodo. La prioridad se asigna a los telegramas, no a los nodos CAN, a través de sus campos de identificación. De esta forma, no es necesario identificar nodos que comparten el bus CAN. Los nodos se pueden insertar o eliminar sin afectar la red CAN.

Diseñado para redes de vehículos, el protocolo utiliza voltajes diferenciales. Por lo tanto, otros nodos no pueden corromper ni modificar los datos. Debido a los niveles diferenciales de voltaje, CAN es uno de los protocolos de comunicación serial más robustos.

El bus CAN tiene menos posibilidades de colisión entre dispositivos. Mediante arbitraje bit a bit, se asigna prioridad a los mensajes, de modo que los mensajes más importantes se comunican primero a través del bus, independientemente de los nodos que los transmiten. Los datos se transmiten a través del bus de forma asíncrona y se priorizan mediante arbitraje bit a bit.

El protocolo permite la verificación de errores por motivos de confiabilidad y ofrece una excelente inmunidad al ruido. CAN es un protocolo de comunicación en serie ampliamente utilizado para el intercambio de datos frecuente pero a baja velocidad entre dispositivos electrónicos integrados. Muchos chips tienen interfaces CAN integradas. Los chips semiconductores para configurar la red CAN están disponibles de proveedores como Maxim Integrated, Texas Instruments, Analog Devices, Microchip Technology, NXP, ST Microelectronics y otros.

aplicaciones CAN
El protocolo CAN se utiliza ampliamente en todo tipo de aplicaciones de la industria automotriz, incluidos vehículos de pasajeros, vehículos pesados ​​y utilitarios y vehículos agrícolas. Como protocolo de comunicación en serie robusto, confiable y versátil, CAN no se limita solo a los automóviles. El protocolo lo utilizan los módulos de control de trenes y aviones de alta velocidad. Se utiliza en sistemas de entretenimiento e información y entretenimiento en automóviles. El protocolo se utiliza para controlar y monitorear grúas y plataformas de perforación. Es utilizado por ascensores y sistemas de control de ascensores. El protocolo se utiliza para la automatización de edificios, como sistemas de calefacción y aire acondicionado. También se utiliza en puertas automáticas y abrecortinas. Se utiliza para riego automatizado en invernaderos y granjas. El protocolo se adopta ampliamente en instrumentación médica debido a su robustez y versatilidad. Muchos sistemas de control de máquinas herramienta utilizan la red CAN como sistema de bus en el dispositivo, lo que permite la automatización de la fábrica. El protocolo también lo utilizan redes de sensores donde se requiere robustez de la señal debido a factores ambientales.

CAN en automóviles
Diseñado para redes automotrices, el protocolo CAN se utiliza en la mayoría de los turismos. Permite la comunicación de datos entre múltiples ECU sin ningún cableado individual. La mayoría de los automóviles tienen un sistema de gestión del motor basado en CAN. No solo eso, la mayoría de los automóviles conectan las ECU electrónicas de la carrocería a través de sistemas multiplex basados ​​en CAN. Los sistemas de entretenimiento del vehículo se conectan a través del bus CAN. Además, el bus CAN se utiliza en los sistemas de diagnóstico de los vehículos. ISO-15765 es una especificación para interfaces de diagnóstico basadas en CAN. CAN también se utiliza para la comunicación de datos orientada a la conexión entre dispositivos de entretenimiento en automóviles.

En los coches eléctricos y los vehículos híbridos, la red CAN desempeña un papel inesperadamente más amplio. Es útil para la comunicación entre inversores, sistemas de gestión de baterías y controladores de servomotores. También conecta servocontroladores con interfaz hombre-máquina al controlador. Aunque CANopen es la variante CAN más utilizada en aplicaciones no automotrices, es la que está encontrando uso en vehículos híbridos y eléctricos.

Muchas máquinas agrícolas, como excavadoras y carretillas elevadoras, dependen de redes basadas en CAN. En las grúas sobre camión, CAN se utiliza para monitorear y controlar el sistema de grúa.

CAN en los sistemas de transporte público
El protocolo CAN se utiliza ampliamente en trenes y aviones de alta velocidad. Los trenes utilizan CAN para conectar los sistemas de control de frenos. En los trenes de alta velocidad, CAN se utiliza para permitir el frenado automático. Los trenes también utilizan CAN para comunicarse con subsistemas como control de frenos, control de puertas, diagnóstico, monitoreo de vagones de carga y para comunicarse con puertas de enlace en sistemas de autobuses de trenes. CAN también es útil para automatizar los sistemas de atención al cliente y de información al pasajero.

En el transporte por carretera, las redes de sensores basadas en CAN se utilizan para la detección de velocidad, la vigilancia del tráfico y la gestión de semáforos. CAN es también el protocolo utilizado por los equipos electrónicos marinos. También se utiliza para conectar sistemas de control de motores de aviones con sensores de estado de vuelo y sistemas de navegación.

CAN para automatización industrial
Al ser un protocolo de comunicación serie confiable equipado con métodos de detección de errores, lógica de señal robusta y capacidad de confinamiento de fallas, los protocolos basados ​​en CAN como CANopen, DeviceNet y Smart Distributed Systems se utilizan ampliamente para controlar máquinas industriales. Los equipos de fabricación de semiconductores, las máquinas de embalaje de cartón, las máquinas de procesamiento textil, las máquinas de impresión y los equipos de control de calidad dependen de redes CAN integradas. Los sistemas de control distribuido basados ​​en CAN se utilizan ampliamente para el control de robots y la automatización de líneas de montaje.

CAN en la automatización de edificios
En la automatización de edificios, el protocolo CAN se utiliza ampliamente en subredes. Los sistemas de control de ascensores y ascensores, los sistemas de aire acondicionado, las puertas automáticas, los abridores automáticos de cortinas, los sistemas de control de persianas, los sistemas de calefacción y refrigeración y los sistemas de control de iluminación utilizan protocolos basados ​​en CAN para la comunicación entre diferentes dominios.

CAN en electrónica médica
Debido a las señales sólidas, las capacidades de detección de errores y la comunicación entre dominios, CAN es un protocolo ampliamente aplicado para la comunicación en dispositivos en equipos electrónicos médicos, como máquinas de rayos X y escáneres de tomografía computarizada. Los protocolos basados ​​en CAN también se aplican a redes entre dispositivos en unidades de cuidados intensivos y quirófanos.

CAN en electrónica integrada
CAN permite una conexión en red integrada flexible y se emplea como bus de sistema en muchos electrodomésticos y dispositivos de consumo, como lavadoras, máquinas expendedoras, sistemas de audio y vídeo, máquinas de café y muchos otros electrodomésticos.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.