Can Bus
Can Bus
Can Bus
CONTROL
APLICADO
Sistema Can-Bus
ndice
1.
2.
3.
4.
5.
Introduccin
Can-Bus
Historia y evolucin del protocolo CAN
Principales caractersticas de CAN
Tipos de bus CAN
5.1 CAN de alta velocidad
5.1.1 Extensiones del CAN de alta velocidad
5.2 Can de baja velocidad tolerante a fallos
5.3 Can FD (flexible data-rate)
6. Capa Fsica
6.1 Niveles de tension del bus
6.2 Cable y conectores
6.3 Sincronizacin de bits
7. Capa de enlace de datos
7.1 Acceso al medio (arbitraje)
7.2 Tipos de trama
7.3 Trama de datos
7.3.1 Formato base
7.3.2 Formato extendido
7.4 Trama remota
7.5 Trama de error
7.6 Trama de sobrecarga
7.7 Separacin entre tramas
7.8 Bits de relleno (bit stuffing)
8. Protocolos basados en CAN
9. Conclusin
Introduccin
| Crecen continuamente las exigencias planteadas a la seguridad de conduccin, el confort
de marcha, el comportamiento de las emisiones de escape y el consumo de combustible.
Estas exigencias implican un intercambio cada vez ms intenso de informacin entre las
unidades de control. Para mantener, a pesar de ello, claramente estructurados los sistemas
elctricos y electrnicos, evitando que ocupen demasiado espacio, se necesita una solucin
tcnica adecuada para el intercambio de la informacin. El CAN-Bus de datos, de la casa
Bosch, es una solucin de esa ndole. Ha sido desarrollado especialmente para el uso en
automviles y se implanta en una medida creciente en los vehculos Volkswagen y Audi.
CAN significa Controller Area Network (red de rea de controlador) y significa, que las
unidades de control estn interconectadas e intercambian datos entre s.
2
3
Can-Bus
Descripcin
CAN (acrnimo del ingls Controller Area Network) es un protocolo de comunicaciones
desarrollado por la firma alemana Robert Bosch GmbH, basado en una topologa bus
para la transmisin de mensajes en entornos distribuidos. Adems ofrece una solucin a
la gestin de la comunicacin entre mltiples CPUs (unidades centrales de proceso).
En 1993 se public el estndar ISO 11898 del bus CAN y ha sido a partir de ese momento un
estndar de la Organizacin Internacional para la Normalizacin. Actualmente el bus CAN est
estandarizado por las siguientes normas:
En 2011 Bosch, en cooperacin con los fabricantes de automviles y otros expertos del bus
CAN, comenz a desarrollar la siguiente generacin del CAN: el protocolo CAN FD (flexible datarate). El CAN FD es compatible hacia atrs, es decir, un controlador CAN FD es capaz de
comprender un mensaje CAN clsico (o CAN 2.0). Por el contrario, un controlador CAN clsico
destruye un mensaje CAN FD emitiendo un mensaje de error. El nuevo CAN FD es capaz de
transmitir datos ms rpido que 1 Mbps (la velocidad mxima del CAN clsico). Ambos
protocolos, el CAN clsico y el CAN FD, estn estandarizados en la norma ISO/DIS 11898-1.
4 Principales caractersticas de CAN
CAN se basa en el modelo productor/consumidor, el cual es un concepto, o paradigma de
comunicaciones de datos, que describe una relacin entre un productor y uno o ms
consumidores. CAN es un protocolo orientado a mensajes, es decir la informacin que se va a
intercambiar se descompone en mensajes, a los cuales se les asigna un identificador y se
encapsulan en tramas para su transmisin. Cada mensaje tiene un identificador nico dentro de
la red, con el cual los nodos deciden aceptar o no dicho mensaje. Dentro de sus principales
caractersticas se encuentran:
Prioridad de mensajes.
Garanta de tiempos de latencia.
Flexibilidad en la configuracin.
Recepcin por multidifusin (multicast) con sincronizacin de tiempos.
Sistema robusto en cuanto a consistencia de datos.
Sistema multimaestro.
Deteccin y sealizacin de errores.
Retransmisin automtica de tramas errneas Distincin entre errores temporales y fallas
permanentes de los nodos de la red, y desconexin autnoma de nodos defectuosos.
CAN fue desarrollado inicialmente para aplicaciones en los automviles y por lo tanto la
plataforma del protocolo es resultado de las necesidades existentes en el rea de la automocin.
La Organizacin Internacional para la Estandarizacin (ISO, International Organization for
Standardization) define dos tipos de redes CAN: una red de alta velocidad (hasta 1 Mbit/s), bajo
el estndar ISO 11898-2, destinada para controlar el motor e interconectar las unidades de
control electrnico (ECU); y una red de baja velocidad tolerante a fallos (menor o igual a 125
kbit/s), bajo el estndar ISO 11519-2/ISO 11898-3, dedicada a la comunicacin de los
dispositivos electrnicos internos de un automvil como son control de puertas, techo corredizo,
luces y asientos.
5 Tipos de Can-Bus
La especificacin de los buses CAN est recogida en el conjunto de estndares ISO 11898.
Dicha especificacin define las dos primeras capas, la capa fsica y la capa de enlace de datos,
del modelo OSI de interconexin de sistemas. Sobre la base de dichos estndares, los buses
CAN se pueden clasificar en dos tipos:
Los distintos nodos de un bus CAN deben estar interconectados mediante un par de
cables trenzados con una impedancia caracterstica de 120 , y puede ser cable
apantallado o sin apantallar. El cable trenzado proporciona proteccin frente a
interferencias electromagnticas externas. Y si, adems, est apantallado, la
proteccin ser mayor pero a cambio de un incremento en el coste del cable.
El estndar CAN, a diferencia de otros estndares como el USB, no especifica ningn
tipo de conector para el bus y por lo tanto cada aplicacin puede tener un conector
distinto. Sin embargo, hay varios formatos comnmente aceptados como el conector
D-sub de 9 pines, con la seal CAN_L en el pin 2 y la seal CAN_H en el pin 7.
Tasa de transferencia
(kbit/s)
1000
500
250
100
50
Longitud (bits)
1
Identificador - ID (verde)
11
Peticin de transmisin
remota - RTR (cin)
Bit
de
extensin
identificador - IDE
de
CRC
15
Delimitador CRC
Hueco de acuse de recibo ACK
1
1
Delimitador ACK
Fin de trama EOF
1
7
Finalidad
Demarca el comienzo de
una transmisin.
Un identificador (nico) que
tambin
representa
la
prioridad de la trama.
Dominante (0) para tramas
de datos y recesivo (1) para
tramas
de
peticiones
remotas.
Dominante (0) para el
formato base (identificador
de 11 bits).
Bit reservado. Debe ser
dominante
(0),
pero
aceptado tanto dominante
como recesivo.
Nmero de bytes de datos
en el mensaje, entre 0 y 8.
Si este campo es mayor
que 8 el mensaje ser de 8
bytes como mximo de
cualquier modo.
Datos de la trama (la
longitud del campo viene
dada por el cdigo de
longitud de datos o DLC).
Verificacin
por
redundancia cclica. Cdigo
que verifica que los datos
fueron
transmitidos
correctamente.
Debe ser recesivo (1).
El transmisor emite recesivo
(1) y cualquier receptor
emite dominante (0).
Debe ser recesivo (1).
Debe ser recesivo (1).
Longitud (bits)
1
Identificador A - ID_A
11
Sustituto de transmisin
remota - SRR
Bit
de
extensin
de
identificador - IDE
Identificador B - ID_B
18
Peticin de
remota - RTR
transmisin
Campo de datos
CRC
15
Delimitador CRC
Hueco de acuse de recibo ACK
1
1
Delimitador ACK
Fin de trama - EOF
1
7
Finalidad
Demarca el comienzo de
una transmisin.
Primera
parte
del
identificador (nico) que
tambin
representa
la
prioridad de la trama.
Debe ser recesivo (1).
Recesivo (1)
para el
formato
extendido
(identificador de 29 bits).
Segunda
parte
del
identificador (nico) que
tambin
representa
la
prioridad de la trama.
Dominante (0) para tramas
de datos y recesivo (1) para
tramas
de
peticiones
remotas.
Bit reservado. Debe ser
dominante
(0),
pero
aceptado tanto dominante
como recesivo.
Nmero de bytes de datos
en el mensaje, entre 0 y 8.
Si este campo es mayor
que 8 el mensaje ser de 8
bytes como mximo de
cualquier modo.
Datos de la trama (la
longitud del campo viene
dada por el cdigo de
longitud de datos o DLC).
Verificacin
por
redundancia cclica. Cdigo
que verifica que los datos
fueron
transmitidos
correctamente.
Debe ser recesivo (1).
El transmisor emite recesivo
(1) y cualquier receptor
emite dominante (0).
Debe ser recesivo (1).
Debe ser recesivo (1).
7.5
7.6
7.7
7.8
Generalmente los datos se transmiten como trama de datos. Sin embargo, es posible
que un nodo requiera unos datos desde otro nodo. En ese caso, el primero puede
enviar una trama remota para pedir el envo de algn dato. El nodo que requiere la
informacin enva entonces una trama con una peticin de transmisin remota (RTR =
1; recesivo). Las tramas remotas o de peticin de transmisin remota slo se
diferencian de las tramas de datos en que las tramas remotas no tienen campo de
datos.
Trama de error
La trama de error es una trama especial que viola las reglas de formato de las tramas
CAN. Se transmite cuando un nodo detecta un mensaje errneo, y provoca que los
dems nodos tambin transmitan una trama de error. Un complejo mecanismo de
contadores de error integrado en el controlador asegura que un nodo no bloquee el
bus con continuas tramas de error.
Trama de sobrecarga
Es similar a la trama de error en cuanto a que viola el formato de las tramas CAN. Es
transmitida por un nodo que se encuentra muy ocupado y el bus proporciona
entonces un retardo extra entre tramas.
Separacin entre tramas
Las tramas de datos y remotas estn separadas por al menos tres bits recesivos (1).
Despus de eso, si detecta un bit dominante (0), es considerado como el inicio de una
nueva trama. Las tramas de error y de sobrecarga no respetan el espaciado entre
tramas.
Bits de relleno (bit stuffing)
Para asegurar que hay suficientes transiciones recesivo-dominantes y garantizar as
la sincronizacin, un bit de polaridad opuesta es insertado despus de cinco bits
consecutivos de la misma polaridad. Esta prctica es necesaria debido a la
codificacin sin vuelta a cero del protocolo CAN. Los bits insertados son eliminados
por el receptor.
Todos los campos de la trama son rellenados a excepcin del delimitador CRC, el
acuse de recibo ACK, y el fin de trama. Cuando un nodo detecta seis bits
consecutivos iguales en un campo susceptible de ser rellenado lo considera un error y
emite un error activo. Un error activo consiste en seis bits consecutivos dominantes y
viola la regla de relleno de bits.
La regla de los bits de relleno implica que una trama puede ser ms larga de lo
esperado si se suman los bits tericos de cada campo de la trama.
Trama CAN antes y despus de la adicin de bits de relleno (en morado):
9 Conclusin
Como conclusin grupa el prototipo desarrollado por alemn Robert bocsh en el ao 1983 se fue
desarrollando de manera vertiginosa hasta Bosch public posteriormente varias versiones de la
especificacin CAN, siendo la ltima de ellas la especificacin CAN 2.0, publicada en 1991 En
2011 Bosch, en cooperacin con los fabricantes de automviles y otros expertos del bus CAN,
comenz a desarrollar la siguiente generacin del CAN: el protocolo CAN FD (flexible data-rate).
Una alta velocidad de transmisin. Debido a ello, las unidades de control estn informadas con
gran exactitud acerca del estado operativo momentneo del sistema global y pueden ejecutar
sus funciones de forma ptima. El bus de datos consta de dos cables, en los que se transmite la
informacin. Para evitar influencias parsitas electromagnticas y emisiones parsitas, los dos
cables del bus de datos estn retorcidos conjuntamente. Es preciso tener en cuenta la distancia
o paso de la unin retorcida. El bus de datos trabaja a una velocidad de transmisin de 500
Kbit/s (500.000 bits por segundo). Se halla dentro de un margen de alta velocidad (high speed)
de 125 - 1.000 Kbit/s. La transmisin del protocolo de datos tarda aprox. 0,25 milisegundos
Segn la unidad de control en cuestin, se trata de transmitir los datos cada 7 - 20milisegundos.