Você está na página 1de 11

ndice

CAN
Control Area Network

Bus de Comunicaciones
Serie en Tiempo Real

CAN. Filiberto Pla (Universitat Jaume I)

Introduccin
Historia
Aplicaciones
Caractersticas del bus CAN
Implementacin:
Niveles OSI
Arquitectura de controladores CAN
Capa fsica
Codificacin de bits
Enganche al medio
Capa de enlace de datos
Broadcasting
Formato de mensajes
Peticin remota
Acceso mltiple al bus
Deteccin de errores
Protocolos CAN de alto nivel
Bibliografa
CAN. Filiberto Pla (Universitat Jaume I)

Introduccin
Historia:
Desarrollado en los aos 80 por
Bosch.
originalmente para aplicaciones en
automocin.
Idea inicial: comunicar entre si varios
microcontroladores para:

Introduccin
Aplicaciones:

Industria automovilstica:

control de motor, mecnica, etc.


control de sistemas de
entretenimiento.

control de motores,
control de transmisin automtica y
sistemas de frenos antideslizantes.

Desde 1992 se utiliza en coches, y la


mayora de las compaas de
automocin europeas lo utilizan.
La industria automovilstica ocupa el
80% de la utilizacin de CAN.
Se ha extendido a otros muchos
campos en los ltimos aos.

CAN. Filiberto Pla (Universitat Jaume I)

CAN. Filiberto Pla (Universitat Jaume I)

Introduccin
Aplicaciones (continuacin)
Control de trfico y transporte pblico:

Introduccin
Aplicaciones (continuacin):
Sistemas de control industrial:

Trenes y autobuses.
Semforos.
Sistemas de informacin
conductor/pasajeros.

Sistemas de control de plantas.


Sistemas de control de maquinara.
Sistemas de control de robots.
Redes entre mquinas.
Sistemas de supervisin.

Maquinas mviles:

Aviones, helicpteros.
Maquinara agrcola, ...
CAN. Filiberto Pla (Universitat Jaume I)

CAN. Filiberto Pla (Universitat Jaume I)

Introduccin
Aplicaciones (continuacin):
Automatizacin de edificios:

Introduccin
Aplicaciones (continuacin)

Control de ascensores y elevadores.


Aire acondicionado. Sistemas de
calefaccin y refrigeracin.
Control de la iluminacin.

Redes empotradas:

electrodomsticos,
maquinas expendedoras,
copiadoras.
Algunas compaas lo utilizan como:

Campos de aplicacin especiales:

equipamiento mdico.
simuladores de vuelo, ...

cualquier aplicacin que precise de


control distribuido en tiempo real:

comunicacin entre controladores.

Comunicaciones en tiempo real con


escaso flujo de datos:

interconexin de dispositivos
bus entre dispositivos.

En general:

CAN. Filiberto Pla (Universitat Jaume I)

comunicacin entre dispositivos.

CAN. Filiberto Pla (Universitat Jaume I)

Caractersticas
Bus serie.
Transmisin en tiempo real:
asegura tiempos de latencia.
Sigue el estndar ISO 11898.
Multimaestro:
todos los nodos CAN pueden
transmitir y
Multicast con sincronizacin:
varios pueden acceder al bus de
datos simultneamente.

NODO 1

NODO 2

NODO n

Controlador
CAN

Controlador
CAN

Controlador
CAN

Bus CAN
Controlador
CAN
NODO 3

NODO 1

NODO 2

NODO n

Controlador
CAN

Controlador
CAN

Controlador
CAN

No hay sistema de direccionamiento de los


nodos en el sentido convencional.
Los mensajes se envan con una prioridad:
Un nodo emisor enva el mensaje a
todos los nodos de la red (broadcasting).
Cada nodo, segn el identificador del
mensaje, lo filtra y decide si debe
procesarlo o no.
El identificador determina tambin la
prioridad del mensaje.
La prioridad del mensaje determina qu
mensaje accede al bus.

Bus CAN
Controlador
CAN
NODO 3

CAN. Filiberto Pla (Universitat Jaume I)

Caractersticas

CAN. Filiberto Pla (Universitat Jaume I)

Caractersticas

10

Caractersticas

Flexibilidad. Se pueden aadir nodos, sin


que ellos perturbe el funcionamiento de
los dems nodos.
Gran fiabilidad en la transmisin:
deteccin de errores.
sealizacin y envo de errores.
re-envo automtico de mensajes
corruptos cuando el bus est activo
de nuevo.
distincin entre errores temporales y
fallos permanentes de nodos.
desconexin automtica de nodos
defectuosos.
Puede operar en ambientes con
condiciones extremas de ruido e
interferencias.
Los mecanismos de verificacin de
errores garantizan que las tramas
contaminadas sean detectadas.

Cada red puede alcanzar 1000 metros


de longitud:
ampliables con el uso de repetidores.
Velocidad de transmisin:
depende de la longitud de la red:

CAN. Filiberto Pla (Universitat Jaume I)

CAN. Filiberto Pla (Universitat Jaume I)

11

Longitud del bus


Hasta 25 m

Velocidad en
bits/s
1 Mbit/s

Hasta 100 m

500 Kbit/s

Hasta 500
125 Kbit/s
Hasta 1000 m
50 Kbit/s
* mensajes de 129 bits de longitud

Tiempo mximo
de transmisin*
129 s
258 s
1032 ms
2580 ms

12

Implementacin
Implementacin de los niveles OSI
(Open System Interconection, ISO 7498):

Implementacin
Arquitecturas de controladores CAN

Arquitectura de capas del CAN

CAN. Filiberto Pla (Universitat Jaume I)

13

CAN. Filiberto Pla (Universitat Jaume I)

Capa fsica

14

Capa fsica
Codificacin de bits:

Physical Interface Layer

Mtodo NRZ (Non-Return-to-Zero):

Physical Signaling (PLS)


Implementada dentro del controlador
Codificacin/Descodificacin de bits
Temporizacin de los bits
Sincronizacin

Physical Medium Attachment (PMA)

No hay flanco de subida o bajada para


cada bit.
Durante el tiempo de bit hay bits
dominantes (Low) y recesivos (High).
Disminucin de la frecuencia de la
seal respecto a otras codificaciones
(Manchester coding).

Caractersticas del transceiver

Medium Dependent Interface (MDI)


Cable/Conector

CAN. Filiberto Pla (Universitat Jaume I)

15

CAN. Filiberto Pla (Universitat Jaume I)

16

Capa fsica
Bit-Stuffing Rule:

Capa fsica
Enganche al medio:

NRZ no proporciona flancos para resincronizacin:

Existen varios estndares oficiales y


en la industria.
CAN High-Speed (ISO 11898-2), es el
ms importante.

transmisin de varios bits


consecutivos de la misma polaridad.

Se utiliza para asegurar la resincronizacin.


Cada 5 bits de misma polaridad, se
inserta uno de polaridad opuesta.

CAN. Filiberto Pla (Universitat Jaume I)

17

Con un solo cable (SAE 2411)


Transmisin por fibra ptica.
Transmisin sin cables.

CAN. Filiberto Pla (Universitat Jaume I)

Capa fsica

18

Capa fsica
Conector estndar CiA DS-102:

Transceivers tolerantes a fallos (ISO


11898-3).

DB9.
La asignacin de pines se utiliza
tambin por otros protocolos de
mayor nivel (CANopen, Smart
Distributed System, ...)

Originalmente diseados para


velocidades bajas, 125 kbit/s.
Se utilizan en automviles con
pasajeros.
Proporciona transmisin diferencial (2
cables) y en caso de error en la lnea
puede pasar a modo de
transmisin/recepcin en un solo
cable.
CAN. Filiberto Pla (Universitat Jaume I)

19

CAN. Filiberto Pla (Universitat Jaume I)

20

Capa de enlace de datos

Capa de enlace de datos

Data Link Layer

Especificaciones del Protocolo CAN:

CAN Protocol Specification 2.0 A:

LLC (Logical Link Control)


Filtrado de aceptacin
Notificacin de sobrecarga
Gestin de recuperacin

CAN Protocol Specification 2.0 B


passive:

MAC (Medium Access Control)


Encapsulacin /
Desencapsulacin
de datos
Codificacin del frame
(Stuffing, Destuffing)
Gestin de acceso al medio
Deteccin de errores
Sealizacin de errores
Acknowledgment
Serializacin / Deserializacin

CAN. Filiberto Pla (Universitat Jaume I)

Capa de enlace de datos


Broadcasting
El nodo emisor transmite a todos los
nodos de la red.
Sin especificar un destino.
Todos los nodos escuchan a la red.
Cada
nodo debe filtrar aquellos
mensajes que les interesan.

CAN. Filiberto Pla (Universitat Jaume I)

23

controladores que solo transmiten


mensajes estndar con identificador
de 11 bits, pero comprueba si recibe
mensajes estndar y mensajes
extendidos con identificadores de 29
bits.

CAN Protocol Specification 2.0 B


active:

21

controladores que solo maneja


mensajes estndar con identificador
de 11 bits.

controladores que transmiten y


reciben mensajes estndar con y
mensajes extendidos.

CAN. Filiberto Pla (Universitat Jaume I)

22

Capa de enlace de datos

Formato mensaje de datos


Start of Frame (SOF): para
sincronizacin con otros nodos.
Arbitration Field, que contiene la
prioridad del mensaje.
Control Field, que especifica el
nmero de bytes que hay en el
mensaje.
Cyclic Redundancy Check (CRC) para
deteccin de posibles errores.
Campo de datos, hasta 8 bytes.

CAN. Filiberto Pla (Universitat Jaume I)

24

Capa de enlace de datos

Capa de enlace de datos


Formato del campo de arbitraje:

En formato estndar:

Formato mensaje de datos


(continuacin):
Acknowledgment Field (ACK):

El nodo transmisor pone este bit como


recesivo.
Cualquier nodo que reciba el mensaje
lo pone como dominante, para
comunicar que se ha recibido por al
menos un nodo.

11 bits, seguido por el RTR bit


(Remote Transmision Request).
En tramas de datos, el RTR es
dominante.
IDE (Identifier Extension) que es
dominante, por lo que hace prevalecer
sobre mensajes de formato extendido.

End of Frame (EOF) entre dos tramas


debe haber 3 bits recesivos.

CAN. Filiberto Pla (Universitat Jaume I)

25

Capa de enlace de datos

CAN. Filiberto Pla (Universitat Jaume I)

26

Capa de enlace de datos

Formato del campo de arbitraje (cont.):

En formato extendido:

11 bits de identificador base y 18 de


extendido.
El bit SSR (Substitute Remote
Request) sustituye al STR y es
recesivo.

Peticin remota:
Peticin de mensaje a un nodo.
Son como preguntas de un nodo a
otro.
El nodo que tiene la respuesta la
comunica en una segunda
comunicacin.
La respuesta puede ser recibida por
ms de un nodo, si estn interesados.
CAN. Filiberto Pla (Universitat Jaume I)

27

CAN. Filiberto Pla (Universitat Jaume I)

28

Capa de enlace de datos

Capa de enlace de datos

Formato del mensaje de peticin remota:


Se enva una trama con el
identificador del nodo requerido.
El nodo enviar un mensaje de datos
respondiendo.
Diferencias con el mensaje de datos.

El bit RTR se enva como dominante.


No hay campo de datos.

En caso de que se enve un mensaje


de datos y de peticin remota con el
mismo identificador:

el de peticin gana el acceso al bus


(RTR dominante).

Acceso mltiple al bus:


El protocolo CAN permite acceder a
varios nodos simultneamente al bus.
Si ms de un nodo quiere acceder al
bus, se utiliza un proceso de arbitraje
(CSMA/CA+AMP):

No destructivo.
Al nivel de bit.
Deteccin de colisiones.

Basado en prioridades:

CAN. Filiberto Pla (Universitat Jaume I)

29

Prioridad especificada en el
identificador del mensaje.

CAN. Filiberto Pla (Universitat Jaume I)

Capa de enlace de datos


Arbitraje de acceso al bus:
En redes como ethernet:

Capa de enlace de datos


Arbitraje de acceso al bus
Token Passing:

CMSA/CD (Carrier Sensor Multiple


Access - Collision Detection).
Cuando varios nodos acceden
simultneamente, se detecta un
mensaje de contencin.
La transmisin se interrumpe.
Despus de un tiempo de espera,
diferente para cada nodo, se intenta
de nuevo el acceso.
La cancelacin durante la contencin
disminuye la capacidad de
transferencia.
En picos de trfico, puede incluso
llegar a bloquearse la red.
No conveniente para aplicaciones en
tiempo real.

CAN. Filiberto Pla (Universitat Jaume I)

30

31

Cada nodo esta en posesin de la red


durante un tiempo dado.
El derecho de acceso se pasa a los
dems nodos de forma cclica.
El tiempo de latencia para un mensaje
es como mximo el tiempo de ciclo.

P(tlat)

Distribucin de
probabilidad del tiempo
de latencia

1/tciclo

tciclo

CAN. Filiberto Pla (Universitat Jaume I)

tlat

32

Capa de enlace de datos


Arbitraje de acceso al bus:
CSMA/CA+AMP

La contencin se realiza al nivel de bit


(bitwise contention).
Conflictos de accesos se evitan
mediante la asignacin de una
prioridad a cada mensaje.
El mensaje de mayor prioridad
siempre accede al bus.
Tiempos de latencia dependen de la
prioridad.
Por razones de cooperacin con los
dems nodos de la red:

Capa de enlace de datos


Acceso CSMA/CA+AMP
Cada nodo enva los bits del
identificador del mensaje.
Cada nodo emisor monitoriza la red
comprobando lo que emitie.
El nodo de mayor prioridad (con bits
dominantes) gana el bus

sin perdida de tiempo


sin tener que repetir el mensaje.

Los dems nodos enviarn mensajes


cuando haya terminado la transmisin.

Se determina un tiempo de ciclo


(similar a Token Passing).
Solo se transmite un mensaje de la
misma prioridad cada ese tiempo de
ciclo.

CAN. Filiberto Pla (Universitat Jaume I)

33

CAN. Filiberto Pla (Universitat Jaume I)

Capa de enlace de datos


Deteccin de errores
Mtodos de chequeo de bit
Mtodos de chequeo de trama

Capa de enlace de datos


Chequeo de trama:
Campo CRC

Chequeo de bit
Monitorizacin en la transmisin:

34

el emisor comprueba en el medio que


lo que transmite corresponde a lo que
all aparece.

Bit stuffing.

Informacin adicional a la trama


Se calcula mediante un polinomio
generador.
Permite detectar errores aleatorios en
hasta 5 bits
o una secuencia seguida de 15 bits
corruptos.
El receptor calcula el CRC de la
misma forma que el emisor.

Cada 5 bits consecutivos del mismo


valor, se inserta un bit de valor
inverso.
Si se detecta una trama con 6 o ms
bits consecutivos del mismo valor, la
trama no es vlida.
CAN. Filiberto Pla (Universitat Jaume I)

35

CAN. Filiberto Pla (Universitat Jaume I)

36

Capa de enlace de datos

Capa de enlace de datos


Comunicacin de errores:
Todas las comprobaciones se hacen
por todos los nodos del bus.
Si uno de ellos detecta un error

Chequeo de trama:
ACK

El emisor lo enva como un bit


recesivo.
Cualquier receptor lo sobrescribe
como dominante.
El emisor, en la monitorizacin,
comprueba que el mensaje ha sido
escuchado.

Envia a los dems nodos un flag de


error, compuesta por 6 bits
dominantes y 6 bits recesivos.

Flag de error se propaga en toda la


red (6 bits dominantes viola la regla
de bit stuffing).
Todos los nodos descartan el
mensaje.
El emisor lo reenva de nuevo.

Hay ciertos campos de la trama que


deben tener ciertos valores
determinados:

Si no los tiene, la trama est corrupta.

CAN. Filiberto Pla (Universitat Jaume I)

37

CAN. Filiberto Pla (Universitat Jaume I)

Capa de enlace de datos

38

Capa de enlace de datos

Estados de error de un nodo CAN:


Contadores de errores internos en los
controladores:

uno para emisin (TEC)


uno para recepcin (REC)

Se incrementan cuando se detectan


errores.
Se decrementan despus de
transmisiones o recepciones
correctas.

Estados de error de un nodo CAN:


Error Active: el nodo puede enviar
mensajes (flags) de error.
Error Passsive:

el nodo cambia de formato de


mensajes de error (6 bits recesivos en
lugar de domiantes)
los dems nodos no detectan estos
mensajes y as no ralentiza las
comunicaciones.

CAN. Filiberto Pla (Universitat Jaume I)

39

Bus off: el nodo se auto-desconecta


del bus.

CAN. Filiberto Pla (Universitat Jaume I)

40

Protocolos CAN de alto nivel


El protocolo CAN especifica:
La forma de transmitirse la
informacin
En que condiciones se realiza.
Estandar ISO 11898
Se precisa protocolo adicional de ms
alto nivel:
Para especificar la estructura de la
informacin que se transmite.
Otros
mecanismos para dotar de
funcionalidad especfica a los nodos.
Ejemplos de protocolo de ms alto nivel:
CANopen
MCNet protocol

CAN. Filiberto Pla (Universitat Jaume I)

41

Bibliografa
CAN Application Fields, CiA (CAN in
Automation), http://www.can-cia.de
CAN Implementation, CiA (CAN in
Automation), http://www.can-cia.de
CAN Physical Layer, CiA (CAN in
Automation), http://www.can-cia.de
CAN Data Link Layer, CiA (CAN in
Automation), http://www.can-cia.de
CANOpen, CiA (CAN in Automation),
http://www.can-cia.de
CAN Specification 2.0 Part A, CiA (CAN in
Automation), http://www.can-cia.de
CAN Specification 2.0 Part B, CiA (CAN in
Automation), http://www.can-cia.de
Kiencke, U. ; Controller Area Network, 1st
ICC Conference, 1991.
Tindell, K. And Burns, A. ; Guaranteeing
Message Latencies on Control Area Network
(CAN), 1st ICC Conference, 1991.
Innformacin CAN (artculos, etc.)
http://www.kvaser.se/can/info/index.htm
CAN. Filiberto Pla (Universitat Jaume I)

42

Você também pode gostar