Documente Academic
Documente Profesional
Documente Cultură
¿Cuáles eran los inconvenientes de este sistema de comunicación? Una gran cantidad
de cableado y conexiones, lo que supone peso, complejidad, posibilidades de fallo y
coste adicional. Además, la información no podía ser conocida por otras unidades no
conectadas expresamente para recibir esta información.
Como hemos visto, este sistema permite compartir una gran cantidad de información
entre las unidades de control abonadas al sistema, lo que provoca una reducción
importante tanto del número de sensores utilizados como de la cantidad de cables que
componen la instalación eléctrica. De esta forma aumentan considerablemente las
funciones presentes en los sistemas del automóvil donde se emplea el CAN Bus sin
aumentar los costes, además de que estas funciones pueden estar repartidas entre dichas
unidades de control.
El controlador CAN
El controlador está situado en la unidad de control, por lo que existen tantos como
unidades estén conectadas al sistema. Este elemento es el que determina la velocidad
de trasmisión de los mensajes, que será más o menos elevada según el compromiso del
sistema. Por ejemplo, en la línea de CAN Bus del motor-frenos-cambio automático la
velocidad es de 500 Kb, y en los sistema de confort de 62.5 Kb. Este elemento también
interviene en la necesaria sincronización entre las diferentes unidades de mando para la
correcta emisión y recepción de los mensajes.
El transceptor CAN
Son los canales a través de los cuales fluye la información. Funcionan de forma
bidireccional y sirven únicamente para la transmisión de los datos. Se denominan con
las designaciones CAN-High ó H (señales de nivel lógico alto) y CAN-Low ó L (señales
de nivel lógico bajo).
Transmisión de datos
El sistema CAN Bus es una red multiplexada (en castellano, que es capaz de transmitir
informaciones simultáneas por el mismo medio) que está orientada hacia el mensaje
y no al destinatario. Todas las unidades de mando pueden ser trasmisoras y receptoras,
y la cantidad de las mismas abonadas al sistema puede ser variable (dentro de unos
límites). La información en la línea es trasmitida en forma de mensajes estructurados
en la que una parte del mismo es un identificador que indica la clase de dato que contiene.
Vamos, que como vimos antes toda forma de comunicación tiene que tener un protocolo.
Todas las unidades de control reciben el mensaje, lo filtran y solo lo emplean las que
necesitan dicho dato. Hay que dejar claro que todas las unidades de control conectadas al
sistema son capaces tanto de enviar como de recibir mensajes de la línea de datos. Cuando
el bus está libre cualquier unidad conectada puede empezar a trasmitir un nuevo mensaje.
En el caso de que una o varias unidades pretendan introducir un mensaje al mismo tiempo
en el bus, lo hará la que tenga una mayor prioridad. Esta prioridad viene indicada por el
identificador. El mensaje no va dirigido a ninguna unidad de mando en concreto, cada
una de ellas reconocerá mediante este identificador si el mensaje le interesa o no. Cómo
lo hace exactamente lo veremos más adelante.
Proveer datos: Una unidad de mando recibe información de los sensores que tiene
asociados (r.p.m. del motor, velocidad, temperatura del motor, puerta abierta, etc.)
Su microprocesador pasa la información al controlador, donde es gestionada y
acondicionada para a su vez ser pasada al trasmisor-receptor, donde se transforma en
señales eléctricas.
Recibir, revisar y adoptar datos: Cuando la totalidad de las unidades de mando reciben
el mensaje, verifican el identificador para determinar si el mensaje va a ser utilizado por
ellas. Las unidades de mando que necesiten los datos del mensaje lo procesan, si no lo
necesitan, el mensaje es ignorado.
Este planteamiento del CAN Bus, como puedes ver, permite disminuir pero mucho el
cableado en el automóvil, puesto que si una unidad de mando dispone de una
información, como por ejemplo, la temperatura del motor, esta puede ser utilizada por el
resto de unidades de mando sin que sea necesario que cada una de ellas reciba la
información de dicho sensor.
Cables
La información circula por dos cables trenzados que unen todas las unidades de control
que forman el sistema. Esta información se trasmite por diferencia de tensión entre los
dos cables, de forma que un valor alto de tensión representa un 1 y un valor bajo de
tensión representa un 0. La combinación adecuada de unos y ceros forman el mensaje
a trasmitir.
En un cable los valores de tensión oscilan entre 0V y 2.25V, por lo que se denomina cable
L (Low), y en el otro, el cable H (High), lo hacen entre 2.75V. y 5V. En caso de que se
interrumpa la línea H o que se derive a masa, el sistema trabajará con la señal de Low con
respecto a masa, en el caso de que se interrumpa la línea L, ocurrirá al revés. Esto permite
que el sistema siga trabajando con uno de los cables cortados o comunicados a masa,
incluso con ambos comunicados también sería posible el funcionamiento, quedando fuera
de servicio solamente cuando ambos cables se cortan.
Fuentes parásitas
Si a esto le sumamos el trenzado entre ambas líneas conseguimos anular los campos
magnéticos y proteger al sistema de estas fuentes parásitas, del ruido electrónico
(incluso del producido por él mismo como hemos visto), evitando así que la señal
transmitida por el bus se falsee por cualquier interferencia. ¿Cómo? Si existe alguna
perturbación en el voltaje de la señal esta afectará por igual a ambos cables, por lo que
los receptores serán capaces de distinguir la señal original, pues la diferencia de voltaje
se mantendrá intacta.
Por todo lo que hemos visto no se debe modificar en ningún caso ni el paso ni la
longitud de dichos cabes.
Si, por ejemplo, alguna de las dos unidades de final de línea CAN están “muertas”,
defectuosas o desconectadas, lo que obtendremos serán unos 120Ω entre los pines 6 y
14. Esta es una manera rápida para saber si alguna de las unidades finales está bien o no.
Quédate con la copla: Si todo va bien 60Ω, todo lo que no sea éste valor es que hay
algún problemilla.
NOTA: El resto de unidades conectadas a la línea CAN, las que no son las finales,
suelen tener valores de resistencia muy altos. ¿Por qué? Porque al estar conectadas en
paralelo al bus, si por algún motivo falla alguna, afectará poco a la resistencia final de la
línea (recordemos, 60Ω si todo va bien).
En este ejemplo, si se transmite el primer bit con 0 voltios y el segundo también con 0
voltios, la información en la tabla significa “La temperatura del líquido refrigerante es
de 10 °C“. Si el primer bit transmite 0 voltios y el segundo 5 voltios lo que entenderá la
unidad que lo recibe es “La temperatura del líquido refrigerante es de 20 °C“, y así
sucesivamente. ¿Cuál es la limitación? La cantidad de bits que se pueden transmitir.
Veamos otro ejemplo.
Esta segunda tabla muestra la forma como aumenta la cantidad de información con
cada bit adicional. Veamos cuánta información puede transmitirse con una cierta
cantidad de bits. Como ejemplo veamos otra vez cómo transmitir información de
temperatura. Con 1 bit se pueden tener solamente 2 valores diferentes, con 2 bits 4
valores, con 3 bits 8. Cada bit adicional duplica la cantidad de información, lo que
multiplica las posibilidades y la precisión de los datos que se quieren emitir. Estos
diferentes voltajes son los que se transmiten por la línea del CAN Bus, y cómo dijimos
antes, de forma simultánea y con voltajes contrapuestos. El detalle de un ejemplo genérico
puede verse en la imagen anterior.
Protocolo de comunicación
Como hemos dicho antes, para que que haya comunicación es necesario que tanto
emisor y receptor “hablen” un mismo lenguaje común. Han de entender cuándo
empieza y termina el mensaje, si el mensaje tiene sentido, si es correcto, si lo ha emitido
correctamente el emisor y si lo ha entendido el receptor. Es decir, tiene que existir un
mismo protocolo de comunicación ¿Cómo consigue esto el sistema CAN Bus?
Veámoslo.
Marca el comienzo del protocolo de enlace de los datos. En el cable CAN High se
transmite un bit con aprox. 5 voltios (en función del sistema) y en el cable CAN-Low
se transmite un bit con aprox. 0 voltios.
Campo de estado
Se define la prioridad del protocolo. Por ejemplo, si hay dos unidades de control que
intentan transmitir simultáneamente su protocolo de datos, se concede la preferencia al
protocolo de prioridad superior. Los 11 bit de este campo se emplean como identificador
que permite reconocer a las unidades de mando la prioridad del mensaje. Cuanto más bajo
sea el valor del identificador (más bits con voltaje 0, dominantes, que veremos más
adelante) más alta es la prioridad, y por lo tanto determina el orden en que van a ser
introducidos los mensajes en la línea. Lo que se evita con esto es que todas las unidades
“hablen a la vez”.
Campo de control
Campo de datos
Se transmite la información para las demás unidades de control. En este campo aparece
la información del mensaje con los datos que la unidad de mando correspondiente
introduce en la linea Can Bus. Puede contener entre 0 y 8 bytes (de 0 a 64 bit).
Campo de aseguramiento
Sirve para detectar fallos en la transmisión. Este campo tiene una longitud de 16 bit y es
utilizado para la detección de errores por los 15 primeros, mientras el último siempre es
un bit recesivo (1) (más detalles más adelante) que delimita el campo de aseguramiento.
Campo de confirmación
Con él finaliza el protocolo de datos. Es la última oportunidad posible para dar un aviso
de error, que conduzca a una repetición en la emisión. Este campo indica el final del
mensaje con una cadena de 7 bits recesivos. Puede ocurrir que en determinados mensajes
se produzcan largas cadenas de ceros o unos, y que esto provoque una pérdida de
sincronización entre unidades de mando. El protocolo CAN resuelve esta situación
insertando un bit de diferente polaridad cada cinco bits iguales: cada cinco “0” se inserta
un “1” y viceversa. La unidad de mando que utiliza el mensaje, descarta un bit posterior
a cinco bits iguales. Estos bits reciben el nombre de “bit stuffing”.
Cada bit tiene un valor, al cual se le asigna una validación. Puede ser de validación
superior (0) o inferior (1), o también llamados bit dominante y recesivo
respectivamente.
Cada protocolo de datos tiene asignado un código de once bits en el campo de estado, el
que se ha comentado anteriormente, en función de su prioridad. En la tabla anterior se
muestra, a modo de ejemplo, las prioridades de tres protocolos de datos (unidad del ABS,
unidad de control del motor y del cambio).
Primer bit:
La unidad de control para motor transmite asimismo un bit de validación superior (0).
La unidad de control para cambio automático transmite un bit de validación inferior (1)
y detecta un bit de validación superior en el cable del bus de datos. Con ello pierde la
adjudicación y se transforma en receptor, es decir, deja de transmitir para dar paso a
mensajes más importantes para el vehículo.
Segundo bit:
La unidad de control para motor transmite un bit de validación inferior (1) y detecta un
bit de validación superior en el cable del bus de datos. Con ello pierde su adjudicación y
se transforma en receptor.
Tercer bit:
La unidad de control para ABS/EDS tiene la máxima prioridad y obtiene por tanto la
adjudicación del bus. Sigue transmitiendo su protocolo de datos hasta el final de su
mensaje.
Después de que la unidad de control para ABS/EDS ha transmitido su protocolo de datos
hasta el final, las demás vuelven a hacer el intento de transmitir su propio protocolo de
datos, y el proceso de adjudicación de prioridad vuelve a empezar.
Por ejemplo, la red LIN (Local Interconnect Network) es más barata que la CAN, aunque
de menor velocidad. Esta es válida para algunas funciones que requieran una velocidad
menor.
No es objetivo de este artículo el entrar en detalle sobre cada una de estas redes, pero sí
se quiere dejar claro que las redes de comunicación en el automóvil están siempre en
constante evolución, y dado que la red CAN ya es un sistema “viejo”, estandarizado
ISO ya en 1993, está siendo sustituida paulatinamente por redes más rápidas y capaces,
como el Flexray, el MOST e incluso sistemas de fibra óptica, sistemas que con el paso
del tiempo reducen sus costes de producción, por lo que el gráfico anterior está en
constante evolución.
Ejemplo real de una red de comunicación en un
automóvil
Como ejemplo final para concluir el objetivo nº 1 de este artículo pondremos un ejemplo
real del sistema de comunicación digital en un automóvil actual.
La imagen anterior muestra las distintas redes en un automóvil del 2015. En ella pueden
verse una serie de unidades de control divididas por colores según su conexión a distintas
redes de comunicación. Podemos ver términos como “P-CAN” (línea CAN de tracción)
con una velocidad de 500 kbps, “C-CAN” (línea CAN de chasis), “B-CAN” (carrocería)
con una velocidad de 100 kbps e incluso “MOST” (entretenimiento). Todas ellas están
conectadas en su extremos a un elemento llamado “Compuerta de enlace centralizada
(CGW)”.
¿Cuál es el objetivo de esta CGW? Como hemos podido observar, las velocidades de las
distintas redes son distintas, y debe de existir algún elemento que sirva de “enlace” para
que se puedan comunicar unidades que se encuentren en redes distintas. ¿Con qué
motivo?
Pongamos el siguiente ejemplo. La unidad de control de motor (en P-CAN, a 500 kbps)
quiere comunicar con el módulo que controla el volumen de la radio (en M-CAN, a 100
kbps) para que, cuando la velocidad del vehículo aumente, el volumen de la radio aumente
proporcionalmente. Sin esta puerta de enlace no sería posible su comunicación. Aplicado
a las personas, es como si una persona quiere comunicarse en inglés con otra que sólo
habla español, necesitan un traductor para entenderse. El papel del traductor en las
personas es el mismo que el que tiene la CGW en el automóvil.