CAN Bus CAN bus (para CONTROLLER AREA NETWORK) es un sistema diseñado para permitir la comunicación recíproca de microcontroladores y dispositivos dentro de un vehículo sin una computadora huésped. CAN bus es un protocolo basado en mensajes, diseñado específicamente para aplicaciones de automóviles pero ahora también es usado en otras áreas tales como aeroespacio, marítima, automatización industrial y equipamiento médico. El desarrollo del CAN bus comenzó originalmente en 1983 en Robert Bosch GmbH. El protocolo fue oficialmente publicado en 1986 en el congreso de la Sociedad de Ingenieros Automovilísticos (SAE) en Detroit, Michigan. Los primeros chips de controladores CAN, producidos por Intel y Phillips, llegaron al mercado en 1987. Bosch publicó la especificación de CAN 2.0 en 1991. En 2012 Bosch ha especificado el CAN protocolo de nivel de enlace de datos mejorado, llamado CAN FD, el cual extenderá la ISO 11898-1. CAN bus es uno de los cinco protocolos usados en los vehículos de diagnostico standard de OBD-II. El standard de la OBD-II ha sido el mandato de todos los autos y camiones livianos en los Estados Unidos desde 1996, y el standard EOBD ha sido el mandato de todos los vehículos a petróleo vendidos en la Unión Europea desde 2001 y en los vehículos diesel desde 2004. Automotriz Un automóvil moderno debe tener alrededor de 70 unidades de control electrónico (ECU) para varios sistemas. En general el procesador más grande es la unidad de control del motor (también módulo de control de motor/ECM o módulo de control de POWERTRAIN / PCM en automóviles); otros son usados para la transmisión, airbags, ANTILOCK BRAKING/ABS, control de crucero, dirección de poder eléctrico/EPS, sistemas de audio, ventanas, puertas, ajuste de los espejos, batería, recarga de sistemas para autos eléctricos o híbridos, etc. Algunos de estos forman subsistemas independientes, pero las comunicaciones entre los demás son esenciales. Un subsistema puede necesitar controlar actuadores o recibir retroalimentación de terceros. El CAN standard fue desarrollado para cubrir esta necesidad. El CAN bus puede ser usado en vehículos conectados a una unidad de control de motor y transmisión, o (en un bus diferente) conectar los bloqueos de las puertas, control de los asientos, etc. Hoy el CAN bus es usado también como un FIELDBUS en el entorno de automatización en general, sobre todo debido al bajo costo de algunos controladores y procesadores CAN. Bosch tiene las patentes de la tecnología, y los productores de los microprocesadores CAN compatibles pagan impuestos de licencias a Bosch, los cuales son normalmente reflejados en el precio al consumidor de los chips. Los fabricantes de productos que contienen módulos compatibles CAN pueden necesitar pagar un www.nami.com.uy impuesto por el Protocolo de Licencia de CAN. El corazón de un CAN bus en el controlador CAN. Este se conecta a todos los componentes (nodos) en la web vía los cables de CAN-H y CAN-L. La señal es diferente, esto significa que cada una de lineas CAN hace referencia a otra línea, no a un vehículo a tierra. Esto tiene ventajas significativas desde el punto de vista del rechazo al ruido cuando es usado en medios eléctricos ruidosos como los vehículos con motor. Cada nodo web tiene su identificador único. A partir de ECU en el bus está efectivamente en paralelo, todos los nodos ven toda la información, todo el tiempo. Un nodo sólo responde cuando lo detecta su propio identificador. Por ejemplo, cuando la ABS ECU envía un comando a una unidad activada ABS, esto responde en consecuencia, pero el resto de la web ignorará el comando. Los nodos individuales pueden ser removidos de la web, sin afectar los otros nodos. Como muchos componentes de vehículos diferentes pueden compartir el mismo bus hardware, es importante que un disponible ancho de banda CANbus esté asignado primero al más seguro sistema crítico. Los nodos usualmente están asignados a uno de los números de niveles prioritarios. Por ejemplo, los controles de motor, frenos y airbags son una de las formas de mayor importancia desde el punto de vista de la seguridad, y los comandos para activar esos sistemas están teniendo mayores prioridades (1) y serán accionados antes de de los menos críticos. Los dispositivos de audio y navegación tiene usualmente una prioridad media (2), y los de activación simple de luces deben ser de menor prioridad (3). Los últimos vehículos usan hasta 3 redes separadas CAN, usualmente de diferentes velocidades conectadas juntas por portales. Por ejemplo, las funciones de manejo del motor estarían a altas velocidades a 500KB/s y los sistemas de chasis corren a 250KB/s CAN bus. La gestión interna, por ejemplo, luces, hielo, navegación por satélite, espejos, etc están a una baja velocidad lo cual tendrá sólo una líneas frecuentemente referida como una LIN bus. La información de una de las tres redes es disponible a las otras dos redes vía portales para conectarse, por ejemplo, la transmisión para obtener la información desde el manejo del motor y vice versa. Un proceso conocido como arbitraje decide la prioridad de los mensajes. En la práctica, para el usuario todas las acciones parecerán ser inmediatas. CAN bus se está haciendo cada vez más común en los vehículos de hoy en día, y se están haciendo más comunes a medida que la tecnología madura y se reduce el costo. www.nami.com.uy Tecnología CAN es un MULTI-MASTER BROADCAST SERIAL BUS STANDARD FOR CONNECTING ELECTRONIC CONTROL UNITS (ECUs) Cada nodo es capaz de enviar y recibir mensajes, pero no simultáneamente. Un mensaje consiste sobre todo en un ID (identificador), el cual representa la prioridad del mensaje, y hasta ocho bytes de información. El CAN mejorado (CAN FD) extiende la longitud de la sección de información hasta 64 bits por marco. Esto es transmitido en serie en el bus. Este patrón de señal es codificado en no volver a cero (NRZ) y es detectado por todos los nodos. Los dispositivos que están conectados por una red CAN son típicamente sensores, actuadores, y otros dispositivos de control. Estos dispositivos no están conectados directamente en el bus, pero a través de un procesador huésped y un controlador CAN. Si el bus está inactivo lo cual representará por un nivel regresivo (TTL=5V), cualquier nodo puede comenzar a transmitir. Si dos o más nodos comienzan a enviar mensajes al mismo tiempo, el mensaje con el ID más dominante (los cuales tienen bits más dominantes, eso es, ZEROES) se sobrescribirá con otro nodos IDs menos dominantes, por lo tanto que eventualmente (después del arbitraje en la ID) sólo los mensajes dominantes permanecen y es recibido por todos los nodos. Este mecanismo es conocido como una prioridad basada en el arbitraje de bus. Los mensajes con valores numéricos más bajos de ID tienen mayor prioridad y son transmitidos primero. Cada nodo requiere un Procesador huésped El procesador huésped decide lo que significan los mensajes recibidos y cuales mensajes quiere transmitir por si mismo. Sensores, actuadores y dispositivos de control pueden ser conectados al procesador huésped. Controlador CAN (hardware con un reloj sincronizado) Recibir: el controlador CAN almacena los bits recibidos en serie desde el bus hasta que un mensaje entero es disponible, el cual puede entonces ser exagerada por el procesador huésped (usualmente después de que el controlador CAN ha provocado una interrupción). Enviar: el procesador huésped almacena sus mensajes transmitidos al controlador CAN, el cual transmite los bits necesarios al bus. www.nami.com.uy Transcribir Recibir: adapta niveles de señales desde el bus a los niveles que los controladores de CAN espera y tiene un circuito protector que protege el controlador CAN. Trasmitir: convierte la señal de transmisión recibida desde el controlador del CAN en una señal que es enviada al bus. La tasa por bits hasta 1Mbit/s son posibles con redes bajo 40m. Disminuyendo la tasa de bits permite distancias de redes más largas (por ejemplo, 500m a 125Kbits). El mejorado CAN (CAN FD) extiende a velocidad de la sección de información por un factor de hasta 8 de la tasa de arbitraje de bits. www.nami.com.uy