CAN. Filiberto Pla (Universitat Jaume I) 1
CANControl Area Network
Bus de ComunicacionesSerie en Tiempo Real
CAN. Filiberto Pla (Universitat Jaume I) 2
ndice 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) 3
Introduccin
Historia: Desarrollado en los aos 80 por
Bosch. originalmente para aplicaciones en
automocin. Idea inicial: comunicar entre si varios
microcontroladores para: control de motores, control de transmisin automtica y sistemas de frenos antideslizantes.
Desde 1992 se utiliza en coches, y lamayora de las compaas deautomocin europeas lo utilizan.
La industria automovilstica ocupa el80% de la utilizacin de CAN.
Se ha extendido a otros muchoscampos en los ltimos aos.
CAN. Filiberto Pla (Universitat Jaume I) 4
Introduccin
Aplicaciones:
Industria automovilstica: control de motor, mecnica, etc. control de sistemas de
entretenimiento.
CAN. Filiberto Pla (Universitat Jaume I) 5
Introduccin
Aplicaciones (continuacin) Control de trfico y transporte pblico:
Trenes y autobuses. Semforos. Sistemas de informacin
conductor/pasajeros.
Maquinas mviles: Aviones, helicpteros. Maquinara agrcola, ...
CAN. Filiberto Pla (Universitat Jaume I) 6
Introduccin
Aplicaciones (continuacin): Sistemas de control industrial:
Sistemas de control de plantas. Sistemas de control de maquinara. Sistemas de control de robots. Redes entre mquinas. Sistemas de supervisin.
CAN. Filiberto Pla (Universitat Jaume I) 7
Introduccin
Aplicaciones (continuacin): Automatizacin de edificios:
Control de ascensores y elevadores. Aire acondicionado. Sistemas de
calefaccin y refrigeracin. Control de la iluminacin.
Campos de aplicacin especiales: equipamiento mdico. simuladores de vuelo, ...
CAN. Filiberto Pla (Universitat Jaume I) 8
Introduccin
Aplicaciones (continuacin)
Redes empotradas: electrodomsticos, maquinas expendedoras, copiadoras. Algunas compaas lo utilizan como:
interconexin de dispositivos bus entre dispositivos.
En general: cualquier aplicacin que precise de
control distribuido en tiempo real: comunicacin entre controladores.
Comunicaciones en tiempo real conescaso flujo de datos:
comunicacin entre dispositivos.
CAN. Filiberto Pla (Universitat Jaume I) 9
Caractersticas
Bus serie. Transmisin en tiempo real:
asegura tiempos de latencia. Sigue el estndar ISO 11898. Multimaestro:
todos los nodos CAN puedentransmitir y
Multicast con sincronizacin:
varios pueden acceder al bus dedatos simultneamente.
NODO 1Controlador
CAN
NODO 3
ControladorCAN
Bus CAN
NODO 2Controlador
CAN
NODO nControlador
CAN
CAN. Filiberto Pla (Universitat Jaume I) 10
Caractersticas
No hay sistema de direccionamiento de losnodos 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 debeprocesarlo o no.
El identificador determina tambin laprioridad del mensaje.
La prioridad del mensaje determina qumensaje accede al bus.
NODO 1Controlador
CAN
NODO 3
ControladorCAN
Bus CAN
NODO 2Controlador
CAN
NODO nControlador
CAN
CAN. Filiberto Pla (Universitat Jaume I) 11
Caractersticas
Flexibilidad. Se pueden aadir nodos, sinque ellos perturbe el funcionamiento delos 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 activode nuevo.
distincin entre errores temporales yfallos permanentes de nodos.
desconexin automtica de nodosdefectuosos.
Puede operar en ambientes concondiciones extremas de ruido einterferencias.
Los mecanismos de verificacin deerrores garantizan que las tramascontaminadas sean detectadas.
CAN. Filiberto Pla (Universitat Jaume I) 12
Caractersticas
Cada red puede alcanzar 1000 metrosde longitud: ampliables con el uso de repetidores.
Velocidad de transmisin: depende de la longitud de la red:
Longitud del bus Velocidad enbits/s
Tiempo mximode transmisin*
Hasta 25 m 1 Mbit/s 129 sHasta 100 m 500 Kbit/s 258 sHasta 500 125 Kbit/s 1032 ms
Hasta 1000 m 50 Kbit/s 2580 ms* mensajes de 129 bits de longitud
CAN. Filiberto Pla (Universitat Jaume I) 13
Implementacin
Implementacin de los niveles OSI(Open System Interconection, ISO 7498):
Arquitectura de capas del CAN
CAN. Filiberto Pla (Universitat Jaume I) 14
Implementacin
Arquitecturas de controladores CAN
CAN. Filiberto Pla (Universitat Jaume I) 15
Capa fsica
Physical Interface Layer
Physical Signaling (PLS)
Implementada dentro del controladorCodificacin/Descodificacin de bitsTemporizacin de los bitsSincronizacin
Physical Medium Attachment (PMA)
Caractersticas del transceiver
Medium Dependent Interface (MDI)
Cable/Conector
CAN. Filiberto Pla (Universitat Jaume I) 16
Capa fsica
Codificacin de bits:
Mtodo NRZ (Non-Return-to-Zero):
No hay flanco de subida o bajada paracada bit.
Durante el tiempo de bit hay bitsdominantes (Low) y recesivos (High).
Disminucin de la frecuencia de laseal respecto a otras codificaciones(Manchester coding).
CAN. Filiberto Pla (Universitat Jaume I) 17
Capa fsica
Bit-Stuffing Rule:
NRZ no proporciona flancos para re-sincronizacin: transmisin de varios bits
consecutivos de la misma polaridad. Se utiliza para asegurar la re-
sincronizacin. Cada 5 bits de misma polaridad, se
inserta uno de polaridad opuesta.
CAN. Filiberto Pla (Universitat Jaume I) 18
Capa fsica
Enganche al medio:
Existen varios estndares oficiales yen la industria.
CAN High-Speed (ISO 11898-2), es el
ms importante.
Con un solo cable (SAE 2411) Transmisin por fibra ptica. Transmisin sin cables.
CAN. Filiberto Pla (Universitat Jaume I) 19
Capa fsica
Transceivers tolerantes a fallos (ISO
11898-3).
Originalmente diseados paravelocidades bajas, 125 kbit/s.
Se utilizan en automviles conpasajeros.
Proporciona transmisin diferencial (2cables) y en caso de error en la lneapuede pasar a modo detransmisin/recepcin en un solocable.
CAN. Filiberto Pla (Universitat Jaume I) 20
Capa fsica
Conector estndar CiA DS-102:
DB9. La asignacin de pines se utiliza
tambin por otros protocolos demayor nivel (CANopen, SmartDistributed System, ...)
CAN. Filiberto Pla (Universitat Jaume I) 21
Capa de enlace de datos
Data Link Layer
LLC (Logical Link Control)
Filtrado de aceptacinNotificacin de sobrecargaGestin de recuperacin
MAC (Medium Access Control)
Encapsulacin / Desencapsulacin de datosCodificacin del frame (Stuffing, Destuffing)Gestin de acceso al medioDeteccin de erroresSealizacin de erroresAcknowledgmentSerializacin / Deserializacin
CAN. Filiberto Pla (Universitat Jaume I) 22
Capa de enlace de datos
Especificaciones del Protocolo CAN: CAN Protocol Specification 2.0 A:
controladores que solo manejamensajes estndar con identificadorde 11 bits.
CAN Protocol Specification 2.0 Bpassive:
controladores que solo transmitenmensajes estndar con identificadorde 11 bits, pero comprueba si recibemensajes estndar y mensajesextendidos con identificadores de 29bits.
CAN Protocol Specification 2.0 Bactive:
controladores que transmiten yreciben mensajes estndar con ymensajes extendidos.
CAN. Filiberto Pla (Universitat Jaume I) 23
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) 24
Capa de enlace de datos
Formato mensaje de datos Start of Frame
(SOF): parasincronizacin con otros nodos.
Arbitration Field, que contiene laprioridad del mensaje.
Control Field, que especifica elnmero de bytes que hay en elmensaje.
Cyclic Redundancy Check (CRC) para
deteccin de posibles errores. Campo de datos, hasta 8 bytes.
CAN. Filiberto Pla (Universitat Jaume I) 25
Capa de enlace de datos
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, paracomunicar que se ha recibido por almenos un nodo.
End of Frame (EOF) entre dos tramas
debe haber 3 bits recesivos.
CAN. Filiberto Pla (Universitat Jaume I) 26
Capa de enlace de datos
Formato del campo de arbitraje:
En formato estndar: 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 prevalecersobre mensajes de formato extendido.
CAN. Filiberto Pla (Universitat Jaume I) 27
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 esrecesivo.
CAN. Filiberto Pla (Universitat Jaume I) 28
Capa de enlace de datos
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 segundacomunicacin.
La respuesta puede ser recibida porms de un nodo, si estn interesados.
CAN. Filiberto Pla (Universitat Jaume I) 29
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 mensajede datos y de peticin remota con elmismo identificador: el de peticin gana el acceso al bus
(RTR dominante).
CAN. Filiberto Pla (Universitat Jaume I) 30
Capa de enlace de datos
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: Prioridad especificada en el
identificador del mensaje.
CAN. Filiberto Pla (Universitat Jaume I) 31
Capa de enlace de datos
Arbitraje de acceso al bus: En redes como ethernet:
CMSA/CD (Carrier Sensor MultipleAccess - Collision Detection).
Cuando varios nodos accedensimultneamente, se detecta unmensaje de contencin.
La transmisin se interrumpe. Despus de un tiempo de espera,
diferente para cada nodo, se intentade nuevo el acceso.
La cancelacin durante la contencindisminuye la capacidad detransferencia.
En picos de trfico, puede inclusollegar a bloquearse la red.
No conveniente para aplicaciones entiempo real.
CAN. Filiberto Pla (Universitat Jaume I) 32
Capa de enlace de datos
Arbitraje de acceso al bus Token Passing:
Cada nodo esta en posesin de la reddurante un tiempo dado.
El derecho de acceso se pasa a losdems nodos de forma cclica.
El tiempo de latencia para un mensajees como mximo el tiempo de ciclo.
P(tlat)
tciclo tlat
1/tciclo
Distribucin deprobabilidad del tiempode latencia
CAN. Filiberto Pla (Universitat Jaume I) 33
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 evitanmediante la asignacin de unaprioridad a cada mensaje.
El mensaje de mayor prioridadsiempre accede al bus.
Tiempos de latencia dependen de laprioridad.
Por razones de cooperacin con losdems nodos de la red:
Se determina un tiempo de ciclo(similar a Token Passing).
Solo se transmite un mensaje de lamisma prioridad cada ese tiempo deciclo.
CAN. Filiberto Pla (Universitat Jaume I) 34
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 mensajescuando haya terminado la transmisin.
CAN. Filiberto Pla (Universitat Jaume I) 35
Capa de enlace de datos
Deteccin de errores Mtodos de chequeo de bit Mtodos de chequeo de trama
Chequeo de bit Monitorizacin en la transmisin:
el emisor comprueba en el medio quelo que transmite corresponde a lo queall aparece.
Bit stuffing.
Cada 5 bits consecutivos del mismovalor, se inserta un bit de valorinverso.
Si se detecta una trama con 6 o msbits consecutivos del mismo valor, latrama no es vlida.
CAN. Filiberto Pla (Universitat Jaume I) 36
Capa de enlace de datos
Chequeo de trama: Campo CRC
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.
CAN. Filiberto Pla (Universitat Jaume I) 37
Capa de enlace de datos
Chequeo de trama: ACK
El emisor lo enva como un bitrecesivo.
Cualquier receptor lo sobrescribecomo dominante.
El emisor, en la monitorizacin,comprueba que el mensaje ha sidoescuchado.
Hay ciertos campos de la trama quedeben tener ciertos valoresdeterminados: Si no los tiene, la trama est corrupta.
CAN. Filiberto Pla (Universitat Jaume I) 38
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
Envia a los dems nodos un flag deerror, compuesta por 6 bitsdominantes y 6 bits recesivos.
Flag de error se propaga en toda lared (6 bits dominantes viola la reglade bit stuffing).
Todos los nodos descartan elmensaje.
El emisor lo reenva de nuevo.
CAN. Filiberto Pla (Universitat Jaume I) 39
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 detectanerrores.
Se decrementan despus detransmisiones o recepcionescorrectas.
CAN. Filiberto Pla (Universitat Jaume I) 40
Capa de enlace de datos
Estados de error de un nodo CAN: Error Active: el nodo puede enviar
mensajes (flags) de error. Error Passsive:
el nodo cambia de formato demensajes de error (6 bits recesivos enlugar de domiantes)
los dems nodos no detectan estosmensajes y as no ralentiza lascomunicaciones.
Bus off: el nodo se auto-desconectadel bus.
CAN. Filiberto Pla (Universitat Jaume I) 41
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 msalto 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) 42
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