Una red de área de controlador ( CAN ) es un estándar de bus vehicular diseñado para permitir una comunicación eficiente principalmente entre unidades de control electrónico (ECU). Originalmente desarrollado para reducir la complejidad y el costo del cableado eléctrico en automóviles mediante multiplexación , el protocolo de bus CAN se ha adoptado desde entonces en varios otros contextos, como la impresión 3D [ 1 ] . Este protocolo basado en difusión y orientado a mensajes garantiza la integridad y la priorización de los datos a través de un proceso llamado arbitraje , que permite que el dispositivo de mayor prioridad continúe transmitiendo si varios dispositivos intentan enviar datos simultáneamente, mientras que otros retroceden. Su confiabilidad se mejora mediante señalización diferencial , que mitiga el ruido eléctrico. Si se pierde un lado de la señal diferencial, el sistema puede cambiar a comunicación de un solo cable. Esto es para garantizar la comunicación de datos para sistemas críticos. Las versiones comunes del protocolo CAN incluyen CAN 2.0, CAN FD y CAN XL, que varían en sus capacidades de velocidad de datos y tamaños máximos de carga útil de datos.
Historia
El desarrollo del bus CAN comenzó en 1983 en Robert Bosch GmbH . [ 2 ] El protocolo se publicó oficialmente en 1986 en la conferencia de la Sociedad de Ingenieros Automotrices (SAE) en Detroit , Michigan . Los primeros chips controladores CAN fueron presentados por Intel en 1987, y poco después por Philips . [ 2 ] Lanzado en 1991, el Mercedes-Benz W140 fue el primer vehículo de producción en incorporar un sistema de cableado multiplexado basado en CAN. [ 3 ] [ 4 ]
Bosch publicó varias versiones de la especificación CAN. La más reciente es CAN 2.0, publicada en 1991. Esta especificación consta de dos partes. La parte A corresponde al formato estándar con un identificador de 11 bits, y la parte B al formato extendido con un identificador de 29 bits. Un dispositivo CAN que utiliza identificadores de 11 bits se denomina comúnmente CAN 2.0A, y un dispositivo CAN que utiliza identificadores de 29 bits se denomina comúnmente CAN 2.0B. Estos estándares están disponibles gratuitamente en Bosch, junto con otras especificaciones y documentos técnicos . [ 5 ]
En 1993, la Organización Internacional de Normalización (ISO) publicó la norma CAN ISO 11898, que posteriormente se reestructuró en dos partes: ISO 11898-1, que abarca la capa de enlace de datos , e ISO 11898-2, que abarca la capa física CAN para CAN de alta velocidad. Posteriormente se publicó ISO 11898-3, que abarca la capa física CAN para CAN de baja velocidad y tolerante a fallos. Las normas de la capa física ISO 11898-2 e ISO 11898-3 no forman parte de la especificación CAN 2.0 de Bosch.
En 2012, Bosch lanzó CAN FD 1.0, o CAN con velocidad de datos flexible. Esta especificación utiliza un formato de trama diferente que permite una longitud de datos distinta, así como la opción de cambiar a una velocidad de bits más rápida una vez que se decide el arbitraje. CAN FD es compatible con las redes CAN 2.0 existentes, por lo que los nuevos dispositivos CAN FD pueden coexistir en la misma red con los dispositivos CAN existentes, utilizando los mismos parámetros de comunicación CAN 2.0. A partir de 2018Bosch participó activamente en la ampliación de los estándares CAN.
El bus CAN es uno de los cinco protocolos utilizados en el estándar de diagnóstico vehicular OBD-II. El estándar OBD-II es obligatorio para todos los automóviles y camionetas ligeras vendidos en Estados Unidos desde el año modelo 1996. El estándar OBD -II es obligatorio para todos los vehículos de gasolina vendidos en la Unión Europea desde 2001 y para todos los vehículos diésel desde 2004. [ 6 ]
Aplicaciones
Automotor
El automóvil moderno puede tener hasta 70 unidades de control electrónico (ECU) para diversos subsistemas. [ 7 ] Por lo general, el procesador más grande es la unidad de control del motor . Otros se utilizan para la conducción autónoma, el sistema avanzado de asistencia al conductor (ADAS), la transmisión , los airbags , el sistema de frenos antibloqueo/ABS , el control de crucero , la dirección asistida eléctrica , los sistemas de audio, las ventanas eléctricas , las puertas, el ajuste de los espejos, la batería y los sistemas de recarga para automóviles híbridos/eléctricos, etc. Algunos de estos forman subsistemas independientes, pero la comunicación entre ellos es esencial. Un subsistema puede necesitar controlar actuadores o recibir información de sensores. El estándar CAN se diseñó para satisfacer esta necesidad. Una ventaja clave es que la interconexión entre los diferentes sistemas del vehículo permite implementar una amplia gama de funciones de seguridad, economía y comodidad utilizando solo software; una funcionalidad que aumentaría el costo y la complejidad si dichas funciones se cablearan utilizando la electricidad automotriz tradicional. Algunos ejemplos incluyen:
- Arranque/parada automáticos : Diversas señales de sensores procedentes del vehículo (sensores de velocidad, ángulo de dirección, encendido/apagado del aire acondicionado, temperatura del motor) se recopilan a través del bus CAN para determinar si el motor se puede apagar cuando está parado, con el fin de mejorar el consumo de combustible y reducir las emisiones.
- Frenos de estacionamiento eléctricos : La función de asistencia en pendientes recibe información del sensor de inclinación del vehículo (que también utiliza la alarma antirrobo) y de los sensores de velocidad (que también utilizan el ABS, el control del motor y el control de tracción) a través del bus CAN para determinar si el vehículo está detenido en una pendiente. De manera similar, la información de los sensores de los cinturones de seguridad (que forman parte del sistema de control de los airbags) se recibe del bus CAN para determinar si los cinturones están abrochados, de modo que el freno de estacionamiento se libere automáticamente al arrancar.
- Sistemas de asistencia al estacionamiento : al engranar la marcha atrás, la unidad de control de la transmisión envía una señal a través del bus CAN para activar tanto el sistema de sensores de estacionamiento como el módulo de control de la puerta, de modo que el espejo retrovisor del lado del pasajero se incline hacia abajo para mostrar la posición del bordillo. El bus CAN también recibe información del sensor de lluvia para activar el limpiaparabrisas trasero al dar marcha atrás.
- Sistemas de asistencia automática de mantenimiento de carril y prevención de colisiones : El bus CAN también utiliza las señales de los sensores de estacionamiento para enviar datos de proximidad al exterior a sistemas de asistencia al conductor, como la advertencia de salida de carril. Más recientemente, estas señales viajan a través del bus CAN para activar el frenado electrónico en sistemas activos de prevención de colisiones.
- Limpiaparabrisas automático: La señal del sensor de lluvia (utilizado principalmente para los limpiaparabrisas automáticos ) se transmite a través del bus CAN al módulo ABS para activar una aplicación imperceptible de los frenos durante la conducción y eliminar la humedad de los discos de freno. Algunos modelos de alto rendimiento de Audi y BMW incorporan esta función.
- Los sensores pueden colocarse en el lugar más adecuado y sus datos pueden ser utilizados por varias unidades de control electrónico (ECU). Por ejemplo, los sensores de temperatura exterior (que tradicionalmente se ubican en la parte delantera) pueden colocarse en los retrovisores exteriores, evitando así que el motor los caliente y que los datos sean utilizados por el motor, el climatizador y la pantalla del conductor.
En los últimos años, se ha introducido el estándar LIN (Local Interconnect Network) para complementar CAN en subsistemas no críticos como el aire acondicionado y el infoentretenimiento, donde la velocidad y la fiabilidad de la transmisión de datos son menos importantes.
Impresión 3D
El bus CAN se usa frecuentemente para conectar placas base de impresoras 3D a placas de expansión debido a su alta tolerancia al ruido eléctrico, especialmente al ruido de tierra generado por los motores paso a paso , comúnmente utilizados en impresoras 3D y otras aplicaciones CNC . La variante CAN FD es utilizada por muchos, como la familia de controladores Duet3D , ya que tiene un mayor ancho de banda necesario para soportar las altas tasas de comandos de la impresión 3D . [ 8 ]
Otro
- El protocolo CAN bus se utiliza en el sistema de cambio electrónico Shimano DI2 para bicicletas de carretera desde 2009, y también lo utilizan los sistemas Ansmann y BionX en su motor de transmisión directa.
- El bus CAN también se utiliza como bus de campo en entornos de automatización general, principalmente debido al bajo coste de algunos controladores y procesadores CAN.
- Fabricantes como NISMO pretenden utilizar datos del bus CAN para recrear vueltas de carreras reales en el videojuego Gran Turismo 6 mediante la función de registro de datos GPS del juego, lo que permitiría a los jugadores competir contra vueltas reales. [ 9 ]
- La prótesis modular de extremidades (MPL, por sus siglas en inglés) del Laboratorio de Física Aplicada de la Universidad Johns Hopkins utiliza un bus CAN local para facilitar la comunicación entre los servomotores y los microcontroladores del brazo protésico.
- Los equipos que participan en la FIRST Robotics Competition utilizan ampliamente el bus CAN para comunicarse entre el roboRIO y otros módulos de control del robot.
- La gama de teleprompters CueScript utiliza el protocolo CAN bus a través de un cable coaxial para conectar su CSSC (Control de desplazamiento de escritorio) a la unidad principal.
- El protocolo CAN bus se implementa ampliamente debido a su tolerancia a fallos en entornos eléctricamente ruidosos, como los sistemas de retroalimentación de sensores para maquetas de ferrocarriles, por parte de los principales fabricantes comerciales de sistemas de control digital de comandos y diversos proyectos de control digital de código abierto para maquetas de ferrocarriles.
- Shearwater Research ha implementado el protocolo como DiveCAN [ 10 ] para integrar sus computadoras de buceo en rebreathers de buceo de varios fabricantes.
Versiones
CAN 2.0 (CAN clásico)
Debido a su trayectoria, CAN 2.0 es el protocolo más utilizado, con un tamaño máximo de carga útil de ocho bytes y una velocidad de transmisión típica de 500 kbit/s. El CAN clásico, que incluye CAN 2.0A (CAN estándar) y CAN 2.0B (CAN extendido), se diferencia principalmente en la longitud de los campos de identificador: CAN 2.0A utiliza un identificador de 11 bits, mientras que CAN 2.0B emplea uno de 29 bits. El identificador más largo de CAN 2.0B permite un mayor número de identificadores de mensaje únicos, lo cual resulta beneficioso en sistemas complejos con muchos nodos y tipos de datos. Sin embargo, este aumento en los identificadores de mensaje únicos también incrementa la longitud de la trama, lo que a su vez reduce la velocidad máxima de datos. Además, el identificador extendido proporciona un control más preciso sobre la priorización de mensajes debido a la mayor cantidad de valores de identificador disponibles. No obstante, esto puede generar problemas de compatibilidad; los dispositivos CAN 2.0A generalmente pueden comunicarse con los dispositivos CAN 2.0B, pero no al revés, debido a posibles errores en el manejo de identificadores más largos. El protocolo CAN 2.0 de alta velocidad admite velocidades de bits de 40 kbit/s a 1 Mbit/s y es la base de los protocolos de capa superior. En cambio, el protocolo CAN 2.0 de baja velocidad admite velocidades de bits de 40 kbit/s a 125 kbit/s y ofrece tolerancia a fallos, permitiendo que la comunicación continúe a pesar de un fallo en uno de los dos cables, manteniendo cada nodo su propia terminación. [ 5 ] [ 11 ] [ 12 ] [ 13 ]
CAN FD (Flexible Data-Rate), estandarizado como ISO 11898-1, fue desarrollado por Bosch y lanzado en 2012 para satisfacer la necesidad de una mayor transferencia de datos en vehículos modernos de alto rendimiento. Ofrece velocidades de datos variables durante la transmisión de una sola trama, lo que permite que la fase de arbitraje se realice a una velocidad de datos menor para una comunicación robusta, mientras que la carga útil de datos se transmite a una velocidad mayor para mejorar el rendimiento, lo cual es particularmente útil en entornos con ruido eléctrico para una mejor inmunidad al ruido. CAN FD también introduce un tamaño de campo de datos flexible, aumentando el tamaño máximo de 8 bytes a 64 bytes. Esta flexibilidad permite una transmisión de datos más eficiente al reducir la cantidad de tramas necesarias para transferencias de datos grandes, lo cual es beneficioso para aplicaciones como datos de sensores de alta resolución o actualizaciones de software.
CAN FD mantiene la compatibilidad con versiones anteriores de los dispositivos CAN 2.0 al utilizar el mismo formato de trama que CAN 2.0B, con la adición de un nuevo campo de control para indicar si la trama es una trama CAN FD o una trama CAN 2.0 estándar. Esto permite que los dispositivos CAN FD coexistan con los dispositivos CAN 2.0 en el mismo bus, mientras que las velocidades de datos más altas y las cargas útiles de datos más grandes solo están disponibles al comunicarse con otros dispositivos CAN FD. [ 13 ] [ 12 ] [ 14 ]
CAN XL
CAN XL, especificado por CiA 610-1 y estandarizado como parte de ISO 11898-1, admite cargas útiles de hasta 2048 bytes y velocidades de datos de hasta 20 Mbit/s. Establece un puente entre CAN FD y Ethernet (100BASE-T1) manteniendo las ventajas de resolución de colisiones de CAN. Los controladores CAN XL también pueden gestionar la comunicación CAN clásica y CAN FD, lo que garantiza la compatibilidad en redes mixtas. Sus amplios campos de datos permiten el uso de protocolos de capa superior como IP (Protocolo de Internet) y la tunelización de tramas Ethernet . [ 5 ] [ 15 ] [ 16 ]
Arquitectura
Capas
El protocolo CAN, al igual que muchos protocolos de red, se puede descomponer en las siguientes capas de abstracción :
- Capa de aplicación
- Lógica específica de la aplicación
- Capa de objeto
- Filtrado de mensajes (buzones de correo)
- Gestión de mensajes y estado
- capa de transferencia
La mayor parte del estándar CAN se aplica a la capa de transferencia. Esta capa recibe mensajes de la capa física y los transmite a la capa de objetos. La capa de transferencia es responsable de la sincronización y la gestión de la temporización de bits, el encuadre de mensajes, la arbitraje, el acuse de recibo, la detección y señalización de errores, y la contención de fallos. Realiza las siguientes funciones:
- Confinamiento de fallas
- Detección de errores
- Validación de mensajes
- Reconocimiento
- Arbitraje
- Formulación de mensajes
- Tasa de transferencia y momento
- Enrutamiento de información
- capa física

El bus CAN ( ISO 11898-1 :2003) especificó originalmente el protocolo de la capa de enlace con requisitos abstractos únicamente para la capa física, por ejemplo, afirmando el uso de un medio con acceso múltiple a nivel de bit mediante el uso de estados dominantes y recesivos. Los aspectos eléctricos de la capa física (tensión, corriente, número de conductores) se especificaron en la norma ISO 11898-2 :2003, que ahora es ampliamente aceptada. Sin embargo, los aspectos mecánicos de la capa física (tipo y número de conectores, colores, etiquetas, asignación de pines) aún no se han especificado formalmente. Como resultado, una ECU automotriz normalmente tendrá un conector particular, a menudo personalizado, con varios tipos de cables, dos de los cuales son las líneas del bus CAN. No obstante, han surgido varios estándares de facto para la implementación mecánica, siendo el más común el conector macho tipo D-sub de 9 pines con la siguiente asignación de pines:
- Pin 2: CAN-Bajo (CAN−)
- Pin 3: GND (tierra)
- Pin 7: CAN-Alto (CAN+)
- Pin 9: CAN V+ (alimentación)

Este estándar mecánico de facto para CAN podría implementarse con un nodo que cuente con conectores D-sub de 9 pines, tanto macho como hembra, conectados eléctricamente en paralelo dentro del nodo. La alimentación del bus se suministra al conector macho del nodo, y el bus se alimenta del conector hembra. Esto sigue la convención de ingeniería eléctrica que establece que las fuentes de alimentación terminan en conectores hembra. La adopción de este estándar evita la necesidad de fabricar divisores personalizados para conectar dos conjuntos de cables del bus a un único conector D en cada nodo. Estos arneses de cableado no estándar (personalizados) (divisores) que unen conductores fuera del nodo reducen la fiabilidad del bus, eliminan la intercambiabilidad de los cables, disminuyen la compatibilidad de los arneses de cableado y aumentan el costo.
La ausencia de una especificación completa de la capa física (mecánica además de eléctrica) liberó la especificación del bus CAN de las restricciones y la complejidad de la implementación física. Sin embargo, dejó las implementaciones del bus CAN expuestas a problemas de interoperabilidad debido a la incompatibilidad mecánica. Para mejorar la interoperabilidad, muchos fabricantes de vehículos han generado especificaciones que describen un conjunto de transceptores CAN permitidos en combinación con requisitos sobre la capacitancia parásita en la línea. La capacitancia parásita permitida incluye tanto condensadores como protección ESD (ESD [ 17 ] según ISO 7637-3). Además de la capacitancia parásita, los sistemas de 12 V y 24 V no tienen los mismos requisitos en términos de voltaje máximo de línea. De hecho, durante los eventos de arranque con puente, las líneas de vehículos ligeros pueden llegar hasta 24 V, mientras que los sistemas de camiones pueden llegar hasta 36 V. Están surgiendo nuevas soluciones que permiten utilizar el mismo componente para CAN y CAN FD (véase [ 18 ] ).
La inmunidad al ruido según la norma ISO 11898-2 :2003 se logra manteniendo la impedancia diferencial del bus en un nivel bajo mediante resistencias de bajo valor (120 ohmios) en cada extremo. Sin embargo, en estado de reposo, un bus de baja impedancia como CAN consume más corriente (y potencia) que otros buses de señalización basados en voltaje. En los sistemas de bus CAN, el funcionamiento de línea balanceada , donde la corriente en una línea de señal se equilibra exactamente con la corriente en la dirección opuesta en la otra señal, proporciona una referencia de 0 V independiente y estable para los receptores. La práctica recomendada indica que las señales de par balanceado del bus CAN deben transmitirse mediante pares trenzados en un cable apantallado para minimizar la emisión de radiofrecuencia y reducir la susceptibilidad a las interferencias en el entorno de radiofrecuencia, ya de por sí ruidoso, de un automóvil.
La norma ISO 11898-2 proporciona cierta inmunidad a la tensión de modo común entre el transmisor y el receptor mediante una línea de 0 V que recorre el bus para mantener una alta asociación de tensión entre los nodos. Además, en la configuración mecánica de facto mencionada anteriormente, se incluye una línea de alimentación para distribuir energía a cada uno de los nodos transceptores. El diseño proporciona una alimentación común para todos los transceptores. La tensión real que aplica el bus y los nodos que se conectan a él dependen de la aplicación y no están especificados formalmente. El diseño de nodos habitual proporciona a cada nodo transceptores aislados ópticamente de su host y que obtienen una tensión de alimentación regulada linealmente de 5 V para los transceptores a partir de la línea de alimentación universal proporcionada por el bus. Esto suele permitir un margen operativo en la línea de alimentación suficiente para permitir la interoperabilidad entre muchos tipos de nodos. Los valores típicos de tensión de alimentación en dichas redes oscilan entre 7 y 30 V. Sin embargo, la falta de una norma formal implica que los diseñadores del sistema son responsables de la compatibilidad de la línea de alimentación.
La norma ISO 11898-2 describe la implementación eléctrica formada por una configuración de línea balanceada de un solo extremo con múltiples derivaciones y terminación resistiva en cada extremo del bus. En esta configuración, uno o más transmisores establecen un estado dominante al conmutar la señal CAN− a 0 V y (simultáneamente) la señal CAN+ a la tensión del bus de +5 V, creando así una ruta de corriente a través de las resistencias que terminan el bus. Por lo tanto, las resistencias de terminación constituyen un componente esencial del sistema de señalización y se incluyen no solo para limitar la reflexión de la onda a alta frecuencia.
Durante un estado recesivo, las líneas de señal y las resistencias permanecen en un estado de alta impedancia con respecto a ambos rieles. Los voltajes en CAN+ y CAN− tienden (débilmente) hacia un valor intermedio entre los rieles. El estado recesivo se presenta en el bus solo cuando ninguno de los transmisores del bus está en estado dominante.
Durante un estado dominante, las líneas de señal y la(s) resistencia(s) se desplazan a un estado de baja impedancia con respecto a los rieles, de modo que la corriente fluye a través de la resistencia. El voltaje CAN+ tiende a +5 V y CAN− tiende a 0 V.
Independientemente del estado de la señal, las líneas de señal siempre se encuentran en un estado de baja impedancia entre sí gracias a las resistencias de terminación situadas al final del bus.
Esta estrategia de señalización difiere significativamente de otras tecnologías de transmisión de línea balanceada, como RS-422 /3, RS-485 , etc., que emplean controladores/receptores de línea diferencial y utilizan un sistema de señalización basado en la tensión diferencial de la línea balanceada que cruza un valor nominal de 0 V. El acceso múltiple en estos sistemas normalmente depende de que el medio admita tres estados (activo alto, activo bajo y triestado inactivo) y se gestiona en el dominio del tiempo. El acceso múltiple en el bus CAN se logra mediante la lógica eléctrica del sistema, que admite solo dos estados, conceptualmente análogos a una red AND cableada.
Organización física
CAN es un estándar de bus serie multimaster para conectar unidades de control electrónico (ECU), también conocidas como nodos ( la electrónica automotriz es un importante campo de aplicación). Se requieren dos o más nodos en el bus CAN para comunicarse. Un nodo puede interactuar con dispositivos que van desde lógica digital simple, como un PLD , pasando por un FPGA, hasta una computadora integrada que ejecuta software complejo. Dicha computadora también puede funcionar como puerta de enlace, permitiendo que una computadora de propósito general (como una laptop) se comunique a través de un puerto USB o Ethernet con los dispositivos en el bus CAN.
Todos los nodos están conectados entre sí a través de un bus físico convencional de dos cables . Los cables son un par trenzado con una impedancia característica de 120 Ω (nominal) .
Este bus utiliza señales AND cableadas diferenciales . Dos señales, CAN alta (CANH) y CAN baja (CANL), se activan a un estado "dominante" cuando CANH > CANL, o bien, si no se activan y se mantienen en un estado "recesivo" mediante resistencias pasivas cuando CANH ≤ CANL. Un bit de datos 0 codifica un estado dominante, mientras que un bit de datos 1 codifica un estado recesivo, lo que permite el uso de una convención AND cableada que da prioridad en el bus a los nodos con números de identificación más bajos.

La norma ISO 11898-2 , también conocida como CAN de alta velocidad (velocidades de bits de hasta 1 Mbit/s en CAN y 5 Mbit/s en CAN-FD), utiliza un bus lineal terminado en cada extremo con una resistencia de 120 Ω.

La señalización CAN de alta velocidad dirige el cable CANH hacia 3,5 V y el cable CANL hacia 1,5 V cuando algún dispositivo transmite una señal dominante (0). Si ningún dispositivo transmite una señal dominante, las resistencias de terminación devuelven pasivamente ambos cables al estado recesivo (1) con una tensión diferencial nominal de 0 V. (Los receptores consideran recesiva cualquier tensión diferencial inferior a 0,5 V). La tensión diferencial dominante es de 2 V nominales. La tensión de modo común dominante (CANH+CANL)/2 debe estar entre 1,5 y 3,5 V respecto a la común, mientras que la tensión de modo común recesiva debe estar dentro de ±12 V respecto a la común.

ISO 11898-3 , también conocido como CAN de baja velocidad o tolerante a fallos (hasta 125 kbit/s), utiliza un bus lineal, un bus en estrella o varios buses en estrella conectados por un bus lineal y se termina en cada nodo con una fracción de la resistencia de terminación total. La resistencia de terminación total debe ser cercana a 100 Ω, pero no inferior .

La señalización CAN tolerante a fallos de baja velocidad funciona de forma similar a la CAN de alta velocidad, pero con mayores oscilaciones de voltaje. El estado dominante se transmite llevando CANH hacia el voltaje de alimentación del dispositivo (5 V o 3,3 V) y CANL hacia 0 V cuando se transmite un estado dominante (0), mientras que las resistencias de terminación llevan el bus a un estado recesivo con CANH a 0 V y CANL a 5 V. Esto permite un receptor más simple que solo considera el signo de CANH−CANL. Ambos cables deben ser capaces de soportar de −27 a +40 V sin sufrir daños.
Propiedades eléctricas
Tanto en CAN de alta velocidad como de baja velocidad, la transición es más rápida cuando se produce una transición de recesivo a dominante, ya que los cables CAN se activan activamente. La velocidad de la transición de dominante a recesivo depende principalmente de la longitud de la red CAN y de la capacitancia del cable utilizado.
El protocolo CAN de alta velocidad se suele utilizar en aplicaciones automotrices e industriales donde el bus se extiende de un extremo a otro del entorno. El protocolo CAN tolerante a fallos se utiliza a menudo cuando es necesario conectar grupos de nodos.
Las especificaciones exigen que el bus se mantenga dentro de un rango mínimo y máximo de voltaje de modo común, pero no definen cómo mantener el bus dentro de este rango.
El bus CAN debe estar terminado. Las resistencias de terminación son necesarias para suprimir las reflexiones y para que el bus vuelva a su estado inactivo o de reposo.
El protocolo CAN de alta velocidad utiliza una resistencia de 120 Ω en cada extremo de un bus lineal. El protocolo CAN de baja velocidad utiliza resistencias en cada nodo. Se pueden utilizar otros tipos de terminaciones, como el circuito de polarización de terminación definido en la norma ISO 11783. [ 11 ]
AEl circuito de polarización de terminación proporciona alimentación y conexión a tierra, además de la señalización CAN, a través de un cable de cuatro hilos. Esto garantiza la polarización eléctrica automática y la terminación en cada extremo de cada segmento del bus . Una red ISO 11783 está diseñada para la conexión y desconexión en caliente de segmentos de bus y unidades de control electrónico (ECU).
Nodos

Cada nodo requiere un
- Unidad central de procesamiento , microprocesador o procesador anfitrión
- El procesador anfitrión decide qué significan los mensajes recibidos y qué mensajes desea transmitir.
- Los sensores, actuadores y dispositivos de control pueden conectarse al procesador principal.
- Controlador CAN: a menudo forma parte integral del microcontrolador.
- Recepción: el controlador CAN almacena los bits seriales recibidos del bus hasta que esté disponible un mensaje completo, que luego puede ser recuperado por el procesador principal (generalmente mediante una interrupción activada por el controlador CAN).
- Envío: el procesador principal envía el/los mensaje(s) de transmisión a un controlador CAN, que transmite los bits en serie al bus cuando este está libre.
- Transceptor definido por las normas ISO 11898-2/3 de Unidad de Acceso al Medio [MAU].
- Recepción: convierte el flujo de datos de los niveles del bus CAN a los niveles que utiliza el controlador CAN. Generalmente, cuenta con circuitos de protección para proteger el controlador CAN.
- Transmisión: convierte el flujo de datos del controlador CAN a los niveles del bus CAN.
Cada nodo puede enviar y recibir mensajes, pero no simultáneamente. Un mensaje o trama consta principalmente del ID (identificador), que representa la prioridad del mensaje, y hasta ocho bytes de datos. Un CRC, una ranura de acuse de recibo (ACK) y otros datos de sobrecarga también forman parte del mensaje. El CAN FD mejorado extiende la longitud de la sección de datos hasta 64 bytes por trama. El mensaje se transmite en serie al bus mediante un formato sin retorno a cero (NRZ) y puede ser recibido por todos los nodos.
Los dispositivos conectados mediante una red CAN suelen ser sensores , actuadores y otros dispositivos de control. Estos dispositivos se conectan al bus a través de un procesador principal , un controlador CAN y un transceptor CAN.
Transmisión de datos y arbitraje
La transmisión de datos CAN utiliza un método de arbitraje bit a bit sin pérdidas para la resolución de conflictos. Este método requiere que todos los nodos de la red CAN estén sincronizados para muestrear cada bit de la red simultáneamente. Por ello, algunos denominan a CAN síncrono. Sin embargo, el término síncrono es impreciso, ya que los datos se transmiten en formato asíncrono, es decir, sin señal de reloj.
Las especificaciones CAN utilizan los términos bits dominantes y bits recesivos , donde el dominante es un 0 lógico (activado por el transmisor) y el recesivo es un 1 lógico (retornado pasivamente a un voltaje mediante una resistencia). El estado de inactividad se representa mediante el nivel recesivo (1 lógico). Si un nodo transmite un bit dominante y otro transmite un bit recesivo, se produce una colisión y el bit dominante prevalece. Esto significa que no hay retardo en el mensaje de mayor prioridad, y el nodo que transmite el mensaje de menor prioridad intenta automáticamente retransmitir seis bits de reloj tras la finalización del mensaje dominante. Esto hace que CAN sea muy adecuado como sistema de comunicaciones priorizadas en tiempo real.
Los voltajes exactos para un 0 o 1 lógico dependen de la capa física utilizada, pero el principio básico de CAN requiere que cada nodo escuche los datos en la red CAN, incluido el o los nodos transmisores. Si todos los nodos transmisores transmiten un 1 lógico al mismo tiempo, todos los nodos, incluidos los transmisores y los receptores, ven un 1 lógico. Si todos los nodos transmisores transmiten un 0 lógico al mismo tiempo, todos los nodos ven un 0 lógico. Si uno o más nodos transmiten un 0 lógico y uno o más nodos transmiten un 1 lógico, todos los nodos ven un 0 lógico, incluido el o los nodos que transmiten el 1 lógico. Cuando un nodo transmite un 1 lógico pero ve un 0 lógico, se da cuenta de que hay una contención y deja de transmitir. Mediante este proceso, cualquier nodo que transmita un 1 lógico cuando otro nodo transmite un 0 lógico pierde la arbitraje y se desconecta. El nodo que pierde la arbitraje vuelve a poner su mensaje en cola para su posterior transmisión, y el flujo de bits de la trama CAN continúa sin errores hasta que solo queda un nodo transmitiendo. Esto significa que el nodo que transmite el primer 1 pierde la arbitraje. Dado que el identificador de 11 bits (o 29 bits para CAN 2.0B) es transmitido por todos los nodos al inicio de la trama CAN, el nodo con el identificador más bajo transmite más ceros al inicio de la trama, y ese es el nodo que gana la arbitraje o tiene la mayor prioridad.
Por ejemplo, consideremos una red CAN con ID de 11 bits, con dos nodos cuyos ID son 15 (representación binaria: 00000001111) y 16 (representación binaria: 00000010000). Si estos dos nodos transmiten simultáneamente, cada uno transmitirá primero el bit de inicio y luego los seis primeros ceros de su ID, sin que se tome ninguna decisión arbitral.
Cuando se transmite el bit 4 de ID, el nodo con ID 16 transmite un 1 (recesivo) y el nodo con ID 15 transmite un 0 (dominante). En ese caso, el nodo con ID 16 sabe que transmitió un 1, pero al ver un 0 se da cuenta de que hay una colisión y ha perdido la arbitraje. El nodo 16 deja de transmitir, lo que permite al nodo con ID 15 continuar su transmisión sin pérdida de datos. El nodo con el ID más bajo siempre gana el arbitraje y, por lo tanto, tiene la máxima prioridad.
Es posible alcanzar velocidades de bits de hasta 1 Mbit/s en redes de menos de 40 m. Reducir la velocidad de bits permite alcanzar distancias de red mayores (por ejemplo, 500 m a 125 kbit/s). El estándar CAN FD mejorado permite aumentar la velocidad de bits tras la arbitraje y puede incrementar la velocidad de la sección de datos hasta diez veces o más con respecto a la velocidad de bits de arbitraje.
Sincronización de bits
Todos los nodos de la red CAN deben operar a la misma velocidad de bits nominal, pero el ruido, los desfases, la tolerancia del oscilador y la deriva del oscilador implican que la velocidad de bits real podría no coincidir con la velocidad de bits nominal. [ 19 ] Dado que no se utiliza una señal de reloj independiente, es necesario un método para sincronizar los nodos. La sincronización es importante durante el arbitraje, ya que los nodos en arbitraje deben poder ver simultáneamente tanto sus datos transmitidos como los datos transmitidos por los demás nodos. La sincronización también es importante para garantizar que las variaciones en la temporización del oscilador entre los nodos no provoquen errores.
La sincronización comienza con una sincronización forzada en la primera transición de recesivo a dominante tras un periodo de inactividad del bus (el bit de inicio). La resincronización se produce en cada transición de recesivo a dominante durante la trama. El controlador CAN espera que la transición se produzca en un múltiplo del tiempo de bit nominal. Si la transición no se produce exactamente en el momento previsto, el controlador ajusta el tiempo de bit nominal en consecuencia.
El ajuste se logra dividiendo cada bit en una serie de segmentos de tiempo llamados cuantos, y asignando una cierta cantidad de cuantos a cada uno de los cuatro segmentos dentro del bit: sincronización, propagación, segmento de fase 1 y segmento de fase 2.

El número de cuantos en los que se divide un bit puede variar según el controlador, y el número de cuantos asignados a cada segmento puede variar dependiendo de la velocidad de bits y las condiciones de la red.
Una transición que ocurre antes o después de lo previsto provoca que el controlador calcule la diferencia de tiempo y alargue el segmento de fase 1 o acorte el segmento de fase 2. Esto ajusta la sincronización entre el receptor y el transmisor. Este proceso de resincronización se realiza continuamente en cada transición de recesiva a dominante para garantizar que el transmisor y el receptor permanezcan sincronizados. La resincronización continua reduce los errores causados por el ruido y permite que un nodo receptor sincronizado con un nodo que perdió la arbitraje se sincronice con el nodo que la ganó.
asignación de ID
Los ID de mensaje deben ser únicos [ 12 ] en un solo bus CAN, de lo contrario dos nodos continuarían la transmisión más allá del final del campo de arbitraje (ID) causando un error.
A principios de la década de 1990, la elección de los identificadores (ID) para los mensajes se basaba simplemente en la identificación del tipo de datos y el nodo emisor; sin embargo, dado que el ID también se utilizaba como prioridad del mensaje, esto conllevaba un rendimiento deficiente en tiempo real. En esos casos, se requería habitualmente un uso bajo del bus CAN, de alrededor del 30 %, para garantizar que todos los mensajes cumplieran con sus plazos de entrega. Sin embargo, si los ID se determinan en función del plazo de entrega del mensaje, cuanto menor sea el ID numérico y, por lo tanto, mayor la prioridad del mensaje, se puede alcanzar un uso del bus del 70 al 80 % antes de que se incumpla algún plazo de entrega. [ 20 ]
espaciado entre fotogramas
Las tramas de datos y las tramas remotas están separadas de las tramas precedentes por un campo de bits llamado espacio entre tramas. El espacio entre tramas consta de al menos tres bits recesivos (1) consecutivos. Posteriormente, si se detecta un bit dominante, se considerará el bit de inicio de la siguiente trama. Las tramas de sobrecarga y las tramas de error no están precedidas por un espacio entre tramas, y las tramas de sobrecarga múltiples no están separadas por un espacio entre tramas. El espacio entre tramas contiene los campos de bits de intermisión y bus inactivo, y suspende la transmisión para las estaciones pasivas de error que hayan transmitido el mensaje anterior. [ 21 ]
Marcos y estructura del mensaje
Tipos de marco
Una red CAN puede configurarse para trabajar con dos formatos de mensaje (o trama ) diferentes: el formato de trama estándar o base (descrito en CAN 2.0 A y CAN 2.0 B) y el formato de trama extendida (descrito únicamente en CAN 2.0 B). La única diferencia entre ambos formatos es que la trama base CAN admite una longitud de 11 bits para el identificador, mientras que la trama extendida CAN admite una longitud de 29 bits para el identificador, compuesto por el identificador de 11 bits (identificador base) y una extensión de 18 bits (extensión del identificador). La distinción entre el formato de trama base CAN y el formato de trama extendida CAN se realiza mediante el bit IDE, que se transmite como dominante en el caso de una trama de 11 bits y como recesivo en el caso de una trama de 29 bits. Los controladores CAN que admiten mensajes en formato de trama extendida también pueden enviar y recibir mensajes en formato de trama base CAN. Todas las tramas comienzan con un bit de inicio de trama (SOF) que indica el inicio de la transmisión de la trama.
CAN tiene cuatro tipos de trama:
- Marco de datos: un marco que contiene datos de nodo para su transmisión.
- Trama remota: una trama que solicita la transmisión de un identificador específico.
- Trama de error: una trama transmitida por cualquier nodo que detecta un error.
- trama de sobrecarga: una trama para inyectar un retardo entre datos o trama remota
Marco de datos
El marco de datos es el único marco para la transmisión real de datos. Existen dos formatos de mensaje:
- Formato de trama base: con 11 bits de identificador
- Formato de trama extendido: con 29 bits de identificador
El estándar CAN exige que la implementación acepte el formato de trama base y, si bien puede aceptar el formato de trama extendido, debe tolerarlo.
Formato de marco base

El formato de trama es el siguiente: Los valores de bits se describen para la señal CAN-LO.
- ↑ Es físicamente posible transmitir un valor entre 9 y 15 en el DLC de 4 bits, aunque los datos siguen limitados a ocho bytes. Algunos controladores permiten la transmisión o recepción de un DLC mayor que ocho, pero la longitud real de los datos siempre se limita a ocho bytes.

Formato de marco extendido
El formato del marco es el siguiente, a partir de aquí, en la tabla que aparece a continuación:
- ↑ Es físicamente posible transmitir un valor entre 9 y 15 en el DLC de 4 bits, aunque los datos siguen limitados a ocho bytes. Algunos controladores permiten la transmisión o recepción de un DLC mayor que ocho, pero la longitud real de los datos siempre se limita a ocho bytes.
Los dos campos de identificación (A y B) se combinan para formar un identificador de 29 bits.
Marco remoto
- Generalmente, la transmisión de datos se realiza de forma autónoma, con el nodo fuente (por ejemplo, un sensor) enviando una trama de datos. Sin embargo, también es posible que un nodo de destino solicite los datos a la fuente enviando una trama remota.
- Hay dos diferencias entre una trama de datos y una trama remota. En primer lugar, el bit RTR se transmite como un bit dominante en la trama de datos y, en segundo lugar, en la trama remota no hay campo de datos. El campo DLC indica la longitud de los datos del mensaje solicitado (no del transmitido). Es decir,
- RTR = 0 ; DOMINANTE en el marco de datos
- RTR = 1 ; RECESIVO en el marco remoto
En caso de que se transmitan simultáneamente una trama de datos y una trama remota con el mismo identificador, la trama de datos prevalecerá en la arbitraje debido al bit RTR dominante que sigue al identificador.
Marco de error
El marco de error consta de dos campos diferentes:
- El primer campo viene dado por la superposición de INDICADORES DE ERROR (6-12 bits dominantes/recesivos) aportados por diferentes estaciones.
- El siguiente segundo campo es el DELIMITADOR DE ERROR (8 bits recesivos).
Existen dos tipos de indicadores de error:
- Indicador de error activo
- seis bits dominantes: transmitidos por un nodo que detecta un error en la red que se encuentra en estado de error activo .
- Indicador de error pasivo
- seis bits recesivos – Transmitidos por un nodo que detecta una trama de error activa en la red que se encuentra en estado de error pasivo .
En CAN existen dos contadores de errores:
- Contador de errores de transmisión (TEC)
- Contador de errores de recepción (REC)
- Cuando TEC o REC sea mayor que 127 y menor que 255, se transmitirá una trama de error pasivo en el bus.
- Cuando TEC y REC sean menores de 128, se transmitirá una trama de error activo en el bus.
- Cuando el TEC es mayor que 255, el nodo entra en estado de Bus Desconectado, en el que no se transmitirán tramas.
Marco de sobrecarga
La trama de sobrecarga contiene dos campos de bits: Indicador de sobrecarga y Delimitador de sobrecarga. Existen dos tipos de condiciones de sobrecarga que pueden provocar la transmisión de un indicador de sobrecarga:
- Las condiciones internas de un receptor, que requieren un retraso en la siguiente trama de datos o trama remota.
- Detección de un bit dominante durante el intermedio.
El inicio de una trama de sobrecarga debido al caso 1 solo se permite en el primer bit de una interrupción prevista, mientras que las tramas de sobrecarga debido al caso 2 comienzan un bit después de detectar el bit dominante. El indicador de sobrecarga consta de seis bits dominantes. La forma general corresponde a la del indicador de error activo. La forma del indicador de sobrecarga destruye la forma fija del campo de interrupción. Como consecuencia, todas las demás estaciones también detectan una condición de sobrecarga y, por su parte, comienzan la transmisión de un indicador de sobrecarga. El delimitador de sobrecarga consta de ocho bits recesivos. El delimitador de sobrecarga tiene la misma forma que el delimitador de error.
ranura ACK
La ranura de acuse de recibo se utiliza para confirmar la recepción de una trama CAN válida. Cada nodo que recibe la trama, sin encontrar ningún error, transmite un nivel dominante en la ranura ACK, anulando así el nivel recesivo del transmisor. Si un transmisor detecta un nivel recesivo en la ranura ACK, sabe que ningún receptor ha recibido una trama válida. Un nodo receptor puede transmitir un nivel recesivo para indicar que no ha recibido una trama válida, pero otro nodo que sí la ha recibido puede anular esta transmisión con un nivel dominante. El nodo transmisor no puede saber si el mensaje ha sido recibido por todos los nodos de la red CAN.
Con frecuencia, el modo de funcionamiento del dispositivo consiste en retransmitir repetidamente las tramas no confirmadas. Esto puede provocar que, con el tiempo, entre en el estado pasivo de error .
Relleno de un poco

Para garantizar suficientes transiciones que mantengan la sincronización, se inserta un bit de polaridad opuesta después de cinco bits consecutivos de la misma polaridad. Esta práctica se denomina relleno de bits y es necesaria debido a la codificación sin retorno a cero (NRZ) utilizada en CAN. El receptor procesa las tramas de datos rellenas.
Todos los campos de la trama se rellenan, a excepción del delimitador CRC, el campo ACK y el final de trama, que tienen un tamaño fijo y no se rellenan. En los campos donde se utiliza el relleno de bits, seis bits consecutivos de la misma polaridad (111111 o 000000) se consideran un error. Un nodo puede transmitir una bandera de error activa cuando se detecta un error. Esta bandera consta de seis bits dominantes consecutivos e incumple la regla del relleno de bits.
El relleno de bits significa que las tramas de datos pueden ser más grandes de lo que se esperaría simplemente enumerando los bits mostrados en las tablas anteriores. El aumento máximo en el tamaño de una trama CAN (formato base) después del relleno de bits es en el caso
- 11111000011110000...
que se rellena como (partes del relleno en negrita):
- 11111 0 0000 1 1111 0 0000 1 ...
El bit de relleno en sí puede ser el primero de los cinco bits idénticos consecutivos, por lo que, en el peor de los casos, hay un bit de relleno por cada cuatro bits originales.
El tamaño de un marco base está limitado por
donde n es el número de bytes de datos, con un máximo de 8.
Desdees el tamaño del marco antes del relleno, en el peor de los casos se agregará un bit cada cuatro bits originales después del primero (de ahí el −1 en el numerador) y, debido a la disposición de los bits del encabezado, solo 34 de 44 de ellos pueden ser objeto de relleno de bits.
Un efecto secundario indeseable del esquema de relleno de bits es que un pequeño número de errores de bits en un mensaje recibido puede corromper el proceso de desrelleno, provocando que un mayor número de errores se propague a través del mensaje desrellenado. Esto reduce el nivel de protección que, de otro modo, ofrecería el CRC contra los errores originales. Esta deficiencia del protocolo se ha solucionado en las tramas CAN FD mediante el uso de una combinación de bits de relleno fijos y un contador que registra el número de bits de relleno insertados.
Estandarización y protocolos
Normas de capa inferior CAN
La serie ISO 11898 especifica la capa física y de enlace de datos (niveles 1 y 2 del modelo ISO/OSI ) de la categoría de comunicación en serie denominada red de área de controlador que admite el control distribuido en tiempo real y la multiplexación para su uso en vehículos de carretera. [ 22 ]
Existen varios estándares de capa física CAN y otros estándares:
ISO 11898-1:2015 especifica la capa de enlace de datos (DLL) y la señalización física de la red de área de controlador (CAN). [ 15 ] Este documento describe la arquitectura general de CAN en términos de capas jerárquicas según el modelo de referencia ISO para la interconexión de sistemas abiertos (OSI) establecido en ISO/IEC 7498-1 y proporciona las características para establecer un intercambio de información digital entre módulos que implementan la DLL de CAN con especificación detallada de la subcapa de control de enlace lógico (LLC) y la subcapa de control de acceso al medio (MAC) .
La norma ISO 11898-2:2016 especifica la unidad de acceso al medio (MAU) de alta velocidad (velocidades de transmisión de hasta 1 Mbit/s) y algunas características de la interfaz dependiente del medio (MDI) (según la norma ISO 8802-3), que conforman la capa física de la red de área de controlador. La norma ISO 11898-2 utiliza un esquema de señalización balanceada de dos hilos . Es la capa física más utilizada en aplicaciones de sistemas de propulsión de vehículos y redes de control industrial.
La norma ISO 11898-3:2006 especifica una interfaz de baja velocidad, tolerante a fallos y dependiente del medio para establecer un intercambio de información digital entre unidades de control electrónico de vehículos de carretera equipados con CAN a velocidades de transmisión superiores a 40 kbit/s hasta 125 kbit/s.
La norma ISO 11898-4:2004 especifica la comunicación temporizada en la red CAN (TTCAN). Se aplica al intercambio temporizado de información digital entre unidades de control electrónico (ECU) de vehículos equipados con CAN, y especifica la entidad de sincronización de tramas que coordina el funcionamiento del enlace lógico y los controles de acceso al medio, de acuerdo con la norma ISO 11898-1, para proporcionar la programación de la comunicación temporizada.
La norma ISO 11898-5:2007 especifica la capa física CAN para velocidades de transmisión de hasta 1 Mbit/s en vehículos terrestres. Describe las funciones de la unidad de acceso al medio, así como algunas características de interfaz dependientes del medio, según la norma ISO 8802-2. Esta norma representa una extensión de la ISO 11898-2, que incorpora nuevas funcionalidades para sistemas que requieren características de bajo consumo energético cuando no hay comunicación activa en el bus.
La norma ISO 11898-6:2013 especifica la capa física CAN para velocidades de transmisión de hasta 1 Mbit/s en vehículos terrestres. Describe las funciones de la unidad de acceso al medio, así como algunas características de interfaz dependientes del medio, según la norma ISO 8802-2. Esto representa una extensión de las normas ISO 11898-2 e ISO 11898-5, que especifica un mecanismo de activación selectiva mediante tramas CAN configurables.
La norma ISO 16845-1:2016 proporciona la metodología y el conjunto de pruebas abstractas necesarias para comprobar la conformidad de cualquier implementación CAN con la norma CAN especificada en la norma ISO 11898-1.
La norma ISO 16845-2:2018 establece casos y requisitos de prueba para elaborar un plan de pruebas que verifique si el transceptor CAN con funciones de activación selectiva implementadas cumple con las funcionalidades especificadas. El tipo de prueba definido en la norma ISO 16845-2:2018 se denomina prueba de conformidad.
Protocolos de capa superior basados en CAN
Dado que el estándar CAN no incluye funciones de comunicación comunes, como el control de flujo , el direccionamiento de dispositivos y la transmisión de bloques de datos mayores que un mensaje, y sobre todo, los datos de la aplicación, se crearon numerosas implementaciones de protocolos de capa superior. Varias están estandarizadas para un sector específico, aunque cada fabricante puede ampliarlas. En el caso de los turismos, cada fabricante tiene su propio estándar.
CAN in Automation (CiA) es la organización internacional de usuarios y fabricantes que desarrolla y apoya protocolos de capa superior basados en CAN y su estandarización internacional. [ 14 ] Entre estas especificaciones se encuentran:
Lista de enfoques estandarizados
- ARINC 812 o ARINC 825 (industria de la aviación)
- CANopen - CiA 301/302-2 y EN 50325-4 ( automatización industrial )
- IEC 61375 -3-3 (uso de CANopen en vehículos ferroviarios)
- DeviceNet ( automatización industrial )
- EnergyBus - CiA 454 e IEC 61851-3 (comunicación batería-cargador)
- ISOBUS - ISO 11783 (agricultura)
- ISO-TP - ISO 15765-2 (protocolo de transporte para diagnóstico automotriz)
- MilCAN (vehículos militares)
- NMEA 2000 - IEC 61162-3 (industria marítima)
- SAE J1939 (red eléctrica interna para autobuses y camiones)
- SAE J2284 (redes internas para turismos)
- Servicios de Diagnóstico Unificado (UDS) - ISO 14229 (diagnóstico automotriz)
- LeisureCAN : estándar abierto para la industria de embarcaciones y vehículos de recreo.
Lista de otros enfoques
- CANaerospace - Acciones (para la industria aeronáutica)
- CAN Kingdom - Kvaser (sistema de control integrado)
- CCP/ XCP (calibración de la ECU automotriz)
- GMLAN - General Motors (para General Motors )
- RV-C - RVIA (utilizado para vehículos recreativos)
- SafetyBUS p - Pilz (utilizado para automatización industrial )
- UAVCAN (aeroespacial y robótica)
- CSP (Protocolo espacial CubeSat)
- VSCP (Very Simple Control Protocol) es un protocolo de automatización gratuito adecuado para todo tipo de tareas de automatización.
Elevador CANopen
El Grupo de Interés Especial (SIG) de CANopen «Control de Ascensores», fundado en 2001, desarrolla el perfil de aplicación CANopen CiA 417 para sistemas de control de ascensores . Su labor consiste en ampliar las funcionalidades, mejorar el contenido técnico y garantizar el cumplimiento de la normativa vigente para dichos sistemas. La primera versión de CiA 417 se publicó (disponible para los miembros de CiA) en el verano de 2003, la versión 2.0 en febrero de 2010, la versión 2.1.0 en julio de 2012, la versión 2.2.0 en diciembre de 2015 y la versión 2.3.1 en febrero de 2020.
Jörg Hellmich (ELFIN GmbH) es el presidente de este SIG y administra una wiki de la comunidad CANopen lift con contenido sobre CANopen lift.
DBC (archivos de base de datos CAN)
Los archivos CAN DBC son archivos ASCII estandarizados que se utilizan para definir los mensajes que se envían a través de un bus CAN. Definen el formato y la finalidad de cada tipo de mensaje, incluidos los identificadores de mensaje, los nombres de las señales, la escala, los desplazamientos y los tipos de datos, y facilitan la interoperabilidad en el desarrollo de aplicaciones para el bus CAN.
Seguridad
CAN es un protocolo de bajo nivel y no admite intrínsecamente ninguna función de seguridad. Tampoco existe cifrado en las implementaciones estándar de CAN, lo que deja estas redes expuestas a la interceptación de tramas por parte de un intermediario. En la mayoría de las implementaciones, se espera que las aplicaciones implementen sus propios mecanismos de seguridad; por ejemplo, para autenticar los comandos entrantes o la presencia de ciertos dispositivos en la red. La falta de implementación de medidas de seguridad adecuadas puede dar lugar a diversos tipos de ataques si el atacante logra insertar mensajes en el bus. [ 23 ] Si bien existen contraseñas para algunas funciones críticas de seguridad, como la modificación del firmware, la programación de llaves o el control de los actuadores de los frenos antibloqueo, estos sistemas no se implementan universalmente y tienen un número limitado de pares semilla/clave.
Herramientas de desarrollo
Al desarrollar o solucionar problemas del bus CAN, el análisis de las señales de hardware es fundamental. Los analizadores lógicos y de bus son herramientas que recopilan, analizan, decodifican y almacenan señales para que los usuarios puedan visualizar las formas de onda de alta velocidad con tranquilidad. También existen herramientas especializadas y monitores de bus CAN.
AEl monitor del bus CAN es una herramienta de análisis, a menudo una combinación de hardware y software , que se utiliza durante el desarrollo de hardware que utiliza el bus CAN.
Normalmente, el monitor del bus CAN escucha el tráfico en el bus CAN para mostrarlo en una interfaz de usuario. A menudo, el monitor del bus CAN ofrece la posibilidad de simular la actividad del bus CAN enviando tramas CAN al mismo. Por lo tanto, el monitor del bus CAN se puede utilizar para validar el tráfico CAN esperado de un dispositivo determinado o para simular tráfico CAN con el fin de validar la respuesta de un dispositivo conectado al bus CAN.
Licencias
Bosch posee patentes sobre la tecnología, aunque las relacionadas con el protocolo original ya han expirado. Los fabricantes de microprocesadores compatibles con CAN pagan a Bosch una licencia por el uso de la marca registrada CAN y de las patentes más recientes relacionadas con CAN FD, y estos costos normalmente se repercuten en el precio del chip. Los fabricantes de productos con ASIC o FPGA personalizados que contienen módulos compatibles con CAN deben pagar una tarifa por la licencia del protocolo CAN si desean utilizar la marca registrada CAN o las funcionalidades de CAN FD. [ 24 ]
Véase también
- CANopen – Protocolo de red informática
- EtherLoop automotriz : tecnología híbrida de telecomunicaciones. Páginas que muestran breves descripciones de destinos de redireccionamiento.
- FlexRay – Protocolo de red informática
- Lista de buses de red – Lista de sistemas de bus de comunicación electrónica de dominio de colisión único
- Modbus – Protocolo de comunicaciones serie
- Bus MOST : tecnología de red multimedia de alta velocidad utilizada en la industria automotriz. Páginas que muestran descripciones breves de los destinos de redireccionamiento.
Referencias
- ↑ Esoterical. "Guía CANBus de Esoterical" . Esoterical . Archivado del original el 21 de diciembre de 2025. Consultado el 21 de diciembre de 2025 .
- 1 2 "Historia de CAN" . CAN en la automatización. Archivado del original el 15 de julio de 2018. Recuperado el 25 de febrero de 2016 .
- ↑ "Mercedes-Benz Clase S W 140" . mercedes-benz.com . 23 de febrero de 2016. Archivado del original el 10 de junio de 2019. Consultado el 27 de octubre de 2017 .
- ↑ "CAN en la automatización: Mercedes W140: Primer coche con CAN" . can-newsletter.org . Consultado el 27 de octubre de 2017 .
- 1 2 3 "Literatura CAN de Bosch Semiconductor" . Archivado del original el 23 de mayo de 2017. Recuperado el 31 de mayo de 2017 .
- ↑ Construyendo un adaptador para el diagnóstico a bordo del vehículo. Archivado el 14/05/2018 en Wayback Machine , obddiag.net, consultado el 09/09/2009.
- ↑ Comparación de los conceptos de activación por eventos y activación por tiempo con respecto a los sistemas de control distribuido. A. Albert, Robert Bosch GmbH Embedded World, 2004, Núremberg.
- ↑ "Conceptos básicos de conexión CAN" . Documentación de Duet3D . Duet3D. Archivado del original el 21 de diciembre de 2025. Consultado el 21 de diciembre de 2025 .
- ↑ "NISMO aumenta la funcionalidad del registrador de datos GPS GT6 y el número de rutas registradas" . www.gtplanet.net . 25 de octubre de 2014.
- ↑ "¿Qué es DiveCAN y por qué debería importarme?" 22 de marzo de 2016.
- 1 2 "ISO11783 una interfaz estandarizada tractor-implemento" (PDF) . Archivado del original (PDF) el 8 de marzo de 2021. Recuperado el 29 de enero de 2017 .
- 1 2 3 ISO 11898-1:2015 – Vehículos de carretera — Red de área de controlador (CAN) — Parte 1: Capa de enlace de datos y señalización física .
- 1 2 Nasser, Ahmad MK (2023). Manual de ingeniería de ciberseguridad automotriz: la hoja de ruta del ingeniero automotriz hacia vehículos ciberresilientes (1.ª ed.). Birmingham Bombay: Packt. ISBN 978-1-80107-653-1.
- 1 2 CiA: Normalización internacional .
- 1 2 "ISO 11898-1:2003 - Vehículos de carretera -- Red de área de controlador (CAN) -- Parte 1: Capa de enlace de datos y señalización física" . ISO.
- ↑ "CAN_XL, CAN XL, CAN, Bosch_CAN, módulos IP" . Semiconductores Bosch para automoción . Consultado el 15 de mayo de 2024 .
- ↑ "Protección de diodos ISO7637-3 para bus CAN" .
- ↑ "Protección ESD del bus CAN" .
- ↑ "Comprensión de la sincronización de bits del módulo CAN de Microchip" (PDF) .
- ↑ Daigmorte, Hugo; Boyer, Marc (2017), "Evaluación de la carga admisible del bus CAN con un mecanismo de sincronización débil" , Actas de la 24.ª Conferencia Internacional sobre Redes y Sistemas en Tiempo Real (RTNS 2017) , Grenoble, Francia: ACM
- ↑ "TRAMAS DE MENSAJES DEL BUS CAN – Trama de sobrecarga, espacio entre tramas" . 18 de noviembre de 2009.
- ↑ "Controller Area Network (CAN)" . Vector Group. Archivado del original el 25 de abril de 2016. Consultado el 25 de septiembre de 2013 .
- ↑ "Conducimos un coche mientras lo hackeaban" . www.vice.com . 29 de mayo de 2014. Archivado del original el 8 de noviembre de 2019.
- ↑ "Condiciones de licencia del protocolo CAN y del protocolo CAN FD" (PDF) . Archivado del original (PDF) el 16 de marzo de 2016. Consultado el 15 de marzo de 2016 .
Enlaces externos
- Presupuesto
- Norma ISO 11898-1 (2015) : incluye las especificaciones CAN y CAN-FD.
- Especificación CAN de Bosch Versión 2.0 (1991, 1997) - también conocida como CAN clásico y CAN-Classic
- Especificación Bosch CAN-FD Versión 1.0 (2012) : aumenta las velocidades de datos hasta 8 Mbit/s.
- Bosch CAN-FD-Light (futuro) : subconjunto de CAN-FD optimizado en costes.
- Bosch CAN-XL (próximamente) : aumenta las velocidades de datos hasta 20 Mbit/s.
- Otro
- Análisis de la programabilidad de la red de área de controlador (CAN): refutado, revisado y corregido.
- Diagrama de pines para conectores CAN bus comunes
- Una página web sobre CAN en la industria automotriz.
- Análisis de la programabilidad de la red de área de controlador (CAN) con colas FIFO
- Guía de implementación de la red de área de controlador (CAN) archivada el 10/12/2012 en Wayback Machine.
- Calculadora gratuita de sincronización de bits para Windows, compatible con muchos microcontroladores, por ejemplo, Atmel, STM32, Microchip, Renesas, ... (archivo ZIP)
- Módulo de aprendizaje electrónico gratuito "Introducción a CAN"
- Tutorial (vídeo) sobre ARINC-825 de Excalibur Systems Inc.
- Sitio web de CiA
- Boletín informativo de CAN en línea
- Comprensión y uso de la red de área de controlador (Controller Area Network) de la UC Berkeley.
- Tutorial del protocolo CAN
- Protección ESD para bus CAN y CAN FD
- bus CAN
- Autobuses en serie
- Informática industrial
- Automatización industrial
- Bosch (empresa)
- Ingeniería de redes informáticas