Está en la página 1de 75

CARACTERÍSTICAS DE UN SISTEMA

CAN BUS EN EL AUTOMÓVIL


INTRODUCCIÓN – LA COMUNICACIÓN

 Vamos a hablar de un sistema de


comunicación en el automóvil, y para
entender mejor el concepto vamos a asimilar
este modo de comunicación interno del coche con
la forma de comunicación entre las personas.
 ¡Pero lo primero que tenemos que hacer es saber
qué es la comunicación!
 Comunicación es la actividad consciente de
intercambiar información entre dos o
más participantes con el fin de transmitir o
recibir significados a través de un sistema
compartido de signos y normas semánticas.
 Los pasos básicos de la comunicación son la
formación de una intención de comunicar, la
composición del mensaje, la codificación del
mensaje, la transmisión de la señal, la recepción
de la señal, la decodificación del mensaje y,
finalmente, la interpretación del mensaje por
parte de un receptor. A este conjunto de pasos se le
llama protocolo.»
 Vamos a comparar el acto de comunicarse
entre los humanos y el automóvil, pues el
concepto básico es el mismo.
 Cuando las personas queremos comunicarnos en
grupo existen varias posibilidades de
comunicación. En una primera posibilidad, si
un sujeto quiere compartir cierta información con
varias personas puede enviarla de manera
particular, repitiendo el mismo mensaje a cada
interesado, siempre cumpliendo cierto protocolo,
es decir, unas reglas de comunicación que
aseguren que el mensaje enviado va a ser
entendido.
 Este mismo concepto podemos aplicarlo al
automóvil. En el pasado, si una unidad de
control, sensor y/o actuador quería enviar
determinada información debía de hacerlo a
cada parte interesada a través de canales
particulares de comunicación, en este caso
cables.
 Por ejemplo, si la unidad de control de motor
quería compartir información con la unidad de
control de cambio esta tenía que usar un medio
concreto (cable) por cada dato que quisiese
enviar. Lo mismo ocurría si esta última quería
enviar información a la primera.
 ¿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.
 El número resultante de conductores hacía de la
fiabilidad una pesadilla. Para superar todos
estos problemas desde hace un tiempo se ha
introducido la comunicación serial. Como en
este caso la cantidad de conexión de cables es
mucho menor que la cantidad requerida para
compartir señales, la información requerida se
envía una tras otra en paquetes de datos.
 Por lo que, en esta segunda opción de
comunicación, en contraste con la primera
posibilidad, con el CAN Bus se transmite toda
la información a través de dos cables,
independientemente de la cantidad de
unidades de control abonadas y de
la cantidad de información transmitida. En
ambos cables bidireccionales del CAN Bus se
transmiten los mismos datos, más adelante
veremos el por qué.
 Siguiendo el ejemplo anterior, ahora las unidades
de control de motor y cambio están conectadas
únicamente por dos cables, y a través de ellos
envían y reciben toda la información necesaria.
 Si lo asemejamos a la comunicación humana
podríamos decir que un sujeto envía su
información a todos los oyentes, usando un
mismo canal de comunicación, y cada persona
toma la información si la necesita. Por
ejemplo, un orador puede decir en alto a un grupo
de personas que “mañana lloverá”.

 Todos los oyentes captarán y entenderán el


mensaje, pero no a todos les interesará esta
información, por lo que estos la descartarán y
esperarán al siguiente mensaje.
 Entonces ya podemos definir el primer concepto
teórico sobre el CAN Bus. La transmisión de
datos a través de este sistema de comunicación
funciona de un modo parecido al de una
conferencia telefónica (o más actual, una
videoconferencia).
 Un abonado (unidad de control) envía sus datos,
introduciéndolos en la red, mientras que los
demás “coescuchan“ estos datos. Para ciertos
abonados resultan interesantes estos datos, y por
ello los utilizan. A otros abonados puede no
interesarles esos datos específicos y los
descartan.
 En el sistema CAN Bus de un automóvil este
concepto se aplica a la mayoría de las unidades
de control, pudiendo crear “redes locales”
entre determinados sistemas concretos,
estableciendo diferentes niveles de
importancia y velocidad de transmisión.

 ¿Cuál es la ventaja? Es un método escalable de


comunicación, pudiéndolo hacer tan grande y/o
complejo como se necesite.
ESQUEMA GENERAL DE LA LÍNEA CAN BUS

 CAN Bus es un protocolo de comunicación


en serie desarrollado por Bosch para el
intercambio de información entre unidades de
control electrónicas del automóvil.

 Can” significa “Controller Area Network” (Red


de área de control) y “Bus”, en informática, se
entiende como un elemento que permite
transportar una gran cantidad de
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.
¿QUÉ COMPONENTES INTEGRAN EL
CAN-BUS DE DATOS?
 Consta de un controlador, un transceptor,
dos elementos finales del bus y dos cables
para la transmisión de datos.

 Con excepción de los cables del bus, todos los


componentes están alojados en las unidades de
control.

 En el funcionamiento conocido de las unidades de


control no se ha modificado nada.
EL CONTROLADOR CAN

 Es el elemento encargado de la comunicación


entre el microprocesador de la unidad de control
y el trasmisor-receptor.

 Trabaja acondicionando la información que


entra y sale entre ambos componentes.
 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

 Es un transmisor y un receptor. Es el elemento


que tiene la misión de recibir y de trasmitir
los datos, además de acondicionar y
preparar la información para que pueda ser
utilizada por los controladores, eso sí, sin
modificarla.
 Esta preparación consiste en situar los niveles
de tensión de forma adecuada, amplificando la
señal cuando la información se vuelca en la línea
y reduciéndola cuando es recogida de la misma y
suministrada al controlador.
EL ELEMENTO FINAL DEL BUS DE DATOS

 Son resistencias conectadas a los extremos


de los cables H y L (High y Low
respectivamente).

 Sus valores se obtienen de forma empírica y


permiten adecuar el funcionamiento del sistema
a diferentes longitudes de cables y número de
unidades de control abonadas, ya que impiden
fenómenos de reflexión (como si fuera eco,
para que nos entendamos) que pueden perturbar
el mensaje.
 Estas resistencias están alojadas en el interior de
algunas de las unidades de control del sistema
(definidas por cada fabricante, generalmente el
cuadro de instrumentos, la unidad de control del
motor, la unidad de control de la carrocería, etc)
por cuestiones de economía y seguridad de
funcionamiento.
LOS CABLES DEL BUS DE DATOS

 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.
 El proceso de trasmisión de datos se
desarrolla siguiendo un ciclo de varias
fases:

 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.
 Transmitir datos: El controlador de dicha
unidad transfiere los datos y su identificador
junto con la petición de inicio de trasmisión,
asumiendo la responsabilidad de que el mensaje
sea correctamente trasmitido a todas las
unidades de mando asociadas.

 Para trasmitir el mensaje ha tenido que


encontrar el bus libre, y en caso de colisión o
choque con otra unidad de mando intentando
trasmitir simultáneamente, tener una prioridad
mayor. A partir del momento en que esto ocurre,
el resto de unidades de mando se convierten en
receptoras.
 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.
 El sistema CAN Bus dispone además de
mecanismos para detectar errores en la
trasmisión de mensajes, de forma que todos los
receptores realizan un chequeo del mensaje
analizando una parte del mismo, llamado campo
de aseguramiento, que veremos más adelante.
 Otros mecanismos de control se aplican en las
unidades emisoras que monitorizan el nivel del
bus, la presencia de campos de formato fijo en el
mensaje (verificación de la trama), análisis
estadísticos por parte de las unidades de mando
de sus propios fallos etc.
 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.
CARACTERÍSTICAS DEL BUS DE DATOS

 La información que circula a través de los dos


cables (bus) son paquetes de 0 y 1 (bit) con
una longitud limitada y con una estructura
definida de campos que conforman el mensaje.

 Recordemos que un bit es la unidad de


información mínima (un estado de
conmutación por unidad de tiempo).

 En electrónica, esta información


básicamente sólo puede tener el valor “0“ ó “1“ o,
respectivamente, “Sí“ o “No“.
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
1,5V y 2,5V, por lo que se denomina cable L
(Low) ó CAN_L, y en el otro, el cable H (High)
ó CAN_H, lo hacen entre 2,5V y 3,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

 En el vehículo son fuentes parásitas los


componentes en cuyo funcionamiento se producen
chispas o se abren o cierran circuitos de
corriente. Otras fuentes parásitas son
por ejemplo teléfonos móviles y radioemisoras, o
sea, todo aquello que genera ondas
electromagnéticas. Estas ondas
electromagnéticas pueden influir en la
transmisión de datos o incluso la pueden
falsificar.
 Las tensiones en ambos cables se
encuentran respectivamente contrapuestas.

 Por ejemplo, si uno de los cables del bus tiene


aplicada una tensión de aproximadamente 0
voltios, el otro tiene una de aprox. 5 voltios y
viceversa. Por ello, la suma de tensiones es
constante en cualquier momento y se anulan
mutuamente los efectos electromagnéticos de
campo de ambos cables del bus. El cable del bus
está protegido contra la penetración
de fuentes parásitas y tiene un
comportamiento casi neutro hacia fuera.
 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.
RESISTENCIA DE LA LÍNEA CAN

 Antes hemos comentado que los dos elementos


finales de la línea CAN (distintas unidades de
control, definidas por cada fabricante, siendo
generalmente el cuadro de instrumentos, la ECU
del motor, u otras) tienen una resistencia
interna característica, generalmente 120Ω.
 Estas unidades finales, ambas de 120Ω, se
encuentran conectadas en paralelo. ¿Qué valor
obtendremos si queremos medir la resistencia
de la línea CAN y todo funciona correctamente?
60Ω
 ¿Cómo medimos esta resistencia?

 Lo primero de todo, y fundamental, es


desconectar la batería. Después localizamos la
toma más fácil de medición, que generalmente es
la toma OBD del coche. Por estándar (salvo algún
fabricante) los pines de la línea CAN en el
conector OBD son el pin 6 (CAN High) y el
pin 14 (CAN Low).
 Si todas las unidades están conectadas y todo
funciona correctamente la resistencia que
debemos obtener en la línea CAN es de 60Ω
aproximadamente (tengamos en cuenta los
errores del polímetro).

 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.
 Si todo va bien 60Ω, todo lo que no sea éste
valor es que hay algún problema.

 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).
EJEMPLOS DE TRANSMISIÓN DE DATOS

 En la tabla anterior se puede ver la forma en que


se puede transmitir información por medio
de dos bits enlazados. Con dos bits se obtienen
cuatro diferentes variantes. A cada variante se le
puede asignar una información específica, con
carácter formal para todas las unidades de
control. Es decir, se le asigna una información
que las unidades pueden entender, un lenguaje
común.
 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.
 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.
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?
¿QUÉ TRANSMITE EL CAN BUS DE DATOS?

 En intervalos de tiempo breves este sistema de


comunicación transmite un protocolo de enlace
de datos entre las unidades de control. Está
compuesto por siete secciones. En la figura
anterior se muestra la estructura de un protocolo
de enlace de datos, y este es idéntico en ambos
cables del bus. Para simplificar las explicaciones
vamos a centrarnos en un solo cable del bus de
datos.
CAMPO DE COMIENZO DEL DATAGRAMA

 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

 Se especifica la cantidad de información que


está contenida en el campo de datos (la cantidad
de lo que se transmite, no lo que se transmite en
si). De esa forma, cada receptor puede revisar si
ha recibido la información completa.
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

 Los receptores señalizan al transmisor que han


recibido correctamente el protocolo de
enlace de datos. Si detectan cualquier fallo,
informan de inmediato al transmisor. Si esto
ocurre, el transmisor repite su transmisión. El
campo de confirmación está compuesto por dos
bit que son siempre trasmitidos como recesivos
(1).
 Todas las unidades de mando que reciben el
mismo campo de confirmación modifican el
primer bit del campo por uno dominante (0), de
forma que la unidad de mando que está todavía
trasmitiendo reconoce que al menos alguna
unidad de mando ha recibido un mensaje escrito
correctamente. De no ser así, la unidad de mando
trasmisora interpreta que su mensaje presenta
un error.
CAMPO DE FIN DEL DATAGRAMA

 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”.
PRIORIDAD DEL MENSAJE

 Si varias unidades de control pretenden


transmitir simultáneamente su protocolo de
datos es preciso decidir cuál de ellos se
transmite primero. Como en el caso de la
comunicación entre las personas, para que exista
comunicación y que sea efectiva no podemos
hablar todos a la vez.
 El protocolo con la prioridad superior se
transmite primero. Así por ejemplo, el protocolo
de datos de la unidad de control para ABS es, por
motivos de seguridad, más importante que el
protocolo de la unidad de control para cambio
automático, si los motivos están referidos al
confort de la conducción.
¿CÓMO SE HACE LA ADJUDICACIÓN DE
PRIORIDAD?

 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.
¿CÓMO SE DETECTA LA PRIORIDAD DE
UN PROTOCOLO DE DATOS?

 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 ABS/EDS transmite
un bit de validación superior (0).
 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 ABS/EDS transmite
un bit de validación superior (0).
 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.

También podría gustarte