CAN FD (Controller Area Network Flexible Data-Rate) es un protocolo de comunicación de datos que se utiliza para transmitir información de sensores y control a través de interconexiones de dos cables entre diferentes partes de un sistema de instrumentación y control electrónico . Este protocolo se utiliza en vehículos modernos de alto rendimiento.
CAN FD es una extensión del protocolo de bus CAN original que se especificó en ISO 11898-1. CAN FD es la segunda generación del protocolo CAN desarrollado por Bosch. [ 1 ] La idea básica de aumentar la frecuencia de parte de la trama y aumentar el tamaño de la carga útil se remonta a 1999. [ 2 ] Desarrollado en 2011 y lanzado en 2012 por Bosch , CAN FD [ 3 ] se desarrolló para satisfacer la necesidad de aumentar la velocidad de transferencia de datos hasta 5 veces más rápido y con tamaños de trama/mensaje más grandes para su uso en las modernas unidades de control electrónico de automóviles .
Al igual que el protocolo CAN clásico, el protocolo CAN FD está diseñado para transmitir y recibir datos de sensores y comandos de control de forma fiable, así como para detectar errores de datos entre dispositivos electrónicos, controladores y microcontroladores . Si bien CAN FD se diseñó principalmente para su uso en unidades de control electrónico (ECU) de vehículos de alto rendimiento, la omnipresencia del CAN clásico en diferentes industrias propiciará la inclusión de este protocolo de comunicación de datos mejorado en diversas aplicaciones, como sistemas electrónicos utilizados en robótica, defensa, automatización industrial, vehículos submarinos, equipos médicos, aviónica , sensores de perforación de pozos, etc.
CAN FD frente a CAN clásico
La principal diferencia entre la CAN (Controller Area Network) clásica y la CAN FD radica en los datos flexibles (FD). Mediante CAN FD, las unidades de control electrónico (ECU) pueden alternar dinámicamente entre diferentes velocidades de datos y mensajes más largos o más cortos. La mayor velocidad y capacidad de datos se traducen en varias ventajas operativas del sistema en comparación con la CAN clásica. Los comandos emitidos por el software de la ECU llegan al controlador de salida mucho más rápido. CAN FD se utiliza habitualmente en las ECU de alto rendimiento de los vehículos modernos. Un vehículo moderno puede tener más de 70 ECU que utilizan CAN FD para intercambiar información a través del bus CAN cuando el motor está en marcha o el vehículo está en movimiento.
En un bus CAN, la unidad básica de mensajería es una trama . En un bus CAN clásico, una trama consta de un identificador de 11 bits junto con una carga útil de mensaje de 8 bytes. En CAN FD, una trama se etiqueta con un identificador de 29 bits y transporta una carga útil de mensaje de 64 bytes. Las tramas con identificadores de 11 bits se denominan formato de trama base FD (FDBF) y las tramas con identificadores de 29 bits se denominan formato de trama extendida FD (FEFF). Si bien en CAN FD son posibles velocidades de datos de carga útil de 5 a 8 Mbit/s, las velocidades de transferencia de datos generales dependen de la longitud total de la red del bus y de los transceptores utilizados para generar y detectar señales del bus. Además, las velocidades de datos de arbitraje están limitadas a 1 Mbit/s para mantener la compatibilidad con los dispositivos CAN clásicos. La especificación del protocolo CAN FD proporciona una detección de errores mejorada [ 4 ] en los mensajes CAN recibidos y una mayor flexibilidad en las velocidades de transferencia de datos para tener en cuenta las diferencias en las tasas de sondeo de los sensores. El bus CAN consta de un par de cables compartidos a los que se conectan sensores electrónicos, unidades de control y ECU, y se utiliza para intercambiar información entre unidades que operan periódicamente o bajo demanda. El número total de unidades conectadas, la longitud de los cables del bus CAN y otros factores electromagnéticos determinan la velocidad máxima de transferencia de datos posible para un bus CAN determinado. Todas las versiones del protocolo CAN están diseñadas con una resolución de colisiones robusta que depende del tiempo de propagación de la señal, la topología de la red y el número de unidades en el bus. Para minimizar las colisiones de mensajes y reducir la costosa corrección de errores, muchas configuraciones del bus CAN pueden limitar su velocidad de transferencia de datos muy por debajo de la velocidad máxima teórica del bus.
Carga del bus CAN-FD que fue desarrollada por la ecuación de "De Andrade" basada en la ecuación de Tindel. [ 1 ] [ 5 ] [ 6 ]
β = τ/ω (β = Carga de bus), (τ = tiempo de bits lentos más bits más rápidos), ω (tiempo en segundos de medición). τ = Ts + Tf
El protocolo CAN-FD define cinco mecanismos diferentes de detección de errores: dos de ellos funcionan a nivel de bit y los otros tres a nivel de mensaje. Son los siguientes:
- (1) Monitoreo de bits, - (2) Relleno de bits , - (3) Verificación de marco, - (4) Comprobación de acuse de recibo y - (5) Verificación de redundancia cíclica. Hay dos opciones de CRC que deben indicarse como longitud de CRC de 17 (longitud de datos de 0 a 16 bytes) o longitud de CRC de 21 bits (longitud de datos de 17 a 64) bytes.
Donde el tiempo de transmisión del encabezado (de tamaño fijo) viene dado por:
Los campos se explican en la tabla siguiente . Aquí, 1,2 se toma como el factor del peor caso de relleno de bits, [ 7 ] lo que significa que el cálculo debe incrementarse en un 25%. Se considera que BRS y CRCdel se dividen por 2, porque están exactamente en el desplazamiento de la transición de la tasa de bits .
El tiempo de transmisión de la carga útil se calcula de la siguiente manera:
Aquí, SB indica los bits de relleno (5 bits para paquetes menores de 6 bytes y 6 bits para paquetes mayores de 6 bytes). El CRC también depende del tamaño, estableciéndose en 17 bits para paquetes menores de 6 bytes y en 21 para paquetes mayores. Df representa el tamaño de la carga útil CAN-FD, que puede ser de 0 a 8, 12, 16, 20, 24, 32, 48 o 64 bytes. t_X es el ancho de banda de transmisión para la cabecera del mensaje (hasta 1 Mbit/s).
CAN FD también ha disminuido el número de errores no detectados gracias a las mejoras en el rendimiento del algoritmo CRC . [ 8 ] Además, CAN FD es compatible con las redes CAN 2.0 existentes, lo que permite que el nuevo protocolo funcione en la misma red que el CAN clásico. [ 9 ] La velocidad de bits de CAN FD puede alcanzar hasta 8 Mbit/s con el transceptor CAN SIC (Signal Improvement Capability) adecuado, siendo hasta 8 veces más rápido que el CAN clásico con una fase de datos de 1 Mbit/s.
Debido a la mayor velocidad de comunicación, las restricciones de CAN FD son más estrictas en términos de capacitancia parásita de línea . Por lo tanto, todos los componentes de la línea han visto reducido su presupuesto de "capacitancia" en comparación con el bus CAN convencional . Por esta razón, los proveedores de semiconductores han lanzado nuevos componentes aprobados por los fabricantes de automóviles. Esta aprobación refleja la necesidad de interoperabilidad entre todos los sistemas CAN FD. De hecho, determinados componentes de protección ESD son compatibles con todos los transceptores (CAN o CAN FD) y cumplen con la norma ISO 7637-3. [ 10 ]
A pesar de una tensión de bloqueo más alta (37 V), los dispositivos para aplicaciones en camiones también deben cumplir con el requisito de baja capacitancia (3,5 pF). [ 11 ]
Marco de datos
El marco de datos utilizado para la transmisión de datos real tiene dos formatos de mensaje:
- Formato de trama base: con 11 bits de identificador
- Formato de trama extendido: con 29 bits de identificador
El formato de trama es el siguiente: Los valores de bits se describen para la señal CAN-LO.
- ↑ Los valores 0-8 indican de 0 a 8 bytes, como en el protocolo CAN clásico. Los valores 9-15 se traducen a un valor entre 12 y 64, que es la longitud real del campo de datos: 9→12 10→16 11→20 12→24 13→32 14→48 15→64
Encabezados CAN y CAN FD TP
La tabla anterior explica el protocolo de transferencia definido para CAN + CANFD, basado en la norma ISO 15765-2 (ISO-TP), utilizado para enviar paquetes de datos más largos de lo que cabe en una trama CAN.
- Si el primer byte es 0x00, entonces se trata de un CAN-FD SF, y el segundo byte especifica el tamaño de los datos.
- Si el primer byte es 0x01-0x07, entonces es un CAN SF normal donde este byte indica el tamaño de los datos (de 1 a 7 bytes).
- Si los dos primeros bytes son 0x1000, se trata de un FF CAN-FD, y los cuatro bytes siguientes especifican el tamaño de los datos en orden de byte alto a byte bajo. Esto permite, en la práctica, enviar aproximadamente 4 GB de datos en CAN FD.
- Si los dos primeros bytes son 0x1008-0x1FFF, entonces se trata de un FF CAN normal con un tamaño de 0x008-0xFFF.
Transceptor CAN
CAN FD puede utilizar transceptores para CAN clásico y CAN FD. Además, existen nuevos transceptores CAN SiC (Signal Improvement Capability) con una velocidad de datos de 5 a 8 Mbit/s. [ 12 ]
CAN FD en acción
En 2017, se preveía que la tecnología CAN FD se utilizaría en la mayoría de los vehículos entre 2019 y 2020.
Partidarios de CAN FD
Algunas de las empresas detrás del nuevo estándar incluyen STMicroelectronics , Infineon , [ 13 ] NXP , Texas Instruments , Kvaser, Daimler y GM .
CAN FD constituye una capa básica de enlace de datos en algunos protocolos de capa superior como CANopen, como CANopen FD y J1939 , y es compatible con diferentes empresas mediante pilas de protocolos.
CAN XL
CAN XL es la tercera versión de la capa de enlace de datos CAN, después de CAN clásico y CAN FD. CAN FD es compatible con CAN XL .
Referencias
- 1 2 "CAN en Automatización (CiA): CAN FD - La idea básica" . www.can-cia.org . Archivado del original el 2 de febrero de 2017. Consultado el 25 de enero de 2017 .
- ↑ Cena, G.; Valenzano, A. (1999). "Overclocking of controller area networks" . Electronics Letters . 35 (22): 1923. Bibcode : 1999ElL....35.1923C . doi : 10.1049/el:19991289 .
- ↑ "Especificación Bosch CAN FD Versión 1.0 (publicada el 17 de abril de 2012)" (PDF) . Archivado del original (PDF) el 11 de diciembre de 2015. Consultado el 2 de enero de 2019 .
- ↑ "CAN FD y el problema del CRC" (PDF) .
- ↑ de Andrade, R.; Hodel, KN; Justo, JF; Laganá, AM; Santos, MM; Gu, Z. (2018). "Evaluaciones analíticas y experimentales del rendimiento del bus CAN-FD" . IEEE Access . 6 : 21287–21295 . Bibcode : 2018IEEEA...621287D . doi : 10.1109/ACCESS.2018.2826522 ..
- ↑ De Andrade, Ricardo (2014). Sistemas de comunicação CAN FD: modelamento por software e análise temporal (PDF) (Tesis de maestría). Universidad de São Paulo.
- ↑ "Re: [ PATCH ] can: length: agregar definiciones para longitudes de marco en bits - Vincent MAILHOL" . lore.kernel.org .
- ↑ "Copia archivada" (PDF) . Archivado del original (PDF) el 16 de abril de 2019. Consultado el 25 de enero de 2017 .
{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace ) - ↑ "El bus CAN FD de alta velocidad llegará a los automóviles, dice Microchip" . Electronics Weekly . 26 de octubre de 2015. Consultado el 26 de enero de 2017 .
- ↑ "Protección ESD del bus CAN para sistemas de 12 V" . STMicroelectronics-ESDCAN03-2BWY .
- ↑ "Protección ESD del bus CAN para sistemas de 24 V" . STMicroelectronics-ESDCAN05-2BWY .
- ↑ "Mejora de la señal CAN" . www.nxp.xom . Archivado del original el 4 de agosto de 2020. Consultado el 2 de febrero de 2022 .
- ↑ Kelling, Ursula (abril de 2014). "Microcontroladores Infineon" (PDF) . Boletín informativo CAN en línea . Consultado el 2 de junio de 2019 .
Enlaces externos
- Comparación de CAN FD con CAN clásico
- CAN FD: De la teoría a la práctica
- Linux e ISO 15765-2 con CAN FD: detalles sobre cómo difiere la longitud de los datos (carga útil) entre CAN y CANFD.
- Linux e ISO 15765-2 con CAN FD: XV Conferencia Internacional CAN 2015
- Software de automatización
- Autobuses en serie
- Bosch (empresa)
- bus CAN