CAN bus · ISO 11898-2 · CAN FD · Capa física · Detección de errores · 9 min de lectura

Fundamentos del CAN Bus: capa física, estructura de trama y detección de errores

Desarrollado por Bosch en 1986 y estandarizado como ISO 11898, CAN bus es el bus de campo base para equipos HVAC, enfriadores, variadores de velocidad y controladores de automatización de edificios. Su señalización diferencial, arbitraje hardware y detección de errores de cinco capas lo hacen mucho más robusto que RS485 Modbus en salas de máquinas eléctricamente ruidosas — y entender estos fundamentos es esencial antes de desplegar cualquier dispositivo CANopen.

Capa física ISO 11898-2 y señalización diferencial

ISO 11898-2 define el CAN de alta velocidad — la variante utilizada en casi todas las aplicaciones de automatización de edificios e industriales. La capa física utiliza un par diferencial: CAN_H (CAN High) y CAN_L (CAN Low), ambas referenciadas a GND. En el estado recesivo (lógica 1), ambas líneas flotan a aproximadamente 2,5V y la tensión diferencial es 0V. En el estado dominante (lógica 0), CAN_H se lleva a aproximadamente 3,5V y CAN_L a aproximadamente 1,5V, dando un diferencial de 2V inmune al ruido de modo común hasta ±30V.

Use par trenzado apantallado con una impedancia característica de 120Ω — Belden 9841 (par único, 24AWG) o equivalente. Conecte el apantallamiento solo en un extremo (típicamente en el cuadro) para evitar bucles de tierra. Ambos extremos del segmento de bus deben terminarse con una resistencia de 120Ω entre CAN_H y CAN_L. La terminación dividida (dos resistencias de 60Ω con un condensador de 4,7nF a tierra en el punto medio) mejora el rendimiento EMC en entornos de alto ruido.

Cableado CAN bus — conexión de 3 hilos

CAN bus cable (Belden 9841 or equivalent, 120Ω STP):
  CAN_H  → CAN_H terminals on all nodes
  CAN_L  → CAN_L terminals on all nodes
  GND    → GND terminals on all nodes (reference, not signal ground)

Termination resistors:
  Node 1 (first node on bus): 120Ω between CAN_H and CAN_L
  Node N (last node on bus): 120Ω between CAN_H and CAN_L
  All intermediate nodes: NO termination

Measure termination (bus powered off):
  CAN_H to CAN_L resistance should read ~60Ω
  (Two 120Ω resistors in parallel = 60Ω)
  Values outside 54–66Ω indicate missing or extra termination

Advertencia: La topología en estrella y en árbol no están permitidas en CAN bus. Todos los nodos deben conectarse a un único cable troncal lineal — las derivaciones deben mantenerse por debajo de 0,3m para prevenir reflexiones de señal. Las derivaciones largas causan errores de bit dominante a altas velocidades de bits.

Velocidad de bits versus longitud de cable

La velocidad de bits de CAN bus está limitada por el retardo de propagación — el tiempo que tarda una señal en viajar al nodo más alejado y volver antes de que termine el período de bit. ISO 11898-2 especifica las combinaciones estándar de velocidad de bits y longitud de cable. Los sistemas de automatización de edificios raramente necesitan 1 Mbit/s; 125 kbit/s o 250 kbit/s es típico para equipos HVAC en recorridos de cable de 100–500m entre salas de máquinas.

Velocidad de bitsLongitud máx. de cableLongitud máx. de derivaciónAplicación típica
1 Mbit/s40 m0,3 mControl de máquinas, conexiones cortas dentro del cuadro
500 kbit/s100 m0,3 mAccionamientos industriales, sala de máquinas compacta
250 kbit/s250 m0,3 mHVAC multi-enfriador, sala de máquinas de planta
125 kbit/s500 m0,3 mColumna vertebral del edificio, tendidos entre plantas
50 kbit/s1000 m0,3 mTendidos de cable largos, grandes emplazamientos
20 kbit/s2500 m0,3 mCampus, raramente utilizado

Nota: Todos los nodos en un segmento CAN deben funcionar a la misma velocidad de bits. No es posible mezclar dispositivos a 250 kbit/s y 125 kbit/s en el mismo bus — use un repetidor CAN o segmentos separados conectados a través de una pasarela si se requieren velocidades diferentes.

Estructura de trama CAN

La trama de datos CAN estándar (ISO 11898-1) consta de siete campos. Entender el campo de ID de arbitraje es crítico para la configuración CANopen — el COB-ID (Communication Object Identifier) utilizado en CANopen es el ID CAN estándar de 11 bits. Las tramas extendidas utilizan IDs de 29 bits y se usan en CANopen con COB-IDs de 4 bytes (modo de direccionamiento extendido).

CampoBitsDescripción
SOF1Start of Frame — bit dominante que sincroniza todos los receptores
ID de arbitraje (estándar)11Identificador de mensaje — valor más bajo = mayor prioridad en el bus
ID de arbitraje (extendido)29Formato de trama extendido — incluye base de 11 bits + extensión de 18 bits
RTR1Remote Transmission Request — 1 = solicitud de datos de otro nodo
IDE1Bit de extensión de identificador — 0 = trama estándar, 1 = trama extendida
DLC4Data Length Code — número de bytes de datos: de 0 a 8
Datos0–64 bitsCarga útil: 0 a 8 bytes para CAN clásico; hasta 64 bytes para CAN FD
CRC15 + 1Verificación de redundancia cíclica de 15 bits más delimitador CRC (bit recesivo)
ACK2Ranura de reconocimiento (dominante) + delimitador ACK (recesivo)
EOF7End of Frame — 7 bits recesivos

Mecanismos de detección de errores

CAN tiene cinco mecanismos independientes de detección de errores que operan simultáneamente. Cada error detectado hace que todos los nodos descarten la trama actual y el transmisor reenvíe. Un nodo que causa errores repetidamente pasa del estado error-active a error-passive y luego al estado bus-off, protegiendo la red de un nodo defectuoso.

Tipo de errorMétodo de detecciónCausa frecuente
Error CRCEl receptor recalcula el CRC y lo compara con el valor transmitidoBits de datos corruptos por EMI o cable largo
Error de bitEl transmisor monitorea el bus y detecta la discrepancia de su propio nivel de bitCortocircuito, contención en el bus, fallo de cableado
Error de tramaLos campos de formato fijo (EOF, delimitador CRC) verificados para el nivel correctoFallo bit stuffing, estructura de trama corrupta
Error ACKEl transmisor verifica que al menos un receptor envíe ACK dominanteNodo faltante, velocidad de bits incorrecta, sin terminación
Error de stuffingDespués de 5 bits consecutivos del mismo nivel, debe seguir un bit complementarioEMI causando una secuencia del mismo nivel que supera 5 bits

Arbitraje bitwise no destructivo

Cuando dos o más nodos intentan transmitir simultáneamente, CAN resuelve el conflicto mediante arbitraje bitwise sin destruir ninguno de los mensajes. Cada nodo monitorea el bus mientras transmite — si un nodo transmite un bit recesivo (1) pero lee un bit dominante (0), inmediatamente deja de transmitir y cambia al modo receptor. El nodo con el ID de arbitraje numérico más bajo siempre gana.

En CANopen, esto significa que los COB-ID más bajos tienen mayor prioridad. Los mensajes de emergencia (EMCY, COB-ID 0x080 + ID de nodo) y los mensajes heartbeat reciben COB-ID más bajos que los datos PDO — asegurando que las alarmas nunca se retrasen detrás del tráfico de datos de proceso. Asigne los ID de nodo más bajos a los dispositivos más críticos como pasarelas de paneles de incendio o controladores de alarmas de enfriadores.

CAN FD — Flexible Data-rate

CAN FD (ISO 11898-1:2015) extiende el CAN clásico con dos mejoras: una velocidad de bits de fase de datos variable de hasta 8 Mbit/s (frente a 1 Mbit/s para CAN clásico) y un tamaño de carga útil de hasta 64 bytes (frente a 8 bytes). La fase de arbitraje sigue funcionando a la velocidad clásica para compatibilidad — solo la fase de datos cambia a la velocidad más alta después del bit BRS (Bit Rate Switch).

ParámetroCAN clásicoCAN FD
Velocidad máx. de arbitraje1 Mbit/s1 Mbit/s (igual — compatible con versiones anteriores)
Velocidad máx. fase de datos1 Mbit/s8 Mbit/s
Bytes máx. de carga útil8 bytes64 bytes
Longitud CRC15 bits17 o 21 bits (más largo para cargas útiles mayores)
Uso en automatización de edificiosExtendido — la mayoría de dispositivos HVACEmergente — nuevos variadores VFD, contadores de energía

Nota: La mayoría de los dispositivos CAN para automatización de edificios (enfriadores, UTA, variadores VFD) todavía usan CAN clásico a 125 o 250 kbit/s. El hardware CAN FD (PEAK-System PCAN-USB FD, Vector CANalyzer FD) es compatible con versiones anteriores y puede comunicarse con nodos CAN clásicos en el mismo segmento, siempre que la fase de datos no se active al comunicarse con nodos clásicos.

Herramientas de diagnóstico

Use un analizador CAN durante la puesta en marcha para verificar el tráfico del bus, monitorear las tramas de error y confirmar los ID de nodo antes de integrar con una pasarela CANopen. Tres herramientas son estándar en la industria.

HerramientaInterfazCaso de uso
PEAK-System PCAN-USBDongle USB, ~€100Software gratuito PCAN-View — escuchar tráfico, enviar tramas, registrar en CSV
PEAK-System PCAN-USB FDDongle USB CAN FD, ~€130Como arriba pero soporta fase de datos CAN FD hasta 8 Mbit/s
Vector CANalyzerTarjeta PCI/USB, profesionalAnálisis completo de protocolo, vista diccionario de objetos CANopen, scripting
Kvaser Leaf Light v2Dongle USB, ~€180Software gratuito Kvaser CanKing — bueno para puesta en marcha en campo
PCAN-View (gratuito)Software (Windows)Usado con adaptadores PEAK — filtrar por COB-ID, monitorear contadores de error

¿Necesita un cuadro CAN bus con integración de pasarela CANopen?

Diseñamos y construimos cuadros de baja tensión con pasarelas CANopen-a-KNX/Modbus/BACnet, terminación correcta de 120Ω, cableado CAN apantallado y documentación de puesta en marcha para instalaciones HVAC e industriales.

Solicitar presupuesto →
Cargando...
Volver arriba