Universidad Técnica Federico Santa Marı́a
ELO322 - Redes de Computadores I
Proyecto Final
Controller Area Network
Alonso Rodrı́ıguez Barreda ROL: 201321060-0
Manuel Arriagada Ramos ROL: 201573032-6
Valentina Tapia Brizuela ROL: 201630011-2
28 de Agosto, 2017
Controller Area Network ELO322 - Redes de Computadores I
Resumen un CAN transceiver, diseñado en hardwa-
re bajo las especificaciones de la norma
El estándar de comunicación Contro- y que se encarga de generar y controlar
ller Area Network (CAN) es un protoco- las señales eléctricas que transitan el ca-
lo de comunicación serial descentralizado nal de transmisión. Por su parte la im-
del tipo CSMA/CD[1]. Creado en el año plementación del Data Link queda deter-
1983 por la compañı́a BOSCH en respues- minada pro un CAN controller, el cuál
ta a requerimientos de la industria auto- puede formar parte de un dispositivo de
movilı́stica por estándares de comunica- mayor nivel o presentarse como un circui-
ción de alta robustez frente a ambientes to integrado dedicado. Es tarea del CAN
hostiles, sin descuidar el costo de imple- controller implementar los requerimien-
mentación y la velocidad de transmisión. tos del protocolo que garantizan el trans-
Su desarrollo permite reducir en for- paso de información desde un nodo a otro
ma considerable el cableado interno de los resguardando el correcto funcionamiento
automóviles y uniformizar los marcos de de la red segun se describe en la norma
comunicación entre sus distintos disposi- ISO 11898-2 [3]
tivos internos. Dadas sus cualidades de
robustez logra una rápida adhesión en su
utilización por parte de otras industrias, Caracterı́sticas
posicionándolo hoy en dı́a como el proto-
colo por defecto para dispositivos auto- Sencillo: Tiene como objetivo mi-
movilı́sticos junto a su sistema de diag- nimizar la complejidad del cablea-
nostico a bordo (OBD), ası́ como un am- do, además de poseer una progra-
plio uso en aplicaciones de control indus- mación sencilla, reduciendo en gran
trial. medida los costos moneterarios.
Estandarizado: Se trata de un
Introducción estándar definido en las normas ISO
11898, que se divide a su vez en va-
Existen variadas implementaciones de rias partes, cada una de las cuales
la filosofı́a del protocolo de comunicación aborda diferentes aspectos de CAN.
CAN, siendo la mas popular la implemen-
Medio de transmisión adaptable: El
tación de alta velocidad High-Speed CAN.
sistema de bus CAN es capaz de
La distribución del estándar se encuentra
trabajar con un par trensado de ca-
regulada bajo la norma ISO 11898-1 [2]
bles, o bien, con uno solo de ellos.
Como se observa en la figura 1 las re-
Esta particularidad es empleada en
des CAN implementan solo las dos pri-
diversos tipos de enlaces, como los
meras capas del modelo OSI. La capa fı́si-
ca queda determinada principalmente por
1
Controller Area Network ELO322 - Redes de Computadores I
Figura 1: CAN segun el modelo por capas OSI
enlaces ópticos o los enlaces de ra- miento de la red. Similarmente, se
dio. pueden añadir nodos sin afectar al
resto del sistema.
Estructura definida: La información
que circula entre las unidades a Velocidad flexible: ISO define dos
través de los dos cables (bus) son tipos de redes CAN: una red de alta
paquetes de bits (0’s y 1’s) con una velocidad (de hasta 1 Mbps) defini-
longitud limitada y con una estruc- da por la ISO 11898-2, y una red de
tura definida de campos que confor- baja velocidad tolerante a fallo
man el mensaje.
Orientado a mensajes: Se trata de
Número de nodos: Es posible conec- un protocolo orientado a mensajes,
tar hasta 110 dispositivos en una so- y no a direcciones.
la red CAN.
Multidifusión (multicast): Permite
Prioridad de Mensajes: El envio de que todos los nodos puedan acce-
mensajes para distribuirlos en la der al bus de forma simultánea con
red es según la prioridad de cada sincronización de tiempos.
uno de estos, optimizando el ancho
de banda disponible. Medio compartido (broadcasting):
La información es enviada en la red
Entrada y salida de nodos: Si un no- a todos los destinos de forma si-
do presenta una falla, este es desco- multánea.
nectado sin que afecte el funciona-
2
Controller Area Network ELO322 - Redes de Computadores I
Detección y señalización de erro-
res: Una de las prinicpales ventajas
de CAN, es su sitema de detección
de errores, posee 5 mecanismos pa-
ra detectar fallas, con la capacidad
de señalizarlas. Además puede re-
transmitir, de manera automática,
las tramas erróneas.
Figura 2: Red CAN
Capa fı́sica
Cables : Algunos cables sugeridos pa-
La capa fı́sica, a diferencia de la ca- ra el bus son los cables paralelos, tren-
pa de enlace, no está totalmente estable- zados con o sin blindado. Las señales
cida. El estándar ISO 11898 define as- transmitidas por estos cables se denomi-
pectos como codificación, temporización nan CAN H (CAN High) y CAN L (CAN
y sincronización de bit correspondientes a Low). Cuando el bus CAN está en modo
la subcapa Physical Signaling (PS) .Las inactivo, ambas lı́neas transportan 2,5V.
otras dos subcapas fueron dejadas fuera Cuando se transmiten bits de datos, la
de la especificación, permitiendo a los di- lı́nea CAN H pasa a 3,75V y CAN L cae
señadores de sistemas optimizar el medio a 1,25V, generando ası́ un diferencial de
de transmisión para su aplicación. A me- 2,5V entre las lı́neas. Dado que la comuni-
dida que la especificación CAN creció en cación se basa en tensión diferencial entre
popularidad, se crearon estándares de la las dos lı́neas de bus, el bus CAN no es
capa fı́sica de CAN para facilitar el desa- sensible a ruidos electromagnéticos. Es-
rrollo de redes y dispositivos. to hace del bus CAN una opción fiable
La red CAN posee una topologı́a bus para comunicaciones en red en equipos
de dos cables a los cuales son conecta- móviles.[4]
dos los nodos en paralelo. Esta red posee
un sistema “multimaestro”, es decir, to-
dos los nodos tienen control en el bus y
son capaces de transmitir informació[Link]
bus es cerrado en los extremos con impe-
dancias de carga para evitar la reflexión
de algunas señales transmitidas.
Figura 3: CAN High y CAN Low
3
Controller Area Network ELO322 - Redes de Computadores I
Conectores: Los conectores se utili- siguientes campos: Inicio de tra-
zan para conectar un participante de bus ma (SQF), arbitraje (identificador),
CAN a la lı́nea de bus CAN. El estándar control, datos, CRC, ACK, fin de
CAN, no especifica ningún tipo de conec- trama (EQF).
tor para el bus y por lo tanto cada aplica-
ción puede tener un conector distinto. Sin 2. Trama de error (Error frame): Se
embargo, hay varios formatos comúnmen- transmite cuando un nodo detec-
te aceptados como el conector DB-9 en el ta un error en un mensaje y ha-
cual el pin 3 y 5 son usados para la señal ce que todos los demás nodos de la
CAN L y CAN H respectivamente. red también manden una trama de
Relación distancia-velocidad: La ve- [Link] dos campos: Indicador
locidad de transmisión depende de la dis- de error (Error Flag), que es distin-
tancia hasta un máximo de 1000 metros. to según el error, y “delimitador de
Mientras más pequeña sea el largo de los error” que permite a los nodos reini-
cables, mayor será la velocidad de trans- ciar la comunicaciónn limpiamente
misión. En la siguiente tabla podemos co- tras el error.
rroborar lo anteriormente dicho. 3. Trama remota (Remote frame) : El
objetivo de la trama de información
Velocidad (Kbps) Longitud del bus (m) remota es solicitar la transmisión
1000 40 de datos desde un nodo a otro. Es-
500 100 ta trama es similar a la trama de
100 500 datos, con dos diferencias. En pri-
50 1000 mer lugar, este tipo de mensaje está
20 2500 marcado explı́citamente por un bit
10 5000 RTR( (Remote Transfer Request), y
Tabla [Link] de transmisión vs largo del en segundo lugar no contiene datos.
bus
4. Trama de sobrecarga (Overload
Frame) :Es similar a la trama de
Tramas error con respecto a su formato, y
es transmitido por un nodo que se
En un bus CAN existen cuatro tipos encuentra demasiado ocupado. Se
de tramas: utiliza principalmente para propor-
cionar un retraso adicional entre los
1. Trama de datos (Data frame) :
mensajes.
Informaciónn útil que se transmi-
te a todos los demás nodos. Pue-
de incluir entre 0 y 8 Bytes de
informació[Link] formada por los
4
Controller Area Network ELO322 - Redes de Computadores I
CSMA/CD+CR del nivel definido como bit de tipo domi-
nante. Definiendo el bit dominante como
El algoritmo de acceso al medio com- equivalente al valor lógico ’0’ y bit recesi-
partido que utiliza CAN se denomina vo al nivel lógico ’1’ se trata de una fun-
Carrier Sense Multiple Access/Collision ción AND de todos los bits transmitidos
Detection + Collision Resolution (Ac- simultáneamente. Cada transmisor escu-
ceso Múltiple con detección de porta- cha continuamente el valor presente en el
dora, detección de colisión más Resolu- bus, y se retira cuando ese valor no coinci-
ción de colisión), más conocido como CS- de con el que dicho transmisor ha forzado.
MA/CD+CR. Mientras hay coincidencia la transmisión
continua, finalmente el mensaje con iden-
Acceso Múltiple: Cada nodo en el tificador de máxima prioridad sobrevive.
bus tiene la misma oportunidad de Los demás nodos reintentarán la transmi-
transmitir un mensaje. sión lo antes posible.
Detección de Portadora: Todos los
nodos deben vigilar el bus para Gestión de Errores
identificar si está siendo utilizado,
si no existe actividad en este, esta Cuando un nodo presenta un error, se
permitido enviar mensajes. han incorporado a CAN medidas de ais-
lamiento para tratar con tales nodos, ges-
Detección de Colisión: En caso de
tionadas por los controladores integrados
que dos nodos empiezen a transmi-
a ellos. Esto tiene como objetivo evitar
tir un mensaje al mismo tiempo,
que el funcionamiento del resto de la red
ocurrira una colisión entre ambos,
se vea afectado. Un nodo pude encontrar-
está será dectectada por CAN debi-
se en uno de los tres estados siguientes en
do a la detección de colisiones.
relación a la gestión de errores:
Resolución de Colisión: Permite in-
dentificar entre las tramas en co- Error Activo (Error Active): Es el
lisión cual es las que posee mayor estado normal de un nodo. Partici-
prioridad, evitando que está se pier- pa en la comunicación y en caso de
da. detección de error envı́a una trama
de error activa
El método de arbitraje que utiliza CR
Error pasivo (Error Passive): Un
para identificar la trama de mayor priori-
nodo en estado de error pasivo par-
dad se basa en una topologı́a eléctrica que
ticipa en la comunicación, sin em-
aplica una funcion lógica determinista a
bargo ha de esperar una secuen-
cada bit, que se resuelve con la prioridad
cia adicional de bits recesivos antes
5
Controller Area Network ELO322 - Redes de Computadores I
de transmitir y sólo puede señalar HLP con que se comunican los distintos
errores con una trama de error pa- dispositivos que conforman el automóvil
siva. son en general diseñados por cada empre-
sa por separado y de carácter confiden-
Anulado (Bus Off): En este esta-
cial.
do, deshabilitará su transceptor y
no participará en la comunicación.
Para determinar el estado en que se Pruebas
encuentra un nodo, se implementaron dos
Para la realización de las pruebas se
contadores en el controlador de comuni-
emplea una Controller Area Network en
caciones, un contador de error de trans-
desarrollo utilizada en un proyecto con-
misión (TEC) y un contador de errores
ducido por el Centro Avanzado de In-
de recepción (REC). Si existe un éxito en
genierı́a Eléctrica y Electrónica, AC3E
la transmisión de una trama, el contador
([Link]). Se generan diversos tipos
TEC disminuira, en cambio, si existe un
de frames y se observa su propagación en
error, este aumentara. El contador REC
un osciloscopio con decodificación serial
funcionada de manera similiar, pero ana-
para facilitar el entendimiento de los da-
liza la recepcion de tramas. Cuando los
tos transmitidos.
valores de ambos contadores llegan a cier-
to valor, este determinara en que estado
debe estar el nodo en cuestion.
Higher Layer Protocols
Debido a que el estándar de comuni-
cación CAN solo regula las transacciones
a bajo nivel surge la necesidad de definir y
estandarizar el significado de los mensajes
enviados, ası́ como la acción que deberá
realizar un nodo en respuesta a estos. Figura 4: Frame de datos estándar
En ambientes industriales surgen ini-
ciativas como CAN OPEN, DEVICE-
NET, etc. que establecen una serie de re-
quisitos para que un nodo se incorpore a
la red, en base a esto surgen fabricantes
que ofrecen dispositivos compatibles con
el objetivo de acelerar y facilitar la imple-
mentación. En la industria automotriz el
6
Controller Area Network ELO322 - Redes de Computadores I
resulta en una implementación más rápi-
da cuando se tiene un sistema en que un
nodo actúa de unidad de recopilación y
procesamiento de datos.
Figura 5: Frame de datos extendido
En la figura 4 se observa el frame de
transmisión estándar. En este caso el ID
es 0x40 y se transmiten seis datos. De
igual forma se observa en la figura 5 un Figura 7: Frame de error por Acknowled-
frame de transmisión de datos extendido, ge
en este caso el campo ID es de 0x1234, el
cual no puede ser contenido en un frame Para simular un error de conexión se
estándar. desconectan los demás nodos de la red.
De esta forma al momento de transmitir
mensajes se generan errores continuos de
Acknowledge como se observa en la figura
7. En esta situación el contador TEC al-
canza un valor de 128, por lo que el nodo
entra en estado error passive.
Referencias
[1] Steve Corrigan. SLOA101A - Intro-
Figura 6: Frame de solicitud de transmi- duction to the Controller Area Net-
sión remota work (CAN). Technical report, Texas
Instruments, 2002.
El frame de requerimiento de trans- [2] International Organization for Stan-
misión remota (RTR) es de tamaño con- dardization. ISO 11898-1 Road vehi-
siderablemente menor como se observa en cles – Controller area network (CAN)
la figura 6, debido a esto su utilización
7
Controller Area Network ELO322 - Redes de Computadores I
– Part 1: Data link layer and physi-
cal signalling. Technical report, 2003
- 2006 - 2015.
[3] International Organization for Stan-
dardization. ISO 11898-2 Road vehi-
cles – Controller area network (CAN)
– Part 2: High-speed medium access
unit. Technical report, 2003 - 2016.
[4] Q&A – What is CAN? Technical re-
port, Axiomatic Technologies Corpo-
ration, 2006.