Descripción general del bus CAN

Controller Area Network (CAN) es una tecnología de red en serie asíncrona de multi-caída y muy confiable que originalmente se diseñó para comunicaciones automotrices, pero también se ha convertido en un bus popular para la automatización industrial, así como en otras aplicaciones.

El medio típico es un par trenzado de cables y la longitud máxima de la red depende de la velocidad de red elegida (las distancias más largas se pueden alcanzar a velocidades más bajas), por ejemplo:

40 m a 1 Mbps
500 m a 125 kbps

Hay una variedad de posibilidades de configuración de nodos CAN, sin embargo, todos los nodos contienen un transceptor CAN, un controlador CAN y un controlador de aplicación (MCU) como se muestra:


Microchip ofrece una variedad de transceptores CAN, controladores CAN y MCU con controladores CAN incorporados para permitir estas configuraciones comunes de nodos CAN.

Aplicaciones CAN

Las principales ventajas de CAN como bus en serie radican en la reducción de los costosos cableados, así como en el aumento del rendimiento al permitir un sistema de procesamiento distribuido. CAN se ha utilizado en las siguientes aplicaciones:

Carros pasajeros
Automatización de edificios
Camiones y autobuses
Control de maquinaria industrial
Ascensores y escaleras mecánicas
Trenes
Sistemas electrónicos marítimos
Aeronave y electrónica aeroespacial


Variantes CAN

Originalmente, existía lo que ahora se conoce como el protocolo de capa de enlace de datos CAN "clásico", desarrollado originalmente por Bosch como CAN 2.0A / B. Esto fue estandarizado en los estándares de la serie ISO11898 comenzando en 1993.

Para abordar las limitaciones de ancho de banda y los retrasos en la fabricación al final de la línea en la programación de ECU en automóviles, Bosch en 2012 actualizó el protocolo a lo que ahora se conoce como CAN FD (tasa de datos flexible).

Ambos protocolos de capa de enlace de datos ahora están internacionalmente estandarizados en ISO11898-1: 2015

Los marcos de datos CAN FD se transmiten con 2 velocidades de bits diferentes. La fase de arbitraje se transmite a hasta 1Mbps (compatible con Classical CAN), sin embargo, en la fase de datos, dado que solo 1 nodo está transmitiendo, la velocidad de bits está limitada solo por las características del transceptor, y se aproxima a 8Mbps. Además, CAN FD extiende la cantidad máxima de bytes de datos en la carga de 8 a 64 bytes como se muestra:


Los controladores CAN FD pueden funcionar en sistemas CAN clásicos, mientras que los controladores CAN clásicos generarán errores en un sistema CAN FD.

Kvaser ha publicado una guía útil que describe el impacto que tienen para las distintas partes interesadas el cambio a un diseño CAN FD.

Conceptos básicos de red

CAN es una red multimaestro, por lo que cada nodo puede enviar sus datos en cualquier momento. Las colisiones se resuelven por prioridad, a través de un proceso de arbitraje automático que se produce en la capa física. Los mensajes contienen un identificador de mensaje de 11/29 bits. El mensaje con el valor más bajo de ID de mensaje gana el proceso de arbitraje y se procesa.

El software de capa de aplicación personalizada u otros protocolos de capa superior (como J1939, CANopen, etc.) deben garantizar la singularidad de los ID de mensaje CAN asignando / reservando ciertos identificadores para ciertas funciones / propósitos.

Los mensajes se transmiten a todos los nodos, sin embargo, la capacidad de multidifusión está integrada en el sistema mediante los filtros de ID de mensaje de hardware que están disponibles en el controlador CAN en cada nodo.

Se incluye una suma de comprobación de redundancia cíclica (CRC) en cada paquete, y se verifica mediante el hardware CAN en cada nodo del bus. Si un solo nodo informa un error CRC, todos los otros nodos descartan el mensaje y automáticamente se vuelve a transmitir.
Conceptos básicos de señalización
La señalización CAN difiere de otros protocolos de comunicaciones, en que un nivel lógico "0" se conoce como el bit dominante y se codifica como una señal diferencial en el bus de ~ 2 voltios, mientras que un nivel lógico "1" se conoce como el nivel lógico "1". bit recesivo y se codifica como una señal diferencial de ~ 0 voltios, como se muestra:


Protocolos de Capa Superior (HLP)

Muchos protocolos de red se describen utilizando el Modelo de Interconexión de Sistema Abierto (OSI) de siete capas, como se muestra aquí:


El protocolo CAN (ISO11898) define la capa de enlace de datos y parte de la capa física en el modelo OSI. La capa física restante (y todas las capas superiores) no están definidas por la especificación CAN. Estas otras capas pueden ser definidas por el diseñador del sistema (una pila "desarrollada en el hogar"), o pueden implementarse utilizando los Protocolos de Capa Superior (HLP) no patentados existentes tales como CANopen o DeviceNet.

¿Qué pueden proporcionar los HLP?

Un HLP puede proporcionar funcionalidad adicional sobre el protocolo CAN básico:


Proporciona control de flujo y la capacidad de transferir unidades de datos de más de 8 bytes

Coordina las instalaciones de nodos adicionales

Gestión de red (comportamiento de arranque, comportamiento del sueño, informe de estado dentro del sistema de red CAN)

Puede garantizar que la información llegue al nodo correcto

Puede definir cómo distribuir identificadores de mensajes entre los diferentes nodos en un sistema

Puede definir cómo traducir los contenidos de los marcos de datos

Entorno de desarrollo y soporte de herramientas

Fuente: CAN Overview

Comentarios

Entradas más populares de este blog

Resistencias

Guía de introducción de XC8