Skip to content
RFrftools.io
Comms

Calculadora de Temporización del Bus CAN

Calcula los parámetros de temporización del bus CAN: prescaler, segmentos de bit y velocidad de baudios.

Loading calculator...

Fórmula

tq=1/(fclk/BRP);NBT=SS+PROP+BS1+BS2tq = 1/(f_clk/BRP); NBT = SS + PROP + BS1 + BS2
tq— Cuántica temporal (ns)
BRP— Preescalador de velocidad en baudios
NBT— Tiempo nominal de bits en TQ (tq)
SS— Segmento de sincronización (1 tq) (tq)
BS1— Segmento de búfer de fase 1 (tq)
BS2— Segmento de búfer de fase 2 (tq)

Cómo Funciona

Esta calculadora determina los parámetros de temporización de bits del bus CAN para redes automotrices e industriales. Los ingenieros de sistemas integrados y los diseñadores de sistemas de automoción la utilizan para configurar los controladores CAN según las especificaciones ISO 11898-1 (CAN 2.0) e ISO 11898-2 (capa física de alta velocidad). El tiempo de bits se divide en 4 segmentos: Sync_Seg (siempre 1 TQ), Prop_Seg (1-8 TQ para la compensación del retardo de propagación), Phase_Seg1 (1-8 TQ) y Phase_Seg2 (1-8 TQ). El punto de muestra, en el que se lee el nivel del bus, debe situarse entre el 75 y el 87,5% del tiempo de bits según la sección 11.3.1.1 de la ISO 11898-1:2015 (Vehículos de carretera: red de área de controladores — Parte 1: capa de enlace de datos y señalización física) e ISO 11898-2:2016 (capa de conexión al medio físico). La temporización del CAN FD se especifica en la enmienda 1 de la norma ISO 11898-1:2015. Para una red de 500 kbps (la velocidad automotriz más común), el tiempo de bits es de 2 microsegundos. Con un reloj de 80 MHz y de 8 a 16 cuánticos de tiempo por bit, los valores alcanzables del preescalador oscilan entre 10 y 20. La CAN FD amplía las velocidades de 2 a 8 Mbps en la fase de datos, lo que requiere puntos de muestreo del 70 al 80% y una tolerancia de oscilación más estricta (el 0,1% frente al 0,5% de la CAN clásica).

Ejemplo Resuelto

Un módulo de control de carrocerías automotrices requiere una comunicación CAN a 500 kbps mediante un microcontrolador S32K144 con un reloj CAN de 80 MHz. Según los requisitos de temporización de la norma ISO 11898-1: tiempo de bits = 1/500000 = 2 microsegundos. El objetivo es de 16 TQ por bit para un ajuste preciso. Cuántica temporal = 2 us/ 16 = 125 ns. Preescalador = 80 MHz x 125 ns = 10. Asignación de segmentos para un 87,5% de puntos de muestreo: Sync_Seg = 1 TQ, Prop_Seg = 5 TQ, Phase_Seg1 = 8 TQ, Phase_Seg2 = 2 TQ. Punto de muestreo = (1 + 5 + 8)/16 = 87,5%. SJW (ancho de salto de sincronización) = min(Phase_Seg1, Phase_Seg2, 4) = 2 TQ, lo que permite una resincronización de +/-250 ns por bit. Esta configuración admite redes de hasta 100 metros con un retraso de propagación de 5 ns/m.

Consejos Prácticos

  • ✓Según la norma ISO 11898-2, utilice un 87,5% de puntos de muestreo para redes de menos de 40 metros y reduzca al 75% para redes de 40 a 500 metros para adaptarse al retraso de propagación
  • ✓Establezca el SJW (ancho de salto de sincronización) en el valor máximo permitido (normalmente de 1 a 4 TQ) para tolerar una deriva del oscilador de hasta un 1,58% según la especificación CAN de Bosch
  • ✓Para CAN FD en una fase de datos de 2 Mbps, utilice un retardo de propagación del transceptor de <150 ns (familia TJA1042) y mantenga la longitud de los bornes por debajo de 30 cm

Errores Comunes

  • ✗Uso de tiempos de bits no coincidentes entre nodos: incluso una diferencia de 1 TQ provoca una falta de coincidencia en los puntos de muestreo, lo que aumenta los fotogramas de error entre 10 y 50 veces en longitudes de bus superiores a 20 metros
  • ✗Establecer un punto de muestreo por encima del 90%, lo que infringe la norma ISO 11898-1 y provoca una tasa de error del 5 al 15% en redes multinodo debido a una insuficiencia de Phase_Seg2
  • ✗Sin tener en cuenta la tolerancia del oscilador: los resonadores cerámicos (precisión del 0,5%) fallan en longitudes de cable superiores a 50 metros, mientras que los cristales (20 ppm) admiten el alcance total de 1 km

Preguntas Frecuentes

La norma ISO 11898 define velocidades de 10 kbps a 1 Mbps. La automoción utiliza 500 kbps (CAN del tren motriz) y 125 kbps (CAN de carrocería). Las redes industriales utilizan 250 kbps (DeviceNet) y 125 kbps (CANopen). CAN FD amplía la fase de datos a 2 a 8 Mbps, mientras que el arbitraje se mantiene a 500 kbps.
El time quantum (TQ) es la unidad de temporización más pequeña, derivada del reloj CAN mediante un preescalador: TQ = Prescaler / f_CAN. Cada bit contiene de 8 a 25 TQ (normalmente 16 para un ajuste óptimo). Con un reloj de 80 MHz, el prescaler=10 proporciona un TQ=125 ns, lo que produce un tiempo de bit de 2 us (500 kbps) con 16 TQ.
Según la norma ISO 11898-1, todos los nodos deben muestrear el bus en puntos consistentes para leer el mismo valor de bits. Un punto de muestreo al 87,5% proporciona un margen del 12,5% para que la señal se estabilice tras la propagación. Si es demasiado pronto (75%) se pierde margen; si es demasiado tarde (> 90%), se corre el riesgo de que el muestreo se realice durante la transición de bits, lo que provocará un fracaso del 100% en el arbitraje.

Artículos Relacionados

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

Calculadoras relacionadas