Contexto


Buscas cada vez más que el automóvil sea una extensión de nuestro hogar, que puedas ir a nuestro destino cómodamente. Hoy en día, quieres un automóvil eficiente, cuyo consumo de combustible sea poco, que cuente con sistemas de asistencia como el de Antibloqueo ABS, el Sistema Electrónico de Estabilidad ESP, el Sistema de Bolsas de Aire e incluso con Suspensión Activa y, desde luego, con sistemas de seguridad e inmovilización en caso de intento de robo.

Para logar que todo eso suceda, los vehículos actuales contienen cientos de circuitos, sensores, componentes eléctricos y muchos otros. La comunicación es necesaria entre los muchos circuitos y las funciones del vehículo. Si todas las combinaciones posibles de interruptores, sensores, motores y otros aparatos eléctricos en vehículos con todas las funciones se acumulan, el número resultante de las conexiones y cableados especiales es enorme. La creación de redes proporciona un método más eficiente para el complejo de comunicaciones a bordo de vehículos de hoy en día.


  • ¿Para qué se necesitan computadoras en un automóvil?

Explicación

7.1 Protocolo CAN

Introducido en 1991, el protocolo de comunicación CAN (Controller Area Network) fue el primer bus de comunicación incluido en un vehículo. Además de ser el sistema estándar en el sector automotriz, el bus CAN es usado comúnmente como un bus de campo en automatización general.

El protocolo CAN es usado para la conexión de distintos componentes de un vehículo. Debido a la variedad de dinámicas presente entre los subsistemas que constituyen un vehículo —por ejemplo, procesos involucrados en el control del motor (milisegundos) contra sistemas de control del confort del pasajero (minutos)—, se desarrollaron buses CAN caracterizados por distintas tasas de transmisión de datos. Además de segmentar los tipos de comunicaciones asociadas a cada subsistema, esta división mejora la relación de costo de acuerdo a la aplicación.

Figura 1. Ejemplo de conexión de una red CAN


En la parte superior destaca una red CAN de alta velocidad (CAN-C), a la cual están conectadas las ECU 1, 2, 3 y 4. En la parte inferior, se representa una red CAN de baja velocidad (CAN-B), a la cual están conectadas las ECU 5, 6, 7, 8, 9, 10 y 11. Ambas redes se pueden comunicar a través de un Gateway, al cual está conectada una interfaz de diagnóstico. De: Bosch, R. (2013). Bosch Automotive Electrics and Automotive Electronics. Systems and Components, Networking and Hybrid Drive (5th Ed.). Germany: Springer.

La topología del protocolo CAN está diseñada para eliminar la necesidad de un elemento de control central para la comunicación. Este enfoque supone la existencia de una topología bus lineal, en la cual todos los nodos de red están conectados a un bus y cada nodo es capaz de recibir información enviada a través del bus. Además de ofrecer buenas propiedades eléctricas, la topología bus lineal de red presenta robustez con respecto a fallas. Cuando una estación se daña, esta falla no afecta el sistema de transmisión de datos. Por otra parte, es muy sencillo conectar más estaciones al sistema.

El uso de un acoplador central hace posible construir topologías tipo estrella. Se pueden usar tanto acopladores activos como pasivos. El uso de la topología estrella logra tener un nivel alto de flexibilidad para adaptarse a múltiples aplicaciones, sin embargo, la presencia de un nodo central hace su funcionamiento crítico para todo el vehículo.

El sistema de transmisión de datos del protocolo CAN es muy sencillo. Un nodo de red está formado por un microcontrolador, el controlador CAN y el transceptor CAN (también conocido como bus driver).

El controlador CAN es responsable de transmitir y recibir datos. Este componente electrónico convierte la información en entrada y salida desde el microcontrolador en tramas de bits compatibles con el protocolo CAN. Estas tramas se envían al transceptor.

El transceptor amplifica las señales, genera los niveles de voltaje requeridos para la transferencia de datos y transmite los bits procesados a través de la línea bus caracterizada por dos conductores que vienen denominados CAN_H y CAN_L. (Axiomatic, 2006).

Los mensajes entrantes son procesados por el transceptor y enviados hacia el controlador CAN por la línea RxD (Received Data), mientras que los que se envían por la línea TxD (Transmit Data). El microcontrolador es responsable del contenido de la información que se envía a través de la red CAN. Por ejemplo, una referencia para la abertura de la válvula de control de combustible.

Figura 2. Ejemplo de un nodo CAN.

De: Bosch, R. (2013). Bosch Automotive Electrics and Automotive Electronics. Systems and Components, Networking and Hybrid Drive. (5th Ed.). Germany: Springer.


El protocolo CAN usa dos estados de comunicación. El estado dominante y el estado recesivo. Estos estados representan como los bits serán codificados en la línea de comunicación CAN. El estado dominante representa al 0 binario, el estado recesivo al 1binario.

A la par de otros protocolos de comunicación, el protocolo CAN arregla sus tareas en un conjunto de capas. En el protocolo CAN existen las siguientes capas:

Haz clic en el nombre de cada capa para conocer más detalle.

Representa el conjunto de funciones utilizadas por la aplicación del usuario. Por ejemplo, hay funciones muy generales que implementan la lectura de la temperatura de un sensor o la activación de la salida de un dispositivo remoto. La capa de aplicación usa funciones de la capa de objeto.

Tiene la tarea de administrar los mensajes. Las funciones de esta capa son usadas para decidir qué mensajes deben ser enviados y cuándo. Para mensajes entrantes, esta capa es responsable del filtrado. Los mensajes se envían y reciben utilizando funciones de la capa de transporte.

Soporta la capa de objetos a la cual envía mensajes recibidos y procesa mensajes preparados para la transmisión. Es responsable de funciones como detección de fallas y señalización. Los mensajes de la capa de transporte se envían utilizando funciones de la capa física.

Es la capa más baja del protocolo CAN. En esta capa la información codificada en bit se traduce a señales eléctricas compatibles con el protocolo CAN. Existen normas que establecen los componentes físicos de la red CAN, el cableado y las tensiones usadas para transmitir información.

A diferencia de otras redes, CAN no direcciona cada nodo individual en la red, sino a los mensajes que se han enviado. Cada mensaje tiene una marca única o identificador. El identificador clasifica el contenido del mensaje (por ejemplo, velocidad del motor).

La transferencia de mensajes en el bus CAN está basada en cuatro diferentes formatos de tramas:

7.2 Protocolo LIN

Debido al aumento del uso de sistemas mecatrónicos en los vehículos, se tuvo la idea de diseñar un sistema bus con costos eficientes como alternativa al CAN de baja velocidad. Es por esto que, en 1998, se creó una comisión conformada por distintos fabricantes automotrices con el objetivo de desarrollar la especificación de un bus serial para conectar sensores y actuadores en el área electrónica. La especificación resultante fue LIN bus, que fue implementado en la producción del Mercedes-Benz SL en el año 2001.

Se le dio el nombre de LIN (Local Interconnect Network) debido al hecho de que todas las unidades de control electrónico están localizadas dentro de un mismo espacio (por ejemplo, la puerta). Por lo tanto, LIN bus es un subsistema local del bus CAN.

El LIN bus es adecuado para tasas bajas de datos de hasta 20 kBit/s y se limita típicamente a un máximo de 16 suscriptores.

En cuanto a los nodos, se hace una distinción entre el maestro, que es usualmente una unidad de control electrónico (ECU) conectado a un bus de orden superior y los esclavos. Estos son actuadores inteligentes, sensores inteligentes o switches.

El LIN bus puede ser usado en muchas aplicaciones en el vehículo, para las cuales la tasa de bits y la variabilidad del bus CAN no son esenciales.

El LIN bus está diseñado como una línea unifilar sin blindaje. El bus puede tomar dos estados lógicos:

El nivel dominante corresponde a un voltaje de aproximadamente 0 V y representa al 0 lógico.

El nivel recesivo corresponde al voltaje de la batería Ubat y representa el 1 lógico.

La tasa de datos de LIN bus está limitada a un máximo de 20 kBit/s. Se recomienda tasas de bit estándar de 2,400 Bit/s, 9,600 Bit/s y 19,200 Bit/s. El valor mínimo permitido es 1 kBit/s para prevenir conflictos.

No se especifica un máximo número de nodos. Teóricamente, está limitado por el número disponible de identificadores. En la práctica, el número de usuarios se restringe a 16 debido a la capacidad máxima permitida del sistema bus.

El acceso al LIN bus está determinado por la relación maestro-esclavo. Cada mensaje es iniciado por el maestro. El esclavo tiene la posibilidad de responder. Los mensajes son intercambiados entre el maestro  y uno, varios o todos los esclavos (punto a punto, multicast, broadcast).

Las siguientes relaciones son posibles en la comunicación entre maestro y esclavo:

La información transferida en el LIN bus está embebida en un marco definido. El mensaje iniciado por el maestro siempre inicia con un header o encabezado. La respuesta (message field) contiene diferente información dependiendo del tipo de mensaje.

Si el maestro desea transmitir instrucciones de control al esclavo, llenará la respuesta con información que será usada por el esclavo. Si el maestro está transmitiendo una petición de información, el esclavo al cual se está comunicando llenará la respuesta con la información solicitada por el maestro.

El encabezado está compuesto de las siguientes partes:

  • El espacio de sincronización (synchronization break).
  • El campo de sincronización (synchronization field).
  • El campo del identificador (identifier field).

Figura 3. Formato mensaje LIN Bus

Embedded Systems (Noviembre, 2002). Design flexibility key to simplifying the implementation of LIN.Disponible en: http://www.eetimes.com/document.asp?doc_id=1200945


Para garantizar una transferencia consistente entre maestro y esclavo, ocurre una sincronización al principio de cada marco. Primeramente, el inicio de un marco es señalado por el espacio de sincronización (SynchBreak). El SynchBreak abarca al menos 13 niveles dominantes consecutivos y un nivel recesivo. Al final del SynchBreak, el maestro envía el campo de sincronización (SynchField) consistente de la secuencia de bit 01010101. Después de esto, los esclavos son capaces de ajustarse a sí mismos al tiempo base del maestro y así sincronizarse. El tercer bit en el encabezado es usado como el identificador LIN.

Una vez que el encabezado enviado por el nodo maestro ha sido transmitido es tiempo de que inicie la transferencia de datos. Los esclavos saben por el identificador transmitido si se les está llamando o no y, en caso de ser llamados, responden mediante el campo de datos (data field).

Durante la transferencia de bytes, el bit menos significativo es el primero en salir. Cada byte (8 bits) es precedido por un bit de inicio y seguido por un bit de paro, lo que significa que cada byte involucra la transmisión de diez bits.

La respuesta de los esclavos es verificada por el checksum.

Como resumen, las características esenciales del LIN bus son:

  • Maestro único/múltiples esclavos.
  • Control de acceso maestro/esclavo
  • Posible sincronización independiente del esclavo.
  • Transmisión de señal determinística.
  • Comunicación por medio de mensajes cortos.
  • Transmisión basada en caracteres (UART).
  • Tasa de bit con máximo de 20 kBit/s.
  • Transferencia de datos por medio de cable unifilar sin blindaje.
  • Los potenciales de referencia de la línea de datos son el voltaje de la batería y la tierra.
  • Longitud de bus máximo de 40 m.
  • Máximo de 16 nodos, típicamente menos de 12.

Cierre


La creación de redes permite una mayor flexibilidad del funcionamiento del vehículo porque las funciones se pueden agregar a través de cambios de software, se reduce el tamaño de juego de cables, mejora el peso, la instalación y la operación en general.

Revisa a continuación el Checkpoint:

Asegúrate de comprender

  • El funcionamiento y aplicaciones del protocolo CAN.
  • El funcionamiento y aplicaciones del protocolo LIN.

Referencias